Как стать автором
Обновить
30
0
Джон Петров @Zibx

Пользователь

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

Полезные команды GNU/Linux для разработчика. Часть 2

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

И снова приглашаем погрузиться в команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Напоминаем, подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. 

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

Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 2

3D анимация Флекса или простого танца через циклы в Maya

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

* Крокодил на главной картинке (КДПВ) красиво танцевал, но модераторы убрали гифку 5,79 МБ весом

Привет! Не так давно мне пришлось сделать более 20 анимаций цикличных танцев для разных существ в Аллоды Онлайн, в основном животных, но пайплайн к которому я пришел может пригодиться во многих цикличных анимациях.

Статья разделена на 2 части:

Теория:

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

Практика:

В практике гифки, скрины, кнопки и процесс создания анимации

Так что кто не любит читать и хочет сразу за станок, можете пропускать теорию)

Теория

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

 Условия и ограничения приводят к интересным пайплайнам.

Требовалось делать минимум 1 анимацию в день, вне зависимости от сложности рига.

Танец может быть простым, вплоть до одного цикла

Танец должен быть ритмичным и, естественно, восприниматься как танец, или хотя бы флекс).

Все это заставляет думать, какие танцы я буду делать, если у меня не так много времени?

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

How to Make Your Own C++ Game Engine

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

So you want to learn more about game engines and write one yourself? That's awesome! To help you on your journey, here are some recommendations of C++ libraries and dependencies that will help you hit the ground running.

Read more
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Создание игр для NES на ассемблере 6502: приступаем к разработке

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


2. Фундаментальные понятия


Содержание:

  • Работа с данными
  • Регистры процессора
  • Память
  • Как задаются данные
  • Как сделать данные человекочитаемыми
  • Соединяем всё вместе

Что такое компьютер?

Вопрос кажется простым, но он затрагивает самую суть того, что делаем мы как программисты. Пока скажем, что «компьютер» — это нечто, исполняющее программу. «Программа» — это просто последовательность команд, а под исполнением программы подразумевается, что команды выполняются с начала и одна за другой. (Если вы читаете программу и сами исполняете команды, то поздравляю! Вы — компьютер!)
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 1

Путь разработчика от исполнителя до тимлида

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

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 12

Как правильно подобрать момент публикации страницы игры в Steam

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

Ради бога, не объявляйте о своей игре и на заводите для неё страницу в Steam, как только приступите к разработке.

В прошлом году я много размышлял о наилучшей стратегии объявления новой игры. Похоже, на это есть две противоположные точки зрения. С одной стороны, Майк Роуз выступил на GDC с подробным докладом о том, как эффективно запускать страницу: Steam Wishlists GDC.

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

С другой стороны, специалист по маркетингу Крис AdventureMtn написал статью «Да, вам нужно прямо сейчас создать страницу в Steam», в которой он, по сути, рекомендует опубликовать страницу, как только вы начнёте писать об игре в Твиттер, даже когда в ней нет финальной графики и т. п.: Yes you need to create a Steam page right now.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

Экстенсивный подход. Как много техник можно обнаружить в одном образце вредоносного программного обеспечения (ВПО)

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

— "Прошу расшифровать трафик в адрес …" - описание задачи в трекере.

— "Давай, Морти! Приключение на 20 минут. Зашли и вышли." - ответил голос в голове.

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

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

Vite.js и Vue.js

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

Я нашёл только 3 статьи по Vite.js на Хабр, там были некие обзоры функционала и описание фишек данного инструмента.

Хорошо, тогда вопрос, что же это за инструмент такой и в чем преимущества использовать его при разработке? Если мы зайдем на официальный сайт - то здесь выделяется 6 основных фишек:

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 4

Токсины растений. User Stories

Время на прочтение 20 мин
Количество просмотров 32K
В прошлой статье я ввел классификацию растений по классам опасности их ядов и потом на каждый третий комментарий отвечал, почему в статье не упомянуто растение такое-то. Напоминал, а потом решил сделать небольшую ревьюшку «пользовательских угроз», т.е. растений, которые в комментариях вспомнили читатели и случаи отравлений которыми чаще всего упоминаются в СМИ. На сей раз без какой-либо классификации. Растение-токсин-метод лечения (если есть). Важное отличие большинства растений упомянутых ниже от «растений I класса опасности» (=Зонтичные) в том, что их достаточно просто определить даже человеку абсолютно далекому от ботаники. Продолжаем идентифицию фитотоксинов с Telegram-лабораторией LAB-66.


Проверь свои знания!
Всего голосов 48: ↑46 и ↓2 +44
Комментарии 41

Пишем свой dependency free WebSocket сервер на Node.js

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


Node.js — это популярный инструмент для построения клиент-серверных приложений. При правильном использовании, Node.js способен обрабатывать большое количество сетевых запросов, используя всего один поток. Несомненно, сетевой ввод — вывод является одной из сильнейших сторон этой платформы. Казалось бы, что используя Node.js для написания серверного кода приложения, активно использующего различные сетевые протоколы, разработчики должны знать, как эти протоколы работают, но зачастую это не так. Виной тому еще одна сильная сторона Node.js, это его пакетный менеджер NPM, в котором можно найти готовое решение практически под любую задачу. Используя готовые пакеты, мы упрощаем себе жизнь, переиспользуем код (и это правильно), но в то же время скрываем от себя, за ширмой библиотек, суть происходящих процессов. В этой статье мы постараемся разобраться в протоколе WebSocket, реализуя часть спецификации, не используя внешних зависимостей. Добро пожаловать под кат.

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

Как мы решаем проблему отсутствия UI\UX дизайна в 1С с помощью Java Script и React.js

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

Ранее уже писал о том, что в 1С UI\UX дизайна нет. Эта статья про то, как мы с помощью таких технологий, как Java Script, React.js и Google Firebase решили сделать web-сервис, который позволит с наименьшими трудозатратами, в сравнении с 1С: Конфигуратором и уже тем более 1C:EDT, прорабатывать UI и UX дизайн будущего приложения на 1С, корректировать его на лету и передавать в работу программисту уже согласованный прототип будущего бизнес-приложения.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 28

12 советов по внедрению TypeScript в React-приложениях

Время на прочтение 9 мин
Количество просмотров 36K
TypeScript — стандарт современной фронтенд-разработки. Согласно исследованиям State of JavaScript, TS вызывает явный интерес у программистов. По данным опроса за 2019 год, почти 60% респондентов пробовали TS и продолжают использовать, 22% не пробовали и желают изучить.

Эта статья — сборник советов о том, как внедрить и улучшить использование TypeScript. Первая половина советов общая, касающаяся подходов и инфраструктуры. Вторая — несколько особо полезных фишек языка.


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

SLAE — Security Linux Assembly Expert Exam

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

Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает разобраться в основах ассемблера и научиться писать простые шеллкоды. После прохождения курса вы научитесь пользоваться основными системными вызовами Linux'a, писать простые шеллкоды, начнете понимать базовые принципы работы операционной системы на уровне ядра. В данной статье будут рассмотрены задания, необходимые для прохождения экзамена по этому курсу.

По условиям экзамена необходимо выполнить 7 заданий:

  1. Написать TCP Bind Shell
  2. Написать Reverse TCP Shell
  3. Разобраться с техникой egghunter и предоставить пример этой техники
  4. Написать кодировщик кода
  5. Проанализировать 3 шеллкода, сгенерированных msfvenom'ом при помощи GDB/ndisasm/libemu
  6. Выполнить полиморфное преобразование 3 любых шеллкодов и shellstorm'а.
  7. Написать шифровальщик кода
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 3

Устройство Helm и его подводные камни

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

Typhon freight hauler concept, Anton Swanepoel

Меня зовут Дмитрий Сугробов, я разработчик в «Леруа Мерлен». В статье расскажу, зачем нужен Helm, как он упрощает работу с Kubernetes, что поменялось в третьей версии и как с его помощью обновлять приложения в продакшене без простоя.

Это конспект по мотивам выступления на конференции @Kubernetes Conference by Mail.ru Cloud Solutions — если не хотите читать, смотрите видео.
Всего голосов 43: ↑40 и ↓3 +37
Комментарии 10

Быстрое создание чиптюн-музыки на открытом ПО

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

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


Это то, что у меня получилось к концу туториала

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

Создавать музыку непросто. Но и не суперсложно. Да, можно стать музыкантом и изучать труд композитора и т.п., но мы делаем хобби-игру, поэтому таких знаний нам не требуется. Я пошагово объясню, как создать музыку.
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 18

Топология и комплексный анализ для ничего не подозревающего разработчика игр: сжатие единичных 3D-векторов

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

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

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

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

Немного о контексте (GPU)


Один из важных аспектов, на который стоит обращать внимание в разработке игр, а в более широком смысле — и в любой области с активным использованием графики — это пропускная способность GPU. Центральный процессор и GPU — отдельные физические устройства, и для обмена данными им требуется синхронизация. Если вы уже занимались параллельной обработкой, то знаете, что когда двум устройствам нужно синхронизироваться, это означает потерю значительного количества времени. Взаимодействие CPU-GPU в этом плане ничем не отличается, поэтому мы стремимся минимизировать передачу данных, как в количестве операций, так и в объёме передаваемых данных.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 12

Методы наименьших квадратов: текст, написанный программистом для программистов

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

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


Читать дальше →
Всего голосов 84: ↑80 и ↓4 +76
Комментарии 13

Шесть задачек для Front-End разработчика

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

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →
Всего голосов 46: ↑41 и ↓5 +36
Комментарии 43

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни)

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

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


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


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


На самом деле всё это может занять у вас меньше часа. Без знаний DevOps и совершенно бесплатно.


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

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib

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

Тут мы опишем работу некоторого поля а затем сделаем пару красивых фичей (тут все ОЧЕНЬ просто).



Что будет в этой статье.

Общий случай:

  1. Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy)
  2. Опишем материальную точку и поле взаимодействия

Частный случай (на основе общего):

  1. Сделаем визуализацию векторного поля напряженности электромагнитного поля (первая и третья картинки)
  2. Сделаем визуализацию движения частиц в электромагнитном поле

Встретимся под катом!
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 10

Информация

В рейтинге
3 869-й
Зарегистрирован
Активность