Обновить
1375.54

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

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

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

Java-конференция JBreak 2017, или Зачем Charles Nutter едет в Новосибирск из Миннеаполиса

Время на прочтение8 мин
Охват и читатели5.3K
Charles Nutter — JVM-разработчик из Red Hat, работающий на OpenJDK, мейнтейнер проекта JRuby, Java Champion и Ruby Hero, первоклассный специалист и спикер многих Java-конференций. Впервые в Россию он приехал в прошлом году на Joker 2016, где выступил с двумя хардкорными докладами, после чего признался в том, что не ожидал такого теплого приема и решил во что бы то ни стало вернуться в Россию:

Все сложилось удачно, и Charles запланировал визиты в Новосибирск (JBreak, 4 апреля) и в Москву (JPoint, 7-8 апреля). Обзор программы JPoint 2017 мы уже делали, вот руки дошли и до JBreak 2017. Под катом – длиннопост про всех, кто будет выступать в Новосибе, и про все, что они будут рассказывать.

Профилирование и оптимизация веб-приложений на Go

Время на прочтение12 мин
Охват и читатели95K

enter image description here


Привет, меня зовут Павел Мурзаков, я – разработчик в команде Features в Badoo. Нам важно, чтобы наши сервисы потребляли как можно меньше ресурсов, поскольку каждый дополнительный сервер стоит денег. Поэтому мы часто профилируем и оптимизируем код. Часть наших демонов написана на Go, с оптимизацией кода на котором мне пришлось работать в последнее время. Благо в стандартной библиотеке Go есть множество готовых инструментов для этого.


Недавно мне попалась эта статья, в которой собрана информация о многих инструментах и на конкретном примере показано, как начать ими пользоваться. Кроме того, в ней есть несколько хороших рецептов по написанию эффективного кода. Эта информация будет полезна любому начинающему Go-разработчику (более продвинутые тоже смогут найти что-то для себя), поэтому я сделал для вас перевод. Enjoy!

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

Баг месяца: эстафета от PC-Lint к PVS-Studio

Время на прочтение3 мин
Охват и читатели5.5K
Недавно мы опубликовали 2 статьи про ТОП 10 ошибок в открытых проектах C++ и C# за предыдущий 2016 год. Статьи понравились читателям и это натолкнуло на мысль: почему бы не сделать такой ТОП для каждого месяца? Ведь на нашем сайте огромная база ошибок, которая хорошо структурирована и из которой можно выбрать самые интересные баги, найденные в определенный промежуток времени. В этой заметке будет рассказано о новой рубрике «Баг месяца» и о том, из чего мы исходили, когда готовили список ошибок для нее.

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

Запись при чтении в postgresql: скандалы, интриги, расследования

Время на прочтение3 мин
Охват и читатели27K

Я уже рассказывал про мониторинг запросов postgresql, в тот момент мне казалось, что я полностью разобрался, как postgresql работает с различными ресурсами сервера.


При постоянной работе со статистикой по запросам постгреса мы начали замечать некоторые аномалии. Я полез разбираться, заодно очередной раз восхитился понятностью исходного кода постгреса )


Под катом небольшой рассказ о неочевидном поведении postgresql.

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

Чем отличается императивное программирование от декларативного

Время на прочтение2 мин
Охват и читатели152K

Предыстория


Не так давно я была в активном поиске работы и просматривала кучу сайтов с вакансиями/проектами. На некоторых из них «проходные» вопросы можно посмотреть еще до подачи отклика.

Большинство было вполне обычными, типа «сколько лет вы пользуетесь фреймворком Х?», но один мне показался интересным (я даже туда откликнулась, но #меняневзяли).

Это собственно и был вопрос из заголовка. И я решила разобраться. А лучший способ понять — это, как известно, объяснить. Так что добро пожаловать под кат.
Читать дальше →

Первый опыт разработки игры для Apple Watch

Время на прочтение4 мин
Охват и читатели9.3K
Всем привет! В своей статье я хочу рассказать о опыте разработки игры для Apple Watch. Игра называется Space Beaver(Бобер и Космос). Она также доступна и на iphone. Но в этой статье будет рассказ именно о версии для часов. Исходный код здесь.


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

Как развивать продукт, если в команде один разработчик и два заказчика?

Время на прочтение6 мин
Охват и читатели12K
Будем честны, все спецы говорят, что запускать прототип надо как можно раньше. В теории это легко, но на практике, особенно для публичной компании, страх облажаться очень большой. Поэтому постараюсь открыто рассказать о нашем опыте развития продукта, в который мало кто верил.



Команда мечты


Волею судеб мы с коллегой взяли ответственность за развитие сайта подключения b2b клиентов к QIWI (ishop.qiwi.com) и страницы оплаты счетов (bill.qiwi.com). В момент нашего великолепного пришествия в проект, команда мечты состояла из двух заказчиков (мы), одного JavaScript разработчика на удаленке и одного специалиста QA. Накануне, кстати говоря, из команды ушел серверный Java разработчик. Также в рабочей группе имелся новенький проектный менеджер, но решив, что 3 управленца на 1 разработчика — перебор — разошлись.
Читать дальше →

Как оценить качество системы A/B-тестирования

Время на прочтение11 мин
Охват и читатели30K


Вот уже более полугода в компании используется единая система для проведения A/B-экспериментов. Одной из самых важных частей этой системы является процедура проверки качества, которая помогает нам понять, насколько мы можем доверять результатам A/B-тестов. В этой статье мы подробно опишем принцип работы процедуры проверки качества в расчете на тех читателей, которые захотят проверить свою систему A/B-тестирования. Поэтому в статье много технических деталей.
Читать дальше →

Запуск проекта Otus.ru

Время на прочтение3 мин
Охват и читатели15K
Друзья!

Сервис Otus.ru — это инструмент для трудоустройства. Мы используем образовательные методики для отбора лучших специалистов для задач бизнеса. Мы собрали и типизировали вакансии крупных игроков ИТ-бизнеса, создали на базе полученных требований курсы. Мы заключили соглашения с этими компаниями о том, что лучшие наши студенты пройдут собеседование на релевантные позиции. Мы соединяем, как мы надеемся, лучших работодателей с самыми замотивированными специалистами.

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

Считаем до трёх: два

Время на прочтение4 мин
Охват и читатели11K

Троичные вычисления


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

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

Итак, вот список опубликованных статей цикла (будет обновляться):


Напоминаю, что единственным строительным блоком вычислителя будет троичный мультиплексор. Вот фотография оригинального тримукса дизайна Александра Шабаршина и моего исполнения на поверхностном монтаже. Одна такая плата несёт на себе два троичных (де-)мультиплексора:


Как я стал лучше программировать

Время на прочтение6 мин
Охват и читатели48K
Автор статьи — Джеймс Лонг, один из создателей Firefox Developer Tools

Несколько человек на React Conf спросили у меня совета, как программировать лучше. По какой-то причине люди видят во мне продвинутого программиста, к советам которого стоит прислушаться. Я подумал, стоит записать «ментальную модель» того, как я подходил к программированию на протяжении всех лет.

Некоторая информация: мне 32 года и 10 лет твёрдого опыта. Наверное, только в последние пару лет я приобрёл уверенность в том, что делаю. Но даже теперь я продолжаю сомневаться в себе. Дело в том, что это чувство никогда не уходит, так что старайтесь не обращать на него внимания, продолжайте хаки и накапливайте опыт.

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

Про биологию, мега-стройки и магических животных

Время на прочтение6 мин
Охват и читатели8.1K
История в многих частях с продолжением и еще никому не известным (но обязательно счастливым) концом.


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

История 3-го места на ML Boot Camp III

Время на прочтение5 мин
Охват и читатели14K
Недавно завершился контест по машинному обучению ML Boot Camp III от Mail.Ru.

Будучи новичком в machine learning мне удалось занять 3-е место. И в этой статье я постараюсь поделиться своим опытом участия.
Читать дальше →

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

Власть народу: как использовать ИИ для решения человеческих проблем

Время на прочтение11 мин
Охват и читатели9.8K


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

Весеннее обострение: проектная школа в Иннополисе, методический интенсив и митап по инфобезу

Время на прочтение5 мин
Охват и читатели4.1K
Этой весной наша проектная школа в очередной раз состоится в новом месте. На это раз, мы едем в Иннополис – изучать новый город и университет, о котором пока только наслышаны. До школы мы планируем умудриться провести методический интенсив для преподавателей на основе проекта по интернету вещей и митап по информационной безопасности.

image
#ужевыехали
Читать дальше →

Разработка R&D-проектов продолжается: запуск Wolfram Language 11.1

Время на прочтение11 мин
Охват и читатели4.1K

Перевод поста Стивена Вольфрама (Stephen Wolfram) "The R&D Pipeline Continues: Launching Version 11.1".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации


Содержание


Небольшой релиз — тоже неплохо
Визуальные изменения
Множество новых функций
Нейросети
Машинное обучение
Аудио
Изображения и визуализация
Больше данных
Интегрированные внешние сервисы
Больше математики, больше алгоритмов
Детализация дат
Настройка языка
Язык хранения
Программирование на низком уровне
Укрепление инфраструктуры
И еще кое-что


Небольшой релиз — тоже неплохо


Я рад сообщить о том, что сегодня вышла версия 11.1 языка Wolfram Language (и системы Wolfram Mathematica). На данный момент, версия 11.1 уже работает в Wolfram Cloud, а Desktop-версии уже доступны для загрузки для Mac, Windows и Linux.

Что нового в версии 11.1? На самом деле много чего. Если кратко:



В ней очень много нового. Можно подумать, что релиз .1 спустя почти 29 лет после выхода версии 1.0 вряд ли удивит. Однако в случае с нашей компанией дела обстоят иначе. С тех пор, как мы построили весь стек доступных сейчас технологий, мы лишь ускоряемся в своем развитии. И теперь даже в версии 11.1 представлено множество новых функциональных возможностей.
Читать дальше →

Создание кроссплатформенных приложений с помощью React Native

Время на прочтение8 мин
Охват и читатели44K
Предлагаем вашему вниманию перевод статьи, которая будет интересна начинающим разработчикам.

React Native — это JS-фреймворк для создания нативно отображаемых iOS- и Android-приложений. В его основе лежит разработанная в Facebook JS-библиотека React, предназначенная для создания пользовательских интерфейсов. Но вместо браузеров она ориентирована на мобильные платформы. Иными словами, если вы веб-разработчик, то можете использовать React Native для написания чистых, быстрых мобильных приложений, не покидая комфорта привычного фреймворка и единой кодовой базы JavaScript.

Конечно, мы и раньше слышали обещания об универсальной разработке приложений, с помощью фреймворков наподобие Cordova или Titanium. А что насчёт React Native? В этой статье мы рассмотрим данный фреймворк и особенности его работы и поговорим о том, насколько удобно использовать React Native для написания iOS- и Android-приложений.
Читать дальше →

Badoo time-series storage: итак, она звалась Кассандрой

Время на прочтение15 мин
Охват и читатели14K

enter image description here


Привет, Хабр! Меня зовут Евгений Гугучкин, я – разработчик Badoo в команде «Платформа».


Наша команда работает над интересными и нужными задачами. Одна из них – разработка распределённого хранилища временных рядов, в решении которой я принимал непосредственное участие.


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

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

Шишки, набитые за 15 лет использования акторов в C++. Часть I

Время на прочтение10 мин
Охват и читатели14K

Данная статья является первой частью текстовой версии одноименного доклада с февральской конференции C++ CoreHard Winter 2017. Так уж получилось, что вот уже 15 лет я отвечаю за разработку фреймворка SObjectizer. Это один из тех немногих все еще живых и все еще развивающихся OpenSource фреймворков для C++, которые позволяют использовать Модель Акторов. Соответственно, за это время неоднократно доводилось попробовать Модель Акторов в деле, в результате чего накопился некоторый опыт. В основном это был положительный опыт, но есть и некоторые неочевидные моменты, про которые было бы хорошо узнать заранее. О том, на какие грабли довелось наступить, какие шишки были набиты, как можно упростить себе жизнь и как это сказалось на развитии SObjectizer-а и пойдет речь далее.


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

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

Лучшие доклады HolyJS 2016 Moscow: Доступ открыт

Время на прочтение5 мин
Охват и читатели12K
Прошло три месяца после JavaScript-конференции HolyJS 2016 Moscow, и это значит, что сейчас самое время выложить видеозаписи докладов и составить рейтинг лучших. Напомню, что рейтинг составляется не «экспертным жюри», а участниками в форме обратной связи – более 400 человек ответили на наши вопросы и поставили оценки докладам, которые они слушали.

В этот раз топ подобрался интересный, разнообразный и почти полностью англоязычный. Вы найдете видео о (dev)tools и ServiceWorker'ах, о минимизации кода и роли UX в обойме навыков frontend-разработчика и о многом другом, включая WebVR.



Разнообразие зоопарка инструментов в мире JS не обошло стороной и HolyJS — почти каждый доклад в той или иной степени посвящен какому-либо фреймворку или инструменту, — но обзор для каждого из них дан глубокий и исчерпывающий, не заскучаете.

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