Социальные сети Рунета
Четверг, 18 апреля 2024

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

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

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

Как случайно продолжить писать Web-GUI для Haproxy Прошло два года и 4 дня, как я написал Как случайно написать Web-GUI для Haproxy, а воз уже давно не там — все меняется и развивается и HAProxy-WI старается соответствовать этой тенденции. За два года было проделано много работы, об основных изменениях я и хочу сейчас расска...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

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

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

Как разрабатываются моды для Unity-игр. Часть 1: внедряемся в код игры У большинства игр нет официальной поддержки модов, но при этом постоянно появляются новости о том, как моддеры добавляют в игры что-то новое. Обычно речь идет про замену моделей, текстур или музыки, но бывают и полноценные новые игровые механики, т.е. моддеры внедряются в ко...

[Из песочницы] Реактивная разработка Telegram бота Доброго времени суток, Habr'овчане. В поисках различной информации по разработке бота для чата Telegram в сети Интернет обнаружил, что все tutorial'ы хоть и достаточно полны различными механиками взаимодействия с библиотекой «telegram-bot-api», никто не пришёл к умозаключен...

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

[Из песочницы] Играем музыку из Mario на системном динамике Предисловие Привет, Мир! Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной рабо...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

Как написать плагин для Фигмы: проблема, MVP, решение Привет, я Саша Катин, дизайнер продукта в Авито. Примерно за месяц я написал плагин для Фигмы, чтобы помочь коллегам-дизайнерам. В статье расскажу, что получилось хорошо и быстро, а что — не очень, и что нужно сделать, чтобы запустить свой энтерпрайз-плагин внутри компа...

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

[Из песочницы] Аналитика для Telegram-ботов, написанных на Python На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бот...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций Вместо эпиграфа Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта? Выбор был прост: “админом” или “в Москву”. Или уйти из профессии. Сейчас я преподаю веб-разработку в местных ВУЗ...

Как я сделал Discord бота для игровой гильдии с помощью .NET Core Всем привет! Недавно я написал Discord бота для World of Warcraft гильдии. Он регулярно забирает данные об игроках с серверов игры и пишет сообщения в Discord о том что к гильдии присоединился новый игрок или о том что гильдию покинул старый игрок. Между собой мы прозвали эт...

[Перевод] Отложенное применение функционала директив в Angular Недавно мне надо было решить задачу по смене старого механизма для вывода всплывающих подсказок, реализованного средствами нашей библиотеки компонентов, на новый. Я, как всегда, решил не заниматься изобретением велосипеда. Для того чтобы приступить к решению этой задачи, я з...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Создаём с нуля высоконагруженное приложение на Tarantool В 2013 я пришел в Mail.ru Group, и я решал задачу, в которой мне нужна была очередь. Есть много разных инструментов для построения очередей, но я решил для начала узнать, что уже имеется в компании. Услышал, что есть такой продукт — Tarantool. Узнал, как он устроен, и мне п...

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Перевод] История создания Dizzy Оставленный без внимания профильными изданиями, но любимый игроками, Диззи был феноменом среди блокбастеров в Великобритании середины 80-х. А история о том, как улыбающееся яйцо три года доминировало в топах программного обеспечения, — это наглядный пример «программирования ...

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

[Из песочницы] Автоматизация инструментов Qt Здравствуйте уважаемы хабровчане, не так давно я увлекся программированием на Qt и после написания нескольких программ встал вопрос о том, как развертывать программы на других компьютерах. Как выяснилось делать это не совсем удобно, поэтому я решил написать простенькую небол...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

[recovery mode] Хочешь заработать миллион? Всем известна фраза Рона Хаббарда «…хочешь заработать миллион — создай свою религию», которую он выдал в 1950 году. Тогда он создал ещё одну деструктивную секту, можно это было в 60-х в США — которая до сих пор пытается утвердиться в мире, как религия. Хотя, сорри, друзья. ...

Ошибки в JavaScript: исправляем, обрабатываем, чиним Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодн...

IDA Pro: работа с библиотечным кодом (не WinAPI) Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от ...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому ...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

Учим AI Dungeon говорить по-русски Недавно ребята из сбер(-банка) анонсировали и выложили в свободный доступ свою модель gpt-3 и я понял, что можно наконец то реализовать свою давнюю мечту - сделать AI dungeon для русского языка. Данная игра сильно выстрелила в прошлом году, про нее было написано множество ст...

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

Российские пасхалки в мобильных приложениях. Какие они? Привет, Хабр! Уже завтра День программиста (12.09.2020), и специально к нашему профессиональному празднику я написал не хардкорно-технический пост, а лайтовую статью о маленьких, не всегда очевидных фичах, которые хоть и не часто, но встречаются в мобильных приложениях и не ...

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

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

[Из песочницы] Пособие начинающего серфингиста или жизнь программиста в Португалии Привет! Статью о своём опыте в Португалии хотелось написать уже давно, но природная скромность лень не позволяла. Среди ранее опубликованного на Хабре можно почитать Португалия. Лучшие пляжи и тысяча стартапов в год, а также хороший обзор от QA Вадима на Доу — Почему Порту...

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

[Из песочницы] Типобезопасная работа с регистрами без оверхеда на С++17: value-based метапрограммирование С++, благодаря своей строгой типизации, может помочь программисту на этапе компиляции. На хабре уже довольно много статьей, описывающих как, используя типы, добиться этого, и это прекрасно. Но во всех, что я читал, есть один изъян. Сравним с++ подход и си подход с использова...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

[Из песочницы] Как и зачем делать очередь на двух стеках Привет, Хабр! Данный пост написан для новичков в олимпиадном программировании и начинающих разработчиков, готовящихся к прохождению алгоритмических интервью. В конце бонусная задачка. Если заинтересовал, прошу под кат :) Читать дальше →

[Перевод] Фрактальное сжатие изображений Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github. К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию. Читать ...

[Перевод] Как мы оптимизировали скрипты в Unity Существует множество отличных статей и туториалов о производительности в Unity. Этой статьёй мы не пытаемся заменить или улучшить их, это всего лишь краткое изложение шагов, сделанных нами после прочтения этих статей, а также шагов, позволивших решить наши проблемы. Настояте...

[Из песочницы] Serverless и полтора программиста В повседневной продуктовой разработке, запертой в корпоративных технологических ограничениях, редко выпадает случай шагнуть за грань добра и зла в самое пекло хипстерских технологий. Но, когда ты сам несешь все риски и каждый день разработки вынимает деньги из твоего собств...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

Разработчик The Order: 1886 заявил, что PS5 станет одной из самых прорывных консолей в истории Некоторые были разочарованы недавней презентацией Sony PlayStation 5, технические характеристики которой оказались слабее Xbox Series X (хотя SSD, например, — вдвое быстрее). Однако Андреа Пессино (Andrea Pessino) из студии Ready at Dawn считает, что игроки быстро изменят св...

Как учить немецкий язык онлайн: месяц 1 Ни для кого не секрет, что программист — востребованная профессия по всему миру. Многие программисты не против получить оффер из-за рубежа, но для того, чтобы это стало реальностью, желательно не только быть первоклассным специалистом в своей области, но и знать, помимо англ...

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового. Для исправ...

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

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

Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать В 2017 двое ученых, канадец John Aycock и британка Tara Copplestone, опубликовали анализ классической игры Entombed для игровой приставки Atari 2600. Механика этой игры, выпущенной в 1982, крайне проста: археолог, управляемый игроком, должен пробраться по прокручивающимся ...

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

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

Управляйте своей футбольной командой в предстоящем симуляторе Soccer Manager 2021 Практически весь мир любит футбол. У каждого есть своя любимая футбольная команда. Но если она проигрывает, то так и хочется сказать: «Вот если бы я был менеджером этой команды, то она бы прошла в самую высшую лигу». Если так, то ваш момент скоро настанет — новая часть футбо...

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

[Перевод] Пять знаменитых цитат о программировании с объяснениями Стать программистом значит подписаться на обучение длиной в жизнь. Поток нового – новые функции, новые языки, новые инструменты, новые фреймворки – не иссякает никогда. Но вместе с тем, программирование – на удивление верная традициям сфера, где все основывается на принцип...

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Говорящий плеер на raspberry Приветствую всех. У меня проблемы со зрением, увлечение мое — программирование. Как то в недалеком прошлом я узнал об одноплатном компьютере raspberry, описание меня впечатливо и я приобрел его. Так, как официальный дистрибутив — raspbian, основан на debian, думал включу с...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

IT-валентинка: 53 способа признаться в любви Однажды на Zoom-созвоне нашей команды нить дискуссии ушла за пределы планируемого. На удаленке такое часто случается, потому что всем не хватает обычного «кухонного» общения в офисе. Разговор начался с итальянской книги, где на всех языках мира написано «Я тебя люблю». Пото...

Как работать с Tarantool на Golang вместо Lua Ядро Tarantool-а написано на C, а вся бизнес-логика создаётся на Lua. Это не самый сложный язык, но и не самый популярный. Поэтому сегодня я расскажу, как начать работать с Tarantool, написав всего три строчки кода на Lua. А всё остальное приложение написано на Golang. Чтоб...

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

VKWave — фреймворк для разработки ботов ВКонтакте Привет, Хабр! Сегодня я хочу рассказать о замечательной библиотеке для разработке ботов ВКонтакте с помощью языка программирования Python. VKWave VKWave — это фреймворк для разработки ботов ВКонтакте, написанный с помощью asyncio. Основные цели проекта — дать возможность ра...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Mein Linux На Хабре в последнее время появилась серия холиварных статей: Семь причин, почему Линукс Главная причина, почему не Linux (от автора предыдущей статьи) Главная причина, почему все-таки Linux В этих статьях и комментариях к ним много говорили о коммунизме, цельности системы, ...

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

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

[Перевод] Пол Грэм про Java и «хакерские» языки программирования (2001) Это эссе явилось развитием бесед с несколькими разработчиками на тему предвзятого отношения к Java. Это не критика Java, а скорее, наглядный пример «хакерского радара». Со временем, хакеры развивают нюх на хорошие — или же плохие — технологии. Полагаю, может оказаться инт...

Работающая геймификация: Octalysis Framework Привет, Xабр! Меня зовут Роман, и я продакт! В последнее время много увлекаюсь темой геймификации в digital-продуктах. Это понятие уже давно является популярным, и, наверное, не существует человека из мира IT, кто бы ни разу не сталкивался с этой темой в той или иной форме. ...

[Перевод] Пионер программирования компьютеров Тони Брукер скончался в возрасте 94 лет Познакомившись с Аланом Тьюрингом, Брукер отправился работать в Манчестерский университет и написал язык программирования для первого коммерческого компьютера Тони Брукер, справа, с коллегами из Университета Эссекса в 1972 году Тони Брукер, математик и специалист по информ...

[Из песочницы] STM32 с чистого листа Нельзя доверять коду, который вы не написали полностью сами. — Кен ТомпсонПожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяц...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

[Перевод] Крупные компании, использующие Node.js Node.js — это серверная среда выполнения JavaScript, исполняющая код вне браузера. Эта технология идеально подходит для многих веб-сайтов, специализирующихся на стриминге, играх, тайм-трекерах, приложениях соцсетей и т.п. Она обеспечивает масштабируемое и быстрое решение д...

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

[Перевод] “Чистый код”: пять ключевых моментов из обязательной к прочтению книги для программистов Недавно я написал о «Пять книг, которые изменили то как я кодирую». В комментариях несколько читателей рекомендовали «Чистый код» Роберта С. Мартина. В результате я прочитал книгу и нашел ее достойной углубленного обзора. Читать дальше →

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

[Перевод] Реализация алгоритма Минимакс на примере игры «Крестики-Нолики» Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь. Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, ...

[Перевод] Kha vs HTML5: Компилируем JavaScript в C++ Предлагаю вашему вниманию перевод доклада Роберта Конрада с прошедшего в октябре прошлого года HaxeUp Sessions 2019 Linz. Данный доклад посвящен процессу портирования на консоли игры CrossCode, изначально написанной на HTML5. Если вам понравится перевод, то рекомендую также ...

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

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

[Перевод] Как написать игру за месяц, не отвлекаясь от основной работы MoonGun — игра в жанре экшен/стратегия о защите лунной базы от астероидов. Игра была создана Ивенсом Серпой — автором множества статей о геймдизайне — в рамках Github Game Off Game Jam в ноябре 2020 года. Занимался он ей в одиночку в свободное от работы время. Игра получил...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

Обзор ПокерДом в 2020 году: на что обратить внимание, если вы хотите начать игру в руме Почему стоит начать игру на ПокерДом в 2020 году: обзор покерного рума    Мы решили написать небольшой обзор ПокерДом — с ним вы сможете быстро определить, подойдет ли вам российский рум для игры на реальные деньги.  PokerDom — это комната, которая работает чуть б...

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

[Перевод] Дзен Go Оценивая свою работу, я недавно много размышлял о том, как мне писать хороший код. Учитывая, что никто не интересуется тем, как писать плохой код, возникает вопрос: как узнать, что ты написал на Go хороший код? Если есть какая-то шкала между хорошо и плохо, то как понять, ...

«Раз, два, три – ёлочка гори!» или мой первый взгляд на контроллер CANNY 3 tiny «Новый год» это мандарины, оливье, выходные и конечно же подарки. Как вы, уже наверняка догадались я неожиданно стал обладателем микроконтроллера CANNY 3 Tiny. Правда я особо DIY электроникой не увлекаюсь и последний раз сам пытался что-то подключить к контроллеру почти сем...

[Перевод] Преобразование графов для процедурной генерации уровней Я много занимался деконструкцией инди-игры 2017 года Unexplored Джориса Дорманса. Она идеально воплощает идею процедурно генерируемых подземелий в стиле Zelda, и я обязан был выяснить, как происходит эта магия. К счастью, основная часть логики генерации написана на специали...

Изучаем английский с помощью Telegram бота Нет, это не одна из сотен статей о том, как написать свой первый Hello World бот на Python. Здесь вы не найдете подробной инструкции, как получить API-токен в BotFather или запустить бота в облаке. Взамен я вам покажу как раскрутить всю мощь Python на максимум, чтобы добить...

[Из песочницы] Программные IP-АТС и нагрузочное тестирование Всем доброго дня! Вот уже несколько лет я занимаюсь IP-телефонией и стал замечать, что хоть и Интернет полон информации, я говорю не только про российский сегмент, но найти иной раз нужную можно только на каком-либо “заброшенном форуме”, а то ее и вовсе нет. Если информации ...

Пишем плагин отладки для SNES игр в IDA v7 Приветствую, Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить). Читать дальше →

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

[Из песочницы] Основные недостатки языка Python Язык программирования Python славится своей простотой и лаконичностью. Немногословный и понятный синтаксис, похожий на псевдокод, а также сильная динамическая типизация способствуют быстрому и безболезненному обучению новичков. Интерпретатор языка берёт на себя всю низкоуров...

[Перевод] Повествование через окружение или почему кат-сцены не панацея Dead Space в свое время высоко оценили не только за атмосферу и геймплей, но и за дизайн окружения, через который игроку подавалось повествование. Один из таких находится в самом начале игры, когда игрок прибывает на космический корабль «Ишимура». Игрок попадает в слабо ос...

Персональный Лас-Вегас, или игра в браузерном расширении Недавно у нас с другом зашел разговор о карточных играх. Он сказал, что умеет играть только в покер, но и то давно этого не делал, потому что забыл все комбинации. Вот и поговорили… Я вспомнил, что пару лет назад я написал пять карточных игр, включая покер Техасский Холдем,...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

Карточная игра «Дурак» на двух M5Stack Цель урока Сегодня мы напишем сетевую карточную игру на двух игроков. Какую игру написать? Давайте напишем популярную карточную игру "Дурак", цель которой — избавиться от всех карт. Подробнее о правилах Вы можете узнать здесь. Рисунок 1. Читать дальше →

Графики в Vuejs Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если н...

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

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

Как заставить машину написать тесты из кода за тебя Мы живем в неидеальном мире. Здесь код пишут люди, а люди по своей природе склонны совершать ошибки. Все бы ничего, ошибки можно отловить на этапе тестирования и не дать им никому навредить. Можно, если писать тесты. Чего люди делать почему-то не любят. Но возможно, есть над...

[Из песочницы] Получение видео из Tik Tok без водяного знака Добрый день, всем любителям habr. В этой статье я хочу поделиться с Вами как можно получить видео с Tik Tok без водяного знака, с помощью такого языка как PHP. В настоящее время Tik Tok набирает популярность и было бы не прилично не написать про него маленькую статейку, и ...

Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле Привет, Хабр. Итак, в прошлый раз мы эмпирически доказали, что на хаскеле можно довольно легко написать этакий игрушечный wc, который при этом существенно быстрее реализации wc из GNU Coreutils. Понятное дело, что это не совсем честное сравнение: наша программа не умеет ниче...

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

[Перевод] Создание псевдотрёхмерной гоночной игры В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun… … и я очень любил Outrun — ско...

[Перевод] Руководство по FFmpeg libav Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg в качестве библиотеки (в дальнейшем в тексте — libav, т.е. library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая,...

Что умеет Dialogflow? 26 ноября в Москве прошла третья в своей истории Conversations – конференция по разговорному искусственному интеллекту для разработчиков и бизнеса, на которой был представлен новый доклад компании «Аэроклуб ИТ». В прошлый раз речь шла об одном из наших исследовательских пр...

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

Как превратить любой скрипт в Telegram-бота Если вам нужен простенький Telegram bot, способный выполнять скрипты (написанные на любом языке) и отвечать текстом и картинками, то вам под кат. Там вы найдёте рассказ о бот-движке, который делает то, что вам надо. Читать дальше →

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

Секретная информация? Используй 2FA для VPS/VDS Часто задаваемый вопрос, как надежно защитить свой VPS / выделенный сервер от взлома? Поэтому я решил написать инструкцию о внедрении двухфакторной аутентификации. 2FA является вторым уровнем защиты данных, благодаря которому получить доступ к учетной записи можно только ...

Джентльменский набор программиста UE4, ч. 3 Данный вопросник является дополнением и логическим завершением темы "джентльменского набора", поднятой ранее. Разработка игр — весьма комплексная индустрия, с очень широкими набором технологий и подходов, при этом базис у всех этих вещей на самом деле общий. Этот список созд...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

[Перевод] 13 игр, в которые можно поиграть, взломать и убить ими эти выходные В конце ноября у нас стартует новый поток курса Разработчик игр на Unity и C#, и специально к нему мы делимся подборкой игр на тему Хеллоуина. Все они создавались на соревнованиях вроде Ludum Dare, JS13K и Game Off. Игры написаны на разных языках и движках, причём некоторые ...

[Перевод] Джон Ромеро о Doom: 25 лет Rip & Tear Быстрый. Брутальный. Хардкорный. Беспощадный. Это Doom. «Doom – ‘nuff said!» Именно так должен выглядеть постмортем одной из самых важных игр в истории. Doom написал историю игр, Doom — это поп-культура, Doom — имя, символизирующее скоростные, хардкорные и беспощадные шуте...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Пишем простой WYSIWYG-редактор с помощью ProseMirror Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор п...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

Мой бот для Russian AI Cup 2019 Так уж получилось, что этот чемпионат стал для меня первым, где я смог занять достойное место, за которое не стыдно, поэтому и статью решил тоже написать только сейчас. Путь, которым я шел к этому месту: 1192-е место на чемпионате 13-го года, 241-е на чемпионате 17-го года...

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

Реклама на YouTube: достучаться до программистов Известный американский маркетолог Стюарт Бритт говорил: «Вести бизнес без рекламы – всё равно, что подмигивать девушке в темноте: вы-то знаете, что вы делаете, а остальные – нет». Сложно не согласиться, ведь недостаточно просто создать продукт — чтобы им пользовались, нужно...

«Программирование лучше секса» Эту фразу на заре своей трудовой деятельности я услышал от начальника отдела АСУ одного из Советских заводов, когда он предлагал идти работать к нему в отдел. Естественно, тогда я не считал, да и сейчас не считаю, что программирование может быть заменой хорошему сексу. Но...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

[Из песочницы] Простейший тренажер английских слов с использованием Питона и Балаболки Существует большое количество различных методик изучения иностранных языков вообще и английского в частности. Но какая бы методика ни была, учить слова все равно надо. Для этих целей есть очень много различных тренажеров с выбором слов для изучения. Тем не менее, их возмож...

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

Mockito. Из чего он приготовлен и как его подавать? Думаю, многим довелось выпить какой-нибудь напиток, который глубоко впился в наши вкусовые рецепторы, что нам хочется пить его каждый день. Так вот для меня таким «напитком» стал Mockito. Один раз написав простенький тест, можно вернуть себе веру в магию. Я всё ещё помню, к...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Как Программисту 1С стать Java developer'ом Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а кол...

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

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

«Отдых — это непросто»: Андрей Бреслав о жизни после Kotlin Для многих в IT-сообществе имя Андрея Бреслава было почти синонимичным с названием языка программирования: «мы говорим Бреслав, подразумеваем — Kotlin». Неудивительно, поскольку Андрей возглавлял этот проект десять лет подряд, с самого его создания. Но теперь ситуация измени...

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

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

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

[Из песочницы] Как я учу детей Питону Моя основная работа связана с данными и программированием на R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда прост...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

Podlodka #161: Инди игры Чтобы сделать свою собственную игру, нужно разобраться в игровых движках, научиться рисовать, написать сюжет, деконструировать геймплей чужих проектов и рассчитать баланс собственного...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

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

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

[Из песочницы] История одного программиста с биполярным расстройством Привет, Хабр! Мне 33 года и у меня биполярное аффективное расстройство (БАР). В настоящее время тема психических расстройств все еще покрыта стигмой, поэтому я считаю нужным поделиться своей историей, чтобы тех программистов из нас, у которых есть ментальные отклонения, восп...

[Перевод] Глубокое обучение на Kotlin: альфа-версия KotlinDL Привет, друзья!Сегодня мы расскажем о первой предварительной версии KotlinDL (v.0.1.0) — высокоуровневого фреймворка для глубокого обучения, похожего на Keras, но написанного на Kotlin. В нем есть простые API для создания, тренировки и развертывания моделей глубоко...

Что скрывается за VestaCP Вряд ли сейчас кому-то может прийти в голову мысль написать свою панель управления сервером: интернет давно прикипел к ISP, cPanel, Plesk и десятку их аналогов. Все «взрослые» панели умеют примерно одно и то же, различаясь лишь интерфейсом, уровнем поддержки и специфически...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

Релокейт-обзор: 10 стран для переезда ИТ-специалиста В нашем блоге мы много пишем о вопросах поиска удаленной работы и релокейта. Мы регулярно собираем личные истории российских инженеров, разработчиков, дизайнеров и продакт-менеджеров, в которых они рассказывают о том, как им живется на новом месте. И все равно регулярно ...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

[Из песочницы] Instagram api на минималках Все началось с того, что я захотел сделать канал в инстаграме потратив на поиски и тесты сервисов авто публикаций целый день, далее я решил посмотреть на готовые пакеты гитхаба я удивился на размер кода этих пакетов (некоторые фреймворки php меньше чем эти обертки над инст...

Timetracker для Youtrack: DIY Есть замечательное приложение T-REC позволяющее трэкать время, потраченное на задачи в Youtrack, и записывающее его в таску. Но автор забросил его больше двух лет назад, плюс старые зависимости, постоянная загрузка одного ядра (тут видимо виноват electron) и периодические па...

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

[Из песочницы] Самодельный автопилот на одноплтаном компьютере (SBC) Tinker board и Arduino DUE Идея постройки автопилота появилась примерно 2 года назад. Хотелось создать полностью автономный аппарат способный добраться из точки А в точку Б с возможностью ухода от столкновений и облёта преград, способного преодолевать зоны глушения или отсутствия спутникового сигнал...

[Из песочницы] Помощник в проведении технического интервью и совместный кодинг Сколько мне довелось пройти технических собеседований на фронтенд разработчика, столько разных способов и инструментов на них использовали интервьюеры. Чат в одном месте, созвон в другом, кодинг в третьем. «Ой, что-то не работает этот сервис, а расшарь-ка экран. Ой, код р...

Локализация React приложении Всем привет! До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон). Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то ...

[Перевод] Алгоритм обратного распространения ошибки на примере Word2Vec Поскольку я столкнулся с существенными затруднениями в поисках объяснения механизма обратного распространения ошибки, которое мне понравилось бы, я решил написать собственный пост об обратном распространении ошибки реализовав алгоритм Word2Vec. Моя цель, — объяснить сущность...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

[Перевод] Пишем babel плагин, пошаговое руководство Сегодня я поделюсь с вами пошаговым руководством как написать свой babel плагин. Вы сможете использовать эти знания для автоматизации правок, рефакторинга или кодогенерации. Читать дальше →

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

Qt? ImGUI? wxWidgets? Пишем свое Привет, хабровчане! Хочу рассказать о своей системе UI, которую я написал для своего игрового движка, на которой делаю редактор для него же. Читать далее

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

[Из песочницы] Сети для начинающего IT-специалиста. Обязательная база Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой тех...

Можно ли писать скрипты на C++? Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гугл...

[Перевод - recovery mode ] Конец хайпа: Что ждёт язык Scala дальше Вокруг языка Scala всегда было много хайпа и неоднозначных суждений. Сейчас споры поутихли, но в твитере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, ч...

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

Сергей и «программирование лучше секса» Небольшая зарисовка-комментарий к статье «Программирование лучше секса» Самодостаточная, можно читать без ознакомления с оригиналом. — Сергей, можно вопрос? Сергей, не отвлекаясь от экрана… — Ну, задавайте. — Объясните, почему вы ТАКОЙ? Почему вам важнее написать эту ...

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

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

РИТ, Максим Лапшин (Erlyvideo): как программисту вырастить компанию РИТ++ 2017, Whale Rider. Зал «Конгресс-холл. 6 июня, 13:00. Тезисы. В докладе я хочу рассказать о собственном опыте органического развития компании, продающей b2b серверный софт без инвестиций. Я начинал с ковыряния just for fun в том, что мне было интересно, потом был го...

[Из песочницы] Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать. Для всего этого нам понадобится (или правильнее будет сказать, что было использовано мной): Apache 2.2.24 OpenSSL (входящий в...

[Из песочницы] Генетический алгоритм на Python для поиска глобальных экстремумов Предыстория Недавно в рамках учебной деятельности мне понадобилось использовать старый добрый генетический алгоритм в целях поиска минимума и максимума функции от двух переменных. Однако, к моему удивлению, на просторах интернета не нашлось подобной реализации на питоне, а в...

[Из песочницы] Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей Дошли руки до книги Чеда Фаулера «Программист-фанатик». Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней. Читать дальше →

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

[Перевод] Три метода Pandas, о которых вы, возможно, не знали Автор статьи, перевод которой мы сегодня публикуем, говорит, что когда он узнал о тех методах библиотеки Pandas, о которых хочет тут рассказать, он почувствовал себя совершенно некомпетентным программистом. Почему? Дело в том, что ему, когда он до этого писал код, лень было ...

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

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

В поисках LD_PRELOAD Эта заметка была написана в 2014-м году, но я как раз попал под репрессии на хабре и она не увидела свет. За время бана я про неё забыл, а сейчас нашёл в черновиках. Думал было удалить, но авось кому пригодится. В общем, небольшое пятничное админское чтиво на тему поиска ...

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

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20 Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не нап...

Дмитрий Лебедев: «Несколько лет назад я явно понимал, что еще чуть-чуть и OpenStreetMap пойдет ко дну» Дмитрий Лебедев — магистр экономики, программист и урбанист, который уже более 10 лет работает с OpenStreetMap. Он не только рисует домики, но и делает много исследований на основе его данных. По какому пути пошел OSM, есть ли у него будущее и зачем программистам гуманитарн...

[Перевод] Загадочное происхождение настольной игры про взлом кодов Mastermind Она стала мировой сенсацией. Её использовали в Fallout. Она помогла созданию отрасли кибербезопасности. Но откуда же она взялась? «Это неинтересно», — думал Дэн Тейтел. В Fallout 3 есть куча компьютерных терминалов, и если игрок хотел взломать один из них, ему нужно было ...

[Из песочницы] Драйвер-фильтр операций в реестре. Практика Привет, Хабр! Когда передо мной встала задача написать свой драйвер, осуществляющий мониторинг операций в реестре, я, конечно же, полезла искать на просторах интернета хоть какую-то информацию по этому поводу. Но единственное, что вылезало по запросу «Драйвер-фильтр реестра...

[recovery mode] Итоги десятилетия До конца десятилетия остается две недели, а это значит пришло время подведения итогов. Я очень хотел сам написать весь материал, но боялся, что он получится слишком однобоким, поэтому долго откладывал. Признаюсь, для написания статьи, я вдохновлялся шикарнейшим выпуском The ...

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

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

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

Чек-лист — как тестировать поиск Я посмотрела, как тестируют поиск начинающие тестировщики, и решила написать этот чит-лист проверок. Это такая серебряная пуля, которую можно применить на любом проекте, лишь немного варьируя под себя, под свой проект.Поиск — он же есть практически в каждой системе. Поэтому ...

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

Состоялся релиз спин-оффа «великой стратегии» Age of Civilizations II Europe Продолжение одной из лучших мобильных стратегий, Age of Civilizations II, вышло ровно год назад, но, как вы можете знать, к оригиналу выходило сразу несколько спин-оффов, посвященных отдельным регионам. Ту же тактику, судя по всему, автор планирует использовать снова, ведь в...

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

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

[Из песочницы] Опыт поступления в магистратуру в Германии (детальный разбор) Я программист из Минска, и в этом году я успешно поступил в магистратуру в Германии. В данной статье я бы хотел поделиться своим опытом поступления, включая выбор подходящей программы, сдачу всех тестов, подачу заявок, коммуникацию с германскими вузами, получение студенческо...

Организация удаленного доступа средствами Fortinet В нынешних условиях все больше компаний задумываются, как перевести сотрудников на удаленную работу. В свою очередь мы решили им помочь и написали подробные инструкции по настройке удаленного доступа на базе решения FortiGate: Удаленный доступ с помощью IPsec VPN Удаленн...

[Перевод] Скука на карантине. Как потратить больше всего денег в Azure одним щелчком мыши Пару дней назад Кори Куинн написал в твиттере: «Кто-то спрашивал — отвечаю. Полностью зарезервированный инстанс db.r5.24xlarge Enterprise Multi-AZ для SQL-сервера в Бахрейне стоит $3 118 367. Объявляется конкурс на самый дорогой вызов API в облаке AWS». В треде развернулась...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Еще один DSL для валидаций Недавно я написал небольшой гем для валидаций и хотел бы поделиться с вами его реализацией. Идеи, которые преследовались при создании библиотеки: Простота Отсутствие магии Легкость в освоении Возможность кастомизации и минимум ограничений. Почти все эти пункты завязаны на ...

Игра на WinForms + C# в 16 лет (2 часть) Предыстория Прошло довольно много времени с момента написания предыдущей статьи. Как и обещал я написал вторую часть. Хотелось бы сказать спасибо всем тем, кто давал советы в комментариях, из всех их я смог узнать что-то новое. Ну а для тех кому хочется сразу посмотреть прое...

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

[Перевод] Как JIT инлайнит наш C# код (эвристики) Инлайнинг — одна из самых важных оптимизаций в компиляторах. Она не только убирает оверхед от вызова, но и открывает много возможностей для других оптимизаций, например, constant folding, dead code elimination и т.д. Более того, иногда инлайнинг приводит к уменьшению размера...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

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

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Простыми словами о Programmatic Меня часто спрашивают, что же такое программатик, и чем он отличается от других digital-инструментов. Решил написать небольшую статью, чтобы закрыть все базовые вопросы по этой теме. Приступим! Автор картинки Karolis Strautnieka Читать дальше →

Как делать карьеру программисту, не решая задачи бизнеса Статья Программист не должен решать задачи бизнеса вызвала неслабое обсуждение (и даже ответ с прямо противоположным утверждением). И, забавно, что все свелось к догматическим рассуждениям из разряда «программист должен», или «бизнес должен». Как будто, речь идет о системе, ...

Простой классификатор P300 на открытых данных Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, испол...

Модифицирующий MQTT Proxy Janus MQTT Proxy — это сервис, который я написал на Go в качестве хобби-проекта. Он подключается к MQTT-брокеру и подписывается на все события, а клиенты, в свою очередь, подключаются к proxy и общаются с ним как с MQTT-брокером. Он позволяет: jграничивать доступ клиентов...

[Из песочницы] Рационализируем процесс письма в блочной тетради Вася Пупкин пишет в данный момент: излагает свой поток мыслей в блочной тетради. Но тут у Васи приключилась беда: страница кончилась. И причем на правой странице разворота, что очень неприятно. Это означает, что если Васе для того чтобы написать следующую порцию своей мысли,...

Эффективная работа из дома: общее и личное Моё домашнее рабочее место Да, о работе из дома есть уже миллион текстов, в том числе и на Хабре. Но многие советы из них вроде «оденьтесь по-офисному, и тогда будет рабочий настрой» для меня выглядят слишком обобщающими. Люди разные, и одним формальная одежда действительно...

О неизменном: история 9 места Russian AI Cup 2019 Меня зовут Андрей Рыбалка, я участвую в Russian AI Cup под ником lama и я снова расскажу вам, как не выиграть макбук. Благо, я в этом человек опытный — вот этими вот руками не выиграл уже целых 7 штук. Итак, задачей этого года был платформер/2D-шутер, для которого нужно был...

Профессия: программист. Не всё однозначно Мы писали о фронтендерах и бэкендерах, о мобильной разработке и о тестировании, но это были частные случаи. Когда человек подходит к первой или очередной профессии, он редко говорит, что станет разработчиком под iOS или проктологом, как правило это звучит «программистом» и «...

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

Спортивный симулятор Grand Mountain Adventure вышел на iOS Очень редко хорошие игры выходят изначально на Android. Такой подход часто используют авторы игр, направленных на более непредвзятых игроков (часто это различные симуляторы выживания и все в этом духе). Но в прошлом году студия Toppluva AB отчего-то решила начать выпуск свое...

[Перевод] Periwinkle: процессор с одной инструкцией Хочу рассказать о процессоре, который я разработал в 2016 году. Он реализован на C как виртуальная машина. Мой друг Бьёрн написал для него ассемблер на F#. Periwinkle представляет собой процессор OISC (one instruction set computer), в отличие от RISC и CISC. У него нет ника...

Частичное применение и каррирование функций в Лиспе Одно из известных преимуществ Лиспа над другими языками программирования состоит в том, что в Лиспе проще, чем где бы то ни было, реализуются различные новые механизмы, появляющиеся в современных языках программирования. Причин тому несколько: это и гомоиконность Лиспа (един...

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

[Из песочницы] Alpine.js — легковесный фреймворк с удобным синтаксисом Многие разработчики полюбили лаконичный синтаксис и мощь директив Vue.js настолько, что даже пытаются использовать этот фреймворк не только в одностраничных приложениях. Сложно отказаться от использования реактивности, только потому, что вдруг понадобилось написать небольшой...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

Ускоряем загрузку больших объёмов в PostgreSQL, используя COPY from STDIN binary ...К сожалению Qt драйвер для постгреса не поддерживает функционал, необходимый для быстрой загрузки. Поэтому я написал свою библиотеку на С++ для этого, а теперь хочу с Вами поделиться этим прекрасным методом добавления и самой библиотекой. Читать далее

[Из песочницы] Пишем сервис одноразовых записок на Python У некоторых людей возникает необходимость передать небольшие сообщения. Но как это сделать, если вы пользуетесь различными социальными сетями и мессенджерами, в безопасности передачи данных через которые вы сомневаетесь. Некоторые люди для этого используют сервисы самоунич...

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

Как Греф с программистами боролся Наверное многие помнят скандальное заявление Грефа о том, что Сбербанку программисты не нужны: “У нас огромное количество программистов, с которыми мы боремся”. Давайте проанализируем откуда такие заявления взялись и чем все это закончилось. Читать дальше →

CL: Champions Legion — мобильная MOBA с тяжёлой судьбой Жанр MOBA на мобильных устройствах только набирает обороты: если раньше единственным нормальным конкурентом была Mobile Legends, то в 2021 году выйдет League of Legends: Wild Rift и большинство любителей этого жанра наверняка перетянутся туда. Но инди-разработчики тоже хотят...

Java-дайджест за 10 декабря Вышла четвертая альфа-версия «Remnants of the Precursors» — написанного на Java бесплатного аналога «Master of Orion» (это игра 1993 года). Пятую альфу обещают 5-го сентября. Автор обещает выложить исходники после перехода в бету. Скачать четвертую альфу можно по ссылке. ...

Как мы делали настольную игру. Зачем и почему? Ты решил стать программистом чтобы разрабатывать игры? И вот ты разрабатываешь игры… настольные… Захотелось нам летом поиграть в какую-нибудь настолочку про IT. И не получилось найти ту, которая бы понравилась. А это значит, что надо сделать самим! Расскажу, что у нас пол...

Умный дом своими руками: полтора года спустя Больше года назад я написал статью для ITC.UA про свой «немного» умный дом. Тогда я стоил его по принципу «что поймал на распродажах», мало заботясь о том, как вся эта техника будет работать совместно. В результате получил абсолютный зоопарк устройств, никак не работавших др...

Гореть, но не сгорать – гореть, чтобы светить Привет, хабровчане. В преддверии старта курса «Team Lead 2.0», хотим поговорить о профессиональном выгорании. О профессиональном выгорании хотя бы краем уха слышал каждый второй, но по-настоящему понять, что это такое необходимо, чтобы сохранить самое важное, что у нас ес...

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

DevOps, балет и ниндзя: маленькие истории про начало IT-карьеры Давайте вспомним, как мы вообще пришли в IT? Кто-то завидовал черепашкам ниндзя, кто-то хотел переделать любимую игру, кто-то случайно пришел в кружок радиолюбителей, а кто-то вообще собирался заниматься балетом, — пути, приводящие человека в IT-индустрию, неисповедимы; може...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Из песочницы] Обзор Лекционного вечера по разработке игр от ВШЭ 29 января в Высшей школе экономики прошли две лекции от специалистов в сфере геймдизайна. На Хабре был анонс сего мероприятия, и я решил посетить и написать обзор. 1. Прототипирование для чайников: как сделать хорошую игру Лектор — Кулешов Степан, продюсер в Banzai Games. ...

Как написать свой транслитератор Выпускница CS центра 2018 года, Дарья Родионова, рассказывает о транслитерации: что это такое, какие есть подходы к транслитерации, как создать свой транслитератор и как усовершенствовать модель. Читать о транслитерации

Обзор возможностей Qt Creator 4.12 и QBS 1.16 для программирования микроконтроллеров Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров. Ранее я уже писал про улучшения в предыдущих версиях QtC 4.10 и QB...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

Фигурка Волт-Бой из Fallout Привет. Устал я после покраски предыдущей статуэтки захотелось напечатать что-то простое и в тоже время что можно поставить на полку, при этом самое главное, что бы легко было покрасить! И бродя по просторам “thingiverse” наткнулся на вот это. Я вообще поклонник еще оригинал...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Envoy. 1. Введение Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?". Что это Envoy — это L4-L7 балансировщик написанный С++, ориентированный на высокую производительность и доступность. С одной стор...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

Антикризисный раздел Хабра А вы знали, что если нажать на Хабре хоткей «/» и ввести запрос в квадратных скобках, то сработает поиск только по ключевым словам? Например, с тегом [covid-19] уже написано более 170 постов — только по одному этому числу можно сделать вывод, что тема вируса волнует наших чи...

[Перевод] Zork и Z-Machine: как разработчики перенесли игру с мейнфреймов на 8-битные домашние компьютеры Компьютерные игры существуют почти столько же, сколько и сами компьютеры. Хотя в это трудно поверить, текстовая адвенчура Zork была Fortnite-ом своего времени. Но Zork был ещё и чем-то большим. Ради портируемости и экономии пространства сам Zork был написан на Zork Implemen...

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

Большое красно-синее надувательство Когда идёшь по улице и обращаешь внимание на окна домов, во многих из них можно заметить характерный розовый свет — народ выращивает рассаду под фитолампами. Читатель прислал на тест огромную фитолампу, на которой было написано «60W». Я её протестировал и удивился. Читат...

[Из песочницы] Laravel+Docker+Gitlab. С чего начать Я обычно всегда обходился без докера и думал, что докер нужен только для больших проектов в больших компаниях. Но однажды я увидел как работает докер в паре с гитлабом у моего товарища и понял, что мне все таки стоит его изучить. Однако, как обычно это бывает, одной подходящ...

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

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

Найди флаг и не отдавай его. Как мы проводили RBKmoney CTF Привет! В этом посте мы расскажем о том, как провели первый в истории RBK.money CTF (capture the flag). Механика соревнования была примерно такой же, как и на привычных вам CTF, а вот результаты немного удивили. Впрочем, возможно, мы просто перестарались с задачами. В рамках...

Как я на карантине работу искал Хочу поделиться с сообществом своим недавним опытом поиска работы, сообщить, так сказать, вести с передовой. Несмотря на то, что все написанное – абсолютно субъективно, заметка будет полезна для других IT-шников. Особенно – если они интроверты и редко ходят по собеседования...

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

[Из песочницы] Как я осуществил свою мечту, побывав в российском офисе Microsoft Всем привет! Живу в Саратове с родителями. У меня аутизм. Я ИТ-самоучка с 10-ти летним опытом самообразования и работы. Системное администрирование, администрирование мобильных устройств и веб-разработка — это то, что я учу и над чем я часто практикуюсь. 2019 год получился в...

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

Видео: третий трейлер ролевого экшена Xuan-Yuan Sword VII и дата выхода версий для ПК и PS4 Компания Softstar Entertainment и студии DOMO и Yooreka объявили о том, что ролевой экшен Xuan-Yuan Sword VII выйдет на PlayStation 4 и ПК 29 октября. Дата выхода версии для Xbox One не указана. Сюжет Xuan-Yuan Sword VII уходит корнями в китайскую историю и мифологию. В роли...

[Из песочницы] Почему не стоит начинать карьеру в маленькой не-IT компании Привет! Последние 2 месяца я отработал в небольшой компании. Это был мой первый опыт работы программистом в компании, и я хочу поделиться проблемами, с которыми столкнулся, и выводами из них. Надеюсь, этот пост сбережёт начинающим специалистам время и нервы. Читать дальше...

Мобильные приложения букмекеров. Как выбрать лучшее Сегодня все без исключения букмекерские компании с радостью предлагают своим клиентам не только официальные ресурсы, но и мобильные приложения. Об удобстве программ для смартфонов и планшетов написаны тонны информации.

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

Google объяснила, почему Android до сих пор не умеет делать скриншот всей страницы Функциональность Android всегда была шире, чем у iOS. Шторка уведомлений, пункт управления, виджеты, замена штатных приложений сторонними – все эти и многие другие возможности появились на Android раньше и только потом, спустя время, перекочевали на iOS. Так продолжалось до...

Портирование приложений с QWidget на QML под Desktop Привет, Хабровчане! Последнее время часто встречаю проекты для desktop, которые необходимо портировать с QWidget на QML. Кто-то хочет написать с нуля, кто-то перенести старые наработки. В любом из сценариев это популяризация QML, чему я очень рад. Я решил тоже побыть полез...

[Из песочницы] Как не платить за Java хостинг или быстрый старт с Google App Engine Все мы хоть когда-нибудь писали приложения, облегчающие жизнь. Не на заказ, а просто для себя. Записные книжки, программки учета финансов, набор карточек для изучения иностранного языка — да мало ли в жизни хороших идей? И вот было бы здорово, иметь доступ к этой программке ...

Необычные задачи по физике развивающие научное мышление (для школьников) Возможно вы уже читали мои статьи: Научные мультфильмы, что показывать детям без вреда для них? Простые опыты с ребенком дома Как мы для музея науки сделали самую большую катушку Тесла в Украине Как сделать мощную лестницу Иакова из трансформатора от микроволновки своими р...

Поддержка геймпада для эмулятора Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Новый PS1 графический рендерер для эмулятора Omega Red Omega Red + PS1 эмулятор = Кодзима гений PS2/PSP эмулятор + game p...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

[Перевод] Forge of Empires из AS3 в Haxe. Постмортем В комментариях к переводу доклада с HaxeUp Sessions 2020 Hamburg — Зимний отчет о состоянии Haxe — был задан вопрос о том, зачем нужен Haxe. На него, конечно же, ответили там же, в комментариях. Предлагаемый вашему вниманию перевод еще одного доклада с прошедшего HaxeUp долж...

[Из песочницы] Экспорт плана нумерации Федерального Агентства Связи в реляционную БД Федеральное Агентство Связи регулярно обновляет размещённый в открытом доступе план нумерации. Если вы используете этот план для определения региона или провайдера абонента в своём диалплане, то скорее всего заинтересованы в актуальности этой информации. На первый взгляд нет...

PostgreSQL Antipatterns: «Должен остаться только один!» На SQL вы описываете «что» хотите получить, а не «как» это должно исполняться. Поэтому проблема разработки SQL-запросов в стиле «как слышится, так и пишется» занимает свое почетное место, наряду с особенностями вычисления условий в SQL. Сегодня на предельно простых примера...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

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

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и ...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

Анонсирована игра Tormentor. Это симулятор садиста, где игрок пытает людей на камеру Madmind Studio уже успела подарить весьма смелый проект Agony, в котором было обилие жесткости и откровенных сцен на фоне Ада, но на этом студия решила не останавливаться. На днях состоялся анонс игры Tormentor в которой главным героем является маньяк, пытающий людей на ка...

Аркадная игра Mini Football от Miniclip доступна на iOS и Android Студия Miniclip, которая знакома геймерам по многим условно-бесплатным проектам, выпустила свою новую игру — Mini Football. Это некая альтернатива более серьёзным спортивным симуляторам, как FIFA или даже Football Manager. Главная привлекательность этой аркады — лёгкость в о...

[recovery mode] Первый русский программист 13 декабря — день памяти русского ученого и изобретателя, чьим желанием было подарить человечеству программирование и сделать это бескорыстно, без прибыли и славы. Его желание сбылось — мир получил программирование, а его имя оказалось в тени. Однако негоже держать светильни...

Touch slider на JavaScript Когда я начинал изучать JavaScript, мне очень хотелось понять как работают и делаются слайдеры, которые можно перелистывать свайпами или мышью, но материалов с хорошим объяснением именно того, что мне надо, я не нашел. Через какое-то время мне удалось сделать нечто подобное....

[Перевод] 6 грехов, которые совершают программисты Эта статья — перевод с medium.com, в которой Daan, ее автор, предостерегает нас от неверных решений при выборе между скоростью и эффективностью в программировании. Фото с сайта Unsplash. Автор: Artem Sapegin Работа программиста неразрывно связана с необходимостью принимат...

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

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

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

Внутренний мир Форманты П432 История о том, как я неожиданно купил синтезатор, починил его, разобрался с тем, как он устроен, и написал эмулятор. Читать дальше →

Vive Le Football: NetEase Games анонсировала футбольный симулятор, стартовал альфа-тест Китайский издатель игр NetEase Games объявил о предстоящем футбольном симуляторе на смартфоны — Vive Le Football. В нём мы выступаем в качестве менеджера футбольного клуба. Разработчики обещают «самый реалистичный футбол». Это касается самих внутриигровых футболистов (для ни...

Памятка по борьбе с алкоголем или Как пережить фуршеты Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на хабр. Рассказанное — услышит один человек, а написанное — прочитаю сотни! Меня, если честно, достаточно сильно раздражают всевозможные застолья. По...

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

На iPhone появилась игра, в которой можно делать абсолютно всё   В App Store появилась игра AI Dungeon. В ней можно делать всё что угодно. В игре пользователям надо вводить текстовые команды, на которые искусственный интеллект генерирует ответы. Вы можете написать любое сообщение. AI Dungeon подберёт подходящий ответ и предло...

DevOps-инженеров не существует. Кто тогда существует, и что с этим делать? В последнее время такие объявления заполонили интернет. Несмотря на приятную зарплату, не может не смущать, что внутри написана дикая ересь. Вначале предполагается, что «DevOps» и «инженер» можно каким-то образом склеить вместе в одно слово, а далее идет рандомный список тр...

[Из песочницы] Шизофрения: взгляд после Грани безумия В те далекие времена, когда я чувствовал себя получше, я частенько заходил почитать хабр. Теперь почти полная потеря интереса к ИТ — одна из самых незначительных моих проблем. Заранее прошу прощения за исковерканные слова и знаки препинания, тут уже давно во вс...

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

[Из песочницы] Иерархическое логирование приложения в Базу Данных Всем, привет! В статье я хотел бы рассказать об одном из подходов к логированию приложения, который сильно помогал мне и коллегам при отладке, поиске ошибок и анализе проблем производительности. Про необходимость логирования было написано множество хороших статей в том числе...

Использование механизмов криптографических токенов PKCS#11 на платформе Android Подошло время задействовать криптографические механизмы PKCS#11 и на платформе Android. Кто-то может сказать, что нет аппаратных токенов для Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать облач...

[Из песочницы] Путь в программисты (С++) Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось. О программировании к октябрю 2017 я знал ровно столько, сколько сейча...

Опять про «MikroTik» или долгожданный SOCKS5 Я прекрасно понимаю, что вас достали вездесущие микротики, но это действительно интересно. На самом деле статья написана с задержкой в 4 месяца (поддержка SOCKS5 появилась еще в январе 2020 года), но лучше поздно, чем никогда, тем более что информации об этом не так много ...

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

[Перевод] Полезные советы по Python, которых вы ещё не встречали Написано очень много статей, посвящённых интересным возможностям Python. В них идёт речь о распаковке списков и кортежей в переменные, о частичном применении функций, о работе с итерируемыми объектами. Но в Python есть гораздо больше всего интересного. Автор статьи, перевод ...

[Перевод] Собеседования по алгоритмам: теория vs. практика tl;dr За последние десятилетия мода на собеседования программистов менялась несколько раз, и каждая из них выглядит нелепо в ретроспективе. Либо мы наконец-то нашли настоящий секрет эффективных собеседований, либо увлеклись очередным модным течением, которое через десять-два...

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

Главные боли программиста Программирование это так классно! Можно сидеть дома в пижаме, при этом занимаясь интеллектуальным трудом. Просто сказка! Однако у любой сказки есть обратная сторона. Сегодня я бы хотела рассказать вам о боли программистов, а точнее самых распространенных “профессиональны...

Слухи: в игры на PlayStation 5 можно будет играть в обход главного меню У консоли нового поколения PlayStation 5 будет новая особенность, которой до этого мы не видели — функция «Activities», которая позволяет загружать любимые игры без необходимости входа в главное меню. Информация поступила от европейского издания Gamereactor, обозревавшего г...

[Из песочницы] StegoPy — Инструмент LSB-стеганографии на Python Предисловие В последнее время я заметил, что людям на моем форуме стала интересна тема стеганографии различных текстов в изображениях, mp3-файлах и видео. И тут у меня возникла идея написать свой скрипт для стеганографии текста в изображениях. Скажу сразу прежде я ни разу не...

[Из песочницы] Генератор музыки. Web Audio API. Опыт новичка Контекст и предыстория Мне 62. Года три назад решил попробовать написать достаточно сложную систему, до этого было только 20 строк на бэйсике в 1981 г., когда нам на 5 курсе радио-факультета (НГТУ, ранее НЭТИ) воткнули 3 месяца информатики. Профессионалом принято считать тог...

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

[Из песочницы] Ешь рис, молись Амитофо, люби котиков Статистические данные, о том, как живут-поживают китайские программисты Привет-привет, друзья. Сегодня Россия активно сотрудничает с Китаем в области IT- искусственного интеллекта, больших данных, и в планах даже создание «Российско-китайской цифровой долины». Эта статья...

Клеим шпангоут для шхуны без регистрации и смс В начале 2019 мои друзья из яхт-школы «Морские практики» решили, что для путешествий по высоким широтам насущно необходимо подходящее судно. Выбор пал на шхуну, подобную тем, на которых в конце 19 — начале 20 века в северных морях добывали рыбу и зверя русские и норвежские ...

StackOverflow — больше, чем просто хранилище ответов на глупые вопросы Этот текст задуман и написан как дополнение к «Чему я научился за 10 лет на Stack Overflow».Сразу скажу, что я согласен с Мэттом Бирнером фактически во всем. Но у меня есть несколько дополнений, которые мне кажутся достаточно важными, и которыми я хотел бы поделиться. Я реши...

Apple выпустит Xcode для iPad вместе с iOS 14 iPad уже давно превратился из прикроватного гаджета для потребления контента в более или менее самостоятельный рабочий инструмент. Ну, или, по крайней мере, так считала Apple, которая долгое время была уверена, что достаточно дополнить планшет клавиатурой и стилусом, как он...

[Перевод] Вы вполне можете писать код на работе, чтобы оставить свободное время для жизни В мире разработке программного обеспечения на разработчиков оказывается постоянное давление, принуждающее их писать код вне рабочего времени. Некоторые считают программирование своей страстью, другие же так не думают. И последние наслаждаются отсутствием необходимости писать...

Птицы не воруют суда: разработчики объяснили, почему некоторые игроки видели в Valheim летающие лодки Невероятно популярный симулятор выживания Valheim уже успел продаться тиражом более пяти миллионов копий. При этом игра находится в раннем доступе Steam и изобилует разнообразными ошибками. Об одной из них написала пользователь Twitter под псевдонимом GliitchWiitch. Она слыш...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

[Перевод] Анализ библиотеки ИИ ботов из Quake 3 Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры дви...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

Настройка GUI WSL Kali Linux & Ubuntu. Выход в графическую оболочку Здравствуйте. Установив WSL и скачав из Microsoft Store Kali Linux & Ubuntu я столкнулся с тем, что передо мной терминал, а я абсолютно ничего не понимая в Linux, хотел бы хоть как-то ориентироваться в системе через графическую оболочку. Я неделями гуглил команды и в и...

Обзор малоизвестного принтера Tevo Tarantula RS (Tarantula pro) ч.1 Всем доброго времени суток, форумчане.Давно уже пытаюсь написать данный обзор, да все руки никак не доходили, по этому сегодня напишу только одну часть, но и она будет достаточно длинная.Хотел бы сразу указать магазин, где покупался данный аппарат, так как больше в продаже я...

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

«Чистый код» Роберт Мартин. Конспект. Как писать понятный и красивый код? Я решил написать конспект книги, которая всем известна, а сам автор называет ее «Школой учителей Чистого кода». Пристальный взгляд Мартина как бы говорит: «Я тебя насквозь вижу. Ты опять не следуешь принципам чистого кода?» Читать дальше →

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

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

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

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

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

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

[Перевод] Собственные игровые движки: небольшое исследование Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что и...

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

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Moxy Strategy plugin Иногда простые вещи очень утомляют, особенно когда их необходимо делать постоянно. Одна из таких вещей при работе с фреймворком Moxy — это добавление стратегий к функциям. Для ускорения этого процесса был написан плагин, который по "alt+enter" предоставляет выбор ...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

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

Топ 5 самых сложных игр для PlayStation 4. Приготовьтесь страдать С каждым годом игры становятся все более казуальными и простыми для понимания. Это вынужденная мера со стороны разработчиков, направленная на привлечение максимального количества аудитории. Если вы хотите попробовать что-то поистине экстремальное сложное, то специально для э...

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

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

[Из песочницы] Восемь важных привычек программиста «Человек может стать человеком только путем воспитания. Он — то, что делает из него воспитание» И. Кант На мой взгляд, эта цитата очень подходит программистам. По сути, программист – это ведь не просто специалист, который хорошо разбирается в технических вопросах. Программи...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Владимир aka wowik: «OpenStreetMap нужны идеи, которые в других системах нереализуемы» wowik — программист и инженер-физик из Москвы, который, как он говорит сам про себя, «программировал все, что шевелится: мейнфреймы, персоналки, мобильные устройства, теперь еще и web». Но в мире OSM он известен, как разработчик легендарного «валидатора Вовика». Что такое в...

Лучшие спортивные игры 2020 на iOS и Android: FIFA 21, Sonic at the Olympic Games, PES 2021 Издание AppTime снова возвращается с подборкой лучших мобильных игр за 2020 год. На этот раз мы расскажем про номинантов из спортивной секции. Проголосовать за них и другие игры вы можете на специальной странице AppTime Awards 2020. Как всегда ждём от вас личный топовый спис...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

Внедри это полностью. DI-in-JS Всем привет! Сегодня я попробую поэкспериментировать с Dependency Injection на чистом JavaScript. Тех кто не в курсе, что это за дичь и как ее готовить, приглашаю ознакомиться. Ну а у тех кто в курсе будет повод написать важный и полезный комментарий. Итак, погнали… Читать ...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

Проба пера. Литофания. Привет всем.Как то я уже пробовал делать такие литофанические изображения, но тогда и опыта было маловато и принтер другой, и т.д. Сейчас закончил светильник-ночник, тестовый вариант. Вроде получилось не плохо, печатал корпус на Anycubic Predator, а вот сами фото сделал на A...

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

[Из песочницы] Jungle town: как мы хотели изменить мир к лучшему, создавая детскую игру История нашей игры началась в 2016 году с покупки приставки Apple TV. Это был очень желанный девайс, на котором я обнаружил несколько игр, в том числе детских. Одна из них была от знаменитой студии, и она настолько мне понравилась, что я сказал своей супруге и музе: «Дорог...

Психоакустика, lossless и что еще я знаю об аудио-стандартах Предисловие Относительно недавно попалось мне на глаза хоть и студенческое, но все-таки, на мой взгляд, интересное видео из "Курилки Гутенберга" под названием "Психоакустика: звуковые иллюзии". Видео вдохновило меня порыться уже в своих студенческих консп...

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

Мы успели перевести офисы на удаленку, а вы? Всем привет из карантина! Давно хотел написать пост про жизнь и работу в Испании, но совсем по другому поводу. Однако сложившаяся ситуация диктует другие правила. Поэтому сегодня об опыте по переводу офисов на удаленную работу, до того как это стало вынужденным. А еще про жи...

Как успешно пройти любой пентест (вредные советы) Если требуется вам срочно провести пентест, Вы при этом не хотите по затылку получать, То тогда быстрей смотрите приготовленный для вас Список удивительных советов — он, конечно, вас спасет. Этот пост написан в юмористическом ключе с целью продемонстрировать, что даже пен...

Взламываем Ball Sort Puzzle Ball Sort Puzzle — это популярная мобильная игра на IOS/Android. Суть её заключается в перестановке шариков до тех пор, пока в колбах не будут шарики одного цвета. При этом шарик можно перетаскивать либо в пустую колбу, либо на такой же шарик.Так случилось, что я в неё залип...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

[Из песочницы] Особенности выпуска Unreal Engine 4 игры на iOS Приветствую. В этой статье я перечислю трудности и неочевидные моменты, с которыми лично я столкнулся при выпуске игры на iOS, а также их решения. Игра начинала создаваться на Unreal Engine 4.18, сейчас последний билд в магазине использует UE 4.24. Сначала игра была выпуще...

Прозрачная аутентификация в ASP.Net Core на Linux Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за...

Пластик Tevo Petg или кто тут будет умничать? Всем доброго времени суток. В этом посте хочу поделиться мнением о прастике, который был куплен на tevo3dprinter.ru. Это не реклама. И огромная просьба тем, кто хочет написать в комментариях о том, что tevo не производит пластики или что то подобное... Товарищи, я говорю вам...

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

[Из песочницы] Весь Хабр в одной базе Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились. Когда я захотел иметь у себя копию хабра, я решил написать парсер, который бы сохранил весь контент авторов в базу данных. Как это вышло и с какими ошибкам...

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

Пандас и другие для толстых данных В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет ...

Стартовал новый сезон FIFA Mobile 21 — что EA добавила в новом сезоне? Буквально вчера на смартфонах начался новый сезон футбольного симулятора FIFA Mobile. Несмотря на то, что новые фанаты с нетерпением ждали этого момента, информации из официальных источников о нововведениях — кот наплакал. Поэтому мы решили сделать для вас удобную статью, гд...

Я не понимаю, что хочу. Как пользователю сформулировать требования к CRM «Когда кто-то трогает крестик, должен плакать персиковый медвежонок»*, — это, пожалуй, самое милое требование из тех, что мне приходилось встречать (но, к счастью, не реализовывать). Оно было сформулировано сотрудницей с 12 годами опыта работы в одной компании. Вы поняли, чт...

Паттерн «сага» как способ обеспечения консистентности данных Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и ...

[Перевод] Моя шпаргалка по pandas Один преподаватель как-то сказал мне, что если поискать аналог программиста в мире книг, то окажется, что программисты похожи не на учебники, а на оглавления учебников: они не помнят всего, но знают, как быстро найти то, что им нужно. Возможность быстро находить описания фу...

[Из песочницы] Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium Этот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды. Когда я хотел добавить в gitlab автотесты в стеке python, allure, ...

[Из песочницы] Аркадный автомат дома своими руками Здравствуйте, хочется немного уйти от политики и коронавируса, решил немного разбавить новости и поделиться своим проектом. Автомат выполнен в виде Bartop и стойкой превращающей его в полноразмерный. Питаю отдельные чувства именно к такому «модульнуму» формату, о преимуществ...

[Перевод] Новые фронтендовые библиотеки на периферии React Привет, Хабр! Сегодня мы хотели предложить вам интересный текст о том, как развивается фронтенд в наше время, вернее, по мысли автора — после React. Вероятно, пост мог бы быть и объемнее, поэтому, если автор напишет продолжение — мы также постараемся не упустить и перевести...

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

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

Новое приложение «Медузы». Почему Flutter? Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter 12 мая состоялся релиз новых мобильных приложений «Медузы» — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не на...

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

[Из песочницы] Что такое I в ACID или взгляд с другой стороны Прочитав этот пост, написанный farwayer, сначала хотел просто оставить комментарий, но, подумав пару десятков минут, решил, что тема глубокая, и мне есть что сказать на целый пост. Все таки, с одной стороны, я один из тех, кто на собеседованиях не смотрит на код и кого разоч...

Моделирование в БЛОКНОТ (STL) Сейчас мы вам покажем, как моделировать с помощью блокнота в файл *.stl!Сначала вам нужно создать файл "*.stl", потом открыть его в блокноте. Если в блокноте написать"solidfacet normal 0 0 0outerloopvertex 2 2 0vertex 2 0 0vertex 0 0 0endloopendfacetendsolid", то будет треуг...

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

Remedy создаст новую игру во вселенной, объединяющей Control и Alan Wake Студия Remedy Entertainment ещё в самом приключенческом шутере Control прямо говорила о том, что игра разворачивается в одной вселенной с Alan Wake. К радости поклонников последней, предстоящее дополнение AWE, анонсированное несколько дней назад, вернёт Алана Уэйка на игровы...

Посылка от my3d.art После моего поста my3d.art прислал посылку и оформил доставку за свой счёт. Забрал буквально вчера.Бонусом предложили пробник SBS с условием написать обзор - согласился. С удивлением обнаружил целую катушку пластика, а не привычный небольшой моток пластика как от других прои...

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Apple требует уничтожить книгу, написанную бывшим главой немецкого App Store Кроме прочего, Apple известна тем, что весьма ревностно охраняет свои секреты. И когда бывший сотрудник купертинского гиганта написал и выпустил книгу под названием App Store Confidential, реакция компании была вполне ожидаемой. Для начала отметим, что автор книги &mda...

[Перевод] Тестирование Ansible с использованием Molecule с Ansible в качестве верификатора В этом руководстве мы будем изучать, как тестировать код инфраструктуры, написанный на Ansible, с использованием инфраструктуры тестирования, известной как Molecule. Внутри Molecule мы будем использовать Ansible в качестве верификатора, чего я пока нигде не мог найти. Давай...

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

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

Собеседования в разработку: друзей выбирают Первую сотню собеседований к себе в команду (а потом и в отдел разработки) я провёл лет семь назад. Поначалу этого процесса сам боялся, готовился. Затем всё превратилось не то чтобы в рутину (чего никогда не будет), но общая канва сложилась. Во многом она пересекается с тем...

Проблемы с производительностью в игре XCOM 2 Привет! Меня зовут Александр, я руководитель программистов компьютерной графики в Gaijin в проектах CRSED и Enlisted. Иногда, в свободное время, я исследую как устроена графика в других играх и нахожу там что-то интересное.Недавно я решил разобраться, почему XCOM 2 тормозит ...

[Из песочницы] Самодельная подводная лодка с надводной wi-fi антенной Как всё начиналось Всех приветствую. Я Максим и хочу поделиться информацией о том, как собирал радиоуправляемую подводную лодку без каких-либо знаний об электронике в начале своего пути. Сам я по образованию художник анимации и компьютерной графики — программированием или...

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

Посох для Деда Мороза Каждый год 31-го декабря я в костюме Деда Мороза и жена в роли Снегурочки разъезжаем по городу по своим друзьям с поздравлениями. Поскольку уже скоро наступит Новый Год, я решил проверить, все ли у меня к нему готово и достал из подвала свой давно видавший виды посох. К мое...

Миграция из Oracle в Postgres Зачем переносить данные Тема переноса (миграции) данных из Oracle в Postgres набирает обороты. В РФ количество запросов по переходу на Postgres на волне импортозамещения, сейчас больше, чем когда либо. Oracle — очень качественный, мощный и отлично документированный инструме...

Криптовалюта. ICO, IEO, STO. Майнинг. Блокчейн: регулирование в России. Полная история: 2014-2019 годов Пролог Юрист — человек, который может написать ответ на 10 листов и назвать его кратким. Основной мой бизнес связан с юриспруденцией. Почти еженедельно приходит 1-2, а то и 3-5-10 клиентов, которые задают одни и те же вопросы: «Каков статус криптовалют/токенов в РФ/СНГ?»;...

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

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

Книга «Экстремальный Cи. Параллелизм, ООП и продвинутые возможности» Привет, Хаброжители! Для того чтобы овладеть языком C, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким, научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми в...

Как я заработал 1 000 000 $ без опыта и связей, а потом потратил их, чтобы сделать свой переводчик Как все начиналось Эта история началась 15 лет назад. Работая программистом в столице, я накапливал деньги и увольнялся, чтобы потом создавать собственные проекты. Для экономии средств уезжал домой, в небольшой родной город, где работал над сайтом для студентов, программой ...

В смартфонах Xiaomi и Redmi может появиться защита от пыли и воды IP68 На этих выходных глава компании Redmi написал в социальной сети Weibo пост о том, что, по его мнению, защиты IP53 вполне достаточно для современных смартфонов, приведя в качестве примера Redmi K30. Напомним, что этот уровень подразумевает почти полную защиту от пыли и защиту...

[Перевод] Я создал свой собственный дипфейк за две недели и $552 Создавая это видео, я научился многому Технология дипфейков использует глубокие нейронные сети для убедительной замены на видео одного лица другим. У этой технологии есть очевидный потенциал для злонамеренного использования, и она становится всё более распространённой. По п...

[Перевод] Что такое Emergent Communication и почему это нужно знать TL;DR: перевод поста Михаила Нуховича What is Emergent Communication and Why You Should Care: что это такое, зачем это нужно, какие есть точки зрения на задачу и перспективные направления исследований. Обучение с подкреплением, обработка естественного языка, теория игр и фил...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

4К (2160р) разрешение для игр PS1, PS2, PSP в эмуляторе Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Видео гид по эмулятору Omega Red Поддержка геймпада для эмулятора Omega Red Новый PS1 графический рендерер для эмулятора ...

[Перевод] Неизбежность проникновения FPGA в дата-центры Не нужно быть разработчиком чипов, чтобы программировать для FPGA, как не нужно быть программистом на С++, чтобы писать код на Java. Однако в обоих случаях, вероятно, это будет не лишним. Цель коммерциализации обеих технологий, Java и FPGA, в том, чтобы опровергнуть послед...

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

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

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

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

На мобильных вышел point and click квест Secret Files 3 В конце марта студия Animation Arts Creative выпустила в App Store игру под названием Secret Files 3. Это третья часть серии приключенческих квестов, которая вышла в Steam еще в далеком 2012 года. Сегодня состоялся ее релиз в Google Play. Прошлые части доступны на обеих плат...

[Из песочницы] Карманное руководство по Z3 Преамбула "Человеческий мозг это пустой чердак. Дурак так и делает: тащит туда нужное и не нужное. И наконец наступает момент, когда самую необходимую вещь туда не запихнешь, или наоборот не достанешь..." В.Б. Ливанов (из к/ф "Шерлок Холмс и доктор Ватсон&qu...

Игру про соблазнителя навсегда забанили в Steam Одной из самых ожидаемых игр в Steam должна была стать Super Seducer 3: The Final Seduction, которая является симулятором пикапера. Игра представляла собой интерактивное кино, где главному герою необходимо соблазнять различных девушек. Читать полную статью

Новые iPhone действительно «следят» за пользователями, но вовсе не так, как можно было бы подумать Пару дней назад в Сети появилась информация о том, что смартфоны iPhone последнего поколения следят за пользователем, собирая данные о своём местоположении. Причём даже в том случае, если все соответствующие пункты в настройках выключены. Apple не стала долго тянуть и ...

Go Channels Internals На Go можно реализовать тысячи goroutine одновременно без больших требований к железу. При этом горутины могут легко и просто обмениваться данными между собой и синхронизироваться с помощью каналов. Но как устроены каналы внутри? Об этом написано не так уж много, а в условия...

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

[Перевод] Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд От А0 до B2 за год Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите ш...

Ок, Гугл, «спасибо» за новый автомобиль Статью с похожим заголовком, только без кавычек, могли бы написать производители\продавцы автомобилей. Но раз до сих пор не написали, значит либо не поняли, откуда ветер дует, либо я сгущаю краски. Попробуем разобраться. Кто я? Я счастливый и несчастный обладатель новеньког...

[Перевод] Java Optional не такой уж очевидный NullPointerException - одна из самых раздражающих вещей в Java мире, которую был призван решить Optional. Нельзя сказать, что проблема полностью ушла, но мы сделали большие шаги. Множество популярных библиотек и фреймворков внедрили Optional в свою экосистему. Например, JPA ...

Как я решил сделать текстовый квест для iOS и что из этого вышло. Часть II, работа над ошибками Начало истории тут. Вкратце: Последние три года жизни я работал на круизных лайнерах. Женился. Пришлось искать другую профессию. Поиски протекают вяло. И одним прекрасным вечером я решаю купить себе макбук и стать разработчиком iOS. Иду на Udemy. Начинаю учиться. На одном...

Игры на деньги в казино Vulkan Большую популярность среди азартных игроков в сети интернет имеет онлайн казино Вулкан. Для многих это настоящий геймер бренд, который отлично себя зарекомендовал на просторах бывшего СНГ. На этом сайте есть всё, что нужно для участия в самых разнообразных азартных играх. Са...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Flex Tevo Пластик, или снова гневные комментарии Всем доброго времени суток. Наверное, как и под предыдущими статьями, касательно этого пластика, мне напишут, что нет у Tevo пластика, или что то подобное ( аж до теории заговора доходили). Дамы и господа, я лишь предоставляю вам информацию, написанную на коробке, не более т...

[Из песочницы] Играй как гейм-дизайнер "Играй как гейм-дизайнер" — одна из самых популярных рекомендаций для тех, кто делает свои первые шаги в профессии. Что же на самом деле скрывается за этими словами? Авторы книг и статей рекомендуют играть как можно больше, играть в игры разных жанров, играть не то...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Laravel. Локализованный роутинг Привет, Хабр! Хочу рассказать вам о том, как в одном проекте возникла проблема с роутингом и как мы её решали. Сначала наш проект был самым обычным сайтом. Сайт развивался, аудитория расширялась и возникла необходимость поддержки мультиязычности. Проект был на базе фреймвор...

Java-дайджест за 17 января. Две первые недели нового года Появился шрифт JetBrains Mono — приятный и красивый шрифт для разработчиков Вышел плагин для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE! В Java-плагине для Visual Studio Code добавили кучу важных ништяков (действительно вли...

Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами Что за бред, подумаете вы. Что за бессмысленный набор слов? Но, увы или ура — кому как, сегодня это уже не бред, а реальность. Речь в статье пойдет о написанной мной для Инстаграм игре, в которой в качестве контроллера используется ваше лицо, а точнее, не только оно, но ино...

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 1) Мы уже рассказывали про Tarantool Cartridge, который позволяет разрабатывать распределенные приложения и паковать их. Осталось всего ничего: научиться деплоить эти приложения и управлять ими. Не беспокойтесь, мы всё предусмотрели! Мы собрали вместе все best practices по раб...

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

'Hello World' вам в облако Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успе...

Коротко об одном из стандартов формата токена PKCS#15 Много статей написано про стандарты API между токенами и программным обеспечением. Однако, стандартизация формата самих токенов, как правило, несправедливо обойдена стороной. В данной статье кратко описан один из стандартов формата токена PKCS#15 (Public Key Cryptography sta...

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

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

Эмулятор классического рынка Каждый раз, когда я читаю что-либо об экономике, я постоянно пропускаю момент между “да, конечно, это всё очевидно” и “почему? как вы это получили?”. Обычно это связано с тем, что примеры, которые можно привести из реальной жизни, либо элементарные, либо настолько сложные...

INVESTMENT-READY Или что следует иметь в виду, создавая стартап. //при чем здесь котик? Что за странный вопрос ?? ПРЕДИСЛОВИЕ Прочел несколько постов от людей, которые провалили стартапы и давали советы на тему чего не следует делать (сорри, хотел дать на них линки, но потерял). Собир...

Дао лидера: как стать крутым пипл-менеджером У меня есть клиент — стартап уже в стабильной стадии. У них все пропитано культурой Долины, топ-менеджмент начитан бизнес-книгами и прошел через кучу программ развития. Меня позвали сформулировать подход к управлению в компании и написать об этом «методичку» для внутренних м...

[Перевод] Человек, создавший «худшую в мире видеоигру» Видеоигру Говарда Скотта Уоршоу обвиняли в том, что она единолично обвалила целый многомиллиардный рынок. Но реальная история намного сложнее. 25 апреля 2014 года на свалку в Аламогордо (Нью-Мексико) приехал бульдозер, раскопавший настоящее сокровище — гору тридцатилетних ...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

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

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

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

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

[Перевод] В самом популярном фрагменте кода за всю историю StackOverflow ошибка!  Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг. Давным-давно… Еще в 2010 году я ...

[Перевод] Процедурная генерация многоэтажных 3D-подземелий В последнее время я играл в несколько roguelike, поэтому решил попробовать написать собственный процедурный генератор подземелий. Существует множество способов решения этой задачи, и я выбрал алгоритм автора TinyKeep, описанный здесь. Я расширил этот алгоритм, чтобы он рабо...

[Перевод] 5 типичных ошибок при создании React компонентов (с хуками) в 2020 году Всем привет! Из этой статьи вы узнаете о самых распространенных ошибках при создании React компонентов, а также о том, почему они считаются ошибками, как их избежать или исправить. Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, ...

Ведьмак придёт на некст-ген Сегодня в официальном аккаунте игры Ведьмак состоялся анонс, что игра «Ведьмак 3: Дикая Охота» будет доступна на Xbox Series X и PlayStation 5. The Witcher 3 is coming to the next generation! A visually and technically enhanced version of the game will be availabl...

«Вызывающий отвращение» dungeon crawler Poopdie все-таки вышел в App Store 2 недели назад Apple отказала блогеру PewDiePie и студии Bulbware в публикации их нового dungeon crawler под названием Poopdie, объяснив это тем, что контент может вызывать отвращение. Самое интересное, что, судя по всему, в самой игре ничего не поменялось, но компания реши...

[Перевод] Теперь я понял, почему почти никто не шифрует свою почту Шифрование электронной почты — трудная и болезненная процедура. Недавно я сам понял, насколько. Одна моя знакомая, очень продвинутая в сфере информационной безопасности, прислала мне свой открытый ключ PGP и попросила перейти на шифрование. Нет, она не из АНБ или ЦРУ, прос...

[Перевод] Когда Голливуд впервые заметил веб: что было правильно, и что – совершенно неверно Сеть. Хакеры. Джонни Мнемоник. 25 лет назад кино встретилось с киберпространством в вихре безумной моды, крутой музыки и паранойи из-за слежки Анджелина Джоли и Джонни Ли Миллер взламывают планету в фильме «Хакеры» 1995 года В 1995 году появился веб-сайт CNET, Microsoft за...

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

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

10 крутых спортивных симуляторов для Android Признаюсь честно… Я никогда не был фанатом мобильных игр. Для меня больше были консоли и ПК. Но в последнее время многое изменилось. Я не просто начал убивать время в ”логику”, а начал играть в полноценные игры. За последнее время я играл во много игр, особняком среди котор...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

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

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)