Как стать автором
Обновить
2
0
Сергей @apelserg

Пользователь

Отправить сообщение

OpenStreetMap как источник геоданных

Время на прочтение17 мин
Количество просмотров75K
В работе программиста иногда возникает потребность в геоданных. Для этого можно использовать OpenStreetMap (OSM). Привлекательность OSM — в возможности совершенно легально использовать качественную картографическую информацию.

Цель публикации — разобрать на рабочих примерах процесс извлечения геоданных OSM. В результате будет получен программный код (на C#), который можно собрать в Visual или Xamarin Studio, выполнить его на разных ОС (под Mono) и получить результат в форматах CSV и geoJSON. Ограничений на размер обрабатываемых OSM-данных нет (от минимального до полного). Публикация рассчитана на разработчиков ПО, без опыта работы с OSM.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии12

Влияет ли объём данных на трудоёмкость разработки. Учёт в муравейнике

Время на прочтение5 мин
Количество просмотров5.1K
Недавно у меня с коллегой вышла дискуссия — влияет ли объём данных на трудоёмкость разработки.

В сухом остатке осталось:
  • Объём данных не должен оказывать значительного влияния на трудоёмкость разработки. Основная трудоёмкость разработки, как правило, связана со сложностью алгоритма обработки данных, а не с их количеством. Заранее зная фактический объём данных, достаточно разработать код, который работает на небольших данных, а затем его можно применить к требуемому объёму.
  • Все основные вычислительные алгоритмы давным-давно известны (как минимум уже несколько десятков лет). Главное, как можно раньше (до начала разработки), определить правильный подход к задаче. Но это вопрос не трудоёмкости, а профпригодности — то есть, матчасть надо изучать заранее, а разрабатывать быстро.
  • Ни один Заказчик не поймёт почему трудоёмкость разработки кода в несколько сотен строк, заняла много времени. Заказчику проще сменить команду, чем вложиться своим временем и деньгами в чей-то процесс обучения или в какой-то непонятный ему эксперимент.
  • Небольшие накладные расходы, связанные с объёмом данных, конечно могут быть. Но эти издержки, обычно, не превышают погрешности первоначальной (правильной) оценки трудоёмкости и учитывать их отдельно не имеет смысла.


Для разработчика, прямо скажем, выводы получились не очень весёлые и однозначные.

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

Цель публикации — поделиться опытом как, за приемлемое время, обработать два связанных списка по миллиарду записей в каждом.
Читать дальше →
Всего голосов 23: ↑8 и ↓15-7
Комментарии196

Наблюдение за работой JavaScript-таймеров в реальном времени

Время на прочтение4 мин
Количество просмотров8.9K
Визуализация динамического процесса на графике — один из способов получения новой/дополнительной информации. В публикации показана простая утилита, с помощью которой можно увидеть работу JavaScript-таймеров. С одной стороны, JavaScript-таймеры хорошо подходят для организации циклического процесса. С другой стороны, они, в общем виде, наглядно демонстрируют поведение однопоточной JavaScript-многозадачности, что, в ряде случаев, тоже может быть полезным.

Изображение - JavaScript-таймеры

График позволяет:
  • Увидеть работу JavaScript-таймера в реальном времени.
  • Смоделировать разные условия нагрузки.
  • Сравнить работу разных браузеров.
  • Даёт информацию к размышлению (некоторые результаты оказались любопытными).

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии6

Моделирование объектов для анимации на Canvas

Время на прочтение9 мин
Количество просмотров12K
Быстрый и простой API, поддержка браузерами — это то, что делает Canvas привлекательным. Но, как это часто бывает, простота одновременно является и слабой стороной. Без труда, например, можно вывести прямоугольник, окружность, линию или навесить изображение. Но разработать на этой простой основе полезный контент — задача чуть сложнее.

Изображение - сила canvas

На примере разработки игры, показан подход к анимации и управлению игровым объектом.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии0

Сайт на основе одной HTML-страницы

Время на прочтение5 мин
Количество просмотров19K
Когда вокруг так много новых технологий, непросто понять, на изучение какой стоит потратить время.
(Karl Seguin)

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

Изображение - Сайт на основе одной HTML-страницы

В статье показан приём разработки сайта, когда основной результат достигается за счёт использования базовых механизмов открытых стандартов.
Читать дальше →
Всего голосов 40: ↑8 и ↓32-24
Комментарии32

HTML-страница на Canvas

Время на прочтение12 мин
Количество просмотров29K
Canvas интересный и перспективный HTML5 элемент. Он хорошо подходит как вспомогательный элемент на HTML странице, например, для отрисовки какой-нибудь простой по сюжету динамической заставки. Однако реализация функционально законченных комплексных решений с ориентацией на Canvas задача уже не такая простая.

Image - html page on canvas

Цель статьи:
  • Рассмотреть механизм реализации на основе Canvas полноценной HTML страницы с поддержкой динамического контента, ссылок и элементов управления.
  • Понять, можно ли использовать этот механизм, и стоит ли овчинка выделки.
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии13

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность