Pull to refresh
-3
0
Send message

Как сисадмин из Ульяновска попал в Кремниевую долину. Такая ли большая разница?

Level of difficultyEasy
Reading time31 min
Views41K

Все так, с момента написания прошлой статьи, которая вошла в топ 3 по количеству комментариев за 2022г, я получил грин карту, женился и переехал, как мечтал, в столицу всего айти мира. Статья будет про мой карьерный путь, из простого сисадмина в Ульяновске, до непростого в Кремниевой долине. Немного размышлений о текущем состоянии айти индустрии и о жизни в долине, которая совсем не такая, какой ее представляешь издалека.

На фото знаменитый сгоревший дом, который выставили на продажу за $800тыс.

Поехали
Total votes 133: ↑122 and ↓11+111
Comments202

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

Reading time8 min
Views57K

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

А какой у вас уровень?

Читать далее
Total votes 26: ↑21 and ↓5+16
Comments25

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views74K
image

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

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 110: ↑109 and ↓1+108
Comments77

Главное о суициде: феномен, факторы риска, тревожные маркеры, методы профилактики

Reading time8 min
Views22K

Немногим более недели назад я вышел из дома и увидел, что прямо перед подъездом лежит тело молодого парня, который совершил успешный суицид (успешный - это не ироничная оценка ситуации, а термин, синонимичный слову "завершенный", то есть, в результате которого суицидент смог лишить себя жизни). Говоря откровенно, зрелище несколько постапокалиптичное: лежит переломанное тело лицом вверх, смотрит на "свечку", с верхнего этажа которой он сделал шаг, вокруг стоит несколько людей и обсуждают происшествие, а двое детей ходят "восьмеркой" так, что в одном круге цифры оказалось само тело, а во втором - мокрое место от первоначального удара.

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

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

Очень важно
Total votes 29: ↑27 and ↓2+25
Comments52

Как оставаться программистом, если у тебя память как у дрозофилы

Reading time15 min
Views62K

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

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

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Total votes 51: ↑47 and ↓4+43
Comments40

Документы перед выездом из РФ

Reading time10 min
Views62K

Всем привет!

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

Топ документов возглавляет генеральная доверенность. Очень настоятельно прошу ее сделать на вашего родственника или на человека, которому вы безоговорочно доверяете, но который на какое-то время точно останется в России. Можно сделать доверенность на нескольких людей. Цена вопроса - в районе 2,500 рублей за 1 доверенность. При этом, человек, на которого вы оформляете доверенность может не присутствовать, вам понадобится только копия его паспорта (страница с фото + прописка).

Доверенность можно оформить на любой срок, хоть на 50 лет, нотариус запишет срок, который вы назовете. Также доверенность можно сделать с возможностью ее передоверия другому человеку: например, я оформила доверенность на Васю Пупкина с правом передоверия, а Вася Пупкин передоверил ее Ивану Иванову. Мероприятие рискованное, но если вы доверяете человеку и понимаете, что возможно он тоже через какое-то время покинет РФ - такой вариант для вас подойдет.

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

Что входит в такую доверенность (если кратко):

Читать далее
Total votes 68: ↑60 and ↓8+52
Comments147

Средние highload паттерны на Go

Reading time20 min
Views11K

Привет, Хабр! Меня зовут Агаджанян Давид и ранее я опубликовал статью «простые highload паттерны на Go», в которой были рассмотрены простые подходы увеличения пропускной способности отдельно взятого экземпляра приложения без хардкора. Мне импонируют простые подходы, так как over engineering подходы требуются в исключительных проектах, и то чаще всего только в отдельно взятых подсистемах, в остальном можно воспользоваться давно известными лучшими практиками.

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

Простые highload паттерны на Go

Reading time5 min
Views18K

Привет, Хабр! Меня зовут Агаджанян Давид, хочу поделиться некоторыми инженерами рекомендациями, которые часто на моем опыте помогали держать highload нагрузку не прибегая к хардкору. Примеры будут на Go. Эти подходы довольно хорошо известны, но как мне кажется они недооценены и многие этими подходами пренебрегают. Если вы впервые видите их, то рекомендую хотя бы попробовать реализовать в своих проектах и провести бенчмарки, возможно вы будете приятно удивлены..

Читать далее
Total votes 32: ↑28 and ↓4+24
Comments5

Глубокое погружение в Java Memory Model

Reading time53 min
Views130K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

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

Хостеры с оплатой российскими картами и серверами за границей

Reading time3 min
Views80K

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. Весной я уже опубликовал две статьи по оплате услуг иностранных хостеров при помощи SWIFT и криптовалют. К сожалению, карты, выпущенные российскими банками, все еще не работают в большинстве стран мира, да и не у всех есть желание и возможность оплачивать услуги указанными выше способами, поэтому сегодня я хочу предложить выборку хостеров, принимающих оплату российскими картами и предоставляющих виртуальные серверы не в России.

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

Читать далее
Total votes 37: ↑35 and ↓2+33
Comments121

5 способов найти удаленную работу за рубежом

Reading time4 min
Views64K

Хорошо там, где нас нет. Согласны? Но если «там» нет работы, то вряд ли на одном «хорошо» вы протянете долго. Куда пойти работать – одна из основных болей тех, кто недавно переехал жить за рубеж. Мы говорим: «Боже, храни удаленку» и делимся с вами вариантами поиска удаленной работы.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments13

Набор практик по работе с Postgresql глазами Spring java backend разработчика

Reading time11 min
Views17K

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

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

Читать далее
Total votes 25: ↑21 and ↓4+17
Comments32

New York — New York: о чём молчат путеводители

Reading time20 min
Views41K

Нью-Йорк часто называют плавильным котлом США, где 70% жителей – иммигранты или их прямые потомки. Возможно, отсюда — его энергичность, динамизм и пестрота. Здесь самая высокая плотность населения в стране, самое активное использование общественного транспорта, и много ещё чего самого-самого — например, по нему больнее всего ударила пандемия. В целом, он полон контрастов, это не только живой туристический Мидтаун и небоскрёбы, но и ветшающая подземка, нищета Аптауна и бесконечные одноэтажные пригороды. Вместе с частью территории двух соседних штатов Нью-Йорк образует крупнейшую в США агломерацию Tri-State Area. Что накладывает свою специфику не только на саму жизнь, но и муниципальное управление с развитием инфраструктуры. 
Читать дальше →
Total votes 152: ↑146 and ↓6+140
Comments110

Вячеслав Смирнов. Профилирование JVM в Kubernetes

Reading time29 min
Views8.1K

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


Вячеславу повезло использовать разные инструменты. И повезло найти разные дефекты микросервисов на основе JVM. Спикер проанализировал, разделил инструменты и дефекты микросервисов на группы, и хочет рассказать о:


  • подборе профайлеров и их настройках под задачу;
  • собранных рецептах профилирования JVM в Kubernetes;
  • моментах, когда профилирование вредит, а когда помогает.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments7

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Reading time13 min
Views162K


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Total votes 169: ↑149 and ↓20+129
Comments247

Как быстро усвоить материал? Практические советы для разработчиков и не только

Reading time12 min
Views19K

Эффективное обучение крайне важно для разработчика программного обеспечения, ведь постижение нового — значительная часть его работы. Умение быстро осваивать новые языки/фреймворки/инструменты сделает вас намного продуктивнее. Это своего рода суперспособность.

Как ее приобрести? Читайте в тексте Джоша Комо, эксперта с многолетним опытом в разработке ПО, ИТ-блогера и автора обучающего курса «CSS для разработчиков JavaScript». В статье Джош описывает практики и рекомендации, которые помогут начинающим специалистам (например, студентам и тем, кто переходит в разработку из какой-либо другой области) в развитии их профессиональных навыков.

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

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

Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад

Reading time11 min
Views23K
Это — тёплая, ламповая статья об Ассемблере и разработке ПО. Здесь мы не будем пытаться писать убийцу Майкрософта или Андроида. Мы будем писать убийцу 2048. Здесь не будет докера и терраформа с кубером. Зато здесь вы сможете найти большое количество материалов по Ассемблеру, которые помогут вам вновь погрузиться в мир трёхбуквенных инструкций. Доставайте пивко, и поехали. (Саундтреком к этой статье можно считать IBM 1401 a system manual)

Читать дальше →
Total votes 101: ↑95 and ↓6+89
Comments100

Как сделать хорошую интеграцию? Часть 2. Идемпотентные операции – основа устойчивой интеграции

Reading time13 min
Views13K

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

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

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

Как мы переходили на Java 15 или история одного бага в jvm длиной в 6 лет

Reading time6 min
Views12K

Мы готовились к выходу Java 15 ради некоторых её новых возможностей. В частности — текстовых блоков. Да, они появились в Java 14 (о новых функциях в Java 14 можно посмотреть здесь), но только как превью-фича, а, начиная с Java 15, она стала доступна в виде окончательно готовой функции.

Мы в hh.ru привыкли внедрять и использовать самые современные технологии в разработке ПО. Пробовать что-то новое — одна из ключевых задач команды Архитектура. Пока многие пишут на Java 8, мы уже близки к тому, чтобы отправить на свалку истории Java 11.

Читать далее
Total votes 31: ↑28 and ↓3+25
Comments49

Information

Rating
Does not participate
Registered
Activity