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

Дмитрий Штенников — автор онлайн-курса «Программирование и разработка веб-приложений» и доцент кафедры компьютерных образовательных технологий Университета ИТМО.

Это его первый опыт работы с массовыми открытыми онлайн-курсами, и своим дебютом он выбрал курс о языке программирования Python и фреймворке Django. Дмитрий рассказывает, о чем и для кого будет его первый онлайн-курс.

MOOC «Программирование и разработка веб-приложений»: анонс и интервью с автором курса Университета ИТМО - 1Читать полностью »

Я люблю Python. Нет, правда, это отличный язык, подходящий для широкого круга задач: тут вам и работа с операционной системой, и веб-фреймворки на любой вкус, и библиотеки для научных вычислений и анализа данных. Но, помимо Python, мне нравится функциональное программирование. И питон в этом плане неплох: есть замыкания, анонимные функции и вообще, функции здесь — объекты первого класса. Казалось бы, чего ещё можно желать? И тут я случайно наткнулся на Coconut — функциональный язык, компилируемый в Python. Всех любителей Python и ФП прошу под кат.

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

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

Отвлеченно о входных-выходных аргументах - 1

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

Superjob приглашает на Data Science Meetup. Встречаемся 2 марта в нашем офисе на Малой Дмитровке.

image

Темы и спикеры:

  • «Применение алгоритмов поиска нечетких дубликатов в поиске вакансий»

Дмитрий Кожокарь, старший разработчик Superjob, расскажет об опыте создания эффективного алгоритма по поиску нечетких дубликатов среди большого количества полуструктурированных текстовых записей. В докладе рассматривается использование функции из семейства locality-sensitive hashing с дополнительными оптимизациями для выявления схожих вакансий и последующего объединения их в кластеры.
Читать полностью »

Секрет быстрого программирования: не задумывайтесь - 1


Программировать быстро — это легко! Так считает инженер-программист компании Google, который все публикации в своем блоге подписывает лаконичным «Макс». Макс также работает главным архитектором, комьюнити-менеджером и релиз-менеджером в Bugzilla Project. Мы в Alconost впечатлились и перевели его советы о том, можно ли как научиться программировать с космической скоростью.

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

Они, конечно, правы в том, что в условиях сжатых сроков разработчики, как правило, будут писать сложный код. Впрочем, дедлайны не должны приводить к сложности. Вместо фразы «Этот дедлайн помешал мне написать простой код» можно произнести равноценную: «Я недостаточно быстро программирую, чтобы писать просто». То есть чем быстрее вы как программист — тем меньше влияния на качество вашего кода имеют дедлайны.

Теперь давайте разберемся, как, собственно, стать быстрее? Может, это врожденное магическое умение? Надо ли быть «умнее» других, чтобы быть быстрым?

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

enter image description here

Привет! Меня зовут Александр Крашенинников, я руковожу DataTeam в Badoo. Сегодня я поделюсь с вами простой и элегантной утилитой для распределённого выполнения команд в стиле xargs, а заодно расскажу историю её возникновения.

Наш отдел BI работает с объёмами данных, для обработки которых требуются ресурсы более чем одной машины. В наших процессах ETL (Extract Transform Load) в ход идут привычные миру Big Data распределённые системы Hadoop и Spark в связке с OLAP-базой Exasol. Использование этих инструментов позволяет нам горизонтально масштабироваться как по дисковому пространству, так и по CPU/ RAM.

Безусловно, в наших процессах ETL существуют не только тяжеловесные задачи на кластере, но и машинерия попроще. Широкий пласт задач решается одиночными PHP/ Python-скриптами без привлечения гигабайтов оперативной памяти и дюжины жёстких дисков. Но в один прекрасный день нам потребовалось адаптировать одну CPU-bound задачу для выполнения в 250 параллельных инстансов. Настала пора маленькому Python-скрипту покинуть пределы родного хоста и устремиться в большой кластер!

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

Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

Python: Работа с базой данных, часть 1-2: Используем DB-API - 1

В статье рассмотрены основные методы DB-API, позволяющие полноценно работать с базой данных. Полный список можете найти по ссылкам в конец статьи.

Требуемый уровень подготовки: базовое понимание синтаксиса SQL и Python.
Читать полностью »

Популярность JavaScript продолжает расти. В 2016 году мы стали свидетелями больших изменений с выходом полного апгрейда AngularJS и анонсом Angular 2, окончательного первенства jQuery, который применяют в 96,5% всех JC сайтов, эволюции ECMAScript, двух обновлений Node.js в апреле и октябре соответственно, и даже более того. Чего ожидать от 2017 года? Вот то, что мы знаем к этому времени: Angular 4 ожидается в марте 2017, выпуск ES2017 планируется в середине 2017, релиз Bootstrap v4 также ожидается в этом году.

Обзор 5 самых популярных JavaScript фреймворков и библиотек 2017 - 1

Недавно JavaScript занят место среди лучших языков для изучения по версии IBM в 2017 году. На данном этапе он используется, как для клиентской, так и для серверной части и помогает проектировать привлекательные интерфейсы, обогащать веб-приложения многочисленными функциями и фичами, изменять веб-страницы в реальном времени и много другое.
Читать полностью »

Черная магия метапрограммирования: как работают макросы в Rust 1.15 - 1В прошлой статье мы познакомились с одной из самых интересных возможностей языка Rust — процедурными макросами.

Как и обещал, сегодня я расскажу о том, как писать такие макросы самостоятельно и в чем их принципиальное отличие от печально известных макросов препроцессора в C/C++.

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

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

image

Создание программного обеспечения для стартапов — серьёзная задача. Не потому, что само написание программного обеспечения является довольно трудным, а потому, что у большинства стартапов места для выполнения такой работы далеки от оптимальных. За свои более чем 10 лет опыта разработчика ПО для стартапов я научился не доверять способности работодателей обеспечить мне адекватную рабочую среду, и это мешает мне выполнять работу для них наилучшим образом. Я, по своей природе, амбициозный, энергичный, и я не хочу ничего более, чем выдать на том месте, где я работаю, лучшее из того, что я могу. Я отдаю себя на 100% компании, в которой я работаю. Но в большинстве мест, где я работал, было сделано немало, чтобы воспрепятствовать мне в этом. Вот почему в какой-то момент времени я занял чёткую позицию: отныне я буду работать только «удалённо».
Читать полностью »


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