Pull to refresh
60
0.1
Vladislav Khorev @Mephi1984

Developer

Send message

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time1 min
Views46K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее

Начинающие программисты боятся темноты

Reading time7 min
Views100K

Не могу больше. Это не моё. Я не тяну. Всю ночь не спал, ворочался, вставал, курил, читал, пытался смотреть телевизор, снова ложился… Ненавижу.

Всех, кто пишет эти радужные истории «войти в айти». Тех, кому я заплатил за курсы по программированию. «Друзей» и «советчиков», которые сказали: смело бросай свою старую, нелюбимую работу, и иди в программисты. Если бы вы только знали, о чём говорите…

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

Я один в темноте.

Читать далее

Как мы потратили на разработку игры 1.000.000 рублей, а заработали 80.000 рублей

Reading time4 min
Views67K

Мы в MozgoParty уже 3 года делаем онлайн-квизы. Для нас это отлаженный процесс, в котором мы хороши. Но примерно год назад в компании появилась идея сделать игру, непохожую на все то, что создавалось ранее. И выпустить ее MVP за три месяца. Да, мы оптимисты ;)

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

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

Еще через несколько встреч определились с форматом первого детективного дела – это должно было быть убийство в театре. Также решили, что игроку понадобится помощник – разумная электронная криминалистическая система, ну или просто Р.Э.К.С.

Читать далее

Концепция умного указателя static_ptr<T> в C++

Reading time11 min
Views17K

В C++ есть несколько "умных указателей" - std::unique_ptr, std::shared_ptr, std::weak_ptr. Также есть более нестандартные умные указатели, например в boost: intrusive_ptr, local_shared_ptr.

В этой статье мы рассмотрим новый вид умного указателя, который можно назвать static_ptr. Больше всего он похож на std::unique_ptr без динамической аллокации памяти.

Читать далее

Неклассические контейнеры в C++

Reading time17 min
Views51K

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

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее

Разбираем алгоритмы компьютерной графики. Часть 3 – анимация «Пламя»

Reading time6 min
Views14K

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

Читать далее

Стоит ли переезжать на Кипр по работе?

Reading time16 min
Views58K

На Кипре безопасно и есть работа в IT. Но просто так на Кипр теперь не попасть, да и визы в Республику Кипр не выдают, если только не релоцироваться через работодателя. Мы как раз посмотрели тематические чаты по Кипру с вакансиями и нашли несколько подобных компаний, изучили и собрали полезные ссылки. Вроде все хорошо, и можно писать статью в стиле «переезжайте на Кипр, там солнце, море, спокойно и деньги платят».

Но есть нюансы.

Читать далее

Как оплатить VPN без Visa и Mastercard

Reading time2 min
Views79K

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

Читать далее

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Reading time18 min
Views219K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе

Как незаметно стать антиваксером (возможно, это про вас) — ликбез для взрослых

Reading time18 min
Views37K


Как показала недавняя практика, в вакцинах в России разбираются в среднем никак.

Во-первых, их надо обновлять. Если вы не обновляли «детские» прививки, поздравляю, вы пассивный антиваксер и потенциально представляете опасность для общества.

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

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

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

Подготовка к шатдауну. Как общаться после отключения интернета

Reading time3 min
Views275K


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

Например, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов, в том числе 17 национальных, 26 региональных и 6 частичных (ограничения отдельных сервисов).

Частичный шатдаун предполагает избирательное отключение сервисов, например, VPN, мессенджеры, протокол HTTPS и так далее.
Читать дальше →

Рисуем генеративные грибы на javascript

Reading time8 min
Views18K

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

Читать далее

Lock-free структуры данных. Основы: Атомарность и атомарные примитивы

Reading time15 min
Views112K

Построение lock-free структур данных зиждется на двух китах – атомарных операциях и способах упорядочения доступа к памяти. В этой статье речь пойдет об атомарности и атомарных примитивах.

Анонс. Спасибо за теплый прием Начал! Вижу, что тема lock-free интересна хабрасообществу, это меня радует. Я планировал построить цикл по академическому принципу, плавно переходя от основ к алгоритмам, попутно иллюстрируя текст кодом из libcds. Но часть читателей требует зрелищ не мешкая показать, как пользоваться библиотекой, особо не рассусоливая. Я согласен, в этом есть свой резон. В конечном счете, и мне не так интересно, что там внутри boost, — опишите, как его применять! Поэтому свой эпический цикл я разделю на три части: Основы, Внутри и Извне. Каждая статья эпопеи будет относится к одной из частей. В Основах будет рассказываться о низкоуровневых вещах, вплоть до строения современных процессоров; это часть для почемучек вроде меня. Внутри будет освещать интересные алгоритмы и подходы в мире lock-free, — это скорее теория о том, как реализовать lock-free структуру данных, libcds будет неисчерпаемым источником C++ кода. В Извне будут статьи о практике применения libcds, — программные решения, советы и FAQ. Извне будет питаться вашими вопросами/замечаниями/предложениями, дорогие хабражители.

А пока я судорожно готовлю начало Извне, — первая часть Основ. Статья во многом не о C++ (хотя и о нем тоже) и даже не о lock-free (хотя без atomic lock-free алгоритмы неработоспособны), а о реализации атомарных примитивов в современных процессорах и о базовых проблемах, возникающих при использовании таких примитивов.
Атомарность — это первый круг ада низкий уровень из двух.
Читать дальше →

Почему Starlink от Маска — это скам

Reading time15 min
Views203K


В тоннелях Boring Company, построенных, чтобы не было пробок, теперь пробки. Cybertruck не поедет до 2023 года Но все это мелкие проблемы по сравнению с тем, чем обещает стать Starlink. Это главный проект Илона Маска, который должен спонсировать SpaceX, и собрать достаточно денег, чтобы обеспечить полет на Марс. Но он может стать и самой большой ошибкой.


1500 спутников уже запущены и работают, 145 000 пользователей в США и Канаде уже довольны своим интернетом. Тем не менее верить в успех этого проекта, скорее всего, преждевременно. И даже более того: возможно, нам будет лучше, чтобы это будущее никогда не наступило.


Осторожно, в тексте много цифр. И, если вы продолжаете верить в Starlink, он может вас сильно разочаровать.

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

Ещё один пример генеративных изображений

Reading time7 min
Views3.5K

Все любят генеративное искусство и всё что с ним связано (вот оно слева направо, в конце есть прикольные ссылочки).

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

Читать далее

Анатомия асинхронных фреймворков в С++ и других языках

Reading time20 min
Views47K
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

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

Пишем синхронный сервер


Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего:

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →

Бесплатный левел-дизайн, или как строить ландшафт в реальном времени на UE4

Reading time16 min
Views12K

Всем привет! Меня зовут Влад Маркелов, и сегодня я расскажу, как можно бесплатно и быстро создавать огромные игровые уровни и как в реальном времени строить ландшафт по информации из Интернета.

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

Читать далее

Географический Арбитраж: лучшие страны для удалённой работы + мой топ локаций

Reading time9 min
Views32K

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

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

В конце статьи делюсь своим личный рейтингом городов для релокации!

Завести трактор!

[Личный опыт] Почему Латвия — неплохой старт для переезда в Европу, но оставаться здесь не стоит

Reading time6 min
Views40K

Латвия определенно не находится в топе стран для релокейта: зарплаты и условия жизни тут не конкурируют с немецкими, нидерландскими или испанскими. Но вакансий в IT здесь немало, в том числе для русскоязычных специалистов, у которых пока мало опыта. Мы поговорили с frontend-разработчиком, который два года назад перебрался в столицу Латвии, Ригу. Он расскажет, откуда здесь вообще спрос на IT-инженеров, как в стране живется и стоит ли оставаться тут надолго.

Читать далее

Information

Rating
2,983-rd
Location
Бишкек, Кыргызстан, Кыргызстан
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Game Developer
Lead
From 550,000 ₽