Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Создал свой IT-стартап и выиграл грант на миллион рублей

Level of difficultyEasy
Reading time6 min
Views12K

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

Читать далее

Создание игр в Roblox: зачем детям изучать программирование на Lua

Level of difficultyEasy
Reading time6 min
Views3.6K

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

Ребята любят Roblox: на платформе можно создавать игры, делиться ими с друзьями и вместе играть. Плюс среды — возможность познакомиться со скриптовым языком разработки Lua: на нем предстоит программировать каждому ребенку, который выбрал «Роблокс» для обучения, а не только для развлечений.

Roblox Studio — хороший игровой движок: с помощью него можно создавать основы игр и редактировать 3D‑модели. В сочетании с платформой «Роблокс» он становится отличным инструментом начинающего разработчика, которым может стать даже школьник. В программе дети могут изучить основы твердотельного моделирования и развить пространственное мышление, а также написать свои первые скрипты, разработать и опубликовать полноценные игры. В этой статье я хочу рассказать больше о Roblox и Lua, а также отметить, чем они будут полезны для детей и подростков, увлекающихся геймингом и разработкой игр.

Читать далее

15 бесплатных видеоуроков по созданию игр для школьников

Level of difficultyEasy
Reading time7 min
Views4.8K

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

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

Для начала необходимо скачать Unity на компьютер, для этого есть подробная инструкция

Читать далее

Может быть мучительно больно: нюансы покупок гаджетов на онлайн-барахолках

Reading time5 min
Views10K

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

Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США

Level of difficultyEasy
Reading time5 min
Views71K

Что мы поняли, запустив простой конвертер картинок за 1 месяц в США. И как заработали 100 000 рублей за первые 3 месяца, хотя вокруг куча бесплатных аналогов.

Читать далее

Загрузочный 4G-модем, сёрфим в OS-невидимке Tails

Level of difficultyEasy
Reading time4 min
Views15K


Здравствуйте, уважаемые друзья!

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

Цель данной статьи — проиллюстрировать возможность использования 4G-модема в двух ипостасях одномоментно: как загрузочное устройство, и как устройство, обеспечивающее интернет-канал данных. В данном случае, операционные системы, установленные на SD-карту, могут быть разными, мы ограничимся Tails и Xubuntu. Будучи фанатом игры DOOM, запустим и её, как пример софта, установленного из репозитория.

Спойлер статьи такой: загружаемся с USB-модема, используя его возможность быть носителем информации, и выходим в интернет, через его же канал связи. Удобно? Решать вам.

Если попытка заинтриговать удалась — добро пожаловать под кат, увидите организованное мной решение. Может кому-нибудь будет полезно. Будут фото и видео-демонстрации.
Читать дальше →

CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно

Reading time8 min
Views10K

Привет, Хабр! Меня зовут Давид, еще недавно я был стажером YADRO, а сейчас работаю в отделе разработки ПО поддержки сетевой аппаратной части. У нас в команде есть большой проект на более 100 000 строк, написан на C++ (и частично на С). Код переписывался много раз, а за самим проектом на правах легаси особо никто не следил: работает — не трогай. Когда я пришел в команду, у меня была задача: привести код в порядок и отловить ошибки, которые пропускает компилятор — например, возможное разыменование нулевого указателя, неинициализированные переменные или простые опечатки. 

Одним из очевидных решений было использование статического анализатора. Выбрали довольно известное коммерческое решение, но долгие прогоны не привели ни к чему дельному. Решили поэкспериментировать с другими вариантами статических анализаторов, сделав ставку на open source. Поиски привели к инфраструктуре CodeCheсker, которая предоставляет удобный интерфейс запуска и настройки статических анализаторов через аргументы командной строки. С помощью инструмента удалось достичь результатов, которые значительно превысили значения, полученные на коммерческом решении.  

Под катом расскажу, что же такое CodeCheсker, как с ним работать и почему его точно стоит попробовать на большом проекте.

Читать далее

«Hello, (real) world!» на php в 2017 году

Reading time8 min
Views77K
Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

<?php
echo 'Hello, world!';

Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

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

Дело было вечером или Создаем веб-приложение за 5 часов

Level of difficultyMedium
Reading time10 min
Views11K



Привет, друзья!


В этой небольшой заметке я хочу рассказать вам о том, как я разработал игру с вопросами по JavaScript за один вечер, потому что, во-первых, мне было скучно :D, во-вторых, мне стало интересно, как быстро я смогу "запилить" подобный MVP.


Вот что мы имеем на сегодняшний день.


Интересно? Тогда прошу под кат.

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

Варварский, но практичный ремонт вырванной петли в ноутбуке

Level of difficultyEasy
Reading time3 min
Views28K
Приветствую, Хабр!



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

Как починить GoodbyeDPI, если он перестал работать 22.09.24

Level of difficultyEasy
Reading time1 min
Views527K

Решение нашел в комментариях оригинального гитхаба от ValdikSS (работает только для самой последней версии 0.2.3rc3-2).

Читать далее

Обход блокировок с помощью Double…

Reading time9 min
Views62K

В статье будут рассмотрены четыре независимых варианта прохождения трафика транзитом с помощью:

1) Double openVPN

2) openVPN + vtun

3) openVPN + tun2proxy через socks5 прокси

4) GOST + openVPN

Читать далее

Ассемблер для программистов на языках высокого уровня: Hello World

Level of difficultyMedium
Reading time6 min
Views34K

Если вы начинали изучение программирования с JavaScript, Rust, C или любого другого высокоуровневого языка, то ассемблерный код может показаться вам непонятным или даже пугающим.

Рассмотрим следующий код:

section .data
  msg db "Hello, World!"

section .text
  global _start

_start:
  mov rax, 1
  mov rdi, 1
  mov rsi, msg
  mov rdx, 13
  syscall

  mov rax, 60
  mov rdi, 0
  syscall

К счастью, по второй строке мы можем понять, что он делает.

Здесь нет ничего привычного нам: мы не видим ни условных операторов, ни циклов, нет никакого способа создавать функции… Да даже у переменных нет имён!

С чего же вообще начать?

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

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

Как мы задумали небольшую выставку, а в итоге открыли два неизвестных советских компьютера. Часть 1

Level of difficultyEasy
Reading time7 min
Views11K


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

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

Последние несколько лет были богаты на юбилеи. В конце 2022 года мы отмечали 120-летие со дня рождения отца-основателя отечественной вычислительной техники Сергея Лебедева, а в мае 2023-го — столетие другого генерального конструктора, Михаила Карцева. И одновременно исполнилось 40 лет «Агату» — одному из первых советских ПК и первому в нашей стране компьютеру, ориентированному на нужды школьного образования. К этому двойному юбилею было решено приурочить небольшую выставку в стенах музейного фондохранилища, о котором я рассказывал несколько лет назад.

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

Обновлено: Как я обнаружил проблемы у ЮМани (Сбербанк) с безопасностью и не получил денег за найденную уязвимость

Level of difficultyEasy
Reading time7 min
Views65K

Как известно, в России почти каждая первая финансовая организация позиционирует себя как софтверную IT‑компанию, а не просто как «банк» или «платежная система». Сегодня речь пойдет о ЮМани — подразделении Сбера, IT‑гиганта всея руси.

До того, как ЮМани стал тем, чем он сейчас является, сервис долгое время существовал как продукт Яндекса под названием Яндекс.Деньги — в те времена у меня был очень приятный опыт взаимодействия с техническим руководством компании, я неоднократно (будучи security researcher'ом) сообщал им об уязвимостях, а они, в свою очередь, оперативно это исправляли, давали обратную связь и вознаграждали за такую работу, аналогично тому, как это делали и зарубежные крупные IT‑компании в рамках взаимодействия с white‑hat хакерами. Такая вот IT‑компания здорового человека. Но с тем, как Сбербанк поглотил Яндекс.Деньги и провёл ребрендинг, проект стал превращаться, скорее, в IT‑компанию курильщика: взаимодействовать с представителями проекта в соц. сетях стало практически невозможно, какие‑либо данные на страницах о Bug Bounty программах были удалены и даже ни одного email‑адреса не оставили в качестве средства связи для сообщения об уязвимостях.

Пару месяцев назад я обнаружил уязвимость в сервисе ЮМани (о ней чуть позже) и сразу же решил сообщить о ней. Однако никаких релевантных этому форм связи, email‑адресов и т. д. я не обнаружил — способов безопасно сообщить о такой уязвимости элементарно не было на официальном сайте сервиса. Я попытался связаться с людьми, работающими в ЮМани, однако, опять же, я не получил никакой обратной связи. На этом моменте я, что называется, «забил», в надежде, что ошибку исправят и без меня, ведь не может же такая дырень оставаться незамеченной долго, правда? Спойлер: может.

Читать далее

Реверс-инжиниринг ресурсов игры LHX. Часть 2

Level of difficultyMedium
Reading time13 min
Views2.4K

Несколько лет спустя, после описанных в предыдущей части событий, в один прекрасный день, мне вспомнились собственно описанные в предыдущей части события, а после этого в мою голову пришел неожиданный (для меня) и довольно очевидный (для остальных) вопрос — а что именно я хотел извлечь из LHX? На что я логично ответил сам себе — а что вообще там есть? Опуская нюансы типа специфических кишок (как вычисляется попадание в противника, код отслеживания карьеры пилота и т.п), как и в любой игре, остаются, по большому счету, графика (движок + модельки/текстуры) и звук (движок + файлы звуков). Звук меня мало интересовал (в те годы у меня даже ковокса не было — я просто не знал о таком) — писк из спикера это всего лишь писк из спикера. А вот графика — да. И я наконец(!) понял, что хочу вытащить из игры именно модельки.

Итак, модельки

Prometheus: как Бог огня стал Богом мониторинга

Level of difficultyEasy
Reading time6 min
Views7K

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

Метрики собирает и анализирует Prometheus – гибкая система с открытым исходным кодом, являющаяся одним из самых распространенных инструментов для реализации мониторинга.

Цель данной статьи - рассмотреть процесс разработки сервиса мониторинга на основе Prometheus и оценить его значимость в контексте современной разработки программного обеспечения.

Читать далее

Вот такое кино. Компьютеры, хакеры и вирусы в художественных фильмах

Level of difficultyEasy
Reading time7 min
Views4.6K

Как написал в одном из своих романов Сергей Лукьяненко, «Кино – протертая кашка, обильно сдобренная сахаром спецэффектов, которую не надо жевать. Открой рот – и глотай…». И тем не менее, нам нравится смотреть фильмы — ведь это прекрасный способ расслабиться после напряженного трудового дня. Кто как, а лично я очень люблю голливудские блокбастеры, в сюжете которых встречается взлом какой-нибудь сверхсекретной системы или компьютерные вирусы. Потому что в подобных случаях даже самый залихватский триллер обычно превращается в смешную кинокомедию.
Читать дальше →

NFC-видеотека для моих детей

Level of difficultyMedium
Reading time9 min
Views9.9K

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

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

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

Несколько лет назад я увидел, как кто-то распечатал любимые музыкальные альбомы с NFC-меткой внутри, и решил сделать что-то подобное для своих детей.
Читать дальше →

Как я Капсулу Нео от VK исследовал

Level of difficultyMedium
Reading time11 min
Views17K

Всем привет!

Исправления давно в проде, а конфа OFFZONE 2024, на которой я выступил с этим докладом, закончилась — пришло время и на Хабре рассказать об исследовании умного девайса от VK под названием «Капсула Нео» (далее — «Капсула»).

О том, что мне удалось найти и с чем пришлось столкнуться за время проекта, читайте под катом.

Исследование шаг за шагом

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity