Pull to refresh
11
0
Александр Зубов @zoOB

User

Send message

Утечки памяти в SSR: причины, поиск, устранение

Level of difficultyHard
Reading time12 min
Views4.4K

Привет, Хабр! Меня зовут Владимир Захаров (@‌vzkhrv), я расскажу про SSR. На самом деле, утечки памяти работают в JavaScript везде – и на сервер-сайте, и на клиенте, поэтому информация будет полезна даже тем, у кого пока нет SSR. Давайте чуть подробнее познакомимся. Я ведущий фронтэнд-разработчик, около 8 лет в отрасли. В Зарплате.ру больше не работаю, но основной опыт, о котором хочу рассказать, получен именно там. Я люблю плавающие баги, разговоры о техдолге и шутки про ненастоящих программистов. Поговорим про утечки в памяти в SSR, про работу с памятью и про то, как всё это выглядит в браузере и в nodejs. Ну, и естественно, как со всем этим жить.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments4

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так)

Reading time6 min
Views29K
Доброго дня, %username%! Сегодня я расскажу (и немного покажу), что можно (но не всегда нужно) делать с тепловизором Seek Thermal.


Синяя изолента, куда ж мейкеру без нее.

В последнее время на гиктаймс было немало статей про эту тепловизионную камеру. Почитать можно, например, тут, тут и вот здесь даже с подключением к STM-32, но мы сегодня не об этом — скучной теории и картинок котиков не будет, только мякотка. Под катом рассказ о том, как сделать из iOS-версии Seek Thermal версию для Android и Raspberry Pi, зачем это нужно и что еще интересного можно узнать в процессе копания во внутренностях тепловизора. Интересующихся прошу.
Total votes 42: ↑40 and ↓2+38
Comments34

Уменьшаем размер публикуемых npm модулей

Reading time6 min
Views8.1K
По умолчанию npm публикует в registry весь модуль целиком. За исключением явно указанных в .gitignore файлов. Это отбрасывает зависимости, но все равно позволяет куче не очень нужных файлов просочиться в опубликованное. После чего благодарные пользователи ждут, пока все это скачается. Для grunt, кстати, ждать придется порядка 6 мегабайт. А он такой обычно не один.

Я решил разобраться, как измерить размер своих модулей после публикации и, по возможности, этот размер уменьшить. В качестве примера буду использовать модуль check-more-types, который содержит всего несколько файлов. Плюс юнит тесты и документацию, которая собирается в README markdown файл.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments8

Как перестать бояться и полюбить 1-wire

Reading time18 min
Views49K
Мне очень нравится протокол 1-wire своей простотой и удобством для применения в системах «умный дом». Недавно я писал программную эмуляцию одной микросхемы и погрузился во внутренности этого протокола. Чтобы накопленные знания могли принести пользу не только мне, я решил написать данную статью. Но в статье я хочу рассказать не про абстрактные диаграммы сигналов и кодирование данных — перепечаток такого материала есть достаточно, а хочу рассказать про более практические вещи. А именно: рассмотрю проверенные лично схемы адаптеров, собранные из простых и доступных деталей, и расскажу, как из Linux получить доступ к устройствам 1-wire. Попутно расскажу про сам протокол, будет и пример низкоуровневой работы, и пример доступа из JavaScript, а также рекомендации владельцам Raspberry Pi. Эта статья в первую очередь для тех, кто хочет разобраться с протоколом практически с нуля, чтобы начать его использовать в своих проектах. Возможно те, кто уже хорошо знаком с протоколом, также найдут что-то новое для себя.
Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments57

Делаем из старого усилителя многофункциональный медиа сервер с помощью Raspberry pi

Reading time8 min
Views27K

У кого из нас нет добротной техники из прошлого, которая работает так, как и не снилось множеству ширпотребных вещей из настоящего. Старые усилители, проигрыватели пластинок и радиолы. Да, было время, когда не умели делать хрупко и недолговечно в погоне за дешевизной. Эти вещи еще проработают долго. И звучание какого-нибудь старого усилителя будет радовать и нас и наших детей.

Правда, в них отсутствует много всяких цифровых штучек. Разные flac и тому подобные форматы. Управление проигрыванием, музыкой и фильмами через телефон или компьютер. Возможность запустить музыку с Youtube, Last.fm или выбрать интернет радио. Удаленное проигрывание медиа через DLNA. Или просто возможность подключить ваш компьютер через Bluetooth и выводить весь звук через большие колонки. Или что там еще напридумывают нам в будущем для облегчения нашей аудиофильской жизни.

Но что нам мешает использовать все эти технологии в старой технике? Да и почему обязательно в старой… У вас есть RCA, miniJack 3.5 или S/PDIF разъем на вашей магнитоле? Тогда мы идем к вам и … И делаем из старого усилителя многофункциональный медиа сервер с помощью Raspberry Pi. Подключаем нашу Raspberry Pi через RCA и обновляем нашу технику до "острия технологической атаки". Не обязательно использовать RCA. Найдите аналоговый или цифровой вход на своей технике и выберите нужную комплектацию вашей Raspberry Pi. Я буду рассматривать вопрос сугубо с практической точки зрения. Как настроить все быстро на Raspberry Pi? Ведь статей профессионалов об особенностях работы той или иной технологии достаточно, чтобы не останавливаться на этом. Я возьму в качестве примера Raspberry Pi и плату для цифровой обработки звука на основе чипа PCM 5102 A .

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments16

РИТ, Максим Лапшин (Erlyvideo): как программисту вырастить компанию

Reading time22 min
Views17K
РИТ++ 2017, Whale Rider. Зал «Конгресс-холл. 6 июня, 13:00. Тезисы.



В докладе я хочу рассказать о собственном опыте органического развития компании, продающей b2b серверный софт без инвестиций. Я начинал с ковыряния just for fun в том, что мне было интересно, потом был готов всё бросить (особенно после общения с несколькими менторами и бизнес-консультантами).



Максим Лапшин (далее – МЛ): – Здравствуйте, коллеги! Меня зовут Максим Лапшин. Я – владелец компании Erlyvideo. Я ею занимаюсь почти всё своё время, все 35 часов в день посвящаю своей работе.
Total votes 38: ↑38 and ↓0+38
Comments17

AvitoTech On Tour: митапы по Go и фронтенду в Казани

Reading time5 min
Views2.8K

Уже четыре года мы поддерживаем IT-комьюнити в России. Мы провели кучу митапов в московском офисе Авито, а потом подумали, что отсутствие офиса в городе — не повод не проводить там митап.


Мы хотим, чтобы независимые сообщества разработчиков развивались по всей стране и больше друг с другом взаимодействовали. Это может звучать напыщенно, но талантливые и интересные люди есть везде, а общий опыт и знания помогают нам развиваться и быстрее решать задачи.


Так родилась идея провести свои региональные мероприятия, чтобы поближе со всеми познакомиться. Мы назвали её AvitoTech On Tour.


В феврале мы проведём два митапа в Казани: первый по Go с сообществом GolangKazan, второй по фронтенду. На них выступят классные спикеры из Санкт-Петербурга, Минска, Казани и Москвы. Казанские митапы — наша пилотная попытка провести мероприятия вместе с локальными комьюнити в регионах, так что пожелайте нам удачи и приходите поддержать.


Под катом — даты мероприятий, имена спикеров, подробные программы и ссылки на регистрацию.


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments1

15 тривиальных фактов о правильной работе с протоколом HTTP

Reading time7 min
Views232K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Total votes 191: ↑186 and ↓5+181
Comments120

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity