Pull to refresh
4
0

C++ разработчик

Send message

C++26 — встреча ISO в Хагенберге

Level of difficultyMedium
Reading time8 min
Views21K
В середине февраля в Хагенберге состоялась встреча международного комитета по стандартизации языка программирования C++.



В этот раз прорабатывались следующие большие темы:
  • std::hive
  • Constexpr, ещё больше constexpr
  • Безопасность, контракты, hardening, профили, UB и std::launder
  • Relocate
  • #embed

Об этом и других новинках расскажу в посте

Всё уже придумали за нас: библиотеки с тысячами готовых GPT-промтов для работы, учёбы и отдыха

Level of difficultyEasy
Reading time3 min
Views155K

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

Читать далее

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views97K

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

Также их можно представить как простые правила, которым следует мозг, чтобы обрабатывать поступающую информацию с минимальными затратами.

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

Читать далее

Польша: гайд для интересующихся

Reading time13 min
Views28K

Здравствуйте, дорогие хабровчане! Недавно я прочитал исчерпывающий гайд по Германии, и захотел написать что-то подобное для Польши. В статье я постараюсь описать плюсы и минусы переезда (по крайней мере для айтишника), примерную стоимость жизнь и что стоит сделать в первую очередь после переезда. Конечно подобных статей уже написано немало, но большинство либо написаны агентствами по эмиграции и не отличаются объективностью, либо просто описывают историю успешного успеха и им не хватает цифр. Разумеется, и эта статья тоже не может быть максимально объективной, но я все же попробую.

Читать далее

Процедурная генерация деревьев методом транспорта питательных веществ

Reading time11 min
Views12K

Примечание: код для этой статьи выложен на мой Github [здесь].

Я провёл всё лето в восточной Пенсильвании рядом с рекой Делавер, потому что кампус MIT в начале марта закрыли и мне пришлось поехать домой. Время от времени прогуливаясь рядом с домом или работой, я заходил в леса, и однажды подметил простой принцип:

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

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

В данной статье будет описана эта модель и способ её использования для генерации реалистично выглядящих деревьев с разной морфологией.

При помощи этой методики можно генерировать высококачественные меши деревьев на разных этапах роста в реальном времени и с незначительной тратой вычислительных ресурсов!

Привлечение и удержание художников в open-source играх

Reading time15 min
Views4.8K
Автор оригинальной статьи — Jetrel. Художник, который активно участвует в проектах Open Source игр. Несколько лет назад он был «арт-директором» игры Battle for Wesnoth. Кроме того, он сделал львиную долю арта для Frogatto and friends и продолжает работать над этой игрой.

Оригинальный текст и перевод лицензированы на условиях CC-BY.

На данный момент, Battle for Wesnoth насчитывает 109 различных художников, так что Jetrel знает о чем говорит.

image
Источник.

Помимо основного тезиса, в статье еще будут затронуты следующие вопросы:

  • Чем нас привлекает программирование?
  • В чем опасность графических редакторов для модов?
  • Как долго ждут творцы?
  • Нужно ли художнику знать программирование?
  • Сколько нужно художников по концепт-арту?
  • Как найти того единственного?
  • Что делать со звездами?
Читать дальше →

Разбор худшего в мире куска кода

Reading time7 min
Views75K
Есть одна итальянская страница на Facebook. Называется она «Il Programmatore di Merda», что в переводе означает «Дерьмовый программист». Мне нравится эта страница.

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


Этот кусок кода заслужил почётное звание «лучшего произведения» за неделю.

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

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

Ортолинейная сплит клавиатура — это что такое? Обзор Iris Keyboard

Reading time13 min
Views114K
За сто с лишним лет клавиатуры сильно изменились внешне: стали лёгкими, тонкими, есть даже проекционные со сканером. Но рынок ничего не меняет в их раскладке («QWERTY» появилась в 1890 году), клавиатуры не стали удобней для пальцев, не адаптированы для положения кистей и предплечий. Всё человечество стало проводить жизнь за компьютером, но эргономика главного инструмента ввода осталась в позапрошлом веке.

Я решил узнать, можно ли купить удобную клавиатуру в 2020 году. Краткий ответ: пришлось паять самому.


Простой zero-copy рендеринг аппаратно ускоренного видео в QML

Reading time9 min
Views7.1K

Введение


Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддерживающий GL_OES_EGL_image_external.


Мысль, что это вдруг может быть полезно, возникла после того, как я попытался запустить примеры работы с камерой в Qt, и на embedded платформе они работали со скоростью 3-5 кадра в секунду. Стало ясно, что из коробки ни о каком zero-copy речи не идет, хотя платформа все это отлично поддерживает. Справедливости ради, на десктопе VideoOutput и Camera работают, как и положено, быстро и без лишних копирований. Но в моей задаче, увы, нельзя было обойтись существующими классами для захвата видео, и хотелось завести видео из стороннего источника, каким может быть произвольный GStreamer пайплайн для декодирования видео, к примеру, из файла или RTSP стрим, или сторонний API который интегрировать в базовые классы Qt несколько сомнительно. Можно еще, конечно, в очередной раз переизобрести велосипед и написать свой компонент с рисованием через OpenGL, но это сразу показалось заведомо тупиковым и сложным путем.


Все вело к тому, что нужно разобраться как же оно устроено на самом деле, и написать небольшое приложение подтверждающее теорию.

Читать дальше →

Опыт поступления в магистратуру в Германии (детальный разбор)

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

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

Эта статья будет полезна тем, кто планирует или начинает поступать в магистратуру в Германии по специальностям, связанным с Computer Science. Частично данная статья может быть полезна и поступающим на другие специальности. Читателям, не планирующим поступать куда-либо данная статья может показаться скучной из-за обилия всяких бюрократических подробностей и отсутствия фотографий.
Читать дальше →

C++20 укомплектован, C++23 начат. Итоги встречи в Кёльне

Reading time7 min
Views34K
На днях прошла встреча международного комитета по стандартизации C++ в Кёльне. В прошлый раз был принят feature freeze на C++20, так что комитет должен был обсуждать только исправления уже принятых вещей, а добавлять новинки уже в C++23…

… но всё было не так!



Что сделали с std::flat_map; останутся ли страшные ключевые слова co_return, co_await и co_yield; успели ли доделать std::format; в каком виде будут контракты в C++20? Всё это вас ждёт под катом.
Читать дальше →

О лицензиях Qt (и немного о компании)

Reading time20 min
Views81K

В предыдущей статье про Qt roadmap я обещал рассказать про Qt 3D Studio и текущую ситуацию с лицензиями. Qt 3D Studio уже было выпущено два (пока писал статью, вышел третий) внутренних релиза, но статьи про неё пока не будет, так что сегодня расскажу про лицензии.


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


Но речь пойдёт не сразу про лицензии, сначала я хочу рассказать немного о компании, чтобы было понятно, кто именно сейчас занимается разработкой/распространением фреймворка и вообще стоит за Qt.

Читать дальше →

Полный перевод Unix-коанов на русский язык

Reading time16 min
Views76K


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак

Information

Rating
4,601-st
Location
Кипр
Date of birth
Registered
Activity