Pull to refresh
0
0
Евгений @fforp

User

Send message

Окей, Джанго, у меня к тебе несколько вопросов

Reading time36 min
Views54K

Недавно я проходил очередное интервью, и меня спросили, пишу ли я на flask, на что я ответил, что я себя люблю, и поэтому пишу на django. Меня не взяли, потому что, кхм, у них, оказывается, много чего было на фласке, и вышло неловко. Да-да, я знаю, фласк крут, потому что он простой, всё что надо ставишь сам, а чего не надо там и так нет, но как по мне, всё равно потом получается django.

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

Читать далее
Total votes 93: ↑89 and ↓4+85
Comments23

Маленькие «малинки» в крупном дата-центре (часть 4 — автоустановка)

Reading time7 min
Views5.7K

Это заключительная часть цикла статей, посвященного интеграции одноплатных компьютеров Raspberry Pi 4 в наши дата-центры. Мы рассмотрели, что происходит при загрузке «малинки» с момента включения до загрузки в операционную систему. Создали собственный мини-дистрибутив, который загружается по TFTP-протоколу и работает напрямую из памяти. Поговорили о хуках (hooks) Kea DHCP-сервера, разобрались, как они работают и что нужно для их создания.

Теперь соберем эти знания в цельную картину: зачем нам кастомная опция 224 и как управлять переключением режимов загрузки по сети и с локальной SD-карты.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments2

Как выйти на китайский рынок с mini-app для WeChat, чтобы не прогореть

Reading time12 min
Views6.4K

В Китае легко затеряться. Наши первые пиццерии там работали по привычной модели: точка «на доставку» с залом на второй линии не в людном месте. Но модель работала не так как мы хотели, потому что рядом с пиццерией десятки лавок со всеми видами еды, вроде боула с мидиями или хрустальной лапши, где клиент получит еду быстрее. Можно было бы сделать своё приложение с доставкой, но на китайских экранах сотни приложений, где можно заказать еду, и наше бы просто затерялось. Поэтому мы «пошли» в WeChat и его экосистему мини-приложений.

Почти нет примеров когда некитайская продуктовая компания вышла в WeChat с собственной мини-программой, да ещё с in-house разработкой вне Китая. Поэтому мы  познавали все нюансы разработки самостоятельно, от устройства китайской цифровой экосистемы и мини-приложений в WeChat, до вывода продукта на китайский рынок. Об этом и расскажем в этом большом «разборе» китайских приложений.

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

Прощание с Аресибо

Reading time6 min
Views53K


Мировая астрофизика понесла тяжелую утрату — один из самых больших, и, пожалуй, самый известный радиотелескоп в мире — Arecibo, отключен навсегда и будет демонтирован. Он снимался в кино и отправлял сигнал потенциальным братьям по разуму, он искал инопланетян в программе SETI@home и нашел первую планету за пределами Солнечной системы, он картографировал Венеру и пролетающие астероиды, но усталость металла взяла свое через 57 лет после строительства. Первый трос оборвался в августе 2020-го, второй трос — в начале ноября, а вчера ученые приняли решение, что ремонт слишком опасен для рабочих и проще подорвать опоры телескопа самим, чем ждать его крушения.
Читать дальше →
Total votes 180: ↑180 and ↓0+180
Comments163

DevOps для IT-рекрутеров

Reading time5 min
Views11K
Цель: внести ясность рекрутерам в том, что такое этот ваш девопс, как хантить, на что обращать внимание в резюме

Вопросы:

  1. Что такое методология девопс, роль в производстве программных продуктов, в чем сложность поиска.
  2. Виды специалистов, применяющих методологию девопс
  3. Откуда есть быть пошли и пришли на рынок ДевОпс-инженеры/SRE
  4. Нужен ли вам ДевОпс-инженер/SRE? Если да — то какой?
  5. Каналы поиска
  6. На что обратить внимание в резюме
  7. Как завязать диалог
  8. Мы Вам перезвоним — почему так нельзя и к чему это приводит в сфере поиска девопс

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments21

Не дразните программиста

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

Вы устали? Хотите выпустить пар? Вам требуется передышка? Предлагаю вам присоединится ко мне, тем более, что на дворе пятница.
Читать дальше →
Total votes 424: ↑394 and ↓30+364
Comments126

Практические истории из наших SRE-будней. Часть 2

Reading time8 min
Views9.2K


Утекло уже немало воды с момента публикации нашего последнего очерка об интересных случаях из практики обслуживания Kubernetes-кластеров и запускаемых в нём сервисов/приложений. Хотим представить очередную серию приключений инженеров «Фланта» в неспокойных водах большой (и не очень) веб-разработки.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments7

Как найти скрытую камеру в съемной квартире или номере отеля

Reading time4 min
Views197K

Airbnb и его аналоги решают множество проблем со съемом жилья. Но такая аренда также включает и некоторые риски. Например, недобропорядочные собственники могут устанавливать скрытые камеры в квартирах, комнатах и домах и не сообщать о съемке своим постояльцам, тем самым нарушая закон.Аналогичным образом поступают и отели, хотя и гораздо реже, чем собственники жилья.

Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.
Total votes 129: ↑112 and ↓17+95
Comments164

DataMatrix или как правильно маркировать обувь

Reading time9 min
Views29K
С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел.

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

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments20

Чем проще задача, тем чаще я ошибаюсь

Reading time7 min
Views46K
image

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

Коллега попросил поправить скрипт у него на сервере. Сделал, сдал ему и обронил ненароком: «Время спешит на 5 минут». Сервер его, пусть сам и разбирается с синхронизацией. Полчаса, час прошел, а он всё пыхтит и тихо матерится.

«Бестолочь! — подумал я, переключаясь в консоль сервера — ну ладно оторвусь ещё на пару минут.»

Смотрим, ntp, rdate, sdwdate не установлены, timesyncd отключен и не запущен.

# timedatectl
      Local time: Sun 2019-08-25 20:44:39 +03
  Universal time: Sun 2019-08-25 17:44:39 UTC
        RTC time: Sun 2019-08-25 17:39:52
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

Здесь сразу отмечу, что аппаратное время верное: по нему будет легче ориентироваться дальше.

Отсюда и началась череда ошибок.
Читать дальше →
Total votes 93: ↑92 and ↓1+91
Comments37

DeviceLock DLP: Цены российского черного рынка на пробив персональных данных (плюс ответ на ответ Тинькофф Банка)

Reading time4 min
Views128K

В конце прошлого года для DeviceLock DLP я делал обзор цен черного рынка на российские персональные данные, и вот пришло время его обновить и дополнить.


Заодно посмотрим изменение цен и предложений на этом «рынке», а также реакцию «Тинькофф Банка» на вот это вот все.



Поехали...

Читать дальше →
Total votes 264: ↑259 and ↓5+254
Comments320

Как дойти до Северного полюса от дрейфующей базы Барнео

Reading time14 min
Views16K

Выброска группы на льдину.

Это пост по запросу Palomnik и тех, кто его поддержал — «Как добраться до Северного полюса на лыжах» после истории про собак, которых выводили для северных условий.

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

На три недели Барнео становится туристическим и научным центром (здесь проводятся арктические исследования) и аэродромом для «Чебурашек» — Ан-74. Именно этот транспортник используется для взлёта в условиях до -60 °C с галечных и ледовых необорудованных аэродромов. На самой базе есть вертолёты Ми-8, которые позволяют забрасывать группы путешественников на маршруты и возвращать их на Барнео из точки Северного полюса. Связь базы с большой землёй — только через рейсы Ан-74.

Поскольку в регионе нет других более близких к полюсу баз (ближайшие точки старта — острова Шпицбергена, российский мыс Арктический в архипелаге Северная Земля, северная оконечность Канады, север Гренландии), на Барнео собирается около сотни человек из разных стран. Большинство приезжают, чтобы под руководством гидов пройти на лыжах от последнего градуса широты до Северного полюса — это 100-110 км. То есть можно заказать такой коммерческий поход.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments32

Как я не стал специалистом по машинному обучению

Reading time6 min
Views98K

Истории успеха любят все. И на хабре их достаточно много.


«Как я получил работу с зарплатой 300 000 долларов в Кремниевой долине»
«Как я получил работу в Google»
«Как я заработал 200 000 $ в 16 лет»
«Как я попал в Топ AppStore с простым приложением курса валют»
«Как я …» и еще тысяча и одна подобная история.



Это же здорово, что человек добился успеха и решил об этом рассказать! Читаешь и радуешься за него. Но большинство таких историй объединяет одно: ты не можешь повторить путь автора! Либо ты живешь не в то время, либо не в том месте, либо ты родился мальчиком, либо…


Я думаю, что истории неуспеха в этом плане часто бывают полезней. Тебе просто не нужно делать то, что сделал автор. А это, согласитесь, гораздо проще, чем пытаться повторить чей-то опыт. Просто такими историями люди обычно не хотят делиться. А я расскажу.

Читать дальше →
Total votes 173: ↑161 and ↓12+149
Comments240

Параноидальные видео с митапа Яндекс.Денег

Reading time2 min
Views8.1K

Недавно я читал статью о том, как научиться программировать под Android с нуля за полчаса. Она начиналась со слов «Вы можете даже не догадываться, но миллионы людей во всем мире зарабатывают деньги на разработке приложений под Android». Дальше в ней, конечно, не было ничего хорошего — установите Android Studio, вот вам XML, вот активити, здесь впечатайте текст на Java. Совершенно стандартная я-научу-вас-программировать-за-полчаса статья с рекламой платных курсов.


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


29 мая у нас прошёл митап Android Paranoid, и здесь три доклада с него. Коллеги подробно рассказали про ML Kit от Google, о разработке клиента для распределенной системы и про одно публичное API, которое Google не афиширует. Добро пожаловать под кат.

Total votes 28: ↑24 and ↓4+20
Comments5

Совсем неоригинальный SSD в Macbook Air

Reading time2 min
Views90K
Так случилось, что через две недели после того как у моего, Macbook Air 13" закончился Apple Care, умер SSD. Идти к официальному представителю, а также в левые лаборатории не хотелось. В первом случае совсем не адекватная цена проверки, во втором я так и не смог добиться от лаборатории цены ремонта, если окажется, что действительно поломался только SSD. Проблема усугублялась тем, что я не был на 100% уверен, что это SSD, а не материнская плата например, поэтому не был заказан суррогат от известных и не очень брэндов, например, OWC. Другая сложность заключалась в том, что Apple специально делает свои устройства как можно сложнее в ремонте, даже чтобы просто открутить крышку пришлось просить у знакомого набор отверток, поэтому неудивительно, что нельзя было просто взять первый попавшийся SSD и проверить.
Бюджетный выход из данной ситуации, вы можете найти под катом
Total votes 49: ↑43 and ↓6+37
Comments71

MVCC-1. Изоляция

Reading time25 min
Views126K
Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL.

Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не люблю), а читать слайды, пусть даже с комментариями, — совсем «не то».

Конечно, статьи не будут повторять содержание курсов один в один. Я буду говорить только о том, как все устроено, опуская собственно администрирование, зато постараюсь делать это более подробно и обстоятельно. И я верю в то, что такие знания полезны прикладному разработчику не меньше, чем администратору.

Ориентироваться я буду на тех, кто уже имеет определенный опыт использования PostgreSQL и хотя бы в общих чертах представляет себе, что к чему. Для совсем новичков текст будет тяжеловат. Например, я ни слова не скажу о том, как установить PostgreSQL и запустить psql.

Вещи, о которых пойдет речь, не сильно меняются от версии к версии, но использовать я буду текущий, 11-й «ванильный» PostgreSQL.

Первый цикл посвящен вопросам, связанным с изоляцией и многоверсионностью, и план его таков:

  1. Изоляция, как ее понимают стандарт и PostgreSQL (эта статья);
  2. Слои, файлы, страницы — что творится на физическом уровне;
  3. Версии строк, виртуальные и вложенные транзакции;
  4. Снимки данных и видимость версий строк, горизонт событий;
  5. Внутристраничная очистка и HOT-обновления;
  6. Обычная очистка (vacuum);
  7. Автоматическая очистка (autovacuum);
  8. Переполнение счетчика транзакций и заморозка.

Ну, поехали.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments35

Как мы делали мониторинг сети на 14 000 объектов

Reading time15 min
Views30K
У нас было 14 000 объектов, zabbix, api, python и нежелание добавлять объекты руками. Под катом — о том, как сетевиками внедрялся мониторинг с автоматическим добавлением узлов сети, и немного про боль, через которую пришлось пройти.

Статья больше ориентирована на сетевых инженеров с небольшим опытом в python. В помощь при автоматизации мониторинга и улучшения качества жизни и работы, в отсутствии необходимости руками актуализировать весь парк объектов.


Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments23

Маркировка обуви в России: Рынок не готов, но работать придётся

Reading time6 min
Views35K


Обязательная маркировка товаров в России набирает обороты: с 1 июля стартует её новый этап, который напрямую затронет всех производителей, дистрибуторов и продавцов обуви. Несмотря на проводимый ещё с прошлого года эксперимент, у участников рынка остаются вопросы к законотворцам. Какие — они рассказали «Пилоту» в статье.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments74

Производительность запросов в PostgreSQL – шаг за шагом

Reading time15 min
Views84K


Илья Космодемьянский ( hydrobiont )


Для начала сразу пару слов о том, о чем пойдет речь. Во-первых, что такое оптимизация запросов? Люди редко формулируют и, бывает так, что часто недооценивают понимание того, что они делают. Можно пытаться ускорить какой-то конкретный запрос, но это не обязательно будет оптимизацией. Мы немного на эту тему потеоретизируем, потом поговорим о том, с какого конца к этому вопросу подходить, когда начинать оптимизировать, как это делать, и как понять, что какой-то запрос или набор запросов никак нельзя оптимизировать – такие случаи тоже бывают, и тогда нужно просто переделывать. Как ни странно, я почти не буду приводить примеров того, как запросы оптимизировать, потому что даже 100 примеров не приблизят нас к разгадке.
Total votes 46: ↑44 and ↓2+42
Comments16

Как за 10 минут сделать клиент к HTTP API на Swagger

Reading time3 min
Views81K

Когда нужно сделать несколько запросов к HTTP API, разработчик обычно берет свой привычный язык/фреймворк и быстро пишет аналог curl в коде: HTTP-запрос, минимальный контроль ошибок, query- или json-аргументы, парсинг json body с названиями полей в виде строк. Все это замечательно работает, пока проект не начинает расти и несколько вызовов не превращаются в несколько десятков, а куски низкоуровневого кода не начинают размножаться копипастой. А дальше — стандартный набор багов, рожденных копипастой, которые начинают понемногу есть время у разработчика.

Swagger/OpenAPI — один из «комбайнов» для работы с HTTP API. Это язык описания API (недавно произошло объединение проектов генератора и спеки), генераторы серверного и клиентского кода, документации, тестов — много всяких полезных штук. Под катом я покажу, как по «человеческому» описанию API на сайте компании в несколько строк кода составить OpenAPI-описание и сгенерировать клиент на Python. И чем такой клиент будет лучше, чем вручную написанный код.
Total votes 34: ↑32 and ↓2+30
Comments4
1
23 ...

Information

Rating
Does not participate
Registered
Activity