Как стать автором
Обновить
30
0
Фомченко Сергей @KoMaTo3

разработчик

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

Как найти похожие картинки

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

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

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

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

Что же делать? Конечно, призвать на помощью железную машину — пусть она сама ищет баяны.

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

Европейские альтернативы американским интернет-сервисам

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

Зашифрованное хранилище файлов CryptDrive.cz (Чехия)

Судя по последним событиям, Евросоюз начал по-взрослому давить на Google, Facebook и другие американские компании, которые собирают персональные данные европейских граждан и отправляют в США.

Например, в начале 2022 года популярный инструмент Google Analytics уже запретили к использованию в трёх странах Евросоюза. Чего нам ожидать дальше? Простая экстраполяция:

  • Во-первых, остальные страны ЕС запретят Google Analytics.
  • Во-вторых, они запретят другие американские сервисы.
  • В-третьих, действия ЕС скопируют некоторые государства «догоняющего развития» вроде РФ. Хотя необязательно эти государства думают о правах граждан. Просто считают их (граждан) своей собственностью по праву владения.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии24

Настраиваем просмотр IPTV в Plex Media Server

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

Телевизор в 2022 году это совершенно другая сущность, если сравнивать и смотреть со стороны даже 2010-х годов. А телевидение так и вообще ушло на второй план или вовсе не интересно пользователю.

Но если все же интересно ТВ, а домашний медиацентр развернут на Plex? Не волнуйтесь, он справится и с вещанием IPTV, нужно его только "научить". Рассмотрим все в деталях.

Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии64

Управление мультиваркой Redmond. Горячее ферментирование

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

Будучи поклонником здорового питания, увлёкся методом приготовления пищи с помощью горячего ферментирования. Смысл приготовления - щадящее нагревание в диапазонах 40-80 градусов в течение нескольких часов. Похоже на процесс "томления" из народных традиций. Для разных продуктов существуют свои температурные диапазоны работы естественных ферментов – природных катализаторов, которые преобразуют плохоперевариваемые вещества в пище в легкоусвояемые. Для приготовления нужно поддерживать температуру с нужной точностью и очередностью.

Вот один из способов
Всего голосов 29: ↑29 и ↓0+29
Комментарии27

Разбор алгоритмов генерации псевдослучайных чисел

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

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

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

Набор инструментов инди-разработчика игр

Время на прочтение7 мин
Количество просмотров19K
Доброго времени суток, начинающие игроделы!

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


Внимание: данный пост не рекламный, это лишь список программ, которые помогают мне в моих проектах.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии17

Web-приложение на C/C++ с помощью FastCGI — это просто

Время на прочтение20 мин
Количество просмотров111K
Добрый день.
В этой статье я бы хотел рассказать про протокол FastCGI и способы работы с ним. Не смотря на то, что сам протокол и его реализация появились ещё в 1996 году, подробных руководств по этому протоколу просто нет — разработчики так и не написали справки к собственной библиотеке. Зато года два назад, когда я только начал пользоваться этим протоколом, часто встречались фразы типа «я не совсем понимаю, как пользоваться этой библиотекой». Именно этот недостаток я и хочу исправить — написать подробное руководство по использованию данного протокола в многопоточной программе и рекомендации по выбору различных параметров, которым могли бы воспользоваться все желающие.
Читать дальше →
Всего голосов 102: ↑97 и ↓5+92
Комментарии104

Краткая история случайных чисел

Время на прочтение7 мин
Количество просмотров22K
«Когда я задался целью получить действительно случайное число, то не нашел для этого ничего лучшего, чем обычная игральная кость» — писал в 1890 году Фрэнсис Гальтон в журнале Nature. «После того, как кости встряхивают и бросают в корзинку, они ударяются друг о друга и о стенки корзинки столь непредсказуемым образом, что даже после легкого броска становится совершенно невозможным предопределить его результат».

image
(Игральные кости времён Римской Империи)

Как мы можем сгенерировать равномерную последовательность случайных чисел? Случайность, столь прекрасная в своём многообразии, часто встречается в живой природе, но её не всегда легко было извлечь искусственным путём. Самые древние из игральных костей были найдены на Среднем Востоке, и они датируются примерно 24 столетием до нашей эры. Другим примером может быть Китай, где ещё в 11 столетии до нашей эры применялось разбивание ударом черепашьего панциря, с дальнейшей интерпретацией размера полученных случайных частей. Столетиями позже люди разрубали несколько раз стебли растений и сравнивали размеры полученных частей.
Всего голосов 33: ↑31 и ↓2+29
Комментарии9

Nuklear — идеальный GUI для микро-проектов?

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

Nuklear — это библиотека для создания immediate mode пользовательских интерфейсов. Библиотека не имеет никаких зависимостей (только C89! только хардкор!), но и не умеет создавать окна операционной системы или выполнять реальный рендеринг. Nuklear — встраиваемая библиотека, которая предоставляет удобные интерфейсы для отрисовки средствами реализованного приложения. Есть примеры на WinAPI, X11, SDL, Allegro, GLFW, OpenGL, DirectX. Родителем концепции была библиотека ImGUI.


Чем прекрасна именно Nuklear? Она имеет небольшой размер (порядка 15 тысяч строк кода), полностью содержится в одном заголовочном файле, создавалась с упором на портативность и простоту использования. Лицензия Public Domain.

Читать дальше →
Всего голосов 109: ↑107 и ↓2+105
Комментарии80

Приглашаем на Russian AI Cup 2016

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

Седьмого ноября стартует Russian AI Cup 2016. Это ежегодный чемпионат по программированию искуственного интеллекта, организуемый Mail.Ru Group. Russian AI Cup проводится в форме игры, чтобы получилось наглядно, понятно и просто. Вкратце: участники создают алгоритм, который описывает игровую стратегию. Получившийся бот сражается с другими такими же, а лучший из них побеждает в раунде. Таким образом, из серии раундов организуется турнир, проходящий в несколько этапов.

С одной стороны, основная механика игры довольно проста и минимально рабочую стратегию реально написать за пару часов (для быстрого старта в чемпионате можно заглянуть сюда, там же можно найти небольшой tutorial). С другой же — в игре получилось много нюансов, и оттачивать стратегию, поднимаясь вверх по турнирной таблице, можно до бесконечности. В этом году предлагаем вам на месяц стать магом и сразиться на средневековом поле боя в MOBA-игре CodeWizards. Впрочем, обо всем по порядку.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии39

Технострим объявил месяц разработки игр

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


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

Под катом смотрите расписание интервью с нашими коллегами. Встречи будут проходить в прямом эфире на YouTube, поэтому, если вы пока не решались расспросить наших коллег об играх, вы можете сделать это онлайн. Первая трансляция будет уже сегодня! Время начала — 19:00.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии3

10 полезных сайтов с 2D ресурсами для игр

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


С развитием HTML5 и мобильных платформ 2D-игры возвращаются в моду. Заниматься такими проектами, будь то браузерные игры, игры на телефон или для ПК, стало легче благодаря таким инструментам, как Unity, и онлайн-ресурсам с игровыми ассетами. Ниже представлен список из 10 лучших сайтов с 2D-ресурсами для игр – как платными, так и бесплатными.

Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии2

10 тезисов инди-разработки, которые привели к успеху

Время на прочтение5 мин
Количество просмотров37K
Лет 10 назад, когда я только начинал свой путь в игровой индустрии, слово инди ещё никто не произносил, а игровые корпорации на постсоветском пространстве казались всем мифической сказкой. В те прекрасные времена, когда на игровом рынке только расцветали первые российские браузерки, мы с другом начали делать свой проект. Мы не считали себя предпринимателями или стартаперами. Нет. Вчерашние студенты, обычные игроки, фанатеющие по Варкрафту, Героям и другим классическим играм. Сегодня я хочу поделиться с вами личным опытом, полученным за время инди-разработки браузерной игры с нуля. Начинающие разработчики, это статья для вас.



Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии11

19 советов по повседневной работе с Git

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


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Всего голосов 152: ↑149 и ↓3+146
Комментарии62

Блок-схема для выбора STL-алгоритма

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


Третьего дня, во время сортировки старых закладок, попалась мне на глаза блок-схема с алгоритмом выбора STL-контейнера. «Почему же для контейнеров есть, а для стандартных алгоритмов нет? — подумал я. — Это необходимо исправить». Подумано — сделано. Сперва планировалось за пару часов нарисовать нечто простенькое, но в дальнейшем обнаружилось, что алгоритмы никак не хотят умещаться в простенькую схему. Я слегка увлекся, и спустя два вечера схема вобрала в себя 84 алгоритма, а также немного дополнительной информации. Под катом можно увидеть, что получилось в итоге.
Долой велосипеды!
Всего голосов 56: ↑52 и ↓4+48
Комментарии19

Практические советы по повышению производительности HTML и JavaScript

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


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

Скорость работы веб-приложений условно зависит от трех составляющих: 1) как устроена сетевая инфраструктура, через которую доставляются данные и код, 2) как работает браузер и 3) как, собственно говоря, написан ваш код, который браузер должен исполнять.

Все три компоненты постоянно улучшаются и оптимизируются. Например, в сетевом стеке определенные общие улучшения несет переход на HTTP 2.0. С точки зрения браузеров, все производители постоянно работают над улучшением своих движков. В случае Chakra в Microsoft Edge, помимо общего повышения производительности работы с JavaScript, мы добавляем поддержку специализированных средств вроде Asm.js и SIMD.js, призванных повысить эффективность кода в специфичных сценариях (в Firefox и Google Chrome — аналогично).

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

Наши коллеги Дорис Чен и Джон-Дэвид Далтон подготовили целый курс с практическими советами по улучшению производительности вашего кода на HTML и JavaScript. Вы можете посмотреть его на соответствующей странице в Microsoft Virtual Academy или под катом в виде отдельных роликов.

Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии1

Как два программиста хлеб пекли

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


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Всего голосов 380: ↑348 и ↓32+316
Комментарии328

Ад визуализации 1.1 — Книга 1: Обзор

Время на прочтение4 мин
Количество просмотров26K
Ад визуализации 1.1:
Недостаток знаний иногда может оказаться достоинством, потому что вы наивно говорите себе: «Пфф… разве это сложно?» и просто погружаетесь в проблему с головой. Я начал эту статью с размышления: «Хм… Что же такое Draw Call?». За время «5-ти минутного» исследования я так и не нашел удовлетворяющего меня объяснения. Я проверил часы и, так как до сна оставалось еще 30 минут, сказал…
Пфф… Разве это сложно написать самостоятельно?
… и просто начал. Это было два месяца назад и с тех пор я непрерывно читал, писал и задавал много вопросов.

Это было самое сложное и низкоуровневое исследование, которое я когда-либо делал, и для меня непрограммиста это был кошмар состоящий из «да, но в этом особом случае...» и «зависит от реализации API...». Это был мой личный ад визуализации, но я прошел через него и принес нечто с собой: Четыре книги, каждая из которых представляет собой попытку объяснить одну из частей визуализации с точки зрения художника. Я надеюсь, что вам понравится.
Книга 1: Обзор
Всего голосов 37: ↑34 и ↓3+31
Комментарии6

Документ с информацией о мобильных издателях и возможностях самиздата

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

О чем публикация


Хочу рассказать об одном документе. Его упоминания уже встречались на Хабре. Сразу даю ссылку — документ.

История создания


В марте 2013 года у меня был прототип одной мобильной игры, которую хотелось показать издателям. Беглый поиск показал, что если какие-то списки издателей найти еще можно, то вот реальных отзывов о сотрудничестве — кот наплакал. Ну, раз никто еще такого не сделал, то почему бы не я? С такими мыслями я начал стучаться всем знакомым разработчикам, кто работал с тем или иным издателем, с просьбой прокомментировать сотрудничество. Многие соглашались только на анонимных условиях (оно и понятно, ведь контракты были еще в самом разгаре). Собрав первые несколько отзывов, было решено открыть документ всем желающим на редактирование и попытаться его популяризировать. Это принесло определенные успехи, сейчас в документе отзывы о сотрудничестве почти с 50 издателями.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии7

Пишем на языке С/C++ в Windows под KolibriOS

Время на прочтение7 мин
Количество просмотров22K
image
KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на языке ассемблер. Это, конечно же, не означает, что другим языкам программирования путь в KolibriOS закрыт. К примеру, за время эволюции этой операционной системы было несколько попыток разработать инструментарий или адаптировать библиотеки для создания приложений на языке C/C++. В репозитории KolibriOS до сих пор есть работающие примеры, использующие ранние наработки адаптации C/C++ кода, например (root)/programs/games/kosilka или (root)/programs/system/shell, использующие разные подходы и обертки C/Asm.

На текущее время самой перспективной из существующих библиотек, на мой взгляд, является newlib. Она состоит из адаптированной libc, C-оберкой над основными coreAPI функциями и toolchain’а для сборки.

К сожалению, в KolibriOS нативного компилятора C/C++ еще не существует, текущий toolchain предполагает сборку приложений в ОС Windows или Linux.

Данная статья является инструкцией по настройке newlib для ОС Windows.

Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии4

Информация

В рейтинге
5 064-й
Откуда
Тула, Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность