Search
Write a publication
Pull to refresh
43
0
Михаил Лукин @Ktator

Программист

Send message

С Днем Космонавтики! Подборка из 10 прекрасных произведений о космосе

Level of difficultyEasy
Reading time4 min
Views4.7K

Что бы ни происходило, а сегодня особенный день, знаменательный день. День Человека и человеческого. День, воплощающий лучшее, что есть в Homo Sapiens – способность превратить самую дерзкую мечту в реальность.

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

Читать далее

«Орбита смерти»: космический триллер от известного астронавта

Reading time3 min
Views3.3K

Более шестидесяти лет назад, 12 апреля, человек впервые отправился в космос, за пределы атмосферы Земли. Советский летчик и космонавт Юрий Гагарин навеки внес свое имя в историю, а мечтатели, визионеры и писатели-фантасты получили новую волну вдохновения, представляя возможности дальнейшего покорения космоса. 

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

Читать далее

Тетрис, разработка игр на SFML C++

Reading time16 min
Views13K

Предыдущая тема

"Тетрис" - легендарная игра, которую знает каждый. Она была создана в 1984 году российским программистом Алексеем Пажитновым и с тех пор завоевала сердца миллионов игроков по всему миру.

Игровой процесс заключается в заполнении горизонтального ряда в нижней части экрана фигурами из различных геометрических форм, известных как тетрамино. Довольно сложно описать, какие именно фигуры есть в игре, поэтому проще показать пример: это могут быть фигуры, состоящие из четырех квадратов (квадрат, "буква T", "буква L", "буква S", "буква Z" и "буква J").

Читать далее

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views241K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее

Как избежать отказа Минцифры при подаче заявки в реестр российского ПО?

Level of difficultyEasy
Reading time5 min
Views4.3K

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

Меня зовут Софья, я IP/IT юрист Центра интеллектуальной собственности «Сколково». Мы с коллегами на постоянной основе сопровождаем большое количество заявок в реестр российского ПО (Реестр). В этой статье я хочу поделиться опытом и разобрать наиболее типичные ошибки при включении сведений о ПО в Реестр.

Читать далее

Самый научный гайд по сну

Level of difficultyEasy
Reading time12 min
Views172K

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

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

Например, мне категорически не хотелось расставаться со смартфоном перед сном. Спустя долгие часы изучения этого вопроса я обнаружил, что этого не нужно делать! И ребята, сидящие на диете, можете выдохнуть, метаболизм во сне не отключается. Ниже мы подробно и без воды разберём всё, что касается сна.

Читать далее

22 342 кратное ускорение загрузки геометрии в Unity

Level of difficultyMedium
Reading time16 min
Views9K

Меня зовут Артем Толстогузов, и я вхожу в группу анонимных Unity-программистов.

У меня:

навязчивое желание переложить всю работу с CPU на GPU;

небольшой фетиш в области оптимизаций всего что только возможно;

хронический интерес к шейдерам, графическому пайплайну и технологиям;

патологический синдром самозванца.

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

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

Читать далее

Один плагин, чтоб править всеми. Как разработать сканер на Flutter для 3 платформ и ускорить ввод данных в 2 раза

Level of difficultyMedium
Reading time11 min
Views6.3K

Привет! Меня зовут Сергей, я Flutter‑разработчик SimbirSoft. В этой статье хочу поделиться интересным платформоспецифичным кейсом для мобильных устройств и ТСД. Нам с командой удалось сократить затраты на разработку и ускорить процесс ввода данных в 2 раза.

Клиент располагает крупными товарными складами, на которых сотрудники используют сканеры 1-D/2-D кодов — это смартфоны на iOS, Android, а также терминалы сбора данных с установленным Flutter‑приложением для сборки заказов. Нашей задачей стало обновить плагин сканера, не привлекая отдельные команды для разных платформ.

Очевидно, что данная функциональность сильно полагается на платформу, и Flutter из коробки не умеет работать с ТСД. Как мы решили эту задачу, расскажу по порядку, а в конце поделюсь результатами тестов и ссылкой на исходный код. Спойлер: по сравнению с ручным вводом штрихкодов скорость выросла в 13,4 раза, а с предыдущей версией сканера — в 2 раза.

Подобный кейс применим везде, где требуется сканировать 1-D/2-D коды в большом количестве. Поэтому материал будет полезен разработчикам кроссплатформенных приложений для решения подобных задач, а также их заказчикам.

Читать далее

Instagram* сможет работать без VPN?

Level of difficultyMedium
Reading time6 min
Views32K

Популярная социальная сеть была запрещена в России в 2022 году. Для многих поклонников приложения это стало настоящим ударом, а трафик Instagram* понес огромные потери: по данным Brand Analytics на октябрь 2022 года, количество авторов (блогеров) сократилось с 38 млн до 17 млн за год, а количество отправленных сообщений упало со 135 млн до 40 млн за тот же период. Теперь, вероятно, владельцы соцсети ищут новые способы вернуть свою аудиторию. Одним из них может стать работа Instagram* с уже встроенным модулем обхода блокировок в странах-цензорах.

Читать далее

Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60

Reading time4 min
Views10K

Я делаю ремейк своей старой игры Loca Deserta: Sloboda Первая версия была написана на Flutter, но сейчас в качестве движка для игры я выбрал Unity.

Я начал работу с нуля и реализовал множество новых функций, но заметил, что даже мой Galaxy S21 Ultra подлагивал во время игры. FPS был ровным, но иногда мне казалось, что он падает с 60 до 30.

Я взял очень старую Нокию 6.1 с андроидом, запустил свою игру и был в шоке. Это был полный трэш! FPS колебался в диапазоне от 1 до 15. Играть не возможно.

Читать далее

Телепортация игрока в Unity с OpenXR

Reading time6 min
Views4.6K

Продолжим серию статей про OpenXR. В конце концов получим контроллер игрока, обладающий базовыми навыками — перемещением, поворотом и взаимодействием с объектами. В этой же мы сделаем телепортацию игрока и его поворот.

Читать далее

Unity advanced или Awaitable компоненты-промисы

Reading time4 min
Views3.4K

Приветствую! Сегодня я хотел бы поделиться своей наработкой, которую я создал около двух лет назад и использую в проектах и сегодня.

Оговорюсь, что все что описано ниже - придумано мной, так что идею я нигде не украл. Также в результате поисков в интернете ничего подобного не нашел. Если для вас это актуально - пользуйтесь на здоровье =)

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

А в силу того, что на дворе 2023 год, мы в след за js-ом сделаем этот промис awaitable. 

Я не буду останавливаться на работе async/await, по этому поводу и так достаточно много написано, не только на официальном сайте, но и много где в интернете. Обозначим только основные пункты.

Для обеспечения работы этого механизма от нас требуется в типе:

Познать больше

10 популярных вопросов, которые нужно знать, чтобы пройти собеседование на позицию Flutter-разработчика

Reading time9 min
Views20K

Привет, на связи Flutter-команда Mad Brains. Сегодня мы разберём 10 часто задаваемых вопросов на собеседованиях на позицию Junior Flutter Developer. Наш ведущий Flutter-разработчик расскажет, как показать себя во всей красе и получить оффер. А в конце статьи вас ждет приятный бонус от нашей команды. 

1. Зачем вообще использовать Flutter? Какие у него преимущества недостатки?
Можете взять примеры, которые представлены на официальном сайте Flutter. Но из своего опыта отметим несколько важных поинтов. Во-первых, у Flutter есть несомненный плюс — это единая кодовая база, которая позволяет увеличить скорость разработки. Благодаря этому у него высокая масштабируемость, потому что почти 100% кода портируется на Android, iOS, Web, Desktop и т.д.

Немаловажным плюсом является декларативная верстка, которая позволяет писать намного более понятный и логичный код. Еще одна  особенность, которая сейчас есть и на Kotlin, — это Hot reload и Hot restart. Нет необходимости сидеть и ждать компиляции, чтобы увидеть изменения, что дает сильный буст в скорости разработки и позволяет оставаться в потоке. Кто использовал их, знает, насколько это крутая штука и насколько это сокращает время разработки. 

Не стоит забывать, что у Flutter сформировано большое комьюнити, есть хорошая поддержка от Google, огромное количество библиотек на pub.dev и статей. Это тоже плюс, хотя еще пару лет назад молодость технологии была ее минусом. 

Из минусов выделим высокие требования к специалистам. Мы хоть и можем писать сразу под Android и iOS, но обязаны знать основы нативной разработки. Поэтому среди требований к Flutter-разработчику можно увидеть базовые знания одной из платформ. 

Читать далее

Создаем аватарки с помощью нейросети Stable Diffusion и DreamBooth

Reading time6 min
Views45K

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

Читать далее

Домашняя вентиляция для гиков: что нужно знать про воздуховоды

Reading time4 min
Views42K
О том, каким воздухом мы дышим дома задумывались многие читатели Хабра. Работая часть или всё время дома и проживая в крупных городах, нельзя время от времени не задумываться о качестве воздуха, которым мы дышим, и как он влияет на нашу продуктивность и вообще качество жизни.

Проблема №1. Уровень углекислого газа CO2 напрямую влияет на продуктивность.

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

При этом каждому, кто живёт в квартирах с пластиковыми окнами знакома дилемма пластиковых окон: при закрытых окнах душно — уровень CO2 повышается до непродуктивного за два часа; при открытых — шумно, холодно, сквозняк (а иногда и насекомые). Эта статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.
Читать дальше →

Почему тяжело писать про хороший код?

Reading time12 min
Views19K

Всем привет. Меня зовут Гриша Дядиченко, и я технический продюсер. Почему так сложно писать про хороший код? Меня периодически спрашивают, почему я так мало пишу про архитектуру. В то же время я даже среди заказчиков встречаю мнение что “в Unity пишется только плохой код”. Чтож, давайте один раз попробуем, а точнее я попробую показать, почему это очень сложно. Разработаем вместе такую “простую вещь” как инвентарь.

Читать далее

Что будет, если от разработчиков не отстать: умирающая команда

Reading time11 min
Views61K
Мне досталась команда, которая болела. Все понимали, что происходит, никому не нравилось, что творится в команде, и традиционно менеджеры такие команды сильно режут. Но здесь были шансы вылечить и без ампутаций.


Источник

15 человек, из них — один руководитель проекта, три фронта, два бэка, три аналитика, девопс. Симптомы обычные: процессы всем не нравятся, соседи — козлы, потому что не то и не так делают, а как нужно — не знают, ответственности ни на ком толком нет ни за что.

Вроде бы когда-то это был настроенный конвейер, но теперь его куски — как будто в разных зданиях. Особо не заботятся о том, что было «до» и что будет «после». А если всё падает, то люди поднимают руки: «Я не виноват. Я не знаю, как поднять».

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

Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Читать дальше →

Простое понимание замыканий в Rust

Reading time5 min
Views11K

У вас бывало такое, что вы никак не можете скомпилировать код с замыканиями в Rust? Уже и все варианты Fn-трейтов перебрали, и move написали везде, где можно, а borrow checker все равно не унимается? И тут оказывается, что просто нужно внутри замыкания клонировать переданную переменную окружения! Сложно и непонятно. Дурацкий привереда Rust.


На самом деле довольно просто понять, почему так происходит и на что влияет move, а на что — клонирование. Но отсутствие подобного понимания я наблюдаю не только у начинающих программистов, но и у вполне зрелых. Хуже того, есть статьи, в которых это объясняется неправильно.

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

Information

Rating
8,068-th
Registered
Activity

Specialization

Chief Technology Officer (CTO), GPGPU Developer