Обновить
1389.25

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

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

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

Топливо для ИИ: подборка открытых датасетов для машинного обучения

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


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


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


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


Мы разобрались в этом вопросе и собрали данные по датасетам, удовлетворяющим критериям открытости, востребованности, скорости работы и близости к реальным задачам.

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

Когда Феникс успел убить Рейлс?

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


Случается, что некоторые задачи не удаётся решить на привычном для вас языке программирования. Предположим, перед нами встала задача реализовать обмен сообщениями в реальном времени при больших объёмах трафика. Как сделать это оптимально? По понятным причинам, Руби – не лучший для этого вариант, поэтому придётся начинать поиски альтернатив. Перед вами появится множество путей, и как для рубиста, самым оптимальным выбором будет использование Эликсира.


Эликсир – функциональный язык программирования с синтаксисом Руби, работающий на виртуальной машине Эрланга. Следовательно, для человека из мира Руби знакомство с языком пройдёт очень легко. Хотя для того, чтобы понять его полностью, придётся постараться, не раз перечитывая документацию.


Ответ на вопрос из заголовка и масса интересного об Эликсире сразу же под катом.

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

Пишем свою книгу заново

Время на прочтение4 мин
Охват и читатели8K
Прошло 4 года с публикации «Пишем свою книгу» и вышло второе издание книги про Boost и C++. Настало время выпустить второе издание публикации!

В данной статье я поделюсь информацией о том, что осталось за бортом предыдущей статьи:



  • Можно ли прожить на гонорары от книги
  • Как заинтересовать людей в вашей книге
  • Как сделать примеры нагляднее и интерактивнее
  • Чем отличается выпуск второго издания, от написания первого
  • Пара простых советов для продвижения
  • Перевод книги на другие языки
Читать дальше →

Монады для Go-программистов

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

Монады используются для компоновки функции (function composition) и избавления от связанного с этим утомительного однообразия. После семи лет программирования на Go необходимость повторять if err != nil превращается в рутину. Каждый раз, когда я пишу эту строку, я благодарю Gopher’ов за читабельный язык с прекрасным инструментарием, но в то же время проклинаю за то, что чувствую себя наказанным Бартом Симпсоном.


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

9 советов по увеличению эффективности парного программирования

Время на прочтение4 мин
Охват и читатели11K
Привет, Хабр! В своей работе мы используем парное программирование и сегодня хотим поделиться с сообществом советами, которые помогают нам повысить эффективность этого метода.

image

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

Чему я научился, написав чат-бота за 2 часа

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

Новая парадигма уже на пороге — или нет?




Согласно исследованию компании Flurry, житель США в среднем проводит за смартфоном около пяти часов в день. Эта цифра удивительна сама по себе, но, кроме того, около 65% этого времени идет на разного рода общение — социальные сети, текстовые сообщения, электронную почту и телефонные звонки. То есть, 3 часа 15 минут — каждый день.

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

Если не делать приложение, то какие остаются варианты? Нужно как-то строить бизнес, верно? Большинство специалистов полагают, что следующий шаг развития технологий — это чат-боты, живущие в приложениях: они расширяют функциональность более крупных платформ, таких как Facebook или Telegram, и пользователю не нужно ставить на телефон еще одно приложение. Получается взаимная выгода — если не считать разработчика, наверное. Мои сомнения насчет новомодной технологии можно было обобщить двумя пунктами:

  • Написание бота бесполезно с точки зрения бизнеса.
  • Написание ботов — невероятно сложная техническая задача.

Чтобы разобраться в этом вопросе, пришлось кое-что изучить. Около месяца я просто читал литературу по теме, беседовал со специалистами, игрался с инструментарием и не решался взяться за дело — но в конце концов написал работающего бота примерно за 2 часа. Все это было для того, чтобы понять, имеют ли мои сомнения под собой почву, — ну и ради удовольствия, конечно.

Переведено в Alconost
Читать дальше →

Самое сложное в программировании это…

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


Мне очень понравилась ветка обсуждений на Quora.com: What is the hardest part about learning to program? Все 87 ответов я так и не прочитал, но понравившиеся, выделил в отдельную статью из 10 пунктов. Это вольный пересказ мнений многих разных людей. Если читателям будет интересно, я продолжу.

1. Разница между высокими стандартами и своими низкими умениями


В статье «Никто не говорит об этом новичкам» рассказывается об общей проблеме людей, занятых творческим или интеллектуальным трудом. Программирование — сложный предмет, и обычно за него берутся способные, амбициозные и склонные к перфекционизму люди. На начальном этапе у них не будет хорошо получаться. Привыкшие к высокой планке, они будут расстраиваться. Внутренний голос будет постоянно нашептывать: “У тебя никогда и не получится, лучше оставь это дело”. В такие моменты думайте о том, что ваша самокритичность — это признак вашей экстраординарности, и верьте, что преодолеете этот “неумелый период”.

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

Онлайн-квест от MBLTdev. Призы от JetBrains

Время на прочтение1 мин
Охват и читатели17K
Я хочу сыграть с тобой в одну игру…Твоё первое задание — найти вход в квест. Ищи подсказку в видео.


Самые быстрые получат призы:

— годовые подписки на любой продукт от JetBrains,
— классные футболки,
— билеты и скидки на конференцию мобильных разработчиков MBLTdev 2017.

UPD: Подведём итоги и раздадим призы в понедельник 9-го октября.

Оцифровка и аппроксимация графиков функций при помощи Wolfram Mathematica и Graph Digitizer

Время на прочтение9 мин
Охват и читатели51K
С задачей оцифровки графиков функций и кривых приходится сталкиваться почти каждому инженеру и студенту. Традиционный «ручной» метод очень неудобен и к тому же вносит большие погрешности в данные. Для единоразовой задачи этот метод не так плох, но если графиков больше чем один и на каждом изображена не одна кривая, а семейство кривых?

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

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

INTERCOM'17. Конференция о коммуникациях для бизнеса

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

Раз в год мы устраиваем в Москве конференцию INTERCOM, чтобы пообщаться с коллегами и обсудить, что нового в области автоматики коммуникаций. В этом году мы помогали заменять роботами колл-центры, нанимать сотрудников, связывать докторов с пациентами, вызывать такси, доставлять посылки и много чего еще, о технической стороне вопросов часто рассказывали на Хабре. А на конференции мы это все обсудим с коллегами из Яндекс, Atlassian, Битрикс24 и других компаний. Нейросети, погоня по мессенджерам, гадание на кофейных бизнес-процессах, карманные сети сотовой связи и много всего интересного, о чем я немного расскажу под катом. Еще под катом у меня телефонный робот-ящер, у которого можно нечестным образом получить бесплатный билет и другие фишки для Хабрапользователей. Так что если вопрос «кто виноват в том, что мне позвонил робот» вас интересует — присоединяйтесь!

Кто будет?

Так ли легко переехать в Германию? Моя личная статистика поиска работы

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

Германия — очень популярное направление IT переезда в последние годы (да и не только IT, конечно). Но так ли просто переехать туда? Нет, к сожалению, не просто.


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

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

Погружение в разработку на Ethereum. Часть 3: приложение для пользователя

Время на прочтение19 мин
Охват и читатели30K
В предыдущих статьях (часть 1 и часть 2) мы описали как можно пользоваться децентрализованными приложениями на смарт-контрактах, если вы сами не против быть нодом. Но чем меньше пользователя заставляют совершать дополнительные действия — тем лучше. Для работы со смарт контрактами необходимо подписывать транзакции приватным ключом, поэтому совсем без дополнительный действий, к сожалению, не обойтись. В этой статье мы рассмотрим два подхода: первый — полноценное децентрализованное приложение (DApp) на javascript с использованием библиотеки Web3 и плагина MetaMask, второй — аналогичное приложение, но использующее Ruby on Rails API и гем Ethereum.rb для доступа к блокчейну.


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

«Еще один шаг к блокчейну»: Bitfury Group представили Exonum 0.2

Время на прочтение5 мин
Охват и читатели5.4K
По данным аналитических агентств, рынок блокчейн-технологий вырастет с 210 млн долларов в 2016 году до 2,3 млрд долларов к 2021. Среднегодовой рост составит 61,5%. При этом в формировании рынка участвуют как крупные компании (например, IBM, вложившие 200 млн долларов в IoT-проекты, связанные с блокчейном), так и небольшие стартапы, адаптирующие блокчейны под разные нужды.

Bitfury Group выпускает новую версию открытого фреймворка для разработки блокчейнов Exonum. Exonum 0.2 содержит регулярные исправления, а также некоторые конструктивные доработки. С помощью Exonum компании и правительственные организации могут создавать функциональные блокчейны, которые будут безопасны, прозрачны и контролируемы.

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

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

Профилирование PL/SQL кода при помощи IDE PL/SQL Developer

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

Проблематика и назначение:


Периодически Oracle разработчики сталкиваются с проблемой производительности PL/SQL кода. Возникают проблемы с тем, чтобы найти место pl/sql кода, в котором возникают проблемы.

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

Методы решения проблемы:


В решение проблем с производительность в БД Oracle нам помогут:

  • PL/SQL Developer — Популярное IDE для Oracle разработчиков.
  • DBMS_PROFILE — Oracle пакет для профилирования (не будет рассматриваться в рамках данной статьи, т.к. информации достаточно на просторах интернета).

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

Классический 2д квест или как прошли наши два года разработки. Часть 3

Время на прочтение8 мин
Охват и читатели15K
Снова привет всем, в этой, третьей, части будет рассказ о том как программировался «Swordbreaker The Game», почему был выбран тот или иной фреймворк, подробности под катом.


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

Чтение на выходных: 17 независимых блогов по математике, алгоритмам и языкам программирования

Время на прочтение5 мин
Охват и читатели59K
Сегодня мы подготовили очередную [наш IaaS-дайджест и материалы по структурированию кода] подборку полезных источников. На этот раз мы решили изучить тематическую ветку на Hacker News и рассказали о блогах, которые могут хорошо дополнить чтение «Хабра».

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

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

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

Работа с ресурсами, или как я пропихивал @Cleanup

Время на прочтение15 мин
Охват и читатели7.6K
Это вымышленная история, и все совпадения случайны.

Наконец-то команда разработки компании Unknown Ltd. выпустила релиз вовремя. Руководитель отдела разработки Эндрю, системный архитектор Юг и простой рядовой разработчик Боб собрались на планирование.
Читать дальше →

Продолжение поста от школьников. Как Хабрахабр смог изменить нашу судьбу?

Время на прочтение3 мин
Охват и читатели24K
К публикации «Разработка прибыльной Android игры двумя школьниками».

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

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

Пять вещей, которые нужно знать о Spring Framework 5

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

На этой неделе, сразу за релизом Java 9 вышла новая мажорная версия одного из самых популярных фреймворков для разработки приложения на Java — Spring Framework версии 5. Под катом подробности и краткое описание, что же поменялось.

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

Learn OpenGL. Урок 3.3 — Класс 3D-модели

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

Класс 3D-модели


Ну что ж, пора закатать рукава и погрузиться в дебри работы с кодом загрузки и преобразования данных Assimp! Задача урока – создать еще один класс, представляющий собой целую модель, содержащую множество полигональных сеток, а также, возможно, состоящую из нескольких подобъектов. Здание с деревянным балконом, башней и, например, плавательным бассейном все равно будет загружено как единая модель. С помощью Assimp мы подгрузим данные и преобразуем их во множество объектов типа Mesh из прошлого урока.
Читать дальше →

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