Pull to refresh
3
0

Пользователь

Send message

Программирование — это вообще не просто!⠀

Reading time19 min
Views43K


Привет, Хабр!


Идея статьи появилась, когда я начал повсюду замечать якобы подтверждения мифа, что «программирование — это просто»‬‬.


В новостях «восьмилетняя девочка, которая второй раз в жизни занимается программированием, наклепала чат-бота за 45 минут»‬ (ага, да!).


Курсы предлагают мне за 10 месяцев с нуля стать миддл+ (ага, да!).


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


Читать дальше →
Total votes 205: ↑195 and ↓10+221
Comments111

Как я делаю 70 млн в год на футболках с принтами и почти без маркетплейсов

Level of difficultyEasy
Reading time16 min
Views67K

На бизнес я отложил 100 000 ₽ и сначала не уходил с работы. Я думал, что сделаю 5 коллекций, но деньги закончились уже на второй. Когда я начал зарабатывать в 2 раза больше, чем на основной работе, я ушел в бизнес, и это было страшно.  

Читать далее
Total votes 82: ↑58 and ↓24+53
Comments106

Работа в ИТ: взгляд изнутри спустя 15 лет в сфере

Level of difficultyEasy
Reading time11 min
Views40K

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

Читать далее
Total votes 80: ↑49 and ↓31+20
Comments140

Как мы управляем контейнерной платформой: история adidas о прошлом, настоящем и будущем

Level of difficultyEasy
Reading time10 min
Views2.2K

10 мая 2022 года компания adidas начала переводить конфигурацию своей платформы на GitOps. Спустя почти два года в блоге компании опубликовали цикл статей об эволюции контейнерной платформы adidas, которые мы перевели и объединили в один материал. В этих статьях инженер компании Анхель Баррера Санчес рассказал, как платформа adidas переходила на GitOps, а также что было до перехода, как они работают сейчас и какие у них планы.

Читать далее
Total votes 17: ↑17 and ↓0+20
Comments0

Числа и байты: как работает память в Linux?

Level of difficultyHard
Reading time27 min
Views19K
image

Часть первая: физическая память


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

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Total votes 31: ↑31 and ↓0+35
Comments18

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Level of difficultyMedium
Reading time27 min
Views171K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> но доступна с IP других стран, а также через веб-архив.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

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

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее
Total votes 102: ↑100 and ↓2+109
Comments292

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views221K

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

Читать далее
Total votes 129: ↑127 and ↓2+155
Comments52

10 тяжёлых истин о работе программиста, про которые никто не предупреждает

Level of difficultyEasy
Reading time10 min
Views68K

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

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

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

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

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

Читать далее
Total votes 157: ↑142 and ↓15+155
Comments417

Review- или динамические окружения. Теория и практика в Kubernetes

Reading time10 min
Views14K

Статья посвящена так называемым review-окружениям, реализуемым в рамках кластеров Kubernetes. Ранее эта тема затрагивалась, например, в нашем докладе «Лучшие практики CI/CD с Kubernetes и GitLab», но не была там основной темой, поэтому раскрывалась не во всех деталях. Попробую восполнить этот пробел, рассказав, для чего нужны и/или обычно используют review-окружения, как сделать pipeline c review-окружением в GitLab CI/CD, какие могут быть потенциальные проблемы и способы их решения.

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

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views43K
image

Медианная зарплата DevOps-инженеров в России — 235 000 руб. Выглядит заманчиво, но порог входа в профессию высокий. Чтобы стать экспертом в области DevOps, нужно получить опыт работы с Linux и облачными платформами, выучить языки программирования, освоить инструменты автоматизации и виртуализации.

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

Читать дальше →
Total votes 25: ↑19 and ↓6+21
Comments22

Коварство метрик памяти Kubernetes (и cgroups)

Level of difficultyHard
Reading time8 min
Views16K

В этой статье мы рассмотрим память внутри контейнера Kubernetes. Какие есть основные типы памяти, как они управляются и какие коварные моменты с ними связаны. В этой статье вы узнаете ответы на интересные вопросы:

Какие метрики памяти считаются неправильно?

Сколько раз надо прочитать файл, чтобы он хорошо закешировался?

Какую память учитывает Out-of-memory killer?

Начать погружение в дебри памяти
Total votes 37: ↑37 and ↓0+37
Comments15

Поднимаем Kubernetes с нуля

Level of difficultyMedium
Reading time10 min
Views55K

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

Читать далее
Total votes 30: ↑27 and ↓3+30
Comments55

Весна идёт — весне дорогу! Итоги сезона Kubernetes

Reading time9 min
Views20K

С 29 декабря по 24 февраля на Хабре прошёл сезон Kuberbetes. Вместе с партнёром, #CloudMTS, мы вдохновляли хабраавторов публиковать статьи по k8s и контейнерам в соответствующем хабе — глубокие, полезные, с техническими подробностями. 

Пришло время подвести итоги и узнать, кто получит новенький MacBook и грант в 30 000 рублей на то, чтобы написать ещё одну классную статью. Награждаем не только победителя: участники конкурса получат в подарок от #CloudMTS гранты на использование сервисов компании. Под катом итоги сезона, победитель, впечатления авторов и прочая милота. 

Читать далее
Total votes 19: ↑18 and ↓1+31
Comments3

KeyCloak и микро-сервисы. Как облегчить жизнь программисту

Level of difficultyMedium
Reading time12 min
Views20K

Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments12

Заблуждения программистов о времени

Reading time12 min
Views74K

Музей-скансен эпохи Средневековья в Дании в режиме обычной работы (слева) ставит целью воссоздать повседневную жизнь города на стыке XIV и XV веков. Для съёмок фильма (справа) он «погрязнел»

Для киносъёмок в музей под открытым небом Middelaldercentret внесли несколько изменений. Вместо аккуратной каменной улицы развели неприятную кашицу из грязи, не самые роскошные стеклянные окна прикрыли досками и развесили везде выцветшее тряпьё. Здания как следует измазали чем-то коричневым, кое-где зачем-то перемешав субстанцию с соломой. В случайное здание воткнули факел, а не попытались изобразить лучину или фонарь.

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

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

Попытки собрать заблуждения про время и часовые пояса на Хабре уже были шесть и десять лет назад. Но без контрпримеров не так интересно.

Заблуждение 1. В сутках 24 часа или 86 400 секунд


Иногда и кое-где стрелки часов переводят, создавая сутки длиной в 23 и 25 часов — всё очевидно. Будет неплохо углубиться в случаи поэкзотичней.
Читать дальше →
Total votes 152: ↑145 and ↓7+177
Comments313

Хотите service mesh без sidecar’ов?

Reading time4 min
Views5K

Скорее всего, вы уже слышали про service mesh — в последние два-три года этот подход становится все популярнее.

Одной из распространённых моделей service mesh считается Sidecar-прокси, которые отвечают за сетевое взаимодействие, безопасность и мониторинг. Правда у этой модели помимо плюсов есть и свои минусы: падение производительности, дополнительные издержки при развертывании и др. В этой статье поговорим о том, сможет ли решить эти проблемы плагин с eBPF, а также о том, как он меняет наш подход к работе с service mesh. 

Читать далее
Total votes 22: ↑19 and ↓3+18
Comments1

Kubernetes + Jenkins: как использовать вместе

Reading time7 min
Views9.9K

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

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

Information

Rating
Does not participate
Registered
Activity