Рубрика «Программирование» - 354

image

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

«Сапер» — веселая игра, многие из нас в нее играют. Может быть, вы хотите сделать «Сапера» сами?
Читать полностью »

Ищем быструю универсальную библиотеку для работы с графическими файлами, разбираемся с Google benchmark - 1

В наше время, когда нейронные сети бороздят просторы Big Data, а искусственный интеллект раздумывает, выгодно ли ему получать зарплату за свою работу в Bitcoin, доставшаяся мне задача поиска самой быстрой открытой кросс-платформенной библиотеки для загрузки, сохранения и перекодирования графических файлов выглядела настоящим анахронизмом. Но на самом деле эта задача актуальна как никогда – для всех технологий компьютерного зрения и машинного обучения гигабайты картинок надо обязательно загрузить, а иногда и сохранить промежуточные данные в виде изображений. Так что сделать это самым быстрым способом очень желательно. В этой статье мы найдем искомую библиотеку, а, главное, разберемся с очень полезным продуктом, сильно упрощающим подобные и многие другие задачи — Google Benchmark.
Читать полностью »

В последние недели участилась волна статей на хабре о том, как проводятся собеседования.

Как собеседует Google: чему быть, чего не миновать - 1 Google ищет инженеров постоянно. Как SRE, могу точно сказать, что вы нужны в наших рядах. Печеньки на мини кухнях и кофе в кофемашинах ждут вас. Всего-то нужно пройти собеседование. Это сложно, но реально — когда-то я уже описывал свою историю как соискателя, а сейчас уже в числе прочего занимаюсь и проведением собеседований. Так что сейчас я расскажу, как мы проводим собеседования с инженерами.

Нет, я не стал HRом. Процесс собеседования предполагает сперва разговор с HR. Это общая беседа “что-куда-зачем” (то есть описание процесса для вашего конкретного случая) и тот самый всеми любимый скрининг из опросника с несколькими вариантами ответов. Скрининг мне в своё время показался весьма базовым, подозреваю, что вы отвечали на такие вопросы уже сотню раз. Затем собеседования будут проводиться уже инженерами — вашими будущими коллегами (близкими или далёкими, это уже как получится, наша планета весьма небольшая).

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

Бесконечная локализация, или как мы переводим карту в режиме реального времени - 1

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

Под катом вы найдете историю, как этот вопрос решали в 2ГИС. Я расскажу на примере последнего кейса с Дубаем, но практики применимы для любого языка.
Читать полностью »

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

image

Вступление.

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

Большинство популярных языков программирования — это языки высокого уровня. Например, Java, Python или C#. Конечно, программировать на них можно и слабо представляя, как на самом деле работают различные уровни абстракции. Но для хорошего IT-специалиста важно понимать и то, как устроена платформа, с которой он взаимодействует, как функционирует среда разработки, компилятор, отладчик. Это приводит нас к разговору о низкоуровневом программировании.

LLP (low-level programming) — это удобный способ разобраться с тем, как писать надёжные, быстрые, компактные и эффективные программы. Наши студенты изучают ассемблер и Си прежде всего ради того, чтобы лучше почувствовать, как работает ПО.

Как проходит знакомство с LLP в Университете ИТМО: курс «Низкоуровневое программирование»
 - 1Читать полностью »

В октябре к нам на конференцию DevOops приедет звезда мирового уровня — Джон Уиллис.

Джон — один из нескольких отцов DevOps, автор 10 книг, выпускаемых в течение последних двадцати лет, включая всем известные DevOps Handbook и Beyond the Phoenix Project, гуру по Ops-части на протяжении 35 лет и просто живая легенда.

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

The John Willis Handbook - 1

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

Всем привет!

Запустили юбилейный пятый поток курса «Разработчик Python». Перед стартом каждого потока часто спрашивают какую версию мы используем в обучении (вообще обе и не только, как бы это странно не звучало, учитывая как называется курс, Python) и разные нюансы миграции с одной версии на другую. Сегодня мы хотим поделиться статьёй об опыте миграцию с 2 на 3 в Facebook, которую рассказывали на PyConf.

Поехали.

Переход на Python 3 стал значительно популярней за последние годы, но процесс еще далек от завершения. В инфраструктуре многих крупных компаний, использующих Python, остаются большие блоки кода на Python 2.7, и Facebook — не исключение. Джейсон Фрайд (Jason Fried) посетил PyCon 2018, чтобы рассказать об изменениях, произошедших в компании за последние 4 года — в самом начале Python 3 практически отсутствовал, но в итоге стал основной версией Python в компании. Джейсон помог достичь этой цели, и его доклад [видео на YouTube] — отличный источник идей для других организаций, которые хотят провести миграцию.

Фрайд начал работать в Facebook в 2011 году и быстро понял, что нужно учить Python, если он хочет получать ревью кода быстрее. Чуть позже он понял, что стал основной движущей силой за переход на Python 3 в Facebook. Это никогда не входило в его планы, и случилось само собой по мере его работы с Python.

Python 3 в Facebook - 1Читать полностью »

Андрей Александреску — настоящая живая легенда. Это человек, внесший значительный вклад в историю современных языков программирования и приёмов обобщенного и метапрограммирования. Сколько копий было сломано в обсуждениях «Современного проектирования на С++» и «Coding Standards 101» (написанной вместе с Гербом «Exceptional C++» Саттером), и других книг и статей. Являясь соавтором языка D, он имел возможность не только теоретизировать, но и воплощать мечту в реальность — и, что характерно, воплотил.

Сейчас вы держите в руках его доклад с конференции DotNext 2018 Piter, в котором рассказывается о современных технологиях оптимизации. При чём тут .NET? Это фундаментальный доклад от человека, который всю жизнь занимается оптимизациями. Если тебе важен перформанс — его нужно смотреть (либо читать эту статью). Добро пожаловать под кат!

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

Подборка @pythonetc, сентябрь 2018 - 1

Это четвёртая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки:

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


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