Pull to refresh
0
Александр @sane4ekread⁠-⁠only

User

Send message

Путь к сердцу полупроводниковой фабрики: какие литографы доступны России?

Reading time9 min
Views42K

Введение санкций против России и, как следствие, отказ компании TSMC исполнять заказы отечественных дизайн-центров, привёли к ситуации, когда вопрос «где и как производить отечественные чипы» стал ребром. Самым передовым, потенциально доступным промышленным техпроцессом в России, является 90 нм, что в большинстве случаев не подходит для производства современной  микроэлектроники. Поэтому, постройка нового завода на территории России, способного создавать чипы на более современных техпроцессах, стала как никогда актуальной. Для осуществления такой задачи необходимо наличие множества специфичных компетенций, химии, оборудования. Но без преувелечения ключевым элементом любой полупроводниковой фабрики является литограф (вернее даже, литографЫ).  Именно характеристики литографа в первую очередь определяют размер техпроцесса, именно литографы являются самым дорогостоящим оборудованием, вокруг которого, по сути, строится завод. В данном обзоре хотелось бы рассмотреть текущую ситуацию с доступностью литографического оборудования в России – что имеется/разрабатывается у нас и что потенциально возможно купить на стороне.

Читать далее
Total votes 62: ↑61 and ↓1+82
Comments96

Что почитать игровому программисту?

Level of difficultyEasy
Reading time6 min
Views28K

Объём специфичных знаний, которые требуются рядовому программисту игр, даже если он только начал свою карьеру, вызывает у меня «лёгкую» тоску. Это одна из причин, почему большая часть людей, которые «горят делать игры», отсеивается на этапе технических собеседований (обычно их больше одного). Это нормально и грустно. Добавьте сюда, что нефундаментальные знания, вроде инструментов, библиотек и движков, приходится обновлять где‑то раз в 5–7 лет. Не вижу тут, что игрострой сильно отличается от других областей разработки. Если бы лет 15 назад «добрый я» скинул на почту список книг, которые придется прочитать и осмыслить, армия собранных граблей не была бы столь большой и разнообразной, и без ручек половинной длины. Осторожно, в конце статьи будет супердлинная картинка (взята с github отсюда, с разрешения автора).

У программиста нет цели, только путь.
Total votes 60: ↑60 and ↓0+60
Comments36

Сохранение древовидной структуры в Visual Studio с CMake или создание папок в проекте

Level of difficultyEasy
Reading time7 min
Views5.2K

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

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

Аналог Duolingo для продвинутых — одна хорошая книга для пополнения словарного запаса в английском языке

Reading time2 min
Views39K

Наткнулся недавно на книгу "1100 words you Need to Know" by Murray Bromberg and Melvin Gordon" (для уровня C1-C2). Она легко гуглится в Яндексе.

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

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments18

Руководство по CMake для разработчиков C++ библиотек

Reading time18 min
Views88K

Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.

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

Взять и собрать DAW — помогут эти инструменты

Reading time3 min
Views3.6K

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

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments0

Попробовать себя в проектировании интерфейсов для DAW-плагинов — помогут эти инструменты

Reading time3 min
Views1.7K

Ранее мы уже рассказывали о библиотеках, заточенных под разработку алгоритмов синтеза и фильтрации аудио. Сегодня покажем утилиты, которые помогут нарисовать для них графический интерфейс с целью интеграции в цифровые звуковые рабочие станции (DAW). Под катом — о возможностях VSTGUI, Elements и Pugl.

Читать далее
Total votes 6: ↑5 and ↓1+8
Comments0

Три предметно-ориентированных языка программирования для цифровой обработки сигналов

Reading time3 min
Views7.7K

В прошлый раз мы рассказывали о книгах, которые пригодятся специалистам по цифровой обработке сигналов, и обсуждали библиотеки на C++ для синтеза звука. Продолжим тему, но поговорим о ЯП под эти задачи — Faust, SOUL и Feldspar.

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments0

Выпуск среды разработки Qt Creator 12

Reading time3 min
Views9.4K

Вчера, 23 ноября 2023 года вышел релиз среды разработки Qt Creator 12.

Qt Creator (ранее известная под кодовым названием Greenhouse) — свободная IDE для разработки на С, C++, JavaScript и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW.

Что нового в Qt Creator 12
Total votes 5: ↑4 and ↓1+3
Comments4

Как очистить проект от неиспользуемых ассетов в Unreal Engine

Reading time5 min
Views16K

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

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

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

Как очистить проект читайте в статье
Total votes 8: ↑8 and ↓0+8
Comments6

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

Reading time7 min
Views402K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Постановка задачи


Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
Читать дальше →
Total votes 198: ↑196 and ↓2+194
Comments120

Микроэлектроника в России до и после 24.02.2022

Reading time14 min
Views332K

В свете последних событий (для потомков: гуглим Россия, Украина, 24 февраля 2022), приведших к введению санкций против России в сфере высоких технологий и, в частности, микроэлектроники, я часто слышу вопрос: а что дальше? В каком сейчас состоянии российское микроэлектронное производство? Россия сможет создать полностью локальное производство чипов?

Так сможет или нет?
Total votes 350: ↑344 and ↓6+428
Comments658

Руководство по Кросс-Платформенному Системному Программированию для UNIX и Windows: Уровень 1

Reading time68 min
Views11K

С помощью этого учебного материала мы научимся писать кросс-платформенный код на Си, используя системные функции популярных ОС (Windows, Linux/Android, macOS и FreeBSD): управление файлами и файловый I/O, консольный I/O, пайпы (неименованные), запуск новых процессов. Мы напишем свои небольшие вспомогательные функции поверх низкоуровневого системного АПИ (API), для того чтобы наш основной код, используя эти функции, мог работать на любой ОС без изменений. Этот учебный материал — начального уровня. Я делю сложные вещи на части, чтобы примеры кода здесь не были слишком заумными для тех, кто только что начал программировать на Си. Мы обсудим различия между системными АПИ и разберёмся, как создать кросс-платформенный программный интерфейс, который скрывает все эти различия от пользователя этого интерфейса.

Читать далее
Total votes 20: ↑19 and ↓1+24
Comments27

Ссылки и ссылочные типы в C++

Level of difficultyMedium
Reading time47 min
Views122K

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Эта статья посвящена ссылкам и ссылочным типам в C++.


Термин «ссылка» широко используется и в обыденной жизни, в компьютерных и других науках и поэтому его смысл сильно зависит от контекста использования. В языках программирования под ссылкой понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, расположенному в другом месте, имеющему другой размер и т.д. Объекты ссылки удобно использовать на стеке, они легко копируются, что позволяет получить доступ к объекту, на который эта ссылка ссылается, из разных точек кода. В той или иной форме ссылки поддерживаются во всех языках программирования. В ряде языков программирования, таких как C#, Java, Pyton и многих других, ссылки, по существу, являются концептуальным ядром.



В C роль ссылок играют указатели, но работать с ними не очень удобно и в C++ появилась отдельная сущность — ссылка (reference). В C++11 ссылки получили дальнейшее развитие, появились rvalue-ссылки, универсальные (передаваемые) ссылки, которые играют ключевую роль в реализации семантики перемещения — одном из самых значительных нововведений C++11.



Итак, попробуем рассказать о ссылках в C++ максимально подробно.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments26

51 Атрибут Хорошего С-кода (Хартия Си программистов)

Level of difficultyEasy
Reading time11 min
Views26K

Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).

Читать далее
Total votes 50: ↑45 and ↓5+52
Comments171

Основы боевой системы в играх

Reading time6 min
Views82K
Дорогие читатели, я придумал для себя интересное хобби, которое принесет ощутимую пользу не только мне, но и вам. Так как сейчас я активно занимаюсь прокачкой своего навыка в создании игр, мне приходится изучать тонны различной информации по этой теме, а много полезной информации можно найти исключительно в буржнете. Я сам не очень люблю читать информацию на не родном для меня языке, поэтому я решил убить сразу целую стаю зайцев: совершенствовать свой язык переводя статьи, совершенствовать свои навыки как геймдизайнера, приносить пользу другим делясь интересным материалом. Погнали.



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

В результате, благодаря приобретенному опыту удалось написать свод правил. Соблюдение правил поможет вам воплотить мощную боевую механику в ваших играх.
Узнать все секреты
Total votes 57: ↑43 and ↓14+29
Comments12

Обзор техник реализации игрового ИИ

Reading time55 min
Views58K
image

Введение


Эта статья познакомит вас с широким диапазоном концепций искусственного интеллекта в играх («игрового ИИ»), чтобы вы понимали, какие инструменты можно использовать для решения задач ИИ, как они работают совместно и с чего можно начать их реализацию в выбранном движке.

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

Что же такое «игровой ИИ»?


Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

  • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
  • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
  • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
  • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments15

Сети для самых маленьких. Часть нулевая. Планирование

Reading time7 min
Views2.1M
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Схема сети

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
Читать дальше →
Total votes 104: ↑100 and ↓4+96
Comments134
2

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity