Pull to refresh
14
0
Ivan Panteleyev @Yekver

Senior Software Engineer

Send message

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views97K

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

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

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

Утечки памяти, которые не утечки

Level of difficultyMedium
Reading time10 min
Views20K

Что случилось? Авария, ужас-ужас

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

В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течёт, сервисы падают с OOM каждый день, все пропало!

Да, картинка действительно удручающая. Всё время, когда есть нагрузка, память в контейнере прирастает и почти не очищается при снятии нагрузки. Все остальные метрики, которые мы собирали были в норме: event loop lag, использование CPU, active request, open handles. Прирастала только используемая память и незначительно увеличивалось время отклика сервиса.

Что-ж, выглядит как классическая утечка, надо искать источник.

Читать далее
Total votes 108: ↑107 and ↓1+106
Comments15

Проходим L6 интервью на System Design в FAANG

Reading time6 min
Views14K

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

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

Иностранные хостеры с возможностью оплаты из России

Reading time4 min
Views92K

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

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

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

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

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

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

Reading time7 min
Views22K

Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

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

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

Какая Луна больше — у горизонта или в зените?

Reading time7 min
Views17K
image

Если задать вопрос случайному респонденту о том, в каком случае Луна имеет больший видимый размер — когда она у горизонта или высоко в небе, вероятнее всего вы получите ответ, что “у горизонта Луна больше”. Если спросите о том, почему человек так считает, то узнаете, что ваш собеседник много раз видел большую Луну низко над домами и деревьями. Больше всего она была ровно на самом восходе. А высоко в небе Луна всегда была гораздо меньшей на вид.

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

Отдельно замечу, что кто-то может говорить о Луне в зените — в высшей точке небосвода — там Луна совсем маленькая (как может показаться). Но с территории России увидеть Луну точно в зените нельзя. И хотя в самой южной точке России — в труднодоступных районах Кавказа — на границе с Азербайджаном — в некоторые периоды, повторяющиеся раз в 18 лет, высота Луны может достигать 79 градусов (11 градусов до зенита не хватает — и это для не вовлеченного в астрономию человека уже “почти там”), но в подавляющем большинстве населенных пунктов Луна не забирается в небо выше 60 градусов, а ведь это только ⅔ на пути к зениту.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments121

Сравниваем грейды IT-инженеров крупных зарубежных компаний: Google, Facebook, Uber и Booking

Reading time7 min
Views37K

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


У гигантов IT-индустрии все не так — у них есть четкие грейды IT-специалистов со своими стандартами и прописанными «техническими требованиями». Мы пообщались с работниками компаний уровня FAANG, почитали требования самих компаний и составили списки с требованиями к каждому грейду IT-инженеров. Можете проверить, какому грейду соответствуете вы. А если вам пришлют оффер с конкретным грейдом — узнать, чего от вас будут ждать на работе.




Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments32

Лучший язык программирования

Reading time6 min
Views108K

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

Можно ли на него ответить?

Читать далее
Total votes 260: ↑252 and ↓8+244
Comments207

Япония: страна настолько здравого смысла, что он для нас местами иррационален

Reading time11 min
Views197K


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

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

И вся вот эта лютая хрень, которую вы слышали про страну, на самом деле логично следует из предпосылок, которые есть в базовом культурном коде. Сейчас расскажу.
Читать дальше →
Total votes 377: ↑365 and ↓12+353
Comments481

Soft skills для разработчиков: зачем и как развивать?

Reading time4 min
Views29K
Спрос на IT-специалистов растет с каждым днем, вместе с этим увеличивается конкуренция. Для построения карьеры в хорошей компании уже недостаточно только профессиональный навыков (hard skills). Работодатели стали также обращать внимание и на так называемые “мягкие” навыки — soft skills. Это навыки, которые не связаны с профессией, а относятся больше к личностным качествам (коммуникабельность, креативность, эмпатия и тд). О том, действительно ли это так важно, какие навыки требуются и как их развивать — поговорим сегодня.

image

Почему soft skills стали необходимы?


Все мы знаем “известный” образ программиста: интроверт, в бабушкином свитере, растянутых штанах и очках. Конечно, в момент зарождения профессии (и появления этого стереотипа) ни о каких soft skills речи не шло, потому что, если ты умел писать код, то был уже крут! Сейчас сфера IT и сама профессия существенно изменилась.

В обязанности хорошего разработчика входит уже не только выполнение тех.заданий, но и навыки управления командой, общения с клиентами и другие. Другими словами, к специалистам стало больше требований.
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments12

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Reading time9 min
Views138K

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

Читать далее
Total votes 244: ↑241 and ↓3+238
Comments369

25 лет «Аэрону»: ощущения и впечатления от обновлённой версии Aeron Remastered

Reading time9 min
Views53K
«Аэрон» это кресло не только с ценником, но и с историей. Выпущенный в 1994 году «трон доткомов» пережил большинство своих мыльных королевств, вместо гранитной плиты получив прописку в коллекции нью-йоркского Музея современного искусства MoMA, — и стал самым продаваемым офисным креслом Америки.



«Лучше, чем Aeron» назывался обзор кресла Herman Miller Mirra 2, вышедший в 2014 году — обновлённой «Мирре» тогда был год, «Аэрону» — 20. Короче, обновление «Аэрона» в 2016 году, 22 лет отроду, было нерядовым событием. Теперь уже «Аэрону-2» 2 года, а «Мирре-2» — 5 лет. Впрочем, о матче-реванше речи не идёт: ценник Herman Miller Aeron Remastered на родине на 20% выше всё ещё недешёвой Mirra 2 намекает на разные рыночные ниши моделей — впрочем, знакомство с «Миррой», которая, судя по всему, в самом зените своей рыночной карьеры — пригодится для контекста.
Читать дальше →
Total votes 52: ↑39 and ↓13+26
Comments60

Как стать фронтенд-разработчиком? Пошаговый гид в мир фронтенда

Reading time14 min
Views219K


Приветствую всех! Меня зовут Пучнина Анастасия, я ведущий разработчик в компании ДомКлик, занимаюсь фронтендом Витрины объявлений. Сегодня я хотела бы поделиться с вами своим мнением на тему того, что важно знать фронтенд-разработчику. Эта статья будет полезна тем, кто только начинает свой путь в разработке, или имеет опыт программирования в другой области и решил перейти на сторону фронтенда.

Содержание:

  1. Кто такой фронтендер и чем он занимается?
  2. С чего начать и что читать? Чек-лист обучения
  3. Какие трудности могут быть? Ошибки в начале пути
  4. Подготовка к собеседованию на Junior-разработчика

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments22

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Reading time7 min
Views75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


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


Читать дальше →
Total votes 219: ↑183 and ↓36+147
Comments533

Пора обновить ваш монитор

Reading time16 min
Views174K

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →
Total votes 181: ↑148 and ↓33+115
Comments991

Почему функциональное программирование такое сложное

Reading time15 min
Views90K

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

Читать дальше →
Total votes 176: ↑157 and ↓19+138
Comments715

Почему Wi-Fi не будет работать, как планировалось, и зачем знать, каким телефоном пользуется сотрудник

Reading time15 min
Views161K


Привет!

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

Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).

Читаем надписи на коробках:
AP: 1733,3 Мбит/c
STA1, STA2: 866,7 Мбит/c

Внимание, вопрос. Оба клиента одновременно начинают загружать с сервера большой файл. На какую пропускную способность может рассчитывать каждое из устройств?
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments69

Что такое быть тимлидом

Reading time14 min
Views31K

Интро


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


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


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

Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments48

Структуры данных для самых маленьких

Reading time22 min
Views337K
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


Читать дальше →
Total votes 91: ↑87 and ↓4+83
Comments51

Асинхронное программирование в JavaScript (Callback, Promise, RxJs )

Reading time10 min
Views46K

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



Но перед тем как начать основной материал нам нужно сделать вводную. Итак, давайте начнем с определений: что такое стек и очередь?


Стек — это коллекция, элементы которой получают по принципу «последний вошел, первый вышел» LIFO


Очередь — это коллекция, элементы которой получают по принципу («первый вошел, первый вышел» FIFO


Окей, продолжим.



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

Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments50
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity