Рубрика «програмирование»

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

GitHub опубликовал ежегодный статистический отчет - 1

Веб-сервис для хостинга IT-проектов и их совместной разработки GitHub опубликовал сводный отчет за прошедший год с анализом разнообразной внутренней статистики по многим направлениям разработок, а также возможностям и достижениям своих пользователей. Оказалось, что Python теперь на втором месте в рейтинге популярности языков программирования, используемых на GitHub, Java сместился на третье место, а лидером остается JavaScript. Количество пользователей GitHub возросло на 25%, а основные страны, где проживают пользователи сервиса — США, Китай и Индия.
Читать полностью »

Обработка ошибок в Kotlin-Java: как правильно это делать? - 1

Источник

Обработка ошибок в любой разработке играет важнейшую роль. В программе может пойти не так практически всё: пользователь введёт некорректные данные, или они могут прийти такими по http, или мы ошиблись при написании сериализации/десериализации и в процессе обработки программа падает с ошибкой. Да может банально закончится место на диске.

спойлер

¯_(ツ)_/¯, нет единого способа, и в каждой конкретной ситуации придётся подбирать наиболее подходящий вариант, но есть рекомендации, как это делать лучше.

Читать полностью »

Как мы пересадили всю команду на другой язык за один день (на самом деле нет) - 1
Начало шаблона для быстрого заземления PHP-разработчиков в Go

15 лет мы делали бэкенд на PHP. И вот однажды было принято стратегическое решение: сначала переписать самые высоконагруженные места на Go, а потом разрабатывать новые сервисы на нём.

Представьте: вы хотите рассказать про новый язык команде из 40 разработчиков, которые настолько хорошо готовят PHP, что собрали на нём многопоточную систему реального времени и высокой доступности. В худшем случае вас сожгут, в лучшем — прислушаются, но продолжат делать как раньше. Это если вводить язык насильно.

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

Расскажу по шагам, как повторить такой опыт у вас. И про результаты нашего внедрения. И про то, что случается в голове у PHP-разработчика при виде нового языка.

Мы начали с подготовки шаблона и CI/CD, который позволяет задеплоиться за 15 секунд. Чтобы его написать самому, нужно где-то недели две. Мы сделали его заранее.Читать полностью »

Классические алгоритмы генерации лабиринтов. Часть 2: погружение в случайность - 1

Предисловие


Первая часть

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

В этой части мы поговорим о том, что же такое случайная и псевдослучайная генерации, какие алгоритмы могут дать нам равновероятно ничем не похожие друг на друга лабиринты и в чем их минусы. Героями нашего сегодняшнего приключения станут алгоритм Уилсона и алгоритм Олдоса-Бродера для создания случайного остовного дерева (Uniform Spanning Tree). ОСТОРОЖНО ТРАФИК.
Читать полностью »

Классические алгоритмы генерации лабиринтов. Часть 1: Вступление - 1

Предисловие


На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить две статьи: раз и два. Ценность и пользу из которых несет лишь вторая. В первой – просто перевод формального алгоритма и небольшое его пояснение. Что, конечно, неплохо, но очень скудно и не вызывает желания изучать тему дальше.

Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева со одним заметным плюсом. ОСТОРОЖНО ТРАФИК.Читать полностью »

Давайте рассмотрим создание минимального HTTP API Endpoint используя Elixir. Так же, как и Rack в Ruby, Elixir идет в комплекте с Plug. Это универсальный инструмент для работы с HTTP соединениями.

Минимальный HTTP API Endpoint используя Elixir - 1Читать полностью »

Сегодня выпуск целиком и полностью посвящен WWDC 2012. И хвалим Apple, и ругаем.

В выпуске:

Конференция WWDC 2012:

  • Новые просто Macbook'и MacBook with Retina display.
  • OS X Mountain Lion: совсем скоро.
  • Новые плюшки в новой iOS 6.

Голоса подкаста:

hackPNZ

vfedotoff

antonkopylov

Ссылки:

Официальное видео конференции с сайта Apple.

Множество тем, посвященных конференции.

Саундтреки:

Scorpions — Raised On Rock (intro)
Читать полностью »

Сегодня выпуск целиком и полностью посвящен WWDC 2012. И хвалим Apple, и ругаем.

В выпуске:

Конференция WWDC 2012:

  • Новые просто Macbook'и MacBook with Retina display.
  • OS X Mountain Lion: совсем скоро.
  • Новые плюшки в новой iOS 6.

Голоса подкаста:

hackPNZ

vfedotoff

antonkopylov

Ссылки:

Официальное видео конференции с сайта Apple.

Множество тем, посвященных конференции.

Саундтреки:

Scorpions — Raised On Rock (intro)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js