Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Как создавалась Call of Duty 2

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


Кто не знает серию Call of Duty? Конечно ее знает каждый, если не просто игрок, то хотя бы фанат шутеров. Поистине культовая, всемирно известная серия, взявшая свои истоки с игр про Вторую Мировую Войну. Многие части были созданы под эгидой Infinity Ward. Помимо игр компания создавала и свои движки, но более ничем не отличилась. Однако, одной лишь серии Call of Duty достаточно, чтобы любить и уважать Ward’ов.

Конкретно Call of Duty 2 вышла в 2005-ом году сначала на ПК, а затем и на Xbox 360. Технически – третья часть серии. Фактически – вторая, и такой мы будем звать ее на протяжении всей статьи. Как же так вышло? Обратимся к хронологии. Очевидно, первой частью стала Call of Duty 2003-го года. Далее к ней вышло DLC, но нам интереснее Call of Duty: Finest Hour, выпущенная Spark Unlimited. Она основана на первой части серии, однако имеет совершенно новый сюжет и не имеет приписки «Expansion pack» как предыдущее дополнение, а также была выпущена лишь на PS2, Xbox 360 и GameCube. С тем количеством контента, что она имеет, она может полноправно называться спин-оффом, что делает ее технически второй игрой (мое непопулярное мнение).

Но мы тут говорим про Call of Duty 2005 года, так что не будем сильно отвлекаться.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии0

Об одном способе веб-скрапинга сайтов, защищенных Cloudflare

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

Сразу оговорюсь, что описанное ниже носит исключительно информационно-образовательный характер, и не имеет целью нанесение какого-либо ущерба компаниям, использующим защиту из заголовка статьи. По этим же причинам фокусировка статьи именно на том, как получить заветный html «как из браузера» в автоматизированном режиме, и здесь не будет идти речь о каких-то массовых распараллеливаниях через proxy и VPN, подкладываниях отпечатков (finger prints) браузеров и т. д.

Узнать о способе обхода защиты Cloudflare
Всего голосов 28: ↑27 и ↓1+26
Комментарии31

Как китайцы RTX 4090 закупают в обход санкций, превращая их в ИИ-ускорители

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

Всплеск интереса к развитию и использованию искусственного интеллекта в сочетании с санкционными ограничениями США поставили китайских производителей и разработчиков в сложное положение. Америка запретила NVIDIA экспортировать RTX 4090 и другие мощные GPU. Затем умельцы модифицируют карты таким образом, чтобы их можно было использовать в серверах.
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии8

Ретрокодинг на Macintosh System 7.5, Think C и ResEdit

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

Большинство современных программистов привыкли использовать инструменты автодополнения кода и новомодные ИИ-штучки а-ля Copilot. Они стали нормой.

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

Классические компьютеры Macintosh становятся все популярнее среди коллекционеров. В моей личной коллекции имеются и iMac G3, и горячо любимый мной Macintosh SE 30, и Apple Newton. Я собираю их не ради развлечения — я чувствую, как стремительно мир утрачивает знания об истории вычислительной техники. Особенно это касается программирования. Уму непостижимо, сколько сил приходится приложить, чтобы найти все необходимые средства разработки и документацию тех лет.

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

Бесплатные курсы для изучения C++ в 2024 году

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


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

Учить C++ в 2024 году по бесплатным курсам имеет несколько преимуществ. Вот несколько причин, почему это стоит делать:

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

2. Высокая производительность: C++ известен своей высокой производительностью и эффективностью. Он позволяет разрабатывать быстрые и оптимизированные приложения, особенно в сферах, где требуется работа с большими объемами данных или высокая скорость выполнения.

3. Множество полезных библиотек: C++ предоставляет широкий набор инструментов и библиотек для разработки приложений.

4. Доступно множество полезных ресурсов: Язык C++ очень популярный, существует множество различных онлайн-ресурсов, форумов и сообществ, где можно получить помощь и поддержку от опытных разработчиков.

Читать
Всего голосов 37: ↑35 и ↓2+33
Комментарии18

Как я устроился в Амазон и перестал переживать за свой английский

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

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Всего голосов 282: ↑279 и ↓3+276
Комментарии160

Как я устроился в Амазон и перестал переживать за свой английский

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

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Всего голосов 282: ↑279 и ↓3+276
Комментарии160

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 7

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

Итак, в прошлой части мы наконец добрались до того славного момента, когда Wolfenstein 3D был выпущен и стал суперхитом лета 1992 года. Компания единомышленников не стала почивать на лаврах и пачках долларов, полученных после выхода игры про массовой экстерминатус нацистов — и задумалась о создании нового 3D-шутера. Именно с этого момента начинается история разработки собственно великого и ужасного Doom.

Все части цикла статей о создании DOOM:
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии3

Потерян и не найден: каталог в Linux и UNIX

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


Салют! В этой статье я попытался разобрать назначение и основные сценарии использования директории lost+found в Linux.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии4

Увеличиваем оперативную память программиста, тренируясь в dual-n-back

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

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

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

Через N времени гугления я наткнулся на ряд ссылок, ведущих к упражнению «Задача n‑назад», наиболее распространенный вариант которой называется «dual‑n-back».

Увеличить оперативную память
Всего голосов 25: ↑25 и ↓0+25
Комментарии11

Почему OKR — это отстой

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

Наверно, многие из моих читателей как раз закончили квартальный (и/или годовой) цикл планирования, так что сейчас будет подходящее время напомнить, что процесс, которым мы пользуемся как стандартом в технологической отрасли, на самом деле — полная чушь. Разумеется, я имею в виду методологию Objectives and Key Results. Давайте же поговорим об OKR, что это такое и откуда они взялись, а ещё о том, почему это ужасная идея.

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

Литье пластика в силиконовую форму. Первый опыт

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

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

- Сможете изготовить такую деталь?
- Да, но скругления нужно заменить на фаски.

Далее много фотографий
Всего голосов 48: ↑48 и ↓0+48
Комментарии52

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

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

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

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

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Всего голосов 125: ↑122 и ↓3+119
Комментарии7

Ближайшие события

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

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

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

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

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Всего голосов 125: ↑122 и ↓3+119
Комментарии7

Метод конечных элементов своими руками

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

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

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

На что способен самодельный очиститель воздуха, который можно собрать за 30 секунд?

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

Плохой воздух однозначно вреден, но на рынке его очистителей мы наблюдаем бардак. Каждый производитель использует свои эксклюзивные фильтры, по всей видимости, для того, чтобы клиенты были вынуждены покупать именно их. А откуда нам знать, что эти устройства вообще работают? Немногие компании публикуют лабораторные тесты. И почему какая-то большая пластиковая коробка с вентилятором и фильтром стоит аж $100-300?

Но существуют и самодельные очистители, чаще представляющие собой просто примотанный к вентилятору фильтр. Мне такая идея по душе, но в этом случае тоже нет уверенности в их эффективности. Какие-то эксперименты проводились, но недостаточно, чтобы внушить мне доверие. Поэтому я решил поэкспериментировать сам: собрал очиститель, напустил дыма и измерил, насколько эффективно он справляется с удалением мелких частиц.
Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии157

Десктопные процессоры Intel и AMD, серверные ARM-платформы и диски: что показали производители в январе

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

Вендоры в январе почти не отдыхали и готовили новинки. Среди них — 24-ядерные процессоры Intel, серверы для работы с большими языковыми моделями, СХД на 3,36 ПБ и другие устройства. Самое время продолжить нашу традиционную рубрику по обзору серверного железа и познакомиться с новинками поближе. Подробности под катом!
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии4

Будни техпода. Ошибки при подключении по RDP

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


Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Microsoft Remote Assistance, VNC, Radmin и много чего ещё, но мы поговорим про RDP. Вернее, не о самом RDP, а о проблемах, которые могут возникнуть при подключении к удалённому серверу при помощи этого протокола.

Для многих, вероятно, не составляет труда решить внезапно возникшее затруднение, когда почему-то не получается подключиться к виртуалке, вдобавок практически каждый, не сходя с места, подкинет пару-тройку советов, где и что следует глянуть, чтобы исправить проблему. И всё же, вдруг кто-то чего-то не знает. На этот случай под катом несколько способов выхода из ситуации — по большей части самых простых.
Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии51

Оживляем автоинформатор из подмосковного автобуса

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров10K
Приветствую всех!
Так уж вышло, что при наличии у меня немалого количества артефактов из мира транспорта, у меня до сих пор не было той штуки, с которой у многих ассоциируется этот самый транспорт, — той самой коробочки, благодаря которой мы слышим легендарное «Осторожно, двери закрываются». Ну что же, самое время восполнить это упущение.



Итак, в сегодняшней статье поговорим об одном из первых массовых отечественных автоинформаторов. Узнаем, как работала эта штука и какие неожиданные технологические решения есть внутри. Традиционно будет много интересного.
Читать дальше →
Всего голосов 112: ↑112 и ↓0+112
Комментарии58

Поисковый движок в 80 строках Python

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

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

Давайте поговорим о целях. Слышали когда-нибудь о «кризисе сложности обнаружения маленьких веб-сайтов»? Проблема в том. что маленькие веб-сайты наподобие моего невозможно найти при помощи Google или любого другого поискового движка. Какова же моя миссия? Сделать эти крошечные веб-сайты снова великими. Я верю в возвращение славы этих малышей вдали от SEO-безумия Google.

В этом посте я подробно расскажу о процессе создания поискового движка с нуля на Python. Как обычно, весь написанный мной код можно найти в моём GitHub (репозиторий microsearch). Эта реализация не будет притворяться готовым к продакшену поисковым движком, это лишь полезный пример, демонстрирующий внутреннюю работу поискового движка.

Кроме того, мне стоит признаться, что в заголовке поста я слегка преувеличил. Да, поисковый движок действительно реализован примерно в 80 строках Python, но я ещё и писал вспомогательный код (краулер данных, API, HTML-шаблоны и так далее), из-за которого весь проект становится немного больше. Однако я считаю, что интересная часть проекта находится в поисковом движке, который состоит из менее чем 80 строк.

P.S. Написав этот пост и microsearch, я осознал, что пару лет назад нечто похожее написал Барт де Гёде. Моя реализация очень похожа на работу Барта, но я считаю что кое-что улучшил, в частности: (1) мой краулер асинхронный, что сильно ускоряет работу, (2) я реализовал пользовательский интерфейс, позволяющий взаимодействовать с поисковым движком.

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