Как стать автором
Поиск
Написать публикацию
Обновить
0
@Alexko22read⁠-⁠only

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

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

Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС

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

Что на самом деле происходит, когда вы запускаете программу? Мы привыкли воспринимать это как данность, но за кадром скрывается целая вселенная — от регистров процессора и системных вызовов Linux до формата ELF и модели памяти процесса. Присоединяйтесь к погружению, где мы прольём свет на каждый байт программы «Hello, World!» и поймём, каким образом ОС её выполняет.

Читать далее

Программирование автомобилей в играх

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

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

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

Здесь важно сказать следующее: игры — это не физические движки, а впечатления. И гоночные игры больше других намеренно манипулируют реальностью, чтобы дать нам эти впечатления. Например, мы ожидаем от шутеров определённого поведения; пуль, летающих по прямой, отдачу при выстрелах, перезарядку. Если эти ожидания не оправдываются, игра начинает казаться «не такой». Но в случае транспорта степень допущений может быть огромной.

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

На противоположном краю спектра находятся такие реалистичные симуляторы, как iRacing и Assetto Corsa. В них игровой процесс тщательно отточен, чтобы передавать все нюансы и трудности реального автоспорта. Люди тратят тысячи долларов на оборудование, позволяющее воссоздать ощущение нахождения за рулём. Тем не менее, в основе всех этих игр лежит программирование автомобилей. Они лишь по-разному расставляют приоритеты аспектов игрового опыта.

Читать далее

Как отличить грамотного спеца

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

Что необходимо иметь ввиду перед прочтением:

Здесь не будет всякой расплывчатой ерунды по типу "любопытства", "находчивости", "умения воспринимать критику", "увлечённости своей работой" – это относится ко всем нормальным людям.

Речь пойдёт в основном про системных администраторов.

Я буду рассматривать ситуацию со стороны коллеги, а не "бизнеса" (некомпетентного руководства).

Мне плевать на названия отделов и должностей. Я оцениваю человека по его уровню знаний и опыта, а не по записи в трудовой книжке. На "Ведущих инженеров по автоматизации" и "Руководителей ИТ департамента" я уже насмотрелся.

Я намешиваю всё специально, чтобы все попали под раздачу и всем было одинаково обидно (как это было с предприятиями моего города в предыдущей статье). Так что пусть вас не смущают противоречия и повторения.

Читать далее

Топ-5 алгоритмов из курса матана, которые реально пригодятся в работе

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

Всем привет. Сегодня хочу затронуть тему матана, чтобы показать как его можно применять на реальных задачах. Думаю каждый, кто учил матан часто задавался вопросами: «Где это вообще пригодится?», «Зачем это нужно?», «Как это может помочь?» и т. д. Так вот, чтобы эти вопросы отпали раз и навсегда предлагаю свой топ-5 алгоритмов из курса матана с конкретными примерами их применения в работе.

Читать далее

Установка Windows через CMD

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

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

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

SOSAL: Современный социальный подход к программированию

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

В мире программирования существуют различные идеологии написания кода, которые отвечают за коммуникации (Unix-way), гибкость (Agile), чистоту и читаемость кода (DRY, KISS).

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

Читать далее

Отбитый дотнет

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

Поскольку прошлая статья про «особенную» Java вызвала интерес, мы решили продолжить праздник. Настало время познакомить разработчиков С# с темной стороной любимой технологии — сегодня шатаем .NET!

Читать далее

Минимум книг, которые нужно прочитать начинающему или продолжающему свою кривую обучения программисту

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

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

Читать далее

Самые отбитые проекты Github

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

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

Так что заваривайте чаю с ромашкой и запасайтесь успокоительными — с такой подборки поплохеет многим.

Читать далее

Изучаем программирование шейдеров с Риком и Морти

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

Эта анимация Рика состоит из 240 строк кода. Никаких библиотек и изображений. В статье я покажу, как использовать шейдеры GPU и поля расстояний со знаком для создания подобных анимаций для видео, видеоигр и просто для развлечения! В оригинале статьи даже есть интерактивный редактор кода, благодаря которому вы сможете поэкспериментировать с примерами.

Читать далее

Болезнь «ООП головного мозга»

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

(Объектно-Ориентированное Помешательство)

Описание

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

Узнать шокирующую правду

То о чем многие молчат, или может не знают…

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

Это статья не несет особо полезной информации и на написание ее меня натолкнула недавняя стать на Хабре с заголовком «Установка базы данных на linux». Это статья мне вылезла в рекомендациях самого хрома, ну думаю дай‑ка гляну. Может там БД собирают из исходников или рассказывают о чем то важном, о каких‑то специфических настройках — но нет :-) Статья коротенькая, и всего там 6 команд: apt update, apt install mysql, mysql, create user 'user'@'%' idetified by 'password'; quit;

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

Это один из примеров таких публикаций, но последние пару лет их стало очень много и большое спасибо за это можно сказать РКН. Видя стать об обходе блокировок — НИКТО не думает о безопасности. Арендуют VPS, оставляют пароль по дефолту, настраивают что либо и забывают о VPS. Мне стало интересно, сколько я получу ботов на свой VPS по ssh, если порт будет 22. Быстренько меняем порт, через iptables открываем 22 порт и ждем пару дней. Результат меня удивил, fail2ban заблокировал почти 200 ip.

Читать далее

Нейросети vs Stack Overflow: что происходит?

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

Источник изображения: ai.plainenglish.io

Stack Overflow, о котором, вероятно, знают на Хабре все, сейчас проигрывает неожиданному конкуренту — нейросетям. Пессимисты даже считают, что может завершиться без малого 20-летняя история проекта. Проблема в том, что все больше разработчиков предпочитают задавать свои вопросы не людям, а искусственному интеллекту. Так быстрее и во многих случаях эффективнее. Давайте разберемся, что там происходит.
Читать дальше →

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

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

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

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

Читать далее

101 Компьютерная Игра на Бейсике — обзор старой книжки

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

Давным‑давно, чуть больше 50 лет назад вышла книга «101 BASIC Computer Games» — она стала первой книгой на компьютерную тематику, тираж которой перевалил за миллион экземпляров. Нужно понимать — это был 1973 год, до появления домашних компьютеров типа Apple II или ZX80 ещё оставалось лет пять — так что книжка предназначалась студентам и сотрудникам учреждений где были установлены «миникомпьютеры» — девайсы размером с несколько домашних холодильников — но нередко уже многопользовательские, с подключенными телепринтерами в качестве рабочих мест. Сам BASIC ещё не разменял первый десяток лет. Программы предлагалось перепечатать вручную — тем не менее это издание сразу стало популярным.

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

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

Читать далее

Откровения пьяного старшего инженера

Время на прочтение8 мин
Количество просмотров144K
image

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

  • Лучший способ достичь карьерного роста — сменить компанию.
  • Стек технологий на самом деле не имеет значения, потому что в моей области есть примерно 15 базовых шаблонов разработки программного обеспечения. Я работаю с данными, поэтому они не будут такими же, как веб-разработка или embedded. Но все области имеют около 10-20 основных принципов, и технический стек просто пытается упростить эти вещи, так что не переживайте.
  • Есть причина, по которой люди рекомендуют искать работу. Если я недоволен работой, наверное, пора уходить.
  • У меня появилось несколько хороших друзей на всю жизнь в компаниях, с которыми я работал. Мне не нужно это от каждого места, где я работаю. Я был совершенно счастлив, работая в тех местах, где у меня не складывались дружеские отношения с моими коллегами, и я был несчастен в местах, где у меня было несколько хороших друзей.
Читать дальше →

Как спрятать любые данные в PNG

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

А вы уже прятали что-то внутри PNG? Базовый способ надежно спрятать что-то внутри картинки. И все на вашем любимом JavaScript!

Подробнее

Пишем свою Diffusion модель с нуля

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

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

Меня зовут Юра, я - разработчик, фаундер и ML энтузиаст, также пишу свои заметки в своем ТГ канале. Я решил разобраться и понять, как устроена Diffusion модель внутри, понять ее математику и постараться объяснить и разложить ее на пальцах. Ну и конечно пописать код, который (спойлер) заработал. На гифке изображены примеры итоговых картинок на моей финальной модели.

Если вам тоже интересно, то читайте дальше

Читать далее

REST vs gRPC. Межсервисная интеграция для начинающих

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

Привет! Меня зовут Максим Соколов, я — аналитик в команде “Управление доступностью товаров и категорий”. В нашей команде была выделена отдельная подгруппа, которая создавалась специально под новый продукт-фичу для селлеров. Сразу стало понятно, что для реализации нового функционала требуется разработка нового микросервиса. Командой разработки было принято решение интегрироваться по gRPC, но мне до конца не было понятно, почему выбор именно такой. И тут я решил разобраться подробнее!

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

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

На свете много статей про проектирование API, в которых описаны архитектурные стили, протоколы, технологии. Информации — огромное количество, иногда она даже противоречивая, поэтому новичку тяжело подступиться к теме.

В этой статье я хочу дать точку входа для джун/мидл системных аналитиков, которые хотят разобраться в межсервисной интеграции. Мы пройдёмся по HTTP, REST, RPC и gRPC, разберёмся в их значениях. Выясним, почему эти аббревиатуры появляются, когда происходит проектирование API, и попробуем понять, когда и что следует применять.

Также по ходу статьи буду оставлять ссылки на хорошие (по моему мнению) статьи для более глубокого погружения в поднимаемые темы.

Читать далее

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

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

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

Наконец случилось чудо. В одну из очередных попыток я нащупал способ, который позволил продолжать развиваться, делать успехи, осознавать их и разжигать мой огонь всё сильнее и сильнее. Сегодня мне сложно представить день, проведенный без английского языка. И мне не хочется говорить без “изучения”, поскольку не сказал бы, что я именно учу. Скорее — постепенно “прошиваюсь” английским, как это обычно происходит с новорожденным детьми, которые постепенно начинают говорить, слушая и наблюдая за своими родителями. В настоящее время мой словарный запас не такой большой: 9 — 12 тысяч слов (зависит от теста). Я свободно смотрю видео на Ютубе разнообразной тематики (видеоуроки, спорт, фитнес, музыка, путешествия, кулинария, обзоры и т.д.), читаю документацию, компьютерную и популярную литературу, публицистику.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Десктоп разработчик
C#
WPF
XAML
Unity3d
Разработка программного обеспечения