Pull to refresh
-2
0
Куакерх @QeqReh

User

Send message

Я решил 500 задач на LeetCode — и они действительно меня чему-то научили

Reading time5 min
Views242K

Много кто знает, что такое Leetcode. Это своего рода решебник — задачи, которые дают на технических собеседованиях в крупных компаниях (в том числе и из FAANG) и их решения.

Такие задания, заточенные на знание структур данных и алгоритмов, все чаще встречаются и на собеседованиях в небольших компаниях. Многим кандидатам это не нравится — они утверждают, что навыки «литкодинга» ничего не говорят о том, как человек справится с реальной работой. Согласен. Если вы не можете слёту решать задачи c LeetCode, это не значит, что вы плохой разработчик. Возможно, вам в реальной работе вообще никогда не понадобится, скажем, инвертировать бинарное дерево. Однако глупо отрицать, что на LeetCode можно изучить массу подходов и инструментов, которые окажутся полезными. В этой статье я расскажу о том, что вынес для себя из работы с платформой.

Уроки Литкода
Total votes 24: ↑16 and ↓8+15
Comments47

Хватит совать в детей интерфероны

Reading time9 min
Views119K
Интерфероны? Да в задницу их!


Это, как многие думают, концентрат иммунитета. Коротко — нет.

Что происходит:

  1. Ребёнка с симптомами ОРВИ приводят к педиатру.
  2. Педиатр прописывает витамин С, разбавленный сахар и интерферон в форме ректального суппозитория. Если витамин С и дорогой сахар в целом безопасны, то вот с интерфероном это далеко не так.
  3. Уровень интерферона в крови — это сложнейшая система, дающая сигнал к запуску процесса иммунного ответа, связующее звено врождённого и приобретённого иммунитета, но добавление интерферона в организм не означает, что иммунитет будет «сильнее». Упрощая, интерфероны тормозят работу заражённых клеток и дают другим клеткам вокруг поражённой вирусом сигнал, что произошло вторжение, останавливают деление вируса внутри клетки и стимулируют работу Т- и В-лимфоцитов. Так же они способны влиять на деление клеток, что важно при онкологии, например.

Изначально этот класс белков случайно открыли в 1957 году вирусологи Алик Айзекс и Жан Линдеман. У них возникла проблема с мышами, которые не заболевали при введении вируса. Как выяснилось позже, причина была в том, что эти мыши уже болели другой вирусной инфекцией, что приводило к выбросу белков ранее неизвестного класса — интерферонов. Поначалу казалось, что наконец найдено универсальное решение против вирусных болезней, но, как обычно, дальнейшие исследования выявили множество ограничений. Например, при введении серьёзных дозировок интерферона альфа можно получить жёсткую депрессию, биполярное расстройство и другие ментальные нарушения вплоть до бреда и галлюцинаций.

Поэтому сегодня я попробую объяснить, почему этот класс препаратов вовсе не добрые капельки от гриппа, а серьёзное лечение с кучей побочных эффектов. Ну и бесполезность введения его в нос и per rectum тоже затронем.
Читать дальше →
Total votes 161: ↑153 and ↓8+180
Comments231

Как дедушка TPS вырастил внуков Lean, Kanban, Scrum и Agile?

Reading time5 min
Views3.7K

И причем здесь алхимия?

Есть всего два пути как увеличить прибыль. Увеличить выручку или снизить расходы. Оптимизация предлагает делать это одновременно.

Для начала предлагаю немного истории и терминологии.

"TPS" - ("Toyota Production System" - зародившаяся в середине 20 века ) - система управления производственным предприятием на основе оптимизации процессов, созданная на предприятиях "Toyota" в Японии целым поколением талантливых управленцев. "TPS" в короткие сроки позволила японскому автопроизводителю не только догнать, но и перегнать лидера рынка - американский автопром, что в свою очередь побудило американцев учиться у японцев, благо японцы не были против и с радостью делились своими секретами, так как обучение являлось одним из принципов "TPS".После ошеломительного успеха TPS распространилась по всему миру, адаптировалась к разным культурам и распространялась на разный бизнес, но более всего расчленялась на отдельные инструменты и внедрялась частями из за чего, к огромному сожалению, и теряла главный синергетический эффект. Дело в том, что каждый отдельный элемент этой системы сам по себе несет большую ценность, однако соединенные вместе, эти элементы образуют структуру, превосходящую в своей совокупности простую сумму эффектов от каждого отдельного элемента.

"Lean" (80ые года 20 века)- система бережливого производства, лучше всего представить ее как адаптацию TPS к западной культуре и именно на ней я и попытаюсь объяснить TPS.

"Kanban" - один из аутентичных инструментов TPS - принцип "точно в срок" - подход, исходящий от производства, который направлен на сокращение запасов и времени выполнения заказа за счет синхронизации производства с запросами клиентов и возможностями поставщиков. Кстати, именно в Kanban первым и отразился принцип обучения. "Тoyota" не хотела, чтобы поставщики диктовали ей условия поставок и привозили, например, больше деталей "про запас", экономя на логистике, однако здесь создавался конфликт интересов, и "Toyota" приняла решение учить и внедрять свои принципы работы в бизнес поставщиков, что оптимизировало процессы внутри партнеров, что в свою очередь положительно влияло на саму "Toyota" - принцип "win-win".

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

Go: конкурентность и привязки к потокам в планировщике

Reading time5 min
Views7.6K

Переключение горутины с одного потока ОС на другой довольно затратно и может значительно замедлить работу приложения, если это происходит слишком часто. Однако со временем эту проблему решил планировщик Go путем обеспечения привязки горутин к потоку (scheduler affinity) в условиях конкурентной работы (concurrently). А чтобы нам лучше понять всю прелесть этой доработки, давайте вернемся назад в прошлое и посмотрим, как было до.

Читать далее
Total votes 16: ↑13 and ↓3+11
Comments4

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown

Reading time20 min
Views26K


Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-какие из моих рассуждений спасут вашу.


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


Это первая часть. Первые шаги в нашем нелегком пути. И в этой статье мы попробуем достичь следующих целей:


  • Выработаем понимание структуры и жизненного цикла приложения.
  • Формализуем наше представление жизненного цикла на языке go.
Читать дальше →
Total votes 15: ↑13 and ↓2+13
Comments19

Information

Rating
Does not participate
Location
Чехия
Registered
Activity