Pull to refresh
2
0
Илья Б. @EvilWolf

PHP программист

Send message

Гайд для новичков по установке Kubernetes

Level of difficultyMedium
Reading time33 min
Views66K

© кадр из к/ф «Пираты Карибского моря»

С чего начинается практическое освоение любой системы? Правильно, с установки. Данный гайд является компиляцией из народной мудрости, официальной документации, а также собственного опыта и призван помочь новичкам разобраться с тем, как же все таки устанавливать Kubernetes.

Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.

Весь процесс установки будет детальным образом прокомментирован и разложен по шагам, а в реперных точках мы будем делать снимки состояния виртуальных машин (snapshots), что позволит рассмотреть различные варианты установки без необходимости делать одну и ту же работу по несколько раз.
Читать дальше →
Total votes 22: ↑21 and ↓1+24
Comments13

Эффект Рогатки: как взломать дофаминовую матрицу

Level of difficultyEasy
Reading time10 min
Views50K

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

Давайте честно признаем: наша способность добросовестно концентрироваться на делах давно вышла из чата. Когнитивные проблемы нашего времени — это быстрая потеря интереса ко всему (что не позволяет нам глубоко и приятно-долго исследовать новое), а также стресс, выгорание, тревожность, вечная усталость, отсутствие концентрации, brain fog и так далее. Информационный фон выжигает нашу нервную систему настолько, что нас буквально тошнит от любого рода познавательной деятельности — мы испытываем отравление новизной.

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

Фишка в том, что даже если бы такой мануал был, он бы нас не спас. Не понимая сути источника проблемы, ни один человек (а он все же смыслосодержащий механизм, а не робот) не будет ему долго и упорно следовать. Как рассказывал David Horsager на Тэде, устойчивая мотивация держится на полной ясности смысла деятельности для конкретного человека.

Вам, конечно, может показаться, что я зря смешиваю потерю интереса к деятельности и стресс — ведь они, кажется, на разных краях стола. Но я проблему вижу так: находясь в вечном стрессе, мы жадно хватаемся за то, что дарит нам положительные эмоции. Пребывая в привычном блэкауте с черными кругами под глазами, мы встречаем человечка, да каааак начинаем им интересоваться и увлекаться, да так упорно, хватаясь за него как за спасительную соломинку, что… через какое-то время перегораем. Как говорят американцы, balls deep. Работает не только с человечками — по такой же гнусной схеме мы обычно набрасываемся на все, что нам внезапно понравилось, особенно на фоне рутинной серости, субъективного однообразия, всемирного сумасшествия и всей этой хтони. Мы постоянно бегаем по этому убивающему нас циклу — набрасываясь на то, что нас вроде как драйвит, быстро выжирая это без остатка, теряя интерес и снова погружаясь в плаванье в этом супе из кортизола.

Читать далее
Total votes 75: ↑71 and ↓4+83
Comments95

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

Reading time8 min
Views291K

Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!

Начать читать
Total votes 125: ↑100 and ↓25+95
Comments174

StatefulSet в Kubernetes – примеры и наилучшие практики

Reading time10 min
Views29K
image

Собираетесь ли вы развертывать базу данных в кластере Kubernetes? Если так – то это отличный выбор. Kubernetes – это инструмент оркестрации контейнеров, который при помощи множества инструментов координирует эксплуатацию приложений в контейнерах (подах). Один из этих контроллеров называется StatefulSet и используется для эксплуатации приложений, сохраняющих состояние.
Читать дальше →
Total votes 14: ↑13 and ↓1+19
Comments20

Алгоритмы для веб-разработчиков простыми словами

Reading time6 min
Views47K

Здравствуйте, друзья! Данным постом мы открываем цикл статей об алгоритмах и структурах данных.

В этой статье мы поговорим о том, зачем вообще их нужно знать веб-разработчикам, и затронем тему оценки сложности алгоритмов и Big O нотации.

Зачем мне алгоритмы? Я фронтендер!

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

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

Многие веб-разработчики на таких форумах, как Reddit и Stack Overflow, отмечали, что, освоив даже на базовом уровне эти фундаментальные основы программирования, чувствовали себя увереннее, профессиональнее и писали более чистый и структурированный код.

Также это помогло им прокачать главный скилл разработчика – умение логически думать и решать сложные технические задачи.

Кстати, именно по этой причине многие крупные IT-компании требуют от своих потенциальных сотрудников знания фундаментальных основ computer science, к которым как раз относятся алгоримты и структуры данных, и с пристрастием спрашивают их на собеседованиях.

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

И на этой прекрасной ноте давайте перейдем к основной теме статьи.

Читать далее
Total votes 23: ↑19 and ↓4+19
Comments25

Обновление Kubernetes-кластера без простоя

Reading time4 min
Views8.7K

Процесс обновления для вашего Kubernetes-кластера


В какой-то момент при использовании кластера Kubernetes возникает потребность в обновлении работающих нод. Оно может включать в себя обновления пакетов, обновление ядра или развертывание новых образов виртуальных машин. В терминологии Kubernetes это называется "Voluntary Disruption".

Читать дальше →
Total votes 5: ↑4 and ↓1+7
Comments0

Как разделить роли в проекте на Laravel: обзорное сравнение RBAC-пакетов

Reading time6 min
Views23K
При разработке веб-проекта, в котором есть учетные записи пользователей, зачастую встает вопрос об организации системы ролей и прав для разграничения доступов к тем или иным разделам и функциям системы. В этой статье мы сравним пакеты для управления доступом и подведем итоги в таблице.


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

Почему негативное восприятие учебного процесса связывают с его положительными результатами

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

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments13

40 лучших инструментов и ресурсов Laravel

Reading time16 min
Views29K
image
Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом моей оригинальной статьи.

Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь!
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments24

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

Reading time11 min
Views39K
Человеку, который никогда толком не изучал английский язык, может быть очень тяжело как морально, так и умственно основательно приступить к изучению языка. Ещё сложнее это может показаться делать самостоятельно. Кажется, что следовало заниматься всем этим в детстве. Потому что сейчас уже просто нет для этого ни сил, ни времени. Потому что английский язык это очень-очень много информации, а мозг маленький. Это нормальное чувство, хотя оно и обманчиво.

image


Предыстория


Кому-то в школьные годы английский давался легко. Другим же, в том числе и мне, английский казался жутко сложным и учить его казалось невозможным. Я себя чувствовал просто отчаянно тупым, когда сидел на уроках английского и что-то мямлил, пытаясь ответить на вопросы учителей. А потом родителям приходилось оплачивать дополнительные уроки по английскому, чтобы меня не оставляли на второй год. И на этих уроках я точно так же сидел и ничего не понимал.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments42

Построение процессов с нуля: от хаоса к порядку

Reading time16 min
Views24K


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

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

Исходные данные нашего отдела: небольшая (5–10 человек), частично распределенная (некоторые сотрудники работают удаленно, некоторые в офисе) продуктовая команда с заказчиками внутри самой компании. Веб-проекты. Нет специалистов по системному администрированию внутри отдела, но есть занимающиеся этим отделы в компании.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments2

Я не знал, как работают процессоры, поэтому написал программный симулятор

Reading time6 min
Views44K

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

Я прочитал книгу «Но откуда он знает?» Кларка Скотта с детальным описанием простого 8-битного компьютера: начиная с логических вентилей, ОЗУ, транзисторов процессора, заканчивая арифметико-логическим устройством и операциями ввода-вывода. И мне захотелось реализовать всё это в коде.

Хотя я не настолько интересуюсь физикой микросхем, но книга просто скользит по волнам и красиво объясняет электросхемы и как биты перемещаются по системе — от читателя не требуется знание электротехники. Но мне недостаточно текстового описания. Я должен видеть вещи в действии и учиться на своих неизбежных ошибках. Так я начал реализацию схем в коде. Путь оказался тернист, но поучителен.
Читать дальше →
Total votes 72: ↑68 and ↓4+64
Comments33

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Reading time26 min
Views339K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Total votes 108: ↑107 and ↓1+106
Comments36

5 правил работы с суммами

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


Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments241

67 полезных инструментов, библиотек и ресурсов для экономии времени веб-разработчиков

Reading time4 min
Views43K

В данной статье я не буду вам рассказывать о больших веб-фреймворках, таких как React, Angular, Vue и т.д… не будет в ней и перечня наиболее популярных текстовых редакторов – Atom, VS Code, Sublime… В данной статье я поделюсь с вами инструментами, которые, по моему мнению, могут сделать рабочий процесс веб-разработчиков более простым и быстрым.

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

Ниже представлены различные веб-ресурсы, которые я разбил по группам для большего удобства.
Читать дальше →
Total votes 32: ↑24 and ↓8+16
Comments6

Сударь, ваша команда — не команда

Reading time5 min
Views57K
За свои 12 лет работы в сфере разработки ПО, мне посчастливилось поработать в команде только два раза. Хотя я сменил порядка десяти мест работы. Но попробовав раз, ем и сейчас… Т.к. я не жадный, и готов своими достижениями делиться с сообществом, то решил я предпринять попытку вывести из равновесия неумных руководителей, которые до сих пор не осознали важность команды, а также тех руководителей, которые профессионально занимаются самообманом — мол, они строят команду, а на деле — тьфу, а не команда.
Читать дальше →
Total votes 110: ↑95 and ↓15+80
Comments254

Чистый код на PHP

Reading time19 min
Views111K


Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


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


Статья вдохновлена clean-code-javascript.

Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments180

Частоты и емкость сети — все, о чем вы хотели спросить

Reading time10 min
Views58K
Помнится, в школьные годы многие задавались вопросом: «а зачем мне изучать основы физики или математического анализа, если в жизни мне это не пригодится?». Тогда казалось, что во взрослую жизнь можно идти, зная лишь простейшие математические операции (чтобы не ошибиться в магазине с продуктами). Но развитие технологий привело к тому, что рядовым пользователям в руки попали довольно мощные и сложные инструменты. Взять хотя бы мобильную связь. Чтобы грамотно выбирать оператора, понимать, почему где-то мобильная связь есть, а где-то ее нет, приходится вспоминать не только школьные учебники, но и вещи, выходящие далеко за их рамки.

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



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

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

Reading time3 min
Views138K

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

Total votes 72: ↑72 and ↓0+72
Comments46

Качественный контент для сайта: какой он?

Reading time5 min
Views11K

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


Так чем отличается подобный контент от «качественного»?


Как говорят о нём маркетологи и редакторы, этот контент «мёртвый». Знаете, как мёртвый язык — мало кому понятен, ещё меньше интересен. Хотя мёртвые языки исследуют учёные-лингвисты (и в этом есть смысл!), а вот «мёртвый контент» не любит читать никто.


image


Для начала давайте разберёмся, что такое контент?


Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Web Developer
Lead
From 350,000 ₽
PHP
Laravel
OOP
Docker
Nginx