Pull to refresh
12
0
Денис @dali

Software Engineer

Send message

Про Rust — просто. Что читать в каком порядке?

Level of difficultyMedium
Reading time20 min
Views16K

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

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

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

Читать далее

Секреты стройности монолита: подходы по снятию нагрузки с БД

Level of difficultyEasy
Reading time16 min
Views10K

Привет! Меня зовут Олег Кретинин, и я разработчик в команде общих компонентов в Яндекс Еде. Сегодня я расскажу о том, как мы смогли успешно снять нагрузку с нашей базы данных, а также уменьшить её размер.

Помимо сервисов, написанных на C++, Go и Python, у нас есть монолит, он же «кора», на PHP, который всё ещё представляет огромную кодовую базу, хранит кучу логики и предоставляет данные по API для 120 сервисов.

После обновления фреймворка и версии PHP мы принялись за решение другой проблемы, которая всё чаще и чаще давала о себе знать. В тот период у нас возросло количество инцидентов, связанных с базой данных, и нам нужно было что‑то придумать, чтобы стабилизировать проект максимально быстро. Случалось, что всё сыпалось во время праздничных дней, когда количество заказов увеличивалось на 30–40%, или во время разовых массовых операций, например когда однажды в большую сеть ресторанов добавлялся бесплатный соус к каждой позиции меню.

Читать далее

Электрогитара по доступной цене, не нуждающаяся в доработках

Level of difficultyEasy
Reading time7 min
Views19K


Привет, Хабр! В продолжение темы доступных новогодних подарков для гитариста, сегодня я расскажу о не самой дешёвой, но и далеко не дорогой электрогитаре Harley-Benton CST-24HB Charcoal Flame.

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

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

Реализация паттерна Chain of Responsibility на примере котиков в PHP

Level of difficultyEasy
Reading time4 min
Views1.8K

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

Если вы когда‑нибудь пытались настроить бизнес‑логику в своём проекте так, чтобы она не выглядела как свалка if-else и работала хорошо, то этот материал для вас. Сегодня мы разберём один из самых приятных паттернов — Chain of Responsibility, или «Цепочка обязанностей».

Читать далее

Выбираем подарок юному электронщику

Level of difficultyEasy
Reading time9 min
Views16K

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

Читать далее

Мигрируем с JetBrains PHPStorm на Cursor (VS Code)

Level of difficultyMedium
Reading time13 min
Views11K

Разберем, как настроить в Cursor (VS Code) привычные функции JetBrains PHPStorm. Множество описанных в статье функций носит общий характер и не привязано конкретно к PHP, так что будет актуально и для миграции из других продуктов Jetbrains.

Тем не менее, настроим полноценную поддержку php, xdebug, .env, yaml, symfony, git, перенесем хоткеи и тему оформления, поймем, как подключаться к БД и удаленному серверу. Будет небольшое личное сравнение IDE между собой. Функции Cursor затрагивать почти не будем.

Читать далее

Библиография киберпанка

Level of difficultyEasy
Reading time17 min
Views15K

Если вас всё ещё преследует вопрос о том, что бы почитать в жанрах протокиберпанк, киберпанк и посткиберпанк, гляньте одним глазком в мой библиографический обзор. Почти уверен, там есть книги, которые вы ещё не прочли. Не верите? Проверьте!

Читать далее

Алгоритмы поиска путей на пальцах. Часть 1: Поиск в ширину

Level of difficultyMedium
Reading time7 min
Views4.7K

Давайте представим, что вы устроились много лет назад в 2GIS и вам выпала честь написать алгоритм, который будет прокладывать самый короткий автомобильный маршрут от точки A к точке B.

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

Читать далее

Марии (db) 15 лет! 15 причин чтобы её полюбить (или хотя бы с ней познакомиться)

Level of difficultyEasy
Reading time7 min
Views4.9K

MariaDB Server исполняется 15 лет! Вот 15 причин, по которым разработчики и администраторы баз данных любят его!

Читать далее

Мобильный гейминг — тоже круто: топ игр на телефон для iOS и Android

Level of difficultyEasy
Reading time12 min
Views23K

Во что поиграть с телефона, если «три в ряд» уже надоели

Если вы устали от бесконечных кликеров и поиска пар — давайте поговорим о чем-то более любопытном. Мобильный гейминг развивается, и сейчас для iOS и Android можно найти множество интересных игр: от классических квестов до MMORPG.

Собрали для вас подборку мобильных игр, которые показались нам особенно интересными. Некоторые из них — платные. Другие доступны бесплатно, но могут содержать рекламу или внутриигровые покупки. 

Читать далее

Массивы и слайсы в Go — для собеседований

Level of difficultyEasy
Reading time6 min
Views4.2K

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

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

Ух, понеслись!

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Level of difficultyEasy
Reading time11 min
Views29K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

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

Как я собрал настоящую Hi-Fi аудиосистему за 125 тыс. рублей

Level of difficultyEasy
Reading time10 min
Views35K

Привет, Хабр! Меня зовут Иван. Я инженер-проектировщик и провожу много времени за компьютером, рисуя схемы. По совместительству я увлеченный меломан с многолетним стажем. Несколько лет назад я решил оборудовать свое домашнее рабочее пространство достойной аудиосистемой. Но как ее собрать, если семейный бюджет не резиновый, а в стартовый комплект входят только средней мощности ПК и полочные колонки DALI Zensor 1? Мне понадобилось 125 тысяч рублей и 12 месяцев работы, чтобы слушать мастер-записи песен австрийского продюсера Курта Хауэнштайна (Supermax) в достойном их качестве. Своим опытом поделюсь в этой статье в блоге ЛАНИТ. 

Читать далее

Собеседование Python-разработчика: чего ждать и как подготовиться

Level of difficultyEasy
Reading time8 min
Views6.4K

Всем привет! Меня зовут Антон Артиков, я бэкенд-разработчик в «Авито» и выпускник курса «Middle Python-разработчик». Программирую на Python и Go, читаю и перевожу со словарем PHP, а ещё веду личный блог в Телеграме.

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

Читать далее

Подборка игр с низкоуровневым программированием

Level of difficultyEasy
Reading time5 min
Views37K

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

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

Подробности

В 48 собесах от оффера в Гугл

Level of difficultyMedium
Reading time21 min
Views19K

Здравствуй, хабр! Что-то я давно не писал, отбился от рук, а ведь когда-то мы целый курс машинного обучения на Хабре вели. Расскажу про свой недавний заход по собесам, что спрашивали, какие выводы сделал. Контекст: Applied Machine Learning science (в том числе этот ваш Generative AI), Нидерланды, уровень синьор+. Я долго получал отказы, старался не унывать и в конце таки нашил лычку Staff GenAI Field Solutions Architect в Google Cloud. Тут поделюсь статистикой собесов, полезными ресурсами и, конечно, всякими советами.

Читать далее

5 обучающих игр для разработчиков

Reading time3 min
Views14K

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

Читать далее

Как пройти собеседование в FAANG. Мой опыт и рекомендации в 2024 году

Level of difficultyEasy
Reading time18 min
Views21K

Всем привет, меня зовут Максим Иванов, я frontend-разработчик в компании Т-Банк (Тинькофф). Сегодня мы поговорим с вами о лайфхаках, которые могут вам пригодиться, если вы хотите устроиться в Google. С автором данной статьи я был лично знаком, когда он еще работал в Тинькофф. Смею заметить, что этот человек не был рядовым разработчиком. Он был очень талантливым как инженер, так и руководитель. Значительная часть его опыта была связана с курированием отдела Frontend Core Tech в Тинькофф, а это 200 инженеров в подчинении. Он постоянно проводил встречи для разработчиков и распространял самые передовые знания на всю компанию. Обучал, помогал, решал самые сложные задачи, которые стояли перед отделом. Когда я наткнулся на его статью, то решил отдать дань уважения и сделать перевод. Спасибо, если дочитаете до конца и давайте начнем!

Читать далее

Подготовка к техническому собеседованию Senior/Team Lead backend

Level of difficultyMedium
Reading time3 min
Views23K

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

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

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

Читать далее

День защиты (от) детей: подборка игр от семейки айтишников

Level of difficultyEasy
Reading time8 min
Views8.4K

Привет, Хабр! Меня зовут Андрей. Я работаю в ИТ-компании «Криптонит» и воспитываю шестилетнюю дочь. Совмещать это весьма непросто, поэтому хочу поделиться лайфхаками о том, как провести время с ребёнком и не сойти с ума и увлечь его разными занимательными задачками.

Каждое воскресение мои мечты отоспаться разбиваются о детскую непосредственность дочери Кати:

— Пап, ты можешь со мной поиграть?! — тормошит она чуть свет и, скорее, требует, чем просит.

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

Этот бой проигран ещё до начала. Морфей в ужасе бежал от Кати, и я его понимаю. Дочь уже не даст покоя. Она будет «папкать» и натурально прыгать по тебе, пока не получит своё.

Чтобы в следующие выходные было чуть легче, на неделе я придумываю разные активности. Одни помогают сделать ребёнка «самозанятым» хотя бы на 10-15 минут, а другие достаточно просты, чтобы играть в них даже не до конца проснувшимся. Вот некоторые из них в помощь молодым родителям.

Прямоугольники

Для этой игры понадобится листок в клеточку, 1-2 кубика и пара карандашей (фломастеров) разных цветов. Ещё желательно приготовить ручку, чтобы нагляднее записывать цифры. Сама игра отдалённо похожа на «тетрис», только все фигуры — прямоугольники. 

Перед началом игры отмечаем на листке игровое поле произвольного размера, например 24 на 32 клетки. Затем два игрока по очереди рисуют прямоугольники. Их размер задаётся выпавшими цифрами на кубиках как длины сторон в клетках. 

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Varna, Varna, Болгария
Registered
Activity