Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная

Level of difficulty Easy
Reading time 9 min
Views 5.4K

Компания у нас на full-remote, поэтому заседание кружка параноиков мы проводим как-то так. Иногда под банджо в углу.

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

Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:

Макаки жуют провода. Цикады принимают кабели за ветки, и расковыривают их, чтобы отложить внутрь яйца. Акулы жуют трансатлантические кабели Google. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки.

Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan я сегодня вам и расскажу.

Читать далее
Total votes 34: ↑34 and ↓0 +34
Comments 37

Как не надо проводить performance review в команде разработки

Level of difficulty Easy
Reading time 6 min
Views 2.4K

Performance review для сотрудников мы проводим давно, и проходили мы этот путь не без ошибок. Хорошо, что на ошибках можно учиться — из них мы сложили анти-топ и описали его в этой статье.  

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 7

Настраиваем логирование с помощью Loki и Grafana

Level of difficulty Easy
Reading time 6 min
Views 10K

При построении микросервисной архитектуры часто возникает потребность анализировать логи из нескольких источников (баз, сервисов и т. д.). В этой статье я бы хотел поделиться решением к которому в итоге пришел.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 6

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Level of difficulty Easy
Reading time 8 min
Views 279K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее
Total votes 282: ↑259 and ↓23 +236
Comments 276

Самое понятное объяснение Специальной теории относительности

Level of difficulty Medium
Reading time 13 min
Views 89K

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

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

В этой статье я хочу наглядно показать, что все это проще, чем кажется на первый взгляд.

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Total votes 379: ↑379 and ↓0 +379
Comments 387

Создание PDF размером с Германию

Level of difficulty Easy
Reading time 7 min
Views 24K

Сегодня утром, пролистывая ленты социальных сетей, я уже в который раз встретила утверждение, что у PDF-документа есть максимально допустимый размер.

Подобное утверждение появилось на просторах интернета ещё в 2007 году. Этот твит является характерным примером постов с аналогичным заявлением, в которых оно преподносится как твёрдый факт без каких-либо подтверждающих свидетельств или объяснений. То есть мы должны просто принять, что один PDF может покрыть лишь около половины площади Германии, и нам никак не объясняют, почему его магический предел составляет 381 километр.

Тут мне стало интересно – а создавал ли кто-нибудь такой большой PDF? Насколько это сложно? А можно ли сделать документ ещё больше?

Несколько лет назад я из праздного любопытства немного поигралась с PostScript, предшественником PDF, и это оказалось очень увлекательным! Ранее мне не доводилось изучать внутреннее устройство PDF, так что здесь у меня возник для этого хороший повод.

Приступим!
Читать дальше →
Total votes 126: ↑123 and ↓3 +120
Comments 57

Обслуживание HTML из MS-DOS

Reading time 5 min
Views 4.4K

Отсутствующий в MS-DOS стек протоколов TCP/IP всегда был поводом для жарких дискуссий – и это при том, что изначально его поддержка в ОС не планировалась вовсе. И дело вовсе не в том, что MS-DOS он был бы не по силам. TCP/IP на момент разработки DOS еще не был реализован самой Microsoft. Разве что в Windows 3.11 промелькнул IPX/SPX. Окончательно утвердился стек TCP/IP только в Windows 95.

Тем не менее, благодаря потрясающей работе по созданию бэкпортов, проделанной множеством энтузиастов по всему миру, TCP/IP всё же удалось заставить работать в MS-DOS. В эмуляторе 86Box можно установить виртуальную сетевую карту, загрузить её драйверы и запустить TCP/IP. При этом получится даже просматривать веб-страницы. Но сейчас мы сделаем нечто еще более дикое. Заставим нашу виртуальную MS-DOS машину работать в качестве веб-сервера и разместим на нем свою HTML-страницу. Приступим!

Читать далее
Total votes 33: ↑33 and ↓0 +33
Comments 11

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Level of difficulty Easy
Reading time 5 min
Views 162K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Total votes 564: ↑553 and ↓11 +542
Comments 834

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficulty Easy
Reading time 7 min
Views 86K

Готовитесь к собеседованию за рубежом и переживаете за свой английский? Хотели бы работать в международной компании, но сомневаетесь, хватит ли языка? Не уверены, поймут ли ваш акцент? Тогда эта статья может помочь.

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Total votes 282: ↑279 and ↓3 +276
Comments 160

Про́клятый огонь, или магия препроцессора C

Reading time 18 min
Views 25K

Задавались ли вы когда-нибудь вопросом, можно ли полноценно программировать при помощи директивы #define в языке C? Полнота по Тьюрингу шаблонов C++ известна весьма широко, например, люди пишут трассировщики лучей, делающие все вычисления во время компиляции (вместо времени исполнения). А как обстоят дела с препроцессором C? Вопрос оказался сильно нетривиальнее, и эта история является, на мой вкус, отличным анекдотом для курса лекций по теории компиляторов, что я готовлю в данный момент. В частности, для лучшего понимания происходящего здесь, рекомендую ознакомиться со второй статьёй, которую я опубликовал параллельно этой: лексер и парсер.

Чтобы не было обманутых впечатлений, предупрежу сразу, что рейтрейсера не будет, но про́клятый код будет очень даже! Итак, поехали. Для начала, почему я вообще задался этим вопросом? Если обычный код компьютерной графики вам скучен, следующий раздел можно пропустить, перематывайте до последней картинки.

Читать далее
Total votes 169: ↑169 and ↓0 +169
Comments 54

Как устроен виндсёрфер? И немного ещё…

Level of difficulty Easy
Reading time 16 min
Views 10K
Картинка Macrovector, Freepik

В этой статье я расскажу одну довольно любопытную историю, которая приключилась со мной достаточно много лет назад, в результате чего я получил много новых скилов, освоил абсолютно новую для себя и очень интересную сферу — виндсёрфинг, а также стал в некотором смысле корабелом. Итак…
Читать дальше →
Total votes 71: ↑69 and ↓2 +67
Comments 68

С новым годом: GPT в 500 строках на SQL

Reading time 42 min
Views 36K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее
Total votes 215: ↑211 and ↓4 +207
Comments 20

OpenAI запускает GPT Store — как создать свой custom GPT с внешними API вызовами

Level of difficulty Easy
Reading time 7 min
Views 13K

Вчера вечером, 10 января 2024 г., OpenAI официально запустили GPT Store.

Давайте разберемся, что это такое, и что оно дает. А затем создадим свой собственный GPT и добавим его в GPT Store.

Концепция "custom GPT" в терминах OpenAI - это кастомный набор инструкций (custom prompt), который может быть создан любым пользователем ChatGPT с подпиской Plus. Каждый такой custom GPT за счет своего набора инструкций хорошо заточен под решение своей конкретной задачи. Есть custom GPT, которые хорошо пишут код, есть custom GPT, которые играют роль репетитора или психотерапевта и т.д.

Таким образом, GPT store - это большая библиотека инструкций для разных задач внутри ChatGPT. Она создается и поддерживается комьюнити и очень сильно напоминает google play market или apple app store.

Процесс создания Custom GPT заключается в том, что в интерфейсе ChatGPT пользователь составляет подробные инструкции, что и как его GPT должен делать, дает описание, придумывает название, примеры использования и т.д. - всё это сохраняется на серверах OpenAI.

Читать далее
Total votes 34: ↑34 and ↓0 +34
Comments 11

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficulty Easy
Reading time 7 min
Views 70K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 150: ↑141 and ↓9 +132
Comments 406

Kubernetes на AWS: пошаговое руководство

Reading time 7 min
Views 4K

В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:

Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS.

Создание кластера с помощью Amazon Elastic Kubernetes Service (EKS): EKS — это управляемый сервис Kubernetes, предоставляемый компанией Amazon. Кластер Kubernetes с EKS можно создать с помощью AWS Management Console.

Создание кластера с помощью Rancher: Rancher — это платформа управления Kubernetes, которая упрощает развертывание Kubernetes и контейнеров.

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 5

Алгоритмы не важны

Level of difficulty Easy
Reading time 7 min
Views 44K

Прошу простить заранее за несколько кликбейтный заголовок )

Не так давно писал в соцсетях хейт‑пост по поводу «алгоритмических секций» при приёме на работу в Яндекс.

Да и многие другие софтверные компании это практикуют и считают навыки написания алгоритмов — чуть ли не самым важным навыком для программистов.

И ставят данной компетенции очень высокий приоритет при приёме на работу.

Попробую сегодня развить эту мысль и объяснить почему ставить навыки написания алгоритмов на первый план — не правильно, почему этот «алгоритмический» критерий не релевантен и не отражает реальной ценности / уровня / потенциальной пользы от данного программиста.

Читать далее
Total votes 167: ↑133 and ↓34 +99
Comments 370

Как появилась микроволновка, или История случая, науки и кулинарной революции

Reading time 15 min
Views 9.1K

Сейчас на часах 8 утра, и я иду на кухню завтракать. Чай уже заваривается, я беру ломоть черного хлеба, кладу сверху сыр и вареную колбасу, помещаю все это на тарелку и... Кто-то решил, что я это сразу съем? А вот и нет. Не знаю, как вам, а я люблю, когда чуть подплавленный сыр мягко обволакивает теплую колбасу. Потом остывает и покрывается легкой корочкой — кайф!

Конечно, можно воспользоваться и сковородкой. Бутерброд получится вкуснее, но блин — это же потом ее мыть придется? Ну уж нет. Я ставлю тарелку с завтраком в микроволновую печь: незаменимый атрибут на современной кухне. Минутка, и все готово. Удобно. 

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

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 33

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Reading time 17 min
Views 27K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

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

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

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

Пармезан вместо денег

Reading time 8 min
Views 3.2K
image
"Rescue Rangers", episode "Mind Your Cheese and Q's"//«Чип и Дэйл спешат на помощь», эпизод «Сыру — мир»

— Выдайте мне кредит под залог имущества!
— Что вы хотите заложить?
— СЫ-Ы-Ы-Ы-ЫР!

Звучит, как безумие, если вы не находитесь в отделении итальянского банка Credito Emiliano (или по-простому — Credem).

Всё дело в том, что в этом итальянском банке уже больше полувека выдают кредиты местным сыроделам под залог элитного Parmigiano-Reggiano на весьма выгодных условиях: всего под 3–5% годовых. Для ценного продукта у банка есть специальные хранилища, в которых огромные головы сыра по 38–40 кг каждая вызревают, пока заёмщик не придёт забирать своё имущество обратно.

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

Эта история началась в 1953 году, когда итальянские сыроделы были чуть ли не поголовно на грани разорения, т. к. после войны наступил кризис, и производство сыра перестало окупаться.

Банк Credito Emiliano придумал, как помочь умиравшим семейным сыроварням и сберечь традиционное, очень важное для местной самоидентичности производство, и начал выдавать кредиты под залог сыра. Это помогло и продолжает помогать сыроделам выжить.

Сегодня поговорим о том, почему сыр — это неплохой гарант, и как банк вообще додумался до такой идеи.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 20

BNPL, или Как миллениалы заново рассрочку изобрели

Reading time 14 min
Views 3.7K
Идея покупок в рассрочку, мягко говоря, не нова. «В массы» она ушла ещё в середине XIX века, когда компания Singer начала массово производить и продавать достаточно дорогие для обыкновенного человека швейные машинки, а в начале XX века тему развили Генри Форд и General Motors. И с тех пор — понеслось.

Казалось бы, что нового можно придумать на этом поприще? Оказывается — можно.

Относительно недавно для миллениалов и поколения Z придумали новую систему BNPL — Buy now, pay later, что в переводе означает «покупай сейчас, плати потом». Многие по ошибке называют её «покупками в рассрочку», но, если честно, это немножко (множко) вообще не то же самое. Если это, конечно, классический BNPL.

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

Чтобы встретить эти перемены во всеоружии, важно убедиться, что вы умеете «правильно его готовить». Поэтому сегодня мы говорим о том, как отличить BNPL от рассрочки, новаторстве в кредитовании и немного о поколении Z, которое массово пользуется этой системой и двигает её вперёд.
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Comments 17

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity