Pull to refresh
39
Maxim Firsov@FirsofMaxim

Mobile developer, Golang backend developer

Send message

Кондиционер в жарком климате. Как  получить комфортную прохладу в доме и не покрыться плесенью от сырости

Reading time10 min
Reach and readers15K

Курортная жизнь под кондиционером.

Я езжу на пляжно-морской отдых в осенний бархатный сезон: в первой половине сентября в Турцию или в первой половине октября в Египет.

Такой выбор времени связан с двумя факторами:

1. Меньше людей, так как кончились летние каникулы  у детей и прошёл  сезон августовских отпусков в Европе у взрослых.

2. Жара сильно уменьшилась, так что жить в номере можно даже и без кондиционера.

Предыдущие 5-6 поездок я действительно в эти периоды практически не включал кондиционер, особенно ночью. Шум от сильно изношенного кондиционера в ночной тишине вообще как-то не очень приятен.

Но в последний раз кондиционер работал достаточно прилично, а на улице ночью было достаточно душно, так что по итогу кондиционер отработал непрерывно всю неделю.

Так как моя текущая работа- это проектирование систем ОВиК (отопления, вентиляция и кондиционирование), то наблюдение за  климатом в помещении  в зависимости от работы  кондиционера при разных внешних условиях стало для меня неким интеллектуальным развлечением на всю неделю отдыха.

Читать далее

Как жить и работать при нарушениях внимания?

Level of difficultyMedium
Reading time11 min
Reach and readers63K

▍ Предисловие. Флейта хулуси


Щёлк — я обнаруживаю себя за просмотром ролика на YouTube, в котором музыкант рассказывает, как ухаживать за флейтой из сушёной тыквы. Как я оказался здесь?! Зачем? На мгновение я пугаюсь того, что не могу вспомнить, каким образом попал на этот ролик. Я ведь не планировал узнавать про эти флейты и вообще сел работать. Холодок пробегает по коже.

Пытаюсь размотать предысторию, пройти путь своих блужданий обратно. Листаю историю браузера и вижу, что это уже третий по счёту ролик, а до этого я был на вкладке с «Авито». И тут понимаю, как это произошло. Я сел работать и на мгновение решил заглянуть на сайт по продаже вещей, посмотреть, есть ли сообщения, и там залип на странице с предложенными товарами, среди которых была эта самая флейта. Мне стало интересно, я полез сначала на Википедию, потом на YouTube. Ну нужно же послушать, как она звучит… Вот небольшой пример того, как живётся людям с неустойчивым вниманием.


▍ Дисклеймер


Я ожидаю справедливого негодования от тех, кого раздражает использование психологических проблем для оправдания нытья, бездействия и как аргумента для просьбы о снисхождении к себе. Давайте сразу проведём чёткую границу между теми, кто ведёт себя инфантильно, сваливая ответственность на психологические расстройства. Таких людей я не одобряю и их незрелое поведение порицаю. По другую сторону этой черты будут те, кому осознание своих проблем помогает стать более адаптивными, спокойными и обрести опору в понимании происходящего с ними.
Читать дальше →

«Каждый имеет право быть похожим на себя». Расстройство аутистического спектра и карьера в IT: личный опыт

Reading time15 min
Reach and readers46K

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

Долгое время это ставило меня в тупик. Я не понимал, в чём дело, и считал себя глубоким интровертом, замкнутым мрачным типом, совсем не понимающим людей. Всё гадал, что же со мной не так...

Читать далее

Собеседование по System Design: как запроектировать и не потеряться

Level of difficultyMedium
Reading time8 min
Reach and readers38K

Привет! Меня зовут Дмитрий. Я архитектор решений в крупной российской компании, более 15 лет проектирую, пишу код и руковожу командами. Сотрудничаю с Практикумом как ревьюер курса по Java и как автор курса «Архитектура программного обеспечения» в Яндекс Практикуме.

Предположим, вы решили развлечься дизайном систем (System design), пусть даже и не добровольно, на собеседовании. Если компания поленилась поделиться рабочим контекстом, то задача может быть в формате «запроектируй Твиттер». Более кандидатоориентированная компания N может попросить «спроектируй поиск на сервисе N».

Хотя статей типа «как запилить Твиттер» довольно много, не все помогут сориентироваться на реальном собеседовании. В этой статье предлагаю покопать вглубь и составить чек-лист, некий алгоритм. Он будет чуть шире, чем принято «для Твиттера», хотя универсальным его сделать не получится. Мне эта схема помогала и помогает, хотя у каждого свои фишки и предпочтения. 

Читать далее

Почему мы решили перейти с JUnit4 на JUnit5

Level of difficultyEasy
Reading time8 min
Reach and readers4.7K

Меня зовут Александр Чекунков, я — Android‑разработчик в СБЕРе. Занимаюсь разработкой CSI‑опросов в мобильном приложении «СберБанк Онлайн». Я несу ответственность за функциональность, которую используют бизнес‑команды для оценки удовлетворённости клиентов.

Не так давно, в нашем проекте мы приняли решение перейти с JUnit4 на JUnit5. Эта статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов. Я постараюсь ответить на ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?

Читать далее

Как веб-специалисту начать пентест API мобильного приложения и не сломать макбук

Level of difficultyMedium
Reading time11 min
Reach and readers8.1K

Я активный участник программ Bug Bounty и достаточно часто смотрю не только веб‑приложения, но и мобильные приложения, чтобы определить все конечные точки API сервиса и попробовать найти баг в функционале до которого не всегда просто добраться. А почему непросто? Потому что в мобильных приложениях часто встречается SSL Pinning, который не дает перехватывать трафик, а поэтому анализ API приложения становится более сложным. В этой статье я изложу:

1. Как отключить SSL Pinning и получить возможность внедряться в процессы iOS приложений.

2. Как отключить SSL Pinning и внедриться в Android приложение без наличия смартфона на одноименной ОС.

Читать далее

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Reach and readers74K

Статей на тему много, но, видимо, недостаточно. Последние 10 лет в 4-х разных компаниях время от времени слышу от коллег:

— Не могу пошарить экран с кодом, у меня другая ветка сейчас.

— Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!.

— Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать.

Читать далее

Почему умение дебажить — один из самых важных навыков для разработчика

Level of difficultyMedium
Reading time8 min
Reach and readers16K

Привет! Меня зовут Абакар, и я работаю главным техлидом в Альфа-Банке. Меня часто посещает вопрос: «А какой навык всё-таки самый полезный для разработчика?». Понятное дело, что ответ на этот вопрос обязан быть комплексным, и скилл-сет разраба не должен ограничиваться одним навыком. Но умение дебажить — действительно хороший показатель уровня разработчика. Давай разберем на нескольких примерах, почему я так считаю.

Читать далее

Как нормализовывать телефонные номера

Reading time5 min
Reach and readers22K

Замечали когда-нибудь, что все записывают телефонные номера по-разному? Некоторые пишут их через пробелы, другие через дефис, а кто-то использует скобки. Разные люди по-разному группируют цифры номеров в числа.

И это становится реальной проблемой, когда вам нужно сохранить телефонные номера в базе данных и затем извлекать из неё записи по ним.
Читать дальше →

Архитектура кроссплатформенного многомодульного приложения

Level of difficultyHard
Reading time11 min
Reach and readers21K

Хочу поделиться своим опытом создания кроссплатформенного приложения на базе kotlin-multiplatform (KMP), организации его архитектуры, настройки для работы с различными библиотеками и особенностями его работы. Статья подойдет в первую очередь разработчикам, которые уже имеют опыт с многомодульными проектами в android и начинают изучать KMP. В конце я опишу свою реализацию архитектурного паттерна MVI и его применение в проекте.

Читать далее

Как мы строили BDUI: опыт Яндекс Маркета

Reading time11 min
Reach and readers12K

Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.

Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат. 

Читать далее

Локальный HTTPS в dev-окружении — простая настройка

Reading time6 min
Reach and readers30K


Иногда в процессе веб-разработки требуется безопасное окружение в браузере, то есть HTTPS. Удобный способ сделать это — установить локальный УЦ и автоматизировать выдачу сертификатов на любые поддомены lcl.host и localhost. Это более функциональная и удобная альтернатива самоподписанным сертификатам.

Для установки локального УЦ есть инструменты lcl.host и mkcert, которые помогают быстро настроить и использовать HTTPS в dev-окружении.
Читать дальше →

Как устроен рекомендательный сервис, который выдерживает 700 тысяч запросов в секунду. Доклад Яндекса

Reading time11 min
Reach and readers32K

«Баннерная крутилка» —  один из самых высоконагруженных сервисов в Яндексе. Он умеет переживать 700 тысяч RPS, а иногда и больше. Каждый раз, когда приходит запрос, крутилка должна просмотреть базу из миллиарда документов и выбрать из них самые релевантные для пользователя. При этом выдерживаются весьма жесткие временные рамки: 99% всех запросов обрабатываются менее чем за 200 миллисекунд.

Какими принципами стоит руководствоваться при построении подобных высоконагруженных систем? Как устроены стадии отбора документов? Какое участие в ранжировании принимает ML? Обо всём этом на недавнем мероприятии для разработчиков в Ереване рассказал Артём Ваншулин, руководитель разработки ранжирования в команде баннерной системы. Сегодня мы делимся с сообществом текстовой версией его доклада. Передаём ему слово.

Читать далее

Медленное дыхание пространства и древние массивные черные дыры

Level of difficultyEasy
Reading time5 min
Reach and readers9.3K

Проблеме темной материи уже почти сто лет – с открытия в 1933 году Фрицем Цвикки гравитационной стабильности скоплений галактик, которые не должны быть стабильны, если судить только по видимой материи в них. Этой проблеме сначала не уделялось должного внимания, но она неотвратимо росла, расползаясь на галактические и космологические масштабы. Квантовые космологи долго пытались продать в качестве темной материи кучу неведомых зверюшек в виде элементарных частиц, но, невзирая на предоплату в виде миллиардов долларов, так и не сумели предоставить покупателю ничего реального – все зверюшки (которых обычно ласково называют ВИМПами) оказались мертворожденными. Поэтому в последние годы пошел в гору тренд о том, что темная материя состоит из черных дыр. Прекрасная идея, которая имеет главную проблему – а где взять столько дыр? Ведь практически единственный известный механизм их образования – взрыв сверхновой, сжимающий свое ядро в компактный объект в несколько масс Солнца, который и превращается в черную дыру. Но эти взрывы сверхновых можно по пальцам пересчитать – и их явно не хватает. Несколько лет назад стала раскручиваться тема первичных (primordial) черных дыр, которые должны возникнуть в результате какого-то гипотетического механизма в разгар Большого Взрыва. Если посмотреть по статьям, размещаемым в arxiv, то год назад на ключевые слова WIMP и primordial black holes (PBH) выскакивало примерно одинаковое количество статей - что уже удивительно, потому что «чернодырниками» были немногочисленные теоретики, а за «вимпистами» стояли огромные коллективы обсерваторий, где искались ВИМПы – под землей, в Антарктиде, в космосе и т.д. Если сейчас, 21 мая, посмотреть архив, то за май о ВИМПах опубликовано 4 статьи, а о PBH - 27. Разница в несколько раз! Все умные ученые должны вливаться в этот бурный поток и с упоением клепать модели образования PBS на основании гравитонов, тахионов, биткоинов, а также колебаний инфлатона и индекса Доу-Джонса.

Читать далее

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Reach and readers55K

У одного из клиентов нашей системы мониторинга PostgreSQL серверов возникла проблема сильного замедления запросов при запуске базы в Docker. В этой статье расскажем о возможных последствиях использования PostgreSQL в Docker с конфигурацией по умолчанию.

Читать далее

Радиоэфир без регистрации и СМС

Level of difficultyEasy
Reading time23 min
Reach and readers112K

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

Меня всегда привлекали рации. В детстве в девяностых покупка для меня была недоступной, а радиокружок, который я посещал, был совсем другого уровня. Мы паяли платы уровня мультивибратора, симулятора звука шарика от пинг-понга и канарейки. Поэтому единственной доступной нам удалённой связью во дворе была размотанная проволока из трансформатора со спичечными коробочками на концах в качестве микрофона и динамика (пластиковые стаканчики тогда ещё не получили распространение, были только гранёные). Работало метров на 30.

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →

Долгая дорога к дому: как вода очищается на пути из скважины в частный коттедж

Reading time9 min
Reach and readers27K

О том, как очищается вода на пути в частные квартиры, на Хабре писали уже довольно много. Эта вода приходит в водопровод уже частично очищенной местным поставщиком. А потом дополнительно фильтруется системами фильтрации на вход, стоящими в квартире, — и становится питьевой. 

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

Мы в БАРЬЕР много лет изучаем этот путь воды и стараемся его облегчить, совершенствуя собственные системы фильтрации для коттеджей. Под катом мы проследим путь воды из скважины к потребителю в частном доме на примере нашей коттеджной системы очистки, покажем состав воды из скважины до и после фильтрации, и подробно расскажем про каждый этап. 

Пройти путь воды

Септик и автономная канализация. Часть 2. Проектирование

Level of difficultyEasy
Reading time15 min
Reach and readers22K

В этой части мы рассмотрим процесс проектирования автономной системы канализации с септиком и сооружениями подземной фильтрации сточных вод. Также продолжим знакомиться с проблемами, возникающими при проектировании и строительстве таких систем. Статья будет полезна всем, кто планирует строить автономную канализацию, равно как и тем, кто уже эксплуатирует таковую.

Читать далее

Курс «PostgreSQL для начинающих»: #1 — Основы SQL

Level of difficultyEasy
Reading time13 min
Reach and readers180K

Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.

Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.

Для тех, кому комфортнее смотреть и слушать, а не читать - доступна видеозапись и слайды.

Читать далее

90+ дашбордов для OSINT и глобального мониторинга

Level of difficultyEasy
Reading time13 min
Reach and readers38K

Наблюдение за тем, какие изменения происходят на планете в масштабах стран и континентов — настоящий источник вдохновения для OSINT-аналитиков. Специалисты Бастион поделились актуальным списком интерактивных дашбордов, которые они держат в закладках, плюс я добавил парочку от себя.

Даже если вы никак не связаны с ИБ, зато часами залипали в контурные карты глобальных стратегий или восхищались глобусом в центре управления X-COM, эта подборка инструментов наверняка вам понравится.

Читать далее

Information

Rating
5,449-th
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Разработчик мобильных приложений
Старший
Android SDK
Kotlin
Java
Golang
PostgreSQL
Swift
Разработка под iOS
Разработка под Android