
Привет.
Хочу рассказать как заставил работать старый монитор от медицинского оборудования с не менее старым неттопом.
Привет.
Хочу рассказать как заставил работать старый монитор от медицинского оборудования с не менее старым неттопом.
Это моя первая статья здесь и сегодня я хочу рассказать о нашем необычном интернет-радио.
В этой статье будет ретроспектива, нынешнее состояние, планы на будущее. Немного философии по теме. Также коснусь технических деталей и приглашу к обсуждению.
Как мы размещаемся на "сервере" с 32 Мб оперативной памяти? Как мы выросли из пет-проекта одного человека до команды профессионалов, работающих на энтузиазме? Зачем и кому это вообще нужно?
Позвольте представиться: меня зовут Артур, я программист и музыкант, основатель и исполнительный директор Читать полностью »
25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: например, скоро ли настанет «год линукса на десктопе»?
А неделю назад я написалЧитать полностью »
Ваш так называемый TDD действует как опий: он завлекает и приглушает боли вместо того, чтобы придать силы.
(сказал бы немецкий философ Фридрих Новалис, если бы жил сейчас)
Привет! Меня зовут Владимир, я работаю программистом в компании Quadcode. Вот уже почти полтора десятилетия я при помощи доброго десятка языков программирования разрабатываю приложения - от простых, вроде маленького плагина для Emacs, до сложных распределенных систем. Последние 4 года своей жизни я посвятил компании Quadcode, где занимаюсь разработкой транспортной подсистемы. Лет пять назад я вплотную столкнулся с адептами Читать полностью »
Всем привет, это PsyHaSTe и сегодня я хотел бы рассказать о том, куда меня занесла нелегкая в процессе оптимизации и рефакторинга кода решения тестового задания из статьи товарища novar (кто пропустил — рекомендую ознакомиться). Какие проблемы были у этого решения? Почему все-таки человеку отказали в работе? Что можно с этим сделать? Ответы на эти и многие другие вопросы оказались слишком длинными для комментария и вылились в статью с подробным разбором, примерами и альтернативной реализацией задания.
Если вам интересно кто в здравом уме мог для выполнения поставленной задачи написать код сочетающий монады с goto, а также одновременно сократил объем кода и увеличил его производительность, то добро пожаловать под кат. И, конечно же, самое вкусное, связанное с оптимизациями на базе работы JIT — в конце. Итоговую версию решения тестового можно посмотреть на гитхабе по ссылке.
В этой статье я расскажу про 8 методик оптимизации загрузки изображений, которые уменьшают необходимую пропускную способность сети и нагрузку на процессор при выводе на экран. Приведу примеры аннотированного HTML, чтобы вам было легче воспроизвести. Какие-то методики уже давно известны, а какие-то появились относительно недавно. В идеале, ваш любимый механизм публикации веб-документов (например, CMS, генератор статичных сайтов или фреймворк для веб-приложений) должен всё это реализовывать из коробки.
Читать полностью »
Лучшие практики, несмотря на термин, не всегда хороши. В программировании многие из них не оправдывают своего названия. Они распространяются не благодаря своим заслугам или доказательствам эффективности, а из-за эффекта авторитета и использования обществом. По мере их распространения теряются нюансы. А с потерей нюансов становится легче заниматься их евангелизмом. В сочетании с нехваткой опыта это может привести к возникновению культа лучших практик. Представьте команду, которая одержима их использованием — скажем, разработкой через тестирование (test-driven development) или написанием пользовательских сценариев, — до такой степени, что это уже вредит. В эту ловушку попадали многие, в том числе и я.
Почему лучшие практики могут быть вредны? Почему мы любим им следовать? Когда и как они мешают? Чтобы ответить на эти вопросы, нужно понять, откуда берутся эти практики и как они распространяются в программировании.
Читать полностью »
Счётчик новых комментариев — очень удобная вещь, особенно для статей с оживлённой дискуссией.
Но он не идеален:
Случайно обновив страницу или закрыв вкладку мы теряем информацию о непрочитанных комментариях. Тратить время на ручной поиск новых комментариев вряд ли кто-то согласится.
Да и в статье, которую мы читаем первый раз от одного комментария к другому удобнее переходить по горячим клавишам.
Читать полностью »
В этой серии статей я расскажу почти всё, что нужно знать о генераторах в JavaScript: что это такое, как их использовать и какие тонкости с ними связаны. И, как всегда, начнём мы с основ — общего представления о том, что такое генераторы.
Я не исхожу из того, что вы хоть что-то знаете о генераторах. Но вам требуется хорошо разбираться в итераторах и итерируемых объектах в JavaScript. Если вы с ними не знакомы или «плаваете в теме», то сначала углублённо изучите их. Если же вы владеете этими знаниями, то можно погружаться в мир генераторов. Это очень странный мир, в котором многое совершенно не похоже на то, что вы используете в обычном JS-коде. При этом сам механизм очень прост, и даже после прочтения этой статьи вы сможете уверенно использовать генераторы. Приступим!
Читать полностью »
Давайте вспомним как мы пишем веб-приложения без фреймворков:
Создаем элемент
// создаем элемент h1
const h1 = document.createElement('h1');
h1.textContent = 'Hello World';
// ...и добавляем его в body
document.body.appendChild(h1);
Обновляем элемент
// обновляем текст элемента h1
h1.textContent = 'Bye World';
Удаляем элемент
// наконец, мы удаляем элемент h1
document.body.removeChild(h1);
Добавляем стили к элементу
Читать полностью »