Обновить
1144.46

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

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

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

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

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


Вот уже более полугода в компании используется единая система для проведения 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 мин
Количество просмотров13K
Недавно завершился контест по машинному обучению ML Boot Camp III от Mail.Ru.

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

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

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


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

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

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

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

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

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

Перевод поста Стивена Вольфрама (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 мин
Количество просмотров43K
Предлагаем вашему вниманию перевод статьи, которая будет интересна начинающим разработчикам.

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 мин
Количество просмотров13K

Данная статья является первой частью текстовой версии одноименного доклада с февральской конференции 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 — почти каждый доклад в той или иной степени посвящен какому-либо фреймворку или инструменту, — но обзор для каждого из них дан глубокий и исчерпывающий, не заскучаете.

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

Расширения Intel SGX, учебное руководство. Часть 7, доработка анклава

Время на прочтение6 мин
Количество просмотров1.8K
В седьмой части серии учебных материалов, посвященных расширениям Intel Software Guard Extensions (Intel SGX), мы вернемся к работе с анклавом и немного доработаем его, чтобы он стал проще и эффективнее. Мы рассмотрим, как прокси-функции передают данные между незащищенной областью памяти и анклавом, а также поговорим об одной из расширенных возможностей синтаксиса языка Enclave Definition Language (EDL).



Вместе с этой частью серии предоставляется исходный код. В этой части мы перенесли приложение на Intel SGX SDK версии 1.7, а также в качестве среды разработки используем Microsoft Visual Studio* Professional 2015.
Читать дальше →

Ивент для Unity-разработчиков в Харькове

Время на прочтение1 мин
Количество просмотров2.9K
Открылась регистрация на шестую встречу uDev Tech Events! Тема ивента – «Разработка MMO RTS на Unity».

13 апреля Client Development Team Lead в Plarium Артем Дурнев расскажет об особенностях создания мобильных игр на примере успешных проектов Plarium.

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

Программист без диплома: что может и чего не может дать «домашнее обучение» в IT

Время на прочтение8 мин
Количество просмотров138K
Профессия разработчика программного обеспечения сегодня является одной из самых высокооплачиваемых. Однако чтобы стать классным специалистом, необходимо самосовершенствоваться и обучаться. К вершинам программирования можно прийти по-разному.

Кто-то разбирается во всем самостоятельно, благо в интернете встречается множество полезной литературы и бесплатных курсов (такие курсы ведут и преподаватели ИТМО — часть из них мы публиковали в наших предыдущих материалах: здесь и тут). Другой вариант — пойти в университет и получить диплом в области информационных технологий.

В сегодняшнем материале мы поговорим о том, какие особенности и сложности имеет процесс обучения в ИТ-сфере, и как с ними справляются на обоих «маршрутах».

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

Кодогенерация, Selenoid, HtmlElements в работе автотестировщика

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


15 марта в питерском офисе Wrike прошла встреча автотестировщиков. Поговорили о новых эффективных подходах и инструментах в сфере автоматизации тестирования, оценили их применимость в тех или иных кейсах и спешим поделиться записью докладов и презентациями.

Смотреть

Миграция устаревшей информационной системы на платформу CUBA

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


Быстрое развитие технологий и инструментов разработки ПО приводит к тому, что технологии, лежащие в основе информационной системы, теряют свою актуальность и становятся тяжелой ношей. Взять, к примеру, какую-нибудь разработку компании для автоматизации процессов, написанную на Visual Basic 6.0 или Delphi 7, которая, мягко говоря, не сочетается с новыми трендами “все в web, все в облака”, да и не соответствует амбициям разработчиков.


Проблема перевода старой ИС на новые технологии, доходя до руководства, традиционно упирается в деньги: “поживем и так...”. Для разработчиков, в свою очередь, уже перенос модели данных и шаблонное программирование стандартных экранов вызывает негатив. При этом зачастую все усложняется требованием сохранения работоспособности старой ИС на этапе разработки и внедрения новой. Так или иначе, по моему опыту, продукт либо умирает совсем, вызывая мучения как программистов, так и пользователей, либо все же приходит понимание, что обновление ИС — неотложная необходимость.


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


Под катом пошаговая инструкция, как модернизировать устаревшую систему с минимальными усилиями на перенос модели данных и стандартных CRUD экранов.


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

Выпуск Rust 1.16

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

Команда Rust рада представить выпуск Rust 1.16.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.


Если у вас установлена предыдущая версия Rust, то для обновления достаточно выполнить:


$ rustup update stable

Если у вас ещё не установлен Rust, то вы можете установить rustup c соответствующей страницы нашего веб-сайта и ознакомиться с подробным примечанием к выпуску 1.16.0 на GitHub.


Что вошло в стабильную версию 1.16.0


Самым большим дополнением в Rust 1.16 является команда cargo check. Эта новая подкоманда в большинстве случаев должна ускорить процесс разработки.


Что она делает? Давайте вернёмся немного назад и поговорим о том, как rustc компилирует ваш код. Компиляция происходит в несколько "проходов". Это значит, что компилятор выполняет множество различных этапов, прежде чем из вашего исходного кода будет создан бинарный файл. Вы можете увидеть каждый их этих этапов (и сколько времени и памяти они занимают) передав компилятору параметр -Z time-passes (только для nightly):


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

Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой

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

По некоторым данным, на сегодняшний день, в мире установлены сотни миллионов IP-камер для видеонаблюдения. Однако далеко не для всех из них критична задержка в воспроизведении видео. Видеонаблюдение, как правило, происходит «статично» — поток записывается в хранилище и может быть проанализирован на движение. Для видеонаблюдения разработано множество программных и аппаратных решений, которые хорошо делают свою работу.

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

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