Pull to refresh
75
0
Zaur Nasibov @BasicWolf

Software Engineer

Send message

Как я ненапряжно ставлю цели на год после 10 лет в айти

Level of difficulty Easy
Reading time 9 min
Views 19K

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

Читать далее
Total votes 33: ↑27 and ↓6 +21
Comments 15

Sacred: ностальгия, прошедшая проверку временем

Level of difficulty Easy
Reading time 13 min
Views 15K
image

К 2004 году многие игроки уже успели насладиться Diablo II и хотели попробовать что-то новое, что-то, что подарит им те же ощущения и при этом предложит совершенно другой игровой опыт. В этот год вышла Sacred (или, как ее назвал официальный локализатор Акелла, «Князь тьмы»), и тоска по хорошим диаблоидам, несомненно, стала одной из причин ее популярности. Но только ли на этом пытались выехать разработчики, создавая игру, которая в последствии стала для многих любимой? Огромный (при этом бесшовный) и очень красочный мир, словно сошедший со страниц какого-то волшебного произведения, продуманная ролевая система и множество героев на выбор, включая довольно интересных и необычных для данного жанра персонажей, таких как вампиресса, демонесса или серафима. Проект влюблял в себя с первых минут и не отпускал еще долгие дни и недели.

Хочу признаться, что я не поддался чарам этой игры и до сих пор остаюсь верен своей любимой Diablo II. Однако хорошо помню, как все вокруг были увлечены Sacred. Все мои друзья с энтузиазмом обсуждали этот хит, и почти в любом игровом клубе моего города всегда можно было найти хотя бы один компьютер, на котором был запущен Князь тьмы. И, заметьте, это происходило в эпоху доминирования таких проектов, как Counter Strike 1.5 и 1.6, Starcraft и Warcraft 3, а также созданной для нее карты DotA! Даже мой друг, который не очень интересовался играми и залипал в основном в третью часть Героев, поддался влиянию этого игрового наркотика под названием Sacred!

Так что же было в ней такого, благодаря чему небольшая студия Ascaron Entertainment в одночасье проснулась знаменитой, а в её новый (на тот момент) проект с упоением играли во всём мире? В данной статье я постараюсь ответить на этот вопрос, ведь это был один из самых успешных конкурентов Diablo, что, согласитесь, очень достойное звание!
Читать дальше →
Total votes 62: ↑60 and ↓2 +58
Comments 27

Наконец-то не лопата! Обзор смартфона 8849 Tank Mini: компактный, защищенный, с мощным фонарем и лазерным дальномером

Reading time 13 min
Views 11K

Сбылась мечта тех, кто подыскивал себе защищенный смартфон в компактных размерах. Tank Mini собрал в себе максимум «хотелок» любителей практичных бронесмартфонов: компактные размеры, полную пылевлагозащиту, современный производительный чипсет, крупный аккумулятор, мощный уличный фонарь с несколькими режимами работы и набор полезных инструментов, среди которых особняком стоит лазерный дальномер. Смартфон также имеет несколько интересных решений, вроде цветных светодиодных полосок для уведомлений или дополнительных программируемых функциональных кнопок. В общем весьма интересная и необычная модель, которая заметно выделяется из серой массы безликих аппаратов. Изучаем, тестируем и анализируем новый смартфон Tank Mini от бренда 8849 (принадлежит компании Unihertz).

Читать далее
Total votes 50: ↑48 and ↓2 +46
Comments 69

Как уменьшить вес продуктовой анимации в 400 раз (без AI)

Level of difficulty Medium
Reading time 4 min
Views 9.8K

Все любят красивую и качественную графику, но обычно такая графика весит много и влечёт проблемы с её добавлением в дистрибутив проекта. А, возможно, и доработки по внешней загрузке или самое частое — сжатие с потерей качества. Каждый дизайнер хоть раз, да говорил «Вот бы можно было и качество сохранить, и отдать разработчикам легкие файлы…». Сегодня нет классных AI-решений для этой задачи, но в этой статье мы расскажем о том, как нам удаётся значительно ужимать графику с использованием растровых и векторных элементов, содержащей альфа-канал.

В статье мы ответим на следующие вопросы: Какой формат анимации с растровыми элементами выбрать для использования в мобильном приложении? Как уменьшить вес файла и не потерять качество картинки? И как со всем этим связаны Lottie-анимации?

Читать далее
Total votes 17: ↑13 and ↓4 +9
Comments 20

Взлом аппаратного ключа методом veni, vidi, vici

Level of difficulty Medium
Reading time 19 min
Views 15K

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

Задача: Сделать так, чтобы можно было пользоваться оборудованием. Дистрибутив софта, требующего ключ, есть. Работает он под Windows. Просроченный ключ есть. Оборудованию около 10 лет.

Ниже описан путь решения со всеми ошибками.

Прочитать историю
Total votes 188: ↑185 and ↓3 +182
Comments 26

Корпоративный куколдизм

Level of difficulty Easy
Reading time 8 min
Views 114K

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

Читать далее
Total votes 407: ↑318 and ↓89 +229
Comments 1149

Программисты всё вымирают и вымирают

Level of difficulty Easy
Reading time 18 min
Views 122K

Да вымереть не могут.

Откуда это всё пошло? Чем так условные «программисты» не угодили? И почему именно программисты?

Читать далее
Total votes 397: ↑385 and ↓12 +373
Comments 583

JavaScript однопоточный или многопоточный? Ставим точку

Reading time 11 min
Views 29K

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

Читать далее
Total votes 46: ↑40 and ↓6 +34
Comments 186

Oxlint — более быстрая альтернатива ESLint

Level of difficulty Easy
Reading time 4 min
Views 9K

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со своим предшественником ESLint?

Читать далее
Total votes 32: ↑32 and ↓0 +32
Comments 18

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов

Level of difficulty Medium
Reading time 43 min
Views 8.9K

Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изучал программирование много лет заняться геймдевом?". Обычно, есть два пути в геймдев:

Умышленный путь. Это когда человек, который играет в игры рано или поздно решит их создать. Тогда, он выбирает где ему учиться этому и выучивает игровые движки и C-образные языки к ним (чаще всего, C#).

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

Так зачем выбирать "сложный" путь? Во-первых, не для всех он сложнее. Лично мне сложнее перейти на C# с использованием Unity, чем написать новый проект на Python. Во-вторых, люди не всегда понимают сам движок. Сейчас я преподаю в институте "Бизнеса и Дизайна". Это один из первых профильных учреждений, занимающихся геймдевом. И вот у студентов я спросил зачем им движок. Каково было моё удивление, что далеко не все понимаю, вообще зачем он нужен. Спойлер, не из-за пресетов.

Всех заинтересовавшихся, приглашаю в мир змеиных игр!

Погрузиться в змееленд
Total votes 42: ↑42 and ↓0 +42
Comments 19

О троице, которая хакнула настоящий поезд. Даже целых 30 поездов

Reading time 10 min
Views 72K

Поезд, сделанный польской компанией, внезапно сломался во время техобслуживания. Специалисты были беспомощны — поезд был в порядке, только никак не хотел ехать. Доведённые до отчаяния, они вызвали на помощь команду Dragon Sector, члены которой нашли такие чудеса, о которых машинисты даже и не мечтали.

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

Читать далее
Total votes 256: ↑255 and ↓1 +254
Comments 282

Самая дешевая заводская панель управления умным домом, которая отлично работает

Level of difficulty Hard
Reading time 4 min
Views 75K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

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

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Total votes 106: ↑103 and ↓3 +100
Comments 126

Гексагональная архитектура со Spring Boot

Level of difficulty Medium
Reading time 19 min
Views 14K

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

В этой статье мы рассмотрим, как реализовать гексагональную архитектуру в Spring Boot приложении. Мы разделим бизнес-логику и инфраструктуру на отдельные модули и посмотрим, как можно изолированно реализовать и протестировать эти модули.

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

Читать далее
Total votes 17: ↑14 and ↓3 +11
Comments 4

Феномен постоянной Капрекара. Таинственное «число великой радости» 6174

Reading time 5 min
Views 44K

Чем же так занимательно число 6174? Казалось бы, это обычное натуральное чётное четырёхзначное число. Не лучше и не хуже, чем, скажем, соседние 6173 и 6175. Оно даже не является простым. Тем не менее, это число имеет своё собственное название — постоянная Капрекара. А ещё оно относится к так называемым «числам великой радости».

Давайте разбираться, что же в этом числе такого особенного. Займёмся несложными вычислениями...

Что же такого особенного в числе 6174?
Total votes 108: ↑103 and ↓5 +98
Comments 36

Как я наказал Firaxis или история о том, как перебрать бинарный движок через глушитель

Reading time 6 min
Views 113K
image

Речь пойдёт о далёком 2005 году, когда только-только вышла Civilization4 от Sid Meier. К тому времени я плотно висел в Civilization3, прошёл её раз дцать на самых разных картах, и тут вышла долгожданная четвёрка. Это были годы P3-512Mb для mid-end и P4-1Gb в hi-end. Только топовые конфиги в те годы имели два гига памяти на борту.

Civilization 4 вышла с графикой уровня года 2002-2003го, что в принципе нормально для мэинстрима тех времён, особенно учитывая что это пошаговая стратегия, а не шутер. Но жрала с течением игры до 900Mb оперативки, что приводило к жуткому свопу, особенно на больших картах, особенно к концу игры, особенно на ноутбуках. Народ недоумевал, я тоже. Учитывая, что в те же годы вышел Far Cry с куда более красивой графикой, и который вполне игрался на максимуме даже с 512Mb на борту, такое поведение Civilization 4 выглядело крайне странным. Захотелось разобраться и покарать…
Читать дальше →
Total votes 551: ↑547 and ↓4 +543
Comments 177

Создание анимированных видео в нейросети Stable Diffusion, пошаговое руководство

Level of difficulty Medium
Reading time 7 min
Views 36K

Друзья, всем привет, даже от меня вы уже не раз слышали, что в нейросетях сейчас можно делать буквально все: создавать тексты, генерировать музыку, делать дипфейки, создавать изображения и даже видео. Раньше генерировать видео можно было только в больших платных проектах типа Gen-2 от Runway или в пока еще бесплатном дискорд боте Pika Labs. Локальные решения были плохими или требовали топовых видеокарт.

Осторожно, много тяжелых гифок.

Читать далее
Total votes 39: ↑37 and ↓2 +35
Comments 27

Хуже, чем заключенные: как в Китае студенты тренируют ИИ

Reading time 8 min
Views 12K

Аннотаторы данных для ИИ — новая горячая профессия в IT. Несколько десятков тысяч человек работают на таких «плантациях» в Венесуэле, в том числе обучая умные пылесосы. Недавно я рассказывал о том, как это происходит в Финляндии за счет труда заключенных. За разбор картинок и оценку текстов от ИИ им там платят порядка €1,50 в час. Но самая большая индустрия аннотаторов данных на самом деле находится в Китае. И они здесь придумали свое решение, уникальное именно для этой страны.

Читать далее
Total votes 30: ↑24 and ↓6 +18
Comments 15

Игры, похожие на Starfield

Level of difficulty Easy
Reading time 15 min
Views 4.3K

Starfield — новая большая игра от Bethesda и Microsoft, которая разделила игроков на два лагеря. Первый считает ее лучшей игрой студии и одним из самых мощных релизов для Xbox. Другая же осталась разочарована тем, насколько многие потенциально интересные идеи «Fallout в космосе» остались сырыми и недоделанными. Если вы из второй группы или просто хотите похожего со Starfield опыта, то для вас мы собрали восемь игр, в которые стоит поиграть. Какие-то просто похожи на Starfield, какие-то реализуют ее идеи куда лучше.

Читать далее
Total votes 32: ↑27 and ↓5 +22
Comments 6

Сам написал, сам поиграл: как я написал 2D-игру для Android полностью с нуля, весом менее 1мб?

Level of difficulty Medium
Reading time 20 min
Views 16K
image

Многие программисты так или иначе имеют тягу и интерес к разработке игр. Немалое количество спецов было замечено за написанием маленьких и миленьких игрушек, которые были разработаны за короткое время «just for fun». Большинству разработчиков за счастье взять готовый игровой движок по типу Unity/UE и попытаться создать что-то своё с их помощью, особенно упорные изучают и пытаются что-то сделать в экзотических движках типа Godot/Urho, а совсем прожжённые ребята любят писать игрушки… с нуля. Таковым любителем писать все сам оказался и я. И в один день мне просто захотелось написать что-нибудь прикольное, мобильное и обязательно — двадэшное! В этой статье вы узнаете про: написание производительного 2D-рендерера с нуля на базе OpenGL ES, обработку «сырого» ввода в мобильных играх, организацию архитектуры и игровой логики и адаптация игры под любые устройства. Интересно? Тогда жду вас в статье!
Читать дальше →
Total votes 73: ↑72 and ↓1 +71
Comments 54

Сага распределенных транзакций

Reading time 8 min
Views 4K

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

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

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

У некоторых в команде уже был опыт работы с xa-транзакциями.
Довольно удобный способ, когда у вас есть несколько ACID СУБД. Процесс состоит из двух фаз.

Читать далее
Total votes 27: ↑26 and ↓1 +25
Comments 23

Information

Rating
Does not participate
Location
Азербайджан
Registered
Activity