Обновить
1343.86

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

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

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

Собираем базу аудиокниг для удобной фильтрации

Время на прочтение9 мин
Охват и читатели37K
Мой телеграм канал: https://t.me/winc0de.
Всем привет! Наверняка многим из вас знакома проблема уставших глаз из-за длительной работой за компьютером. К сожалению, из-за этого приходится ограничивать себя в других занятиях. Одним из них есть чтение книг. В связи с этим, я уже более 5 лет почти каждый день слушаю аудиокниги. За это время научился параллельно заниматься чем-то и вникать в суть озвучки. Сейчас я даже в спортзале слушаю книги! Представьте как это удобно: час дороги пешком туда и обратно + полтора часа упражнений. Средняя книга в районе 10-15 часов записи.

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


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

Добавление в Unreal Engine поддержки dxf формата

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

Здравствуйте меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня расскажу как добавить поддержку dxf файлов в Unreal Engine. (Исходники как всегда в конце статьи).

DXF — это открытый формат векторной графики, разработанный компанией Autodesk. В силу своей открытости этот формат поддерживается огромным количеством редакторов векторной графики.

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

Итоги конкурса по программированию Young Digital Makers

Время на прочтение4 мин
Охват и читатели8.8K
Объявленный нами в прошлом году конкурс Young Digital Makers наконец завершен. В этой статье мы разберем работы с призовых мест и немного порефлексируем о мероприятии в целом.

В нем могли участвовать школьники со всей страны. Было предложено три номинации: анимация, игра или музыкальный трек. Главное условие — все работы должны быть созданы с использованием кода. В первые недели зарегистрировалось 800 человек. Регионы были очень активны: регистрировались часто целыми классами.



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

Multiple dispatch в C#

Время на прочтение7 мин
Охват и читатели31K
Мы уже рассмотрели две статьи, где функционал C# dynamic мог привести к неожиданному поведению кода.
На этот раз я бы хотел показать позитивную сторону, где динамическая диспетчеризация позволяет упростить код, оставаясь при этом строго-типизированным.

В этом посте мы узнаем:
  • возможные варианты реализации шаблона множественная диспетчеризация (multiple/double dispatch & co.)
  • как избавиться от реализовать Exception Handling Block из Enterprise Library за пару минут. И, конечно же, упростить policy-based модель обработки ошибок
  • dynamic – эффективнее Вашего кода

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

Что делает программиста хорошим программистом?

Время на прочтение3 мин
Охват и читатели30K
На бесплатном курсе «Основы программирования» мы стараемся в максимально доступной форме дать новичкам информацию, которая помогла бы им оценить свой интерес к разработке и правильно выбрать направление для развития. Каждый из нас хочет достичь высот в выбранной профессии, и к нам приходят ребята, которые хотят стать не просто программистами, но хорошими / лучшими программистами.



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

Анонс трека Windows конференции DevCon 2016

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


Уважаемые друзья, мы рады вам представить финальную версию Windows Трека конференции DevCon 2016. В треке по разработке на платформе Windows вы узнаете о новинках, которые облегчают создание современных отзывчивых приложений для самого разного спектра устройств. Windows не перестает совершенствоваться и удивлять, становясь еще более персональной, облегчая повседневные задачи пользователей. Это позволяет разработчикам создавать решения нового поколения и распространять приложения с помощью магазина Windows. Мы расскажем о том, как создавать универсальные приложения и использовать уникальные сервисы Windows.
Читать дальше →

Разработка простого приложения «шагомер» на ReactNative

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

image
Сегодня в кругах программистов почти каждый знает о библиотеке Facebook – React.


В основе React лежат компоненты. Они схожи с DOM элементами браузера, только написаны не на HTML, а при помощи JavaScript. Использование компонентов, по словам Facebook, позволяет один раз написать интерфейс и отображать его на всех устройствах. В браузере все понятно (данные компоненты преобразуются в DOM элементы), а что же с мобильными приложениями? Тут тоже предсказуемо: React компоненты преобразовываются в нативные компоненты.


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


Итак, начнем.

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

Давайте знакомиться: компания Align Technology

Время на прочтение12 мин
Охват и читатели40K
Представьте себе компанию, будничный рабочий процесс которой включает лазерные резаки, трехмерные принтеры и трехмерные сканеры, рентгеновские томографы, CAD, композитные материалы, автоматические станки с ЧПУ, оптическую и биохимическую лабораторию и даже собственную сборку специализированных железячных девайсов. Здесь широко реализуется поточная обработка данных в реальном масштабе времени, используется 3D печать, занимаются биоинжинерией и программируют FPGA, есть сети хранящие терабайты данных, датамайнинг и даже немножко искусственного интеллекта. Представили? А теперь попробуйте угадать чем эта компания может заниматься. Сразу скажу, что это не космос, не авиация и даже не автомобилестроение.


Заинтересовались?..

Google I/O Extended 2016

Время на прочтение2 мин
Охват и читатели10K
Привет, хабр! 18-20 мая 2016 года в Маунтин Вью, Калифорния, пройдет юбилейная, десятая по счету конференция Google I/O, посвященная самым актуальным передовым трендам в технологиях и программном обеспечении от Google.



Лететь через пол мира на одну конференцию — удовольствие то ещё, да и если всех желающих собрать — никаких конференц-холлов не хватит. Поэтому мы рады вам сообщить, что Google I/O будет проходить и в самых крупных городах России.

Google I/O Extended — уникальная возможность стать участником одного из самых крупных слётов любителей Google-технологий. Всё будет происходить в онлайн-режиме, так что вы сможете вместе с представителями GDG в Маунтин Вью наблюдать за ежегодной презентацией самых крутых новинок в IT мире! Сейчас I/O Extended включает более 550 ивентов в 94 странах на 6 континентах и охватывает всю планету.

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

Приводим данные и код в порядок: данные и разметка, часть 2

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


В этой серии из двух статей о производительности и памяти описываются базовые принципы и приводятся советы для разработчиков по повышению производительности программного обеспечения. Эти статьи затрагивают, в частности, работу памяти и компоновку. В первой части было рассказано об использовании регистров и о применении алгоритмов блокирования для повышения многократного использования данных. В этой части статьи сначала описывается компоновка данных для обычного распараллеливания — программирования для общей памяти с потоками, а затем распределенные вычисления по сетям MPI. В статье описываются понятия, связанные с распараллеливанием: векторизация (инструкции SIMD) и работа с общей памятью (многопоточная архитектура), а также вычисления с распределенной памятью. И наконец, в этой статье сравниваются компоновки данных «массив структур» (AOS) и «структура массивов» (SOA).
Читать дальше →

SDK для внедрения поддержки электронных книг в формате FB2

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


Вы знаете, что «нобелевку» по научной фантастике получил китайский автор Лю Цысинь (Liu Cixin, 劉慈欣) с произведением The Three-Body Problem ( 三體). На эту книгу обратили внимание Барак Обама (пруф) и Марк Цукерберг (пруф).

image
Ольга Браатхен по своей инициативе перевела книгу на русский (вот тут можно качнуть fb2), за что ей большое спасибо.

Еще один кандидат на «нобелевку» в 2016 — это Нил Стивенсон (написавший «Лавину» и «Криптономикон») с произведением Seveneves (качнуть на английском можно тут, жаль, что на русский никто не взялся переводить).

Разработчики компании EDISON создали программу Управления доступом к электронным документам, о чем я писал пару лет назад, а сегодня речь пойдет об SDK для внедрения поддержки электронных книг в формате FB2.

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

Эволюция сервера приложений на NodeJS

Время на прочтение4 мин
Охват и читатели9.1K
В нашей системе мирно сосуществуют 2 сервера. Основной сервер(ядро), написанный на JAVA и сервер приложений — NodeJS, именно ему и посвящена данная статья.
Изначально у сервера приложений существовало 2 фундаментальные задачи:

1) проксирование запросов к основному серверу для того, чтобы уменьшить неспецифичную нагрузку и сэкономить ресурсы для решения более важных задач;
2) реализация client-specific функционала для того, чтобы не пришлось вносить изменения в код ядра при появлении клиентских “хотелок”.

Строго говоря, наличие сервера приложений вовсе не обязательно для функционирования системы, т.к. ядро имеет полноценное REST API, реализующее весь основной функционал системы. Несколько слов о протоколе. RTLSCP (real track location system communication protocol) – протокол, работающий поверх HTTP и позволяющий получать данные и выполнять базовые операции с системой RealTrac с использованием запросов и ответов в формате JSON/KML/PNG.
Читать дальше →

7 смертных грехов программного проекта

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

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

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

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

Drupal: ajax_facets и history API

Время на прочтение5 мин
Охват и читатели5.6K
Наверное, каждый веб разработчик сталкивался с необходимостью в реализации поиска на сайте. Довольно распространенное решение — Apache Solr. В мире Drupal разработки это не исключение. Для интеграции Solr с Drupal и реализации фасетного поиска существуют модули search_api, search_api_solr и facetapi. Но в большинстве случаев нам бы хотелось, чтобы результаты поиска и фасетные фильтры обновлялись без перезагрузки страницы, то есть ajax'ом. И, как обычно в мире Drupal, на d.org найдется какой-нибудь проверенный временем и пользователями модуль (а может и не проверенный, как повезет), который делает то, что нам нужно. В данном случае это ajax_facets.
Читать дальше →

С днём рождения, Эдсгер Вибе Дейкстраǃ

Время на прочтение9 мин
Охват и читатели23K
«Пусть тахорги в страхе воют,
Издавая визг и писк!
Ведь на них идет войною
Структуральнейший лингвист!»


image

  • Очень жесткий правдоруб.
  • Мог бы стать физиком-теоретиком (как Ричард Фейнман, который тоже родился 11 мая), но выбрал несуществующую на тот момент профессию — программист.
  • Носит имя алгоритма поиска кратчайшего пути. Алгоритм был создан при решении железячной задачи «О нахождении оптимального пути передачи электрического тока всем существенным элементам цепи, минимизируя при этом расход меди».
  • Непримиримый враг goto.
  • Инициатор мема Considered harmful. «GOTO Statement Considered Harmful», "„GOTO Considered Harmful“ Considered Harmful", «„«GOTO Considered Harmful» Considered Harmful“ Considered Harmful?»
  • Автор концепции семафора.
  • Разработчик операционной системы THE (Technische Hogeschool Eindhoven).
  • Стоял у истоков структурного программирования и распределенных вычислений.
  • Не написал ни одной статьи на компьютере.

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

Под катом несколько цитат Дейкстры, пара сокращенных эссе и список статей на русском языке.

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

Rebase Flow. Способ приготовления и его поддержка в GitHub, GitLab, BitBucket

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

Немного истории


В самом начале 2010 года Vincent Driessen пишет отличную статью A successful Git branching model. Для понимания того, о чем пойдет речь дальше, со статьей нужно, конечно же, познакомиться. А для тех, кому сложен язык оригинальной статьи, на хабре есть её отличный перевод.


С этого момента описанная модель ветвления GitFlow, начинает, что называется, расходиться по миру. Её берут на вооружение многие команды. Авторы пишут много статей об успешном её использовании. Она получает поддержку в большинстве инструментов, которые используют разработчики:



Git


Кажется, что модель идеальна. Быть может так оно и есть, если у вас небольшая команда, неизменяемый скоуп релизов, высокая культура работы с VCS. Тогда, действительно, GitFlow может и удовлетворит все ваши потребности. Но, к сожалению, описанные условия подходят не всем командам и не всем проектам. К слову, найти статьи, в которых бы авторы описывали проблемы этой модели не так уж и просто даже в 2016 году. Но как мы все знаем, серебряной пули нет, а, значит, и в этой модели всё хорошо далеко не для всех.

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

ReactJS 15.0.2 Tutorial

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

Мы создадим простой, но реалистичный модуль комментариев для блога, упрощенный аналог модуля комментариев реального времени, предлагаемый такими ресурсами как Disqus, LiveFyre и Facebook.


Мы обеспечим:


  • Представление для отображения всех комментариев
  • Форму для ввода и отправки комментариев
  • Задел на будущее, для подключения настоящего бэк-енда

Также будут реализованы:


  • Optimistic commenting: комментарии появляются на странице раньше чем они сохраняются на сервере, что визуально ускорит наш модуль
  • Live updates: комментарии других пользователей появляются на странице в реальном времени
  • Markdown formatting: пользователи могут использовать Markdown-разметку для форматирования текста

Финальная версия


Ссылка на GitHub

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

Разбор задач первого квалификационного раунда RCC 2016

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

Merthyr Tunnel by Pictonart

8 мая состоялся первый квалификационный раунд чемпионата Russian Code Cup 2016. Напоминаем, что в этом году состязание программистов впервые проводится и на английском языке, так что языковой барьер теперь не является препятствием для наших зарубежных участников. Для прохождения первого квалификационного раунда было необходимо решить пять задач. На решение отводилось не более двух часов. Учитывалась не только правильность, но и скорость решения. Всего в раунде приняли участие 3559 человек, из которых занявшие первые 200 мест переходят на следующий этап соревнований. А пока давайте рассмотрим решения предложенных задач:

  1. Двоичная строка
  2. Поезд и туннель
  3. Красивое разбиение
  4. Подготовка задач
  5. Похожее метро
Читать дальше →

Точка с запятой в JavaScript: на свой вкус

Время на прочтение2 мин
Охват и читатели31K
Использование точек с запятой в JavaScript – один из самых горячо обсуждаемых топиков (сразу после пробелов и табов… два пробела, пожалуйста). Вот с ходу три ссылки, почему точки с запятой не нужны. Но так ли это на самом деле?

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

Как построить грамотную систему тестирования? Инсайты от QA-экспертов 19 мая в Питере

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


Какие инструменты облачного тестинга используют в Яндексе? Как устроено Selenium-тестирование в Badoo? Что представляет собой система автоматизированного frontend-тестирования в Wrike?

19 мая в питерском офисе Wrike состоится встреча специалистов по тестированию, где мы обсудим насущные, вечные и, на первый взгляд, почти неразрешимые проблемы QA в больших (и не очень) проектах.

О программе и докладах

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