Серьезное проектирование серьезных сайтов. Часть 1. Аналитика

Автор: admin от 27-12-2016, 20:45, посмотрело: 184

Почти 4 года назад мы написали одну из самых популярных статей в рунете про проектирование больших проектов с таким же названием, как и эта: часть 1 и часть 2. Только на Хабре её прочитало более 170 тыс. человек, а вообще она публиковалась в самых разных изданиях мира. Более 1000 стартапов использовали наработки из этой статьи для проектирования, и это только те, о которых я слышал и которые нам писали. Но время не стоит на месте, а мы постоянно развиваемся. С тех пор наша технология проектирования значительно эволюционировала и стала еще лучше. В этой статье мы опишем нашу обновленную технологию проектирования и покажем много живых примеров для каждой стадии.

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

Серьезное проектирование серьезных сайтов. Часть 1. Аналитика

Категория: Веб-разработка, Game Development

 

Использование send для удобства, от безысходности и ради развлечения

Автор: admin от 27-12-2016, 20:45, посмотрело: 130

Использование send для удобства, от безысходности и ради развлечения
Один из методов библиотеки Sidekiq. Объяснение смайла


send в Ruby вызывает методы объектов по имени. Вот очевидный способ применения:


# До: явно используем присваивание. Неудобно, если полей много или они определяются в рантайме.
user.name = "Иван"
user.age = 29

# После: передаём имя атрибута параметром. Решает проблемы первого способа.
def set(field, value)
  send("#{field}=", value)
end
user.set(:name, "Иван")
user.set(:age, 29)

А ещё вы наверняка видели такие строки:


after_create :send_email

Да-да, коллбэки в рельсах внутри реализованы тоже с помощью send.


Что ещё умеет send?

Категория: Программирование, Веб-разработка

 

8 JavaScript библиотек для визуализации данных в виде интерактивных карт

Автор: admin от 27-12-2016, 20:20, посмотрело: 392

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

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

8 JavaScript библиотек для визуализации данных в виде интерактивных карт

Категория: Компании » Google

 

Создавая хтонических чудовищ, документируй

Автор: admin от 27-12-2016, 15:30, посмотрело: 353

Создавая хтонических чудовищ, документируй

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


Нижележащий текст преследует несколько целей:



  • Во-первых, дать краткий обзор (читай — немного погундеть на тему) неудовлетворительного состояния инструментария, применимого к хтоническим чудовищам мира C/C++;

  • Во-вторых, предложить своё альтернативное решение (бесплатно-без-СМС-и-регистрации — проект некоммерческий и выложен на GitHub под MIT-лицензией);

  • В-третьих, призвать сообщество пообщаться на тему и собрать идеи;

  • В-четвёртых, пригласить присоединиться к разработке проекта на GitHub.


  • Сразу оговорюсь, что хотя проект создавался в первую очередь как альтернатива, а точнее, дополнение Doxygen для сишных и плюсовых API, архитектурно он в равной степени пригоден и для других языков. Это позволяет создавать порталы документации разноплановых библиотек — сами библиотеки могут быть написаны на разных языках, а в документации будет единство стиля во внешнем виде и поведении.




    Категория: Программирование

     

    Простейший вывод звука с помощью библиотеки Audiere

    Автор: admin от 27-12-2016, 15:30, посмотрело: 281

    Приветствую! Данная заметка ориентирована на начинающих программистов, самых, что ни на есть новичков. Она о простой библиотеке Audiere. Если вы когда-то хотели вывести звук просто и быстро, то Audiere вам скорее всего понравится!

    Для начала расскажу немного о том, что это:

    Audiere — это высокоуровневый аудио-API с открытым исходным кодом под лицензией LGPL. Его можно использовать во множестве языков, включая Java, C++, Python, Delphi и др. Разрешается использовать в коммерческих приложениях свободным образом, если исходный код не будет затронут (подробности в документации к библиотеке).

    Категория: Программирование

     

    Еще один домашний медиасервер на базе Docker

    Автор: admin от 27-12-2016, 15:30, посмотрело: 447

    Добрый день Хабр. На написание этой статьи меня сподвигло закрытие довольно известных в UA-IX ресурсов ex.ua и fs.to. Поскольку доблестные правоохранители не озаботились предоставлением какой-либо достойной альтернативы, было принято решение взять процесс в свои руки, к тому же давно хотелось организовать домашнее хранилище/файлопомойку не зависящее от внешних провайдеров. В процессе реализации было перепробовано довольно много разных систем, но в итоге все выстроилось именно так, а не иначе. Мнение субъективное, реализация доступная. Сама статья рассчитана на новичков которым необходимо просто работающее решение, или на тех кто задумался о своем медиасервере, но еще не определился с реализацией.

    Итак решение принято, начнем.

    Категория: Linux, Ubuntu

     

    Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 2

    Автор: admin от 27-12-2016, 15:00, посмотрело: 232

    Мы продолжаем рассказывать о курсе «How to Win Coding Competitions: Secrets of Champions», который Университет ИТМО запустил на платформе edX в этом году (первую часть материала читайте здесь).

    Во второй части нашей беседы с авторами и инструкторами курса — Максимом Буздаловым и Павлом Кротковым, чемпионами ACM ICPC, и Дарьей Яковлевой, призером Google Code Jam for Women, речь пойдет о том, важен ли победителям олимпиад правильный настрой, как развить навык поиска креативных решений и кому будет полезен курс от чемпионов Университета ИТМО.

    Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 2

    Категория: Программирование

     

    Интерактивная таблица результатов

    Автор: admin от 27-12-2016, 13:35, посмотрело: 221

    Глядя на таблицу результатов футбольного сезона, я часто задаюсь вопросами:


    • Лидировала ли команда с начала сезона или совершила героический рывок в конце?

    • Как зимнее трансферное окно повлияло на результаты?

    • Доигрывали ли сезон команды в середине таблицы или играли в полную силу?


    Статичная таблица не даёт ответов.

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

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

    Интерактивная таблица результатов

    -> Живая демонстрация

    Категория: Программирование » Веб-разработка

     

    Как обновить ядро в системе без перезапуска сервисов (пошаговая инструкция)

    Автор: admin от 27-12-2016, 13:25, посмотрело: 254

    Как вы думаете на сколько реально зайти на машину по ssh, обновить систему, загрузить новое ядро и при этом оставаться в той же ssh сессии. Сейчас есть модное движения по обновлению ядра на лету (ksplice, KernelCare, ReadyKernel, etc), но у этого способа есть много ограничений. Во-первых, он не позволяет применять изменения, которые меняют структуру данных. Во-вторых, объекты в памяти могут уже содержать неверные данные, которые могут вызвать проблемы в дальнейшем. Здесь будет описан более «честный» способ обновить ядро. На самом деле, сам способ уже давно известен [1], а ценность этой статьи в том, что мы разберем все в деталях на реальном примере, поймем на сколько это просто или сложно, и чего стоит ждать от подобных экспериментов.

    Категория: Программирование, Системное администрирование, Веб-разработка, Linux, Ubuntu

     

    Искусственный интеллект «Мира дикого запада» HBO: тогда и сейчас

    Автор: admin от 27-12-2016, 13:20, посмотрело: 222

    Искусственный интеллект «Мира дикого запада» HBO: тогда и сейчас
    Так же, как и сегодня, в 1973 году (в год, когда Майкл Кричтон выпустил «Мир дикого запада») всех завораживала идея искусственного интеллекта. Фильм имел огромный кассовый успех, хотя был выпущен в том же году, когда люди начали охладевать к идее ИИ: массивное истощение ресурсов ИИ, обманутые ожидания и, как следствие, угасающий интерес в последующие годы.
    В 2016, «Мир дикого запада» вернулся на экран, и коренные изменения в технике глубинного обучения машин, общедоступные информационные ресурсы и вычислительные мощности фундаментально меняют будущее для ИИ. Вычислительные мощности и возможности технологий сейчас достаточно развиты, чтобы ИИ мог дополнить и подтолкнуть развитие общества по сравнению с полным крушением надежд в 1973 года.
    Новая версия «Мира дикого запада» от HBO, созданная Джонатаном Ноланом и Лизой Джой стала на сегодняшний день одним из самых популярных сериалов. Футуристические западные реалии подливают масла в огонь повсеместной одержимости ИИ, и популярность шоу доказывает, что люди заворожены потенциалом ИИ. Успех «Мира дикого запада» отражает устойчивую экосистему ИИ, в котором венчурные фонды, корпорации и потребители активно взаимодействуют.

    Категория: Программирование, Веб-разработка

     
    Назад Вперед