Рубрика «Программирование» - 214

Зависимость производительности кода от контекста объявления переменных в JavaScript - 1

Изначально эта статья задумывалась как небольшой бенчмарк для собственного использования, да и вообще статьёй быть не планировалась, однако, в процессе проведения замеров всплыли некоторые интересные особенности в реализации архитектуры JavaScript, сильно влияющие на производительность конечного кода в отдельных случаях. Предлагаю, и вам, ознакомится с полученными результатами, попутно также разобрав некоторые смежные темы: циклы for, окружение (контекст выполнения) и блоки.

Читать полностью »

Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую методологию BEM. Для того чтобы облегчить себе жизнь использую замечательный пакет.

Недавно нужно было сделать небольшой проект на Angular, а так как я привык работать со своими любимыми инструментами, возвращаться на голый html не хотелось. В связи с чем появилась задача как подружить bempug с ангуляром, и не просто подружить, но еще и генерировать компоненты из cli с необходимой мне структурой.

Кому интересно как я все это провернул добро пожаловать под кат.

Читать полностью »

В продолжение темы хочу поделиться своим кодом, который обгоняет std::sort() из актуальных версий GNU C++ Library и (примерно, нет точных данных) повторяет результат "Сортировки Александреску" с CppCon 2019.

Читать полностью »

Мы обещали 5-6 причин перейти на Go, так и получилось! На GolangConf — конференции полностью посвященной Go — 7 октября будет 5 докладов с пометкой «Переход на Go» для тех, кто только собирается или начинает использовать этот язык в своих проектах.

Но это только начало. С первого раза нам удалось собрать очень сильную и разнообразную программу, отвечающую потребностям трех категорий участников: профессиональных Go-разработчиков; тех, кто только переходит на Go; инженеров-инфраструктуры и пользователей инструментов, написанных на Go.

Run, Gopher, run! — о чем поговорим на GolangConf - 1

В программе конференции 21 доклад, сессия блиц-докладов и митапы. В любое время гости конференции смогут выбрать из 3–4 разных тем и найти для себя что-нибудь интересное. Думаю даже, что более актуальной будет проблема выбора и невозможность разорваться между потоками (хорошо, что потом все будет на видео). Одновременно в разных залах будут обсуждаться темы, актуальные самым разным специалистам.
Читать полностью »

Реверс инжиниринг протокола активации Яндекс.Станции - 1

«Яндекс.Станция» — умная колонка с голосовым помощником Алиса. Чтобы её активировать, нужно поднести телефон и проиграть звук из приложения «Яндекс». Под катом я расскажу, как устроен этот сигнал, про пароль от WiFi в открытом виде и попробую развить идею передачи данных через звук.
Читать полностью »

Сложность простоты - 1

Как я писал в предисловии предыдущей статьи, я нахожусь в поисках языка, в котором я мог бы писать поменьше, а безопасности иметь побольше. Моим основным языком программирования всегда был C#, поэтому я решил попробовать два языка, симметрично отличающиеся от него по шкале сложности, про которые до этого момента приходилось только слышать, а вот писать не довелось: Haskell и Go. Один язык стал известен высказыванием "Avoid success at all costs"*, другой же, по моему скромному мнению, является полной его противоположенностью. В итоге, хотелось понять, что же окажется лучше: умышленная простота или умышленная строгость?

Я решил написать решение одной задачки, и посмотреть, насколько это просто на обоих языках, какая у них кривая обучения для разработчика с опытом, сколько всего надо изучить для этого и насколько идиоматичным получается "новичковый" код в одном и другом случае. Дополнительно хотелось понять, сколько в итоге мне придется заплатить за ублажание хаскеллевского компилятора и сколько времени сэкономит знаменитое удобство горутин. Я старался быть настолько непредвзятым, насколько это возможно, а субъективное мнение приведу в конце статьи. Итоговые результаты меня весьма удивили, поэтому я решил, чтоам будет интересно почитать про такое сравнение.

Читать полностью »

Смотря на текущее разнообразие образовательной робототехники радуешься, что детям доступно огромное количество конструкторов, готовых изделий и что планка «входа» в основы программирования опустилась достаточно низко (вплоть до детского сада). Массово идет тенденция приобщения сначала к модульно-блочному программированию с переходом затем на более продвинутые языки. Но такая ситуация была не всегда.

Время первых. История, как мы внедряли Scratch как язык программирования роботов - 1

2009-2010 года. Россия начала массово знакомиться с Arduino и Scratch. Доступная электроника и программирование начинают завоевывать умы как энтузиастов, так и преподавателей и идея все это соединить уже вовсю витала (а частично была реализована) в мировом инфопространстве.
Читать полностью »

Профилирование под Linux с помощью Performance Analyzer

Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполезны, но профилировщик, который называется Performance Analyzer, очень удачный. Он прост в использовании, наглядно и удобно устроен анализ результатов. На мой взгляд, профилировщик все еще превосходит многие аналоги под Linux. При наличии этого инструмента использование gprof видится странной прихотью и потерей времени.

Если вы не планируете использовать Performance Analyzer немедленно, то дальше можно не читать. Просто запомните, что такой продукт существует. Если же интересно взглянуть, то добро пожаловать.

Читать полностью »

Не любите Java? Да вы не умеете ее готовить! Mani Sarkar предлагает нам познакомиться с инструментом Valohai, позволяющим проводить исследования модели на Java.

Deep Learning теперь на Java - 1
Читать полностью »

Привет! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne.

Применение формальных методов валидации моделей для UI - 1

От автора

Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым программным продуктам. В качестве инструментария был использован Alloy. Одним из основных лейтмотивов в комментариях был — разобрать статью в контексте какого-нибудь современного веб проекта, потому что дорогодолгосложно использовать формальные методы там, где все делают быстродешево. Так как автор ссылался на блог Hillel Wayne, где такие примеры были, я решил перевести что-то из его статей в качестве дополнения к основному тексту vasil-sd

Предупреждение:

  • Все, что автор называет finite-state machine, я буду называть конечным автоматом или моделью конечного автомата.
  • Часть терминологии я почерпнул из статьи, ранее мною упомянутой, об инженерном подходе к разработке. Тем не менее, тема для меня относительно новая, потому обоих авторов(как зарубежного, так и не очень) мог понять не так — не ругайтесь.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js