Обновить
1063.29

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Набор на курс Python: почему мы думаем, что Python 2.7. — это серьезно, а Python 3 — модно

Время на прочтение4 мин
Количество просмотров9.8K
Пару дней назад мы открыли набор на один из самых долгожданных курсов — курс серьезного изучения Python. Сегодня мы хотели рассказать вам о направленности и программе курса. Курс предназначен для тех, кто уже знает всякое про Python, но хочет повысить свой навык до уровня middle разработчика и найти уже работу, которая будет приносить не только удовольствие, но и хороший доход (ведь лучшим по результатам обучения студентам наши партнеры — крупнейшие IT компании предложат пройти собеседования). Мы не ждем на курсе новичков: поэтому наличие некоего beginner уровня проверяется вступительным тестом — там всего пара десятков вопросов. Если большинство из вопросов теста вызывают длительный ступор — лучше задуматься над тем, чтобы немного подтянуть свои знания по Python самостоятельно, ведь во время курса может не быть возможности останавливаться на basic вещах.
Читать дальше →

Пишем софт, который будут ненавидеть

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


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

Как получить оффер в день собеседования. Часть вторая, для PHP-разработчика

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


Привет, Хабр! Меня зовут Павел Мурзаков, я – PHP-тимлид в Badoo, и сегодня я расскажу вам о новой возможности получить предложение по работе в Лондоне за один день. Как вы, возможно, знаете, недавно в Москве прошло рекрутинговое мероприятие Badoo по поиску мобильных разработчиков. Оно оказалось очень успешным – мы предложили работу в Лондоне восьми ребятам и надеемся скоро увидеть их в составе нашей мобильной команды.


И, чтобы не отставать от наших iOS- и Android-команд (ведь их теперь на восемь человек больше!), мы решили ответить достойно и провести аналогичное мероприятие, на котором рассчитываем найти server-side-коллег нашим новым мобильным разработчикам!

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

Написание современного JavaScript кода

Время на прочтение4 мин
Количество просмотров3.9K
JavaScript-разработчик из Франции, Себастьян Кастель, поделился мыслями о том, как на его взгляд должен выглядеть JavaScript код в 2017 году.

А вы помните те времена, когда JavaScript был языком, который использовали только для оживления страниц сайта? Это время уже прошло, так как, языки программирования развиваются вместе с методами их использования. Посмотрите на код, который вы написали один, два года назад: он вас смущает? Если да, этот пост для вас.



Ниже вы найдете мой список из хороших практик, которые помогут сделать ваш JavaScript код проще в написании, чтении и поддержке.
Читать дальше →

Как я участвовал в хакатоне Angular Attack, и что из этого вышло

Время на прочтение9 мин
Количество просмотров7.2K
Привет, друзья. Меня зовут Алексей, я работаю фронтенд-разработчиком в Санкт-Петербургском офисе компании Wrike, и сегодня я хочу рассказать про то, как я поучаствовал в хакатоне AngularAttack, где моя работа Sherlock в итоговом протоколе заняла первое место.

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

Объектное Реактивное Программирование

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

Объектное Реактивное Программирование


Дмитрий Карловский из SAPRUN представляет… ммм...


Это — текстовая версия одноимённого выступления на FrontendConf'17. Вы можете читать её как статью, либо открыть в интерфейсе проведения презентаций, либо посмотреть видео.

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

Распределенные структуры данных (часть 2, как это сделано)

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

В предыдущей статье — часть 1, обзорная — я рассказал о том, зачем нужны распределенные структуры данных (далее — РСД) и разобрал несколько вариантов, предлагаемых распределенным кешем Apache Ignite.


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


Итак:



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

Побеждаем Android Camera2 API с помощью RxJava2 (часть 1)

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


Как известно, RxJava идеально подходит для решения двух задач: обработки потоков событий и работы с асинхронными методами. В одном из предыдущих постов я показал, как можно построить цепочку операторов, обрабатывающую поток событий от сенсора. А сегодня я хочу продемонстрировать, как RxJava применяется для работы с существенно асинхронным API. В качестве такого API я выбрал Camera2 API.


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


Для кого этот пост? Я рассчитываю, что читатель – умудрённый опытом, но всё ещё любознательный Android-разработчик. Очень желательны базовые знания о реактивном программировании (хорошее введение – здесь) и понимание Marble Diagrams. Пост будет полезен тем, кто хочет проникнуться реактивным подходом, а также тем, кто хочет использовать Camera2 API в своих проектах. Предупреждаю, будет много кода!


Исходники проекта можно найти на GitHub.

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

Пишем пасьянс «Косынка»

Время на прочтение8 мин
Количество просмотров27K
Девять лет назад я имел неосторожность приобрести приставку PSP, чему был очень рад. Омрачало радость только отсутствие пасьянса. Не то, чтобы я был любителем пасьянса, но как-то привык я раскладывать один из вариантов — “Косынку”. Пришлось такой пасьянс написать самому. В дальнейшем этот написанный для PSP пасьянс я портировал под Windows и под QNX. В этой вот статье я и расскажу, как написать такую игру.
Читать дальше →

Когда docker-compose не хватает

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

О чем пойдет речь


Здесь периодически появляются посты, в которых авторы делятся своими подходами по использованию docker. Ну что же, вот вам еще один. Ниже я расскажу о нашем опыте использования docker-окружения, о неудобствах, с которыми мы столкнулись, как мы с ними боролись, и во что это вылилось. А также поделюсь небольшим, но столь полезным для нас, инструментом.


image

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

Поездка на Google I/O: как, зачем и сколько стоит

Время на прочтение6 мин
Количество просмотров10K
В этом году я впервые побывал на Google I/O. По итогу, могу с уверенностью сказать, что было круто! О докладах я рассказал в предыдущей статье, а теперь — о самой поездке. Рекомендую каждому Android-разработчику туда съездить. Под катом — лайфхаки на тот случай, если вы хотите побывать на Google I/O, но не знаете, как это сделать и во сколько вам это обойдётся.


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

Предварительная программа PyConRu-2017: выступят докладчики из Disney, Facebook, Яндекса, JetBrains, Тинькофф Банка

Время на прочтение5 мин
Количество просмотров4.6K
Привет! 16-17 июля в 95 км от Москвы пройдет пятая конференция для python-разработчиков PyCon Russia. Видео прошлогодних докладов можно посмотреть на YouTube-канале.

Программа PyCon-2017 получается отличной. На конференции выступят: Paul Hildebrandt (Walt Disney Animation Studios, США), Łukasz Langa (Facebook, США), Nina Zakharenko (Venmo, США), Александр Кошкин (Positive Technologies), Кирилл Борисов (Яндекс), Елизавета Шашкова (JetBrains), Михаил Юматов (ЦИАН), Ольга Сентемова (Тинькофф Банк), Игорь Новиков (Scalr), Олег Чуркин (Rambler&Co) — и это не все. Подробности программы — под катом.


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

Почему стоит полностью переходить на Ceylon или Kotlin (часть 1)

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

В последнее время активную популярность набирает Kotlin. А что если попробовать выбрать более экзотические языки, и применить к ним те же аргументы? Статья написана по мотивам этой, практически повторяя все аргументы за Kotlin. Основная задача: показать, что Ceylon может практически тоже самое, что и Kotlin, применительно к Java. Но кроме этого у Ceylon есть кое-что еще, что будет описано в следующей статье.


Хочу рассказать о новом языке программирования, который называется Ceylon, и объяснить, почему вам стоит использовать его в своём следующем проекте. Раньше я писал на Java (много и долго, более 10 лет, начиная с Java 1.4 и заканчивая Java 8), и Java мне нравилась. Затем на меня большое впечатление произвела Scala, в результате чего Java как язык стал любить несколько меньше. Но судьба свела меня с языком Сeylon, и в последние полтора года мы пишем на Ceylon везде, где только можно. В реальных коммерческих проектах, правда внутренних. И в данный момент я не представляю себе ситуации, в которой лучше было бы выбрать Java, я не рассматриваю Java как язык, на котором стоит начинать новые проекты.


Ceylon разработан в Red Hat, автор языка — Gavin King, известный по такому фреймворку как Hibernate. Он создавался людьми, которые хорошо понимают недостатки Java, основная цель заключалась в решении сугубо прикладных задач, обеспечение максимально легкой читаемости кода, избегание любых неоднозначностей и подводных камней, во главу всего стала предсказуемость и структурная красота языка. Также большое внимание уделялось приемлемому времени компиляции. В настоящее время версия языка 1.3.2, непосредственно я познакомился с языком, когда вышла версия 1.2.0.


Хотя Ceylon компилируется в JavaScript, я сконцентрируюсь на его первичной среде — JVM.


Итак, несколько причин, почему вам следует полностью переходить на Ceylon (порядок совпадает с одноименными пунктами соответствующей Kotlin статьи):

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

Ближайшие события

Huginn: простая интеграционная платформа

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

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

Типизированные компоненты в Vue.js, или как подружить Vue, TypeScript и Webpack

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

Речь в данной статье пойдет о довольно необычном сочетании технологий: Vue.js + TypeScript + Webpack, в разрезе single-file компонентов. Решение данной задачи отняло у меня приличное количество времени с первого захода, поскольку исчерпывающее объяснение того, как использовать все это вместе, да и еще с рядом ограничений (NPM предоставляет нам runtime-only build Vue.js), найти в цельном виде практически невозможно. Если вас заинтересовала данная тема, то приглашаю к дальнейшему чтению.
Читать дальше →

Нативные EcmaScript модули: новые возможности и отличия от webpack

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

image


В предыдущей статье Нативные ECMAScript модули — первый обзор я рассказал историю JavaScript модулей и текущее состояние дел реализации нативных EcmaScript модулей.


Сейчас доступны две реализации, которые мы попробуем сравнить с бандлерами модулей.

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

Несколько слов про «наш» микроконтроллер

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

В статье речь пойдёт про отечественный МК фирмы Миландр 1886ВЕ5У, будет совсем немного кода и много нытья.

Данный МК построен на ядре PIC17, что заметно при разработке — так как у меня уже есть солидная кодовая база для PIC, мне было чуть проще начать. Также под данный МК можно приобрести отладочную плату — о ней я тоже пару слов напишу.

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

Итак, поехали.
Читать дальше →

«Сломай голосовалку на РИТ++». Даёшь 1 000 000 RPS

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


Прошёл второй день РИТ++, и по горячим следам мы хотим рассказать о том, как всем миром пытались сломать нашу голосовалку. Под катом — код, метрики, имена победителей и самых активных участников, и прочие грязные подробности.

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

Понимание событийной архитектуры Node.js

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


Большинство Node-объектов — вроде HTTP-запросов, ответов и потоков (streams) — реализуют модуль EventEmitter, благодаря которому они могут генерировать и прослушивать события.


const EventEmitter = require('events')

Простейшая форма управления по событиям — это callback-стиль некоторых популярных Node.js-функций, к примеру fs.readFile. По этой аналогии событие генерируется однократно (когда Node готов к вызову коллбэка), а коллбэк действует как обработчик события. Давайте сначала разберём эту базовую форму событийно-управляемой архитектуры.

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

Лучшие доклады на конференции United Dev Conf 2017

Время на прочтение5 мин
Количество просмотров2.4K
В апреле в Минске прошла большая IT-конференция United Dev Conf, организованная Frontend Dev Conf, Highload Dev Conf и Mobicode.

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

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

Конференция проходила в четыре потока: Frontend, Highload, Mobile и Sales. Её посетили около 700 участников, и 40 докладчиков делились своим опытом. А в перерывах компании-спонсоры разыгрывали квадрокоптеры, куда ж без них на IT-ивенте.

Нам, как фронтенд-разработчикам, в первую очередь был интересен Frontend-поток, собственно его мы и посетили в эти два дня. Все доклады были интересными, но мы выбрали самые интересные, на наш взгляд.
Читать дальше →

Вклад авторов