Pull to refresh
2
0
Карен @PriMat

User

Send message

Как устроен Elementary

Reading time9 min
Views8.5K

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

Мы в Surf постоянно сталкиваемся с необходимостью решать эти проблемы при разработке мобильных приложений, в том числе и на Flutter. Опыт, который мы получили за долгое время, отразился на наших подходах и лёг в основу библиотеки Elementary, автором которой я являюсь.

В статье расскажу, как устроен Elementary, какие принципы в нём заложены и чем вообще он может быть полезен.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments6

Elementary: новый взгляд на архитектуру Flutter-приложений

Reading time6 min
Views13K

Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки.

Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере реального приложения показываем, как использовать Elementary.

Читать далее
Total votes 12: ↑11 and ↓1+11
Comments12

Разбор вступительных заданий в Школу Программистов hh.ru 2021

Reading time6 min
Views13K

Привет! Подошел к концу двенадцатый набор в Школу Программистов hh.ru. Самое время рассказать, как Петр Васильевич раздавал премии менеджерам, кто вышел победителем из "Релиза до выходных" благодаря ролевому помощнику, и как впервые в истории Школы нам пришлось облегчить условия вступительного задания прямо во время набора. 

В этой статье будет подробный разбор заданий свежего набора в Школу Программистов hh.ru.

Поехали разбираться
Total votes 9: ↑9 and ↓0+9
Comments13

Мифология и реальные методы прагматичного программирования

Reading time12 min
Views21K

В разработке цветет культ Карго. Многие программисты полагаются на слова, которые сказал какой-то очень уважаемый автор десятки лет назад. Они продолжают разрабатывать код, опираясь на подходы, которые либо не актуальны, и даже сам автор уже давным-давно поменял свою точку зрения. И сегодня мы поговорим о некоторых очень распространенных принципах программирования, которые не так однозначны, как может показаться на первый взгляд.

Меня зовут Кирилл Мокевнин, и я — сооснователь школы программирования Хекслет. За последние пару лет я провел собеседования с более чем 400 человек, потенциальными наставниками по совершенно разным направлениям в разработке. В результате у меня собралась большая выборка наблюдений, которые мы и разберем в этой статье.

Читать далее
Total votes 59: ↑54 and ↓5+64
Comments27

Пять книг, которые изменили мою карьеру программиста

Reading time4 min
Views87K

"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну "

- Джордж Р.Р. Мартин.

Читать далее
Total votes 33: ↑29 and ↓4+33
Comments30

Тюнинг PHP-FPM. Введение

Reading time6 min
Views27K

БОНУС: в нашем подкасте мы обсудили эту тему с экспертом, членом сообщества PHP программистов: https://share.transistor.fm/s/6a8637ba

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

PHP-FPM (или FastCGI Process Manager) имеет по сравнению с mod_php несколько преимуществ, из которых самые очевидные — он более гибок в настройке, и в настоящее время сообщество отдает предпочтение именно этому режиму работы PHP. Однако, если вы используете дефолтную конфигурацию от вашего диспетчера пакетов, то, скорее всего, вы не получите максимум выгоды от его использования.

Читать далее
Total votes 10: ↑5 and ↓5+1
Comments3

Свершилось: ценники, которые всегда актуальны, пилот на 79 тысяч штук в магазине

Reading time6 min
Views43K
image
(фото из зарубежного проекта вместо текущего по просьбе безопасников)

До этого в России были внедрения электронных ценников в рознице (МАН, Магнит и так далее), но использовались устройства без сетевой связности, то есть нужно было ходить и обновлять их с помощью программатора либо выставлять на них цену кнопками, как на электронных часах. Плюс прошлые поколения ценников были с жидкокристаллическими дисплеями и суровым bluetooth, а новые — с e-ink и сильно переделанной версией IEEE 802.15.4 с поддержкой сна и невероятно экономичных по питанию транзакций. То есть прошлым надо было менять батарею раз в три-семь дней, а новые уже держат два года (по заявлению производителя, пока не было шанса проверить, но аналогичные устройства LORA мы начали использовать лет десять назад, и один-два года похоже на правду), причём год — это в секции холодильников, где аккумуляторы должны чувствовать себя зябко.

Собственно, я участвовал в одном из первых в России аналогичном проекте и потому хорошо представляю тот ад, который тогда творился. КРОК 15 лет занимается розницей, и мои коллеги тоже знают, что первые модели были, скорее, прототипами. Но всё равно даже те электронные ценники были лучше, чем резать бумагу и наклеивать скотчем с точки зрения скорости обновления цен в магазине после пересчёта базы на 300-400 позиций за ночь.

Новые ценники имеют управляющий сервер, который обновляет ценники мгновенно, как только в 1С или SAP поменялись цены. Точнее, лаг есть — он равен промежутку между сеансами связи оконечных устройств, но это не больше нескольких минут. Каждый ценник привязан к конкретному товару в базе и на полке.

Пока «накрыто» два крупных магазина федеральной розничной сети, там 79 тысяч ценников. Если этот проект проживёт полгода успешно, через год ждите такое почти по всей России — и наконец-то пропадут проблемы про «мы не успели переклеить» и «акция уже кончилась». Но, возможно, будут новые с тем, что в 18:30 алкоголь будет дороже, чем в 7:00.
Читать дальше →
Total votes 90: ↑87 and ↓3+112
Comments378

Пирамида спича: как с помощью уровней Дилтса вызвать доверие аудитории

Reading time3 min
Views12K
Решение по проекту или финансирование стартапа может зависеть всего от одной презентации. Особенно это цепляет, когда выступать приходится профессионалу, который мог бы направить это время на разработку. Если в вашей компании нет отдельных менеджеров, которые занимаются маркетингом и продажами, можно всего за час освоить пирамиду спича, метод недирективного воздействия на аудиторию и правила разработки бизнес-презентаций. Читайте подробнее в этой статье.

image
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments14

Поди туда — не знаю куда

Reading time2 min
Views58K

image


Как-то раз я обнаружил за лобовым стеклом в машине жены бланк для номера телефона, который вы можете видеть на фото выше. У меня вскочил вопрос: почему бланк есть, а номера телефона нет? На что был получен гениальный ответ: а чтобы никто не узнал мой номер. М-да… "Мой телефон ноль-ноль-ноль, и не думай, что это пароль".


Женщины иногда не очень логичны в своих действиях, но своим спонтанным поступком могут натолкнуть на что-то интересное.

Читать дальше →
Total votes 133: ↑109 and ↓24+85
Comments390

12 приемов работы с JavaScript, которых нет в большинстве туториалов

Reading time6 min
Views45K


Когда я начал изучать JavaScript, то первым делом составил список приемов, которые помогали мне экономить время. Я подсмотрел их у других программистов, на разных сайтах и в мануалах.

В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
Читать дальше →
Total votes 70: ↑45 and ↓25+20
Comments88

Полезные мелочи с Kickstarter

Reading time5 min
Views16K


В этом обзоре мы рассмотрим несколько проектов с Kickstarter, которые помогут сделать вашу 3D-печать еще немного лучше. Некоторые из этих проектов уже завершены в рамках Kickstarter и перешли на стадию серийного производства, другие “не взлетели” по тем или иным причинам, но могут подкинуть идейку-другую, а какие-то все еще на стадии краудфандинга и в них можно поучаствовать.
Total votes 12: ↑9 and ↓3+6
Comments12

10 лет работы на одной батарейке: беспроводной датчик влажности и температуры

Reading time6 min
Views43K
Texas Instruments занимает лидирующие позиции во многих сегментах рынка полупроводниковой продукции. Следуя традиции, компания сама разрабатывает примеры применения своих электронных компонентов и публикует материалы на своем сайте: теория, схемы, референс-дизайны, обучающее видео и т.д. Там же продаются электронные компоненты и готовые платы (комплекты разработчиков и инструменты). Также TI имеет собственный форум e2e.ti.com и поддерживается сторонний ресурс www.43oh.com для инженеров-разработчиков и просто любителей. Активно ведет работу со школами и колледжами, обучая программированию микроконтроллеров даже младшеклассников.

Тем не менее, наши любители мало знакомы с примечательной продукцией этой компании. Скорее всего, это связано с ценой и почти отсутствием материалов на русском языке, что ограничивает аудиторию любителей, познакомившихся с полупроводниковой продукцией от TI. Также есть один неприятный нюанс – некоторые вещи не пропустит таможня РФ, а другие не экспортируются из США в РФ (и это не последствия недавних санкций — «так было»). Тем не менее есть способы приобрести необходимое.

Этой статьей я хочу обратить внимание любителей-разработчиков на решения TI, в частности, применимые для умного дома. Ряд опубликованных статей на GT об умном доме могли бы позаимствовать некоторые интересные решения. Например, опубликованная avs24rus статья Беспроводный Lighting-Sensor с питанием от CR2450, вызвала, запомнившееся мне, обсуждение в комментариях: «Как сделать так, чтобы датчик «поставить и забыть» на улице в условиях экстремальных минусовых температур? Аккумулятор, солнечная батарея, ионистор?
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments58

Доступные 3D-фрезерные станки c ЧПУ, от 250 000 до 1000 000 рублей

Reading time6 min
Views18K


Выбор есть. Если у вас относительно крупное производство, либо вы хотите закрыть вопрос оснащения на более продолжительное время, имеет смысл приобрести сразу фрезер помощнее — с большей скоростью работы и рабочей областью, с дополнительными функциями и изрядным ресурсом.
Читать дальше →
Total votes 23: ↑15 and ↓8+7
Comments20

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть вторая, инструмент и приспособления

Reading time7 min
Views37K
На днях устыдили меня, мол ругаюсь на дилетантов, а сам ничего хорошего не пишу, а обещал ажно «цикл статей». Пришлось достать старый черновик и доработать. Для забывших — первая часть про выбор станка тут.

Предположим, что Вы определились с моделью фрезера, провели первичные переговоры с поставщиком и начали морально готовиться к покупке. Что еще понадобится для начала работы?

Хотя многие поставщики вкладывают в комплект «стартер кит», для комфортного домашнего использования он будет явно недостаточен. Так что сразу начинаем искать/покупать/делать следующее:

— Режущий инструмент — фрезы/граверы и боры
— Дополнительные цанги к шпинделю
— Крепеж для стола
— Систему изоляции и/или удаления стружки

И да, сразу оговорюсь: данная статья касается домашних фрезеров со шпинделями типа Kress или китайчонками с цангой Er11, поэтому во-первых предположим, что хвостовик фрезы у нас цилиндрический до 6 мм (у Кресса есть 8, но нормальной его работу с 8кой не назовешь — слабенький он таки), во-вторых, механический инструмент смысла не имеет — мощи не хватит, а в третьих, сверла-развертки-метчики-флайкаттеры недоступны, поскольку минимальная скорость — 6000 оборотов.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments50

Установка Android планшета NEXUS 7 2013 вместо магнитолы в Mazda MX-5 – часть 1/2

Reading time7 min
Views77K
Привет читающим! Этой статьей я постараюсь описать весь путь установки планшета на андроиде в качестве магнитолы в автомобиль mazda мх5. Начиная от закупки комплектующих и заканчивая программной частью – в общем полный полный набор с кучей фото, видео и текста. Я проделал эту работу и постарался описать всё так, что бы это мог повторить каждый!

И вы сможете завтракать в пробках с ютубом



Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments99

Самодельная камера 16×20 дюймов за 10 часов

Reading time2 min
Views24K


Американский фотограф Джайлс Климент (Giles Clement) рассказывает, как они с другом собрали профессиональную фотокамеру размером 16×20 дюймов всего за десять часов. Повторить этот подвиг может каждый.

Всё началось за кружечкой пива в баре, где Джайлс показал другу набросок на салфетке, что он собственно хочет сделать.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments12

Динамическая подсветка приборной панели

Reading time6 min
Views24K
Всем привет.
Как-то ехал в темное время суток и в голову пришла идея, было бы интересно, если цвет подсветки приборной менялся бы от скорости или от оборотов двигателя. Т.к. тахометра на приборке у меня нет, то решено было реализовать именно второй вариант, за одно можно будет и обороты примерно определять.
Если кто-то захочет повторить, скажу сразу, работы с электрикой в авто вы проводите на свой страх и риск.
Умельцы резонно могут сказать о пушечных выстрелах по воробьям и о моём великолепном умении программировать, однако цель достигнута, задуманное реализовано и вполне себе работает :). В общем случае вам понадобится: Ардуино, пара RGB светодиодов, несколько резисторов и парочка микросхем стабилизации напряжения, крепления для светодиодов. Заинтересовавшихся прошу под кат.



Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments31

Как я сделал LED-панель для мониторинга серверов, а заодно и цветомузыку для вечеринок

Reading time4 min
Views18K


Занимаюсь администрированием серверов и поддержкой веб-сервисов в качестве фрилансера. С ростом количества «подопечных» на простой мониторинг начало требоваться неприлично много времени. Захотелось сделать для себя полноценную информационную панель. Что из этого получилось читайте под катом.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments26

Wiren Board 4 — контроллер для автоматизации

Reading time4 min
Views60K
image

Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.

Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.

Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.

Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments83
1
23 ...

Information

Rating
Does not participate
Location
Yerevan, Yerevan, Армения
Date of birth
Registered
Activity