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

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

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

Игра-головоломка Neo Angle. Работа с уровнями в Unity

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


Всем доброго времени суток! Я бы хотел вам рассказать историю своей новой игры-головоломки Neo Angle, а также поделиться опытом импортирования, хранения и генерации уровней в Unity.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии10

Как работают ИТ-специалисты. Семен Багреев, Rambler Digital Solutions, руководитель отдела разработки Python/Ruby

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

Будет интересно выяснить, что их объединяет, в чем они противоречат другу другу.


Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.

Сегодня наш гость — Семен Багреев, руководитель отдела разработки Python/Ruby в Rambler Digital Solutions.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии0

Как заполнить 100 таймшитов за 2 минуты

Время на прочтение12 мин
Количество просмотров23K
Пост о том, почему наши программисты теперь заполняют таймшит не 32, а только 2 минуты и о том, как можно наладить автоматический учет рабочего времени за счет импорта данных из трекинговых систем TFS, Redmine и Jira на Microsoft Project Server.



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

Проблема — бардак в заполнении таймшитов


Для 99% компаний-разработчиков учет рабочего времени программистов нужен как воздух, чтобы считать затраты.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии25

Как можно упростить себе жизнь с помощью Telegram-бота

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

О чём эта статья?


Эта статья — краткий рассказ о том, как с помощью подручных средств (Firefox) и Python можно осуществить успешную интеграцию Telegram-бота и внешнего сервиса.

Материал будет интересен тем, кто наслышан о Telegram'ных ботах, но не знает, как к ним подступиться и какие задачи с их помощью можно решать. Предполагается знание Python.

Картинка для привлечения внимания:

writing a twitter bot
(ссылка на оригинал)

TL;DR


Из статьи вы узнаете:

1. Как с помощью браузера узнать, какой запрос отправляется на сервер при клике по кнопке?

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


2. Как легко отправить запрос на сервер с помощью Python?

Ответ
Удобной обёрткой над стандартным модулем urllib2 является библиотека requests. Подробнее на Хабре: "Библиотека для упрощения HTTP-запросов".


3. Как написать бота на Python?

Ответ
Полнофункциональная обёртка реализована в библиотеке python-telegram-bot. Пока на Хабре эта библиотека не упоминалась.

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

Линейная алгебра для разработчиков игр

Время на прочтение19 мин
Количество просмотров773K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →
Всего голосов 314: ↑296 и ↓18+278
Комментарии61

Создание сеток шестиугольников

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

Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии25

Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++

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


В процессе построения учебной программы наших образовательных проектов мы составили список специализированных книг, рекомендованных к изучению по каждой из дисциплин, — всего более 100 наименований на весь период обучения. Не станем таить и представим вам этот список, сопроводив краткими комментариями. Уместить такой объем информации в рамках одной статьи затруднительно, поэтому обзор рекомендованной Технопарком литературы разбит на четыре части — по числу семестров, с небольшой добавкой полезных книг, предложенных студентами. Ссылки в комментариях на дополнительное интересное чтиво только приветствуются.

Первый семестр призван «выровнять» знания студентов. Он содержит такие дисциплины, как алгоритмы и структуры данных, программирование на C++, а также обзорный курс по веб-технологиям. С книг по этим предметам и начнется обзор. Большая часть представленных книг относится к нестареющей «классике», являющейся собранием основополагающих концепций.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии10

«Пятничный формат»: Размер зарплаты имеет значение, или за что готовы платить работодатели

Время на прочтение5 мин
Количество просмотров44K
Работа ИТ-специалистов сегодня достаточно высоко оплачивается. Как и в любой сфере тут главное быть профессионалом и хорошо разбираться в своей работе и отрасли. Но сегодня мы в 1cloud постараемся выяснить, за что работодатели готовы платить большие суммы «айтишникам» и какие профессии оплачиваются выше других. Для удобства сравнения, все примеры в статье приводятся в долларах и отражают зарплату в месяц.

Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии247

Как 10 лет назад начинался проект PVS-Studio

Время на прочтение25 мин
Количество просмотров13K
Единорог

Десять лет назад мы создали простенькую утилиту под названием Viva64, предназначенную для выявления некоторых проблем в 64-битном коде. Так было заложено начало статического анализатора кода PVS-Studio. Хотя с того момента прошло 10 лет, что-то более-менее у нас, как у компании, стало получаться только несколько лет назад. Эта статья — не история успеха, так как мы считаем, что всё интересное только начинается. Однако, 10 лет — это повод подвести промежуточные итоги и рассказать нашим читателям как все начиналось, какие нас ждали ошибки, и что на данный момент у нас получилось. Местами я, возможно, буду не совсем хронологически точен при описании событий. Моя память не идеальна, а 10 лет — это длительный промежуток времени. Желаю всем приятного чтения.
Читать дальше →
Всего голосов 100: ↑93 и ↓7+86
Комментарии86

Как мои пальцы закровоточили, и я собрал велосипед для деплоя, который сэкономил больше 2 тысяч рабочих часов за проект

Время на прочтение12 мин
Количество просмотров25K
«Денис, ты теперь инженер по развёртыванию». Офигеть, дайте две. В общем, я работаю в КРОК, который славится огромными проектами. В этом проекте мы поддерживали внедрение гигантской аналитической системы класса data lake для нескольких тысяч пользователей объёмом 150 ТБ. Пилят её несколько команд разработки, в общей сложности примерно 40 человек.

На них приходится четверо инженеров по инфраструктуре (опсов, админов, то есть нас) — мы чаще всего были нужны для того, чтобы устанавливать софт на стенды, перезагружать машины (первая надежда разработчика: не работает — попроси инженера перезагрузить), накатывать схемы БД и так далее.



Разработчики пишут код, который сливается в репозиторий. Из него Jenkins рождает сборки, которые выкладывает на шару. Развёртывание системы с нуля первый раз у меня заняло 4 часа 15 минут по таймеру. Для каждого из порядка десяти компонентов (скрипты разных БД, Tomcat-овские приложения и т. д.) в нужном порядке надо было взять файл с шары, разобраться, где и в скольких экземплярах его нужно развернуть, поправить настройки, указать, где ему искать другие компоненты системы, связать всех со всеми и ничего не перепутать.

Пальцы закровоточили — начал скриптовать. Началось с одного маленького скрипта.
Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии67

Клон Trello на Phoenix и React. Части 8-9

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




Выводим список и создаём новые доски


Оригинал


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

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

Простые сладкие приложения с Kivy

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

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


Возможно, для вас будет новостью, но разрабатывать мобильные приложения с функционалом, который доступен Java разработчикам, под Android с помощью фреймворка Kivy не просто просто, а очень просто! Именно этого правила я придерживаюсь, создавая свои проекты с Python + Kivy — разработка должна быть максимально простой и быстрой. Как щелчок пальцами.


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

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

Собеседование на программиста в Amazon

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

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


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


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


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

Читать дальше →
Всего голосов 71: ↑62 и ↓9+53
Комментарии258

Расширяем фреймворк Kivy пакетом XPopup (Часть 1-я)

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

Эти забавные зверушки


Не так давно передо мной встала задача в сжатые сра сроки написать работающий прототип GUI-приложения, которое без лишней строки кода хорошо дружило бы как с Windows, так и с OS X. Выбор пал на змеиный фреймворк Kivy, который с легкостью решал вышесказанное. А также, в базовой комплектации имел весь необходимый инструментарий для реализации приложения.

Ну… почти весь. Под катом расскажу что не так и как это побороть.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии10

Десктопные приложения на JavaScript. Часть 1

Время на прочтение6 мин
Количество просмотров157K
Ни для кого не секрет, что в наше время JavaScript стал одним из самых популярных языков программирования. В далекие 90е годы, в момент зарождения языка, когда он был создан с единственной целью добавить интерактивность веб страницам и улучшить процесс взаимодействия с пользователем, кто бы мог подумать, что он достигнет столь небывалых высот. Ведь сейчас на нем можно делать практически все что угодно. Хотите написать сайт: и бэкэнд и фронтэнд на JavaScript? пожалуйста! Хотите написать мобильное приложение на JavaScript? нет проблем. Программируете микроконтроллер – и тут вам на помощь придет JavaScript.

Есть конечно небольшие минусы в подходе использования JavaScript везде, но если поразмыслить, то сколько времени и сил можно сэкономить, изучив всего лишь одни язык, особенно, если то же самое приложение должно работать на разных платформах. Разных платформах говорите? Хм… Точно – разных платформах – теперь JS может позволить себе десктопные приложения для Windows, Linux, Mac, как спросите вы? Ответ прост: встречайте – NW.js.

По первым буквам можно прочитать – Node.js + Webkit, если данные понятия вам пока не знакомы, то скоро вы поймете о чем идет речь.

Node.js – программная платформа, основанная на движке V8, который транслирует наш скрипт в машинный код. Данная платформа была создана в 2009 году преимущественно для работы с бэкэндом сайтов.

WebKit — свободный движок, разработанный компанией Apple. Впервые был анонсирован в составе Safari в 2003 году
Итак, коду, написанному на JS для данной технологии, будут доступны как Node.js модули, так и стандартный браузерный API (соответственно WebKit)
Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии24

Впечатления от тренингов Certified Scrum Master и Certified Scrum Product Owner

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


Сегодня мы хотим поделиться впечатлениями от участия в тренингах Certified Scrum Master и Certified Scrum Product Owner от Innovel и ProCognita, которые проходили в Варшаве 29-30 июня и 1-2 июля соответственно. Здесь мы рассмотрим наиболее интересные с нашей точки зрения инструменты и техники, представленные на обоих тренингах, которые будут полезны как тем, кто делает свои первые шаги в SCRUM, так и уже имеющим некоторый опыт в применении гибких SCRUM в своих проектах. Мы оставили оригинальные названия упражнений, чтобы упростить поиск тем, кто впоследствии пожелает найти больше информации; кроме того, статья дополнена ссылками на англоязычные статьи, поясняющие суть некоторых упражнений.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии8

Как работает реляционная БД

Время на прочтение51 мин
Количество просмотров541K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Всего голосов 232: ↑229 и ↓3+226
Комментарии134

Создание искусственного интеллекта для игр — от проектирования до оптимизации

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

Сегодня – первое сентября. А значит, многие читатели хабры начинают прохождение нового уровня одной древней известной игры – той самой, в которой требуется прокачать интеллект, и, в итоге, получить магический артефакт – аттестат или диплом, подтверждающий ваше образование. К этому дню мы сделали реферативный перевод статьи про реализацию искусственного интеллекта (ИИ) для игр – от его проектирования до оптимизации производительности. Надеемся, что она будет полезна как начинающим, так и продвинутым разработчикам игр.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии3

Приемы при проектировании архитектуры игр

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

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

В публикации рассматриваются следующие темы:
  • Наследование VS компоненты
  • Сложные иерархии классов юнитов, предметов и прочего
  • Машины состояний, деревья поведений
  • Абстракции игровых объектов
  • Упрощение доступа к другим компонентам в объекте, сцене
  • Сложные составные игровые объекты
  • Характеристики объектов в игре
  • Модификаторы (баффы/дебаффы)
  • Сериализация данных

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

Поиграем в жизнь

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

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

Ладно, хватит завлекалок. Пора удариться в математику.


Включить мозги
Всего голосов 154: ↑135 и ↓19+116
Комментарии109

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Python
Linux
Bash
Kubernetes
Database
Designing application architecture
Oracle