Как стать автором
Обновить
15
0
Андрей Тушев @tushev

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

Отправить сообщение

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров10K

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

Читать далее
Всего голосов 36: ↑33 и ↓3+30
Комментарии1

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

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров97K

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

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

Читать далее
Всего голосов 216: ↑214 и ↓2+212
Комментарии77

Как устроена страничная организация памяти x86_64

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров8.4K

В этом посте я буду говорить о страничной организации только в контексте PML4 (Page Map Level 4), потому что на данный момент это доминирующая схема страничной организации x86_64 и, вероятно, останется таковой какое-то время.

Окружение

Это необязательно, но я рекомендую подготовить систему для отладки ядра Linux с QEMU + gdb. Если вы никогда этого не делали, то попробуйте такой репозиторий: easylkb (сам я им никогда не пользовался, но слышал о нём много хорошего), а если не хотите настраивать окружение самостоятельно, то подойдёт режим практики в любом из заданий по Kernel Security на pwn.college (вам нужно знать команды vm connect и vm debug).

Я рекомендую вам так поступить, потому что считаю, что самостоятельное выполнение команд вместе со мной и возможность просмотра страниц (page walk) на основании увиденного в gdb — хорошая проверка понимания.

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии0

Сказ о том, как я за год решил более 600 leetcode задач

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров74K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Всего голосов 150: ↑141 и ↓9+132
Комментарии407

Как Чинить Программные Ошибки?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.6K

В программировании микроконтроллеров регулярно приходится занимаются починкой bug(ов).

При этом все bug(и) уникальные. Поиск причины каждой конкретной осечки это скорее искусство. Починка программ сродни работы детектива.

Есть ли универсальные приемы того как искать причину программных ошибок?

Считаю, что да. Подробности в тексте...

Читать далее
Всего голосов 14: ↑8 и ↓6+2
Комментарии40

Stable Diffusion. Курс молодого бойца

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров54K

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

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

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

Поэтому без лишних слов, начинаем.

Поехали!
Всего голосов 74: ↑72 и ↓2+70
Комментарии23

Как пройти собеседование на backend в топовую IT-компанию

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров5.8K

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

Статья, в первую очередь, написана для тех, кто еще не устраивался в крупные IT-компании. 

Читать далее
Всего голосов 21: ↑12 и ↓9+3
Комментарии16

Немного об ATARI XL/XE: 6502, графика, код

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров3.4K

Статья является введением, которое знакомит с компьютерами семейства ATARI XL/XE. На примерах, на встроенном языке ATARI BASIC с щепоткой ассемблера, показаны некоторые особенности графики для этой платформы. Читатель легко сможет повторить примеры на собственном ПК используя эмулятор Altirra. Подготовка статьи велась несколько месяцев и пережила несколько редакций и я решил приурочить её к появлению нового продукта под брендом ATARI - приставки 2600+.

Далее...
Всего голосов 26: ↑25 и ↓1+24
Комментарии31

Проксируем OpenVPN с помощью Cloak

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров51K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

Читать далее
Всего голосов 34: ↑34 и ↓0+34
Комментарии59

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Время на прочтение20 мин
Количество просмотров317K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

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

Читать далее
Всего голосов 157: ↑155 и ↓2+153
Комментарии136

Как открыть портал наружу: самый полный гайд по VPN

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров59K

Выбор, установка и настройка VPN. Какие VPN заблокированы на территории РФ. Рабочие VPN в России в 2023 году с оплатой криптой. Как ускорить VPN. Как узнать, работает ли шифрование трафика

Читать далее
Всего голосов 25: ↑19 и ↓6+13
Комментарии32

10 интересных научно-фантастических книг 2023 года

Время на прочтение9 мин
Количество просмотров74K

К 1 сентября мы подготовили подборку из 10 НФ произведений, вышедших или планирующихся к выходу в этом году в России и которые, как нам кажется, будут интересны любителям жанра. Ведь не только же перечитывать старых добрых Брэдбери, Херберта, Стругацких или Лукьяненко? (спойлер — он тоже есть в подборке).

Сразу оговоримся — никакие рейтинги присваиваться не будут.  
1. В подборке представлены не только зарубежные, но и отечественные авторы, некоторые из них пока мало кому известны.
2. Некоторые книги могли быть написаны раньше, но в список они попали, потому что были изданы в 2023 году на русском языке (!) — это очень важный критерий. 
3. В подборку вошли только научно-фантастические книги — про классное фэнтези сделаем отдельную статью, если вам понравится формат.
4. Мы не одобряем пиратства, за исключением самиздата, если автор сам распространяет книгу бесплатно. Поэтому приводим ссылки на фрагменты книг для ознакомления, чтобы вы могли решить, нравится ли стиль автора и завязка сюжета.

Читать далее
Всего голосов 34: ↑31 и ↓3+28
Комментарии16

Что для меня значит быть программистом

Время на прочтение13 мин
Количество просмотров48K

Как-то мне написали с Хабра и сказали: Саня, хочешь написать статью про программистов?

Разумеется, я отнёсся к этому скептически. Ладно там девопсины или вайтхэты какие - почитать про них было бы интересно, но вот жизнь программиста... Я сразу вспомнил эти мемы как на КДПВ, которые на самом деле не мемы, а правда.

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

Чтобы получать 300кк/c, нужно всего лишь..
Всего голосов 179: ↑164 и ↓15+149
Комментарии71

Причины «имитации работы» в Big Tech

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров19K

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

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

Столкнувшись с угрозой увольнения, Грэг, наконец, пришёл в проект по применению машинного обучения для улучшения рекомендаций музыки Amazon, который, по его мнению стал «первой по-настоящему интересной задачей, над которой мне довелось работать». Он был счастлив ощущать себя ценным членом команды, но его менеджер сообщил ему нечто поразительное: готовый проект, над которым Грэм работал больше месяца, никогда не будет выпущен. Ему сказали, что это было просто занятие, чтобы соответствовать условиям его плана контроля производительности и продления срока его найма. Вскоре после этого Грэм уволился из Amazon.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии48

PostgreSQL под капотом. Часть 6. Сложный SELECT запрос

Уровень сложностиСредний
Время на прочтение57 мин
Количество просмотров5.8K

Продолжим погружение в код PostgreSQL. Сейчас посмотрим, что происходит, когда вы хотите выполнить запрос сложнее, чем в прошлый раз: добавим WHERE, GROUP BY, HAVING, ORDER BY, LIMIT.

Плюс:

Системный кэш

Сходство обращения к столбцам и вызовов функций

Предсказание количества возвращаемых кортежей

Работа с простыми типами

Маркировка столбцов при использовании FOR UPDATE

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Время на прочтение10 мин
Количество просмотров49K
На новогодних праздниках можно позволить себе отдохнуть и посмотреть старое и новое кино. Фильмы про IT подбирал так, чтобы можно было найти на любой вкус. Ниже список, которым решил с вами поделиться.

Читать дальше →
Всего голосов 62: ↑45 и ↓17+28
Комментарии99

Вы в Самом Деле Хотите Стать Программистом Микроконтроллеров?

Уровень сложностиПростой
Время на прочтение52 мин
Количество просмотров67K

В этом тексте я напишу о буднях программиста МК в РФ.

Что вообще пишут программисты МК и на чем?

Основной язык программирования это С. Языку С уже более 50лет. Кроме микроконтроллеров С уже практические никому не нужен. Навыки программирования на С очень слабо конвертируются. В свое время, видимо на С написали компилятор для С++ и нужда в С для desktop как таковая отпала. A сам С остался для сборки артефактов для микроконтроллеров с экстремально малыми ресурсами. Хотя и сейчас большинство компаний в ЕС уже микроконтроллерные сборки собирают на С++ 17. 

Иногда программистам MК приходится обсчитывать аналоговые цепи и вычислять какие-то сложные 8-этажные формулы и строить графики. Для этого практикуют бесплатный интерпретатор Python.

Главным образом программисты МК составляют Board Support Package, пишут драйверы для новых умных периферийных чипов, пишут загрузчики, портируют RTOS(ы) на разные процессорные ядра, пишут код-генераторы, скрипты сборки, составляют модульные тесты, изредка производят рефакторинг, часто чинят ошибки в Legacy коде, изредка что-то изменяют в коде Assembler(а), который запускается до вызова функции main().

Иногда программист МК даже ничего не пишет сам вообще. Важно уже не сколько уметь программировать сколько уметь тестировать и собирать, улучшать из готового кода из интернета. Какие-то исходники можно взять из github или ядра Linux. Там есть код на многие темы. Драйверы для множества чипов.  Важно уметь верифицировать найденные сорцы и аккуратно подключить их к нужной сборке.

Читать далее
Всего голосов 172: ↑147 и ↓25+122
Комментарии395

[Личный опыт] Разработчик на ремоуте: как искать работу на биржах, и кому это подойдёт?

Время на прочтение12 мин
Количество просмотров10K
Поработать с зарубежными заказчиками хочется, а переезжать в другую страну и сталкиваться со всеми трудностями релокейта — нет. Что делать? Вариант — искать проекты на удалёнке из той страны, где вы живёте. На прошлый вебинар мы пригласили Дмитрия Рязанцева, ведущего Android-разработчика: последние пять лет он путешествует и работает в режиме ремоут, например, с Emirates и Crowdservice. Расспросили его про поиск проектов на бирже Toptal, плюсы, минусы и подводные камни удалённой работы. Ответы Дмитрия на вопросы — в сегодняшней статье.


Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии49

Понимание (всех) «модульных» форматов и инструментов JavaScript

Время на прочтение19 мин
Количество просмотров44K


Доброго времени суток, друзья!

Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin.

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

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Краткий и бодрый обзор архитектуры компиляторов

Время на прочтение19 мин
Количество просмотров34K

Большинство компиляторов имеют следующую архитектуру:



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

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

Статья ни в коем случае не посвящена современным производственным компиляторам с миллионами строк кода — нет, это краткий курс «компиляторы для чайников», помогающий разобраться, что такое компилятор.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии38

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность