Как стать автором
Обновить
0
0

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

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

Витамин D. Краткий экскурс

Время на прочтение8 мин
Количество просмотров118K
Приветствую всех Хаброжителей!

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

Если мой пост что называется «зайдёт», я планирую осветить ещё некоторые интересные, на мой взгляд, темы, связанные с медициной, фармацией и здоровьем.

Пишу простым языком, с минимумом медицинской и фармацевтической терминологии.
Читать дальше →
Всего голосов 102: ↑84 и ↓18+66
Комментарии386

'Hello World' вам в облако

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

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

Всего голосов 66: ↑65 и ↓1+64
Комментарии47

Говорим мэру, куда ему пойти (с помощью Open Street Map)

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

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


Вот и известному блоггеру Илье Варламову тоже так показалось, поэтому он запустил крутейший проект c вызывающим названием БДСМ, а имеенно "Большая Дорога С Мэром" (ссылка на анонс):


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

Правила просты.

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

В процессе прогулки мы вместе с главой города изучаем инфраструктуру, общаемся с жителями. У чиновника будет уникальная возможность рассказать на всю Россию про свой город, объяснить тонкости городского управления, стать ближе к народу!


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


При чем тут Хабр, спросите вы? А все дело во фразе про случайный выбор адреса начала и конца маршрута. Не такая это простая задача, если вы не хотите в итоге очутиться в дебрях какой-нибудь промзоны или заблудиться среди бесконечных заборов частного сектора. Простое тыканье в карту с завязанными глазами тут не сработает!


О том, как я эту задачу решал и какие открытия преподнесли мне такие города как Иваново или Киров — под катом.

Всего голосов 49: ↑43 и ↓6+37
Комментарии32

3D-мультфильм с нуля

Время на прочтение5 мин
Количество просмотров101K
Здравствуй, дорогой Хабр

Впервые собрался написать тебе, ведь есть что рассказать и, наконец, появилось немного времени. Лейтмотивом сегодня будет такая тема, как обучение 3D-анимации.
Точка невозврата скрылась за спиной года три назад. Тогда небольшая группа мечтателей, пять лет в режиме хобби занимавшихся мультипликацией, приняла решение сделать из этого свою профессию. Это сейчас нам уже почти три года, и добрая дюжина человек производит 3D-анимацию: детские сериалы и рекламу для компьютерных игр. А тогда, мало понимая, как делаются мультфильмы, собралось шесть человек.
То, что мы никогда до этого не делали 3D-анимацию, и то, что от первоначального состава никого сейчас не осталось — это история отдельная. А сегодняшняя — о том, как, практически с нуля была создана в Казани анимационная студия, полностью работающая на свободном программном обеспечении.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии24

Задачи и решения для бойца PostgreSQL

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

Приветствую всех любителей SQL!

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

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

Постарайтесь ответить самостоятельно, перед открытием спойлера.

Поехали!
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии30

Курс молодого бойца PostgreSQL

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


Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).

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

Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.

Поехали!
Читать дальше →
Всего голосов 79: ↑77 и ↓2+75
Комментарии59

Создание игры «35ММ». Постапокалипсис в России

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


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

Начнем с небольшой предыстории. 35ММ — это адвенчура с видом от первого лица в сеттинге постапокалипсиса на территории России. В народе — симулятор ходьбы. Игра повествует нам историю путешествия двух странников по опустевшим землям, оставленным цивилизацией. Основная часть населения вымерла после страшной болезни, и теперь природа отыгрывает у человечества свои очки. К сожалению, уже не помню точно, как зародилась идея данного проекта, но точно помню, что на тот момент я был ярым фанатом темы сталкера, игр «Метро» и вообще подобного атмосферного антуража. У меня всегда вызывали трепет и восторг пейзажи заброшенных городов, промышленных зон и деревень. Уж не знаю, что это за болезнь такая и как такую любовь объяснить, но нас таких много. В общем-то, подобной страсти по данной теме было достаточно для того, чтобы начать создание своего небольшого игрового мира.
Читать дальше →
Всего голосов 166: ↑164 и ↓2+162
Комментарии58

Skyforge: технологии рендеринга

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


Всем привет! Меня зовут Сергей Макеев, и я технический директор в проекте Skyforge в команде Allods Team, игровой студии Mail.Ru Group. Мне хотелось бы рассказать про технологии рендеринга, которые мы используем для создания графики в Skyforge. Расскажу немного о задачах, которые стояли перед нами при разработке Skyforge с точки зрения программиста. У нас свой собственный движок. Разрабатывать свою технологию дорого и сложно, но дело в том, что на момент запуска игры (три года назад) не было технологии, которая могла бы удовлетворить всем нашим запросам. И нам пришлось самим создать движок с нуля.
Читать дальше →
Всего голосов 139: ↑132 и ↓7+125
Комментарии51

Грязные трюки разработчиков видеоигр

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

Предыдущие части: раз, два, три.

Благодарим за игру!


В первой части Wing Commander при выходе из игры мы получали от нашего менеджера памяти EMM386 исключение. Экран очищался и на него выводилась единственная строка, что-то типа «Ошибка менеджера памяти EMM386. Бла-бла-бла».

Нам нужно было выпустить игру как можно быстрее, поэтому я отредактировал ошибку менеджера памяти в hex-редакторе, чтобы она выглядела как «Благодарим за то, что играли в Wing Commander».

— Кен Демарест

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

Kali Linux: настройка и сборка ISO-образов

Время на прочтение13 мин
Количество просмотров32K
Загрузка Kali Linux со съёмного носителя информации полезна во многих ситуациях. В самом простом виде такой носитель, в формате DVD-диска или флэшки, создают, используя стандартный ISO-образ системы. Однако, куда больше возможностей даёт сборка собственных образов и создание загрузочных носителей с постоянным хранилищем данных. Кроме того, иногда могут пригодиться образы системы, настроенные особым образом. Всему этому посвящены третий и четвёртый разделы девятой главы книги «Kali Linux Revealed», перевод которых мы публикуем в этом материале.


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

Как я взломал 40 сайтов за 7 минут (перевод)

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


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


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


Это будет подробная история о том, как я взломал сервер, на котором размещалось 40 (это точное число) веб-сайтов, и о моих находках.

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

Красота Go

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

Gopher  —  талисман Go


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


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


Есть еще две особенности языка, которые делают его идеальным вариантом для разработки современных систем. Я на них остановлюсь подробнее в разделе статьи под названием «Сильные стороны».


Одна из них — первоклассная поддержка конкурентности (concurrency) (с помощью горутин (goroutines) и каналов, рассмотрено ниже). Конкурентность по своему определению позволяет эффективнее использовать всю доступную мощь CPU, даже если у процессора всего одно ядро. В Go на одной машине могут одновременно выполняться сотни тысяч горутин (легковесных потоков). Каналы и горутины крайне важны при построении распределенных систем, поскольку они абстрагируют механизмы, связанные с передачей сообщений в рамках концепции поставщика-потребителя (producer-consumer messaging paradigm).

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

Как устроена Алиса. Лекция Яндекса

Время на прочтение8 мин
Количество просмотров85K
В этой лекции впервые рассматриваются технологические решения, на основе которых работает Алиса — голосовой помощник Яндекса. Руководитель группы разработки диалоговых систем Борис Янгель hr0nix рассказывает, как его команда учит Алису понимать желания пользователя, находить ответы на самые неожиданные вопросы и при этом вести себя прилично.


— Я расскажу, что внутри у Алисы. Алиса большая, в ней много компонент, поэтому я немного поверхностно пробегусь.
Всего голосов 86: ↑83 и ↓3+80
Комментарии67
Специалистам по data science сейчас есть где разгуляться — один Kaggle с его активностью по спортивному анализу данных чего стоит. Но время идет и метрики, по которым определяются победители конкурсов, постепенно устаревают или приедаются — в большинстве случаев используются классические выборки данных. А что, если вместо этого предложить разработать полноценную модель в Docker с конечным решением-моделью?
Подробности — под катом
Всего голосов 27: ↑24 и ↓3+21
Комментарии3

Kali Linux в Windows

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

 
С введением подсистемы Windows для Linux (WSL) в Windows 10 появились новые возможности, такие как поддержка Linux дистрибутивов, в частности Ubuntu. В этой статье я расскажу, как с помощью этой подсистемы подключить Kali LInux в Windows среде не используя системы виртуализации.

Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии21

Обучаемый Telegram чат-бот с ИИ в 30 строчек кода на Python

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

Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»

Читать дальше →
Всего голосов 82: ↑68 и ↓14+54
Комментарии106

История победы на ежегодном соревновании Russian AI Cup 2017

Время на прочтение15 мин
Количество просмотров21K
Всем привет! Хочу рассказать про историю своей победы в ежегодном соревновании по написанию игровых ботов Russian AI Cup, в 2017. В финале бот выиграл 98% игр, что, как оказалось, наивысший результат по финалам среди всех годов проведения чемпионата. Также занял 1-е место в песочнице по завершению её работы, в пике переходя за 4000 очков рейтинга.



Эта статья может быть интересна участникам, болельщикам и просто интересующимся тематикой AI и написанием игровых ботов. Надеюсь вы сможете почерпнуть для себя что-то новое. В свою очередь и мне бы хотелось почитать статьи от участников, сравнить подходы и ход мыслей.
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии50

Микроядро vs. монолит и «торжество» MINIX

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

Недавно Эндрю Таненбаум, профессор Амстердамского свободного университета, автор учебной и миниатюрной Unix системы Minix, вновь оказался в центре событий благодаря эпистолярному жанру. В своем письме Интел он поблагодарил компанию за использование Minix, посетовал на то, что та не трубила об этом на каждом шагу и заявил, что из-за этого мало кто знает о том, что Minix — на сегодняшний день самая популярная ОС на свете.


Безудержная радость


Надо отдать должное профессору, он умеет выбирать адресата, время и место для того, чтобы вызвать громкий и продолжительный эффект с помощью простого сообщения, отправленного по электронной почте. Его предыдущим корреспондентом был Линус Торвальдс, а их переписка о монолитном и микро ядре вошла в анналы истории ИТ. Без этого трудно понять, почему Эндрю Таненбаум так экзальтирован из-за мнимого успеха Миникс, которая всего лишь в течении десятка лет обеспечивала работу интеловского бэкдора IME.

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

Бэкенд игрового сервера World in Conflict выложен в открытый доступ

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

Исключительно хорошая новость: совместными усилиями компаний Ubisoft и шведской Massive Entertainment, в открытый доступ выложен рабочий сервер для игры World in Conflict. Данная стратегия в реальном времени (RTS) вышла в 2007 году; её официальный сервер Massgate был закрыт в 2016, после чего коммьюнити massgate.org решило вернуть игру к жизни, чем и вдохновило Ubisoft на данный шаг — теперь любой сможет поднять свой собственный сервер для мультиплеера и другого онлайн-функционала.

Исходный код бэкенда доступен по ссылке на Github по лицензии GPL-2.0. Сам игровой сервер написан на С++, поэтому для компиляции вам потребуются CMake и Visual Studio. Для запуска вам также понадобятся MySQL (в оригинале использовался MySQL 4.2.1, но всё должно работать и на более свежих версиях) и любой простейший веб-сервер (авторы рекомендуют SimpleHTTPServer).

Кстати, саму игру можно сейчас получить абсолютно бесплатно до 23 декабря по ссылке — правда, для этого вам может потребоваться завести аккаунт в Uplay.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

Пишем простой модуль ядра Linux

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

Захват Золотого Кольца-0


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

Модуль ядра Linux — это скомпилированный двоичный код, который вставляется непосредственно в ядро Linux, работая в кольце 0, внутреннем и наименее защищённом кольце выполнения команд в процессоре x86–64. Здесь код исполняется совершенно без всяких проверок, но зато на невероятной скорости и с доступом к любым ресурсам системы.

Не для простых смертных


Написание модуля ядра Linux — занятие не для слабонервных. Изменяя ядро, вы рискуете потерять данные. В коде ядра нет стандартной защиты, как в обычных приложениях Linux. Если сделать ошибку, то повесите всю систему.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии8
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность