Russian AI Cup 2017 — всем поклонникам StarCraft и C&C посвящается


Уже несколько лет подряд мы совместно проводим Russian AI Cup — нехилый такой конкурс для всех неравнодушных к программированию в целом, к построению ИИ, просто к написанию ботов для игр или автоматизации чего бы то ни было. Естественно, и этот год не будет исключением. Итак, Mail.Ru Group в сотрудничестве с Саратовским государственным университетом официально объявляют о дате старта Russian AI Cup 2017 и счастливы предложить задачу этого года. Жёсткие битвы, макбуки за первые места и минус полтора месяца из жизни разработчика — всё на месте, всё как вы любите. Добро пожаловать под кат за подробностями!

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

Релиз СУБД InterSystems Caché 2017.2

image

На прошлой неделе состоялся выпуск новой версии СУБД Caché под номером 2017.2.
Представляем вашему вниманию список изменений на русском языке. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке: docs.intersystems.com/cache20172/csp/docbook/DocBook.UI.Page.cls?KEY=GCRN
Читать дальше →

[Из песочницы] Защищаем мобильное приложение с помощью «КриптоПро»: пошаговая инструкция

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

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

Полезные скрипты при миграции из Oracle в PostgreSQL

Во время миграции из Oracle в PostgreSQL с помощью ora2pg встал вопрос с несоответствием типов данных между разными базами. По умолчанию не все колонки конвертируется правильно, а отсутствие в Oracle Boolean и вовсе порождает неоднозначность – часть колонок нужно перенести как числа, часть как логические значения. В тоже время hibernate знает все о типах данных и может создать эталонную схему.

Итоговый процесс переноса выглядел следующим образом: создание структуры таблиц через ora2pg, исправление структуры по эталонной схеме, перенос данных, конвертация blob и Boolean, добавление отсутствующих в PostgreSQL функций (nvl, nvl2, regexp_substr), создания оставшейся структуры — индексов, view и прочего.

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

[Из песочницы] Как я перестал быть дауншифтером и стал цифровым кочевником

Егор БорушкоМеня зовут Егор Борушко и я digital nomad — так называют тех, кто работает в путешествиях. Прошу не путать с дауншифтером. Дауншифтер медитирует и ищет себя, а digital nomad вкалывает как проклятый полный день (часто даже интенсивнее, чем офисный сотрудник). Просто при этом он живет, где хочет (при условии, что там есть нормальный интернет). Я вот живу на Бали.

Сейчас я работаю директором по продвижению на международных рынках в американской компании Time Doctor. Я штатный сотрудник, у меня 8-часовой рабочий день, стабильная зарплата, оплачиваемый отпуск и корпоративы.

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

Еще пару лет назад такая перспектива показалась бы мне ночным кошмаром. Всю жизнь я боялся работы “на дядю”, жизни по расписанию и по чужой указке.
Читать дальше →

[Перевод] Первая демонстрация TypeScript

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



Кроме того, я разыскал некоторые старые демки, сделанные на TypeScript в самом начале работы над проектом (тогда он назывался Strada), для того, чтобы посмотреть их вместе с теми, кто работает над TypeScript сейчас.

Сегодня я хочу рассказать о том, с чего начинался TypeScript.
Читать дальше →

Микросервисы для Java программистов. Практическое введение во фреймворки и контейнеры. (Часть 2)

Перевод книги Кристиана Посты (Christian Posta) Microservices for Java Developers. A Hands-On Introduction to Frameworks & Containers. Продолжение. Предыдущая публикация.

Организационная гибкость


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


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

We need to go deeper: обходим скрипт который обходит адблок



Немного пятничный пост. В последнее время заметил что есть реклама которая пробивает сразу 2(!) расширения блокирующие её. И обычно это очень низкокачественная и навязчивая реклама. Решил разобраться как так, и, возможно, даже попробовать побороть эту дрянь. Кому интересно — прошу под кат (осторожно, много картинок).

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

Геометрия данных 4. Пространство графа

Особенность координатных систем на точечном базисе (ди- и би-координат) состоит в том, что их можно использовать как в обычном геометрическом пространстве, так и в пространстве графа.



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

Определение системы координат


Задачу построения системы координат (СК) на графе можно сформулировать следующим образом.
Читать дальше →

[Перевод] Code review по-человечески (часть 1)

В последнее время я читал статьи о лучших практиках code review и заметил, что эти статьи фокусируются на поиске багов, практически игнорируя другие компоненты ревью. Конструктивное и профессиональное обсуждение обнаруженных проблем? Неважно! Просто найди все баги, а дальше само сложится.

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

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

• Обсуждение проблем с сочувствием и пониманием.
• Помощь партнёру в устранении недостатков.

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

Как вам нравится такая книжка? Предполагаю, что она вам не очень по душе.
Читать дальше →


Последние посты