Search
Write a publication
Pull to refresh
1
0
Иван Колмычек (Ivan Kolmychek) @ivan_kolmycheck

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

Send message

Кластеризация на клиенте или как показать 10000 точек на карте

Reading time7 min
Views31K
Существует несколько типов проектов,
для которых вывод геоинформации является
необходимым: сайты по недвижимости, каталоги компаний,
каталоги достопримечательностей, доски объявлений и другие.
Для этих сайтов я решил разработать плагин к goolge API 3 и Яндекс API 2.

Основные требования:
  1. Возможность подключения без глубокой подготовки данных на сервере, а именно, используя только уже имеющиеся географические координаты объектов.
  2. Простой протокол подготовки и передачи данных.
  3. Быстрый клиентский кластеризатор с ДВУМЯ типами меток: кластер и группа. Кластер — несколько объектов, расположенных рядом. При клике кластер “раскрывается”, то есть увеличивает зум пока объекты будут на расстоянии, большем чем расстояние кластеризации. Группа — несколько объектов в одной точке (на минимальном расстоянии). При клике на группу на любом зуме выводится список объектов в группе.
  4. Отображение до 10000 точек с использованием кластеризатора.
  5. Отображение в ie7, на мобильных устройствах (iPad первого поколения).
  6. Шаблонизация на клиенте двух инфоокон — группового кластера и самого объекта.
  7. Использование спрайта для меток.
  8. Возможность использования неограниченного количества типов меток (иконок) для разных типов объектов.
  9. Возможность использования нескольких размеров иконки для разного диапазона зума.

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

Неэффективный программист или как взломать свой мозг за 2 дня

Reading time9 min
Views192K


Disclaimer: Автор понимает, что ничего нового не открыл, но подача материала может оказаться достаточно полезной, особенно для тех, кто регулярно пытается сконцентрироваться и расти над собой.


Интернет сделал нас ленивыми!

Почему? Кто в последний раз посмотрел видео больше 3х минут? Кто прочитал пост больше 2 страниц? Какой заголовок более привлекателен, «63 способа бла-бла-бла» или «3 проверенных метода бла-бла-бла»? А если эти три проверенных метода выделены от основного текста, то это вообще гуд (можно не читать текст вовсе, а просто пробежаться по выделенным подзаголовкам).

В этом свои плюсы. Наш мозг эволюционировал, и обрабатывает информацию быстрее, чем, скажем, 15-20 лет назад (да и эволюционирует быстрее, чем это было возможно век назад). Как компании справляются с высокими нагрузками? Как процессор выполняет программу по возможности быстро? С помощью кэширования! (как вариант, но самый приоритетный). Что делает наш мозг, чтобы справиться с большой нагрузкой? Кэширует! Что именно и как — оставим на размышление ИИшникам (специалистам по искусственному интеллекту). В противном случае при увеличении размера обрабатываемой информации время «отклика» бы увеличилось в разы, и на ответ на «как добраться до ближайшей больницы?» уйдет больше времени, чем человек «в силе ждать». «Сила ждать» тоже уменьшилась, «размер» нашего терпения уменьшился, и мы быстро устаем, если продолжительность видео большая, размер статьи большой (на самом деле продолжительность может не влиять на терпение, больше всего влияет полезная информация, если «воды» меньше или вовсе нет, то и терпеть ничего не приходится, посему данный пост написан «эз лаконик эз посибл»).
Убедиться в этом

Ученым удалось остановить свет на одну минуту

Reading time3 min
Views140K
Исследователям из университета Дармштадта (Германия) удалось остановить поток света на одну минуту. Свет, как наиболее быстрая материя известная во вселенной (скорость 300.000 км/с) был остановлен внутри кристалла. Таким образом, делается возможным создание, так называемой световой памяти, когда информация, переносимая светом, аккумулируется кристаллом. Помимо того, что само по себе подобное исследование будоражит воображение, оно, с весьма большим успехом, может стать подоплекой для создания квантовых сетей дальнего действия, и может быть, это исследование даст подсказки на то, как можно сделать скорость света больше значения, ограниченного вселенной.

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

12 правил плохого менеджера

Reading time4 min
Views125K


Никогда не планируйте


Проект, как правило, делается сам собой, вырастает, как дерево: главное — вовремя посадить семена и удобрить почву. Разве вы когда-нибудь встречали чудака, который будет прикидывать, насколько вырастет за год дерево, которое он посадил? Правда в том, что планирование никогда еще никому не помогло сделать хороший проект. Точные сроки — это лишняя ответственность и ненужная головная боль. Диаграммы Ганта — для слабаков. Забудьте о них.

Еще 11 практических советов

Прекратите восхвалять свой тяжелый труд

Reading time2 min
Views98K
image

Перевод недавнего популярного поста с Hacker News.

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

Пишете посты в Твиттер про работу и чекинитесь в офисе по субботам и воскресеньям — отчаянно пытаясь показать, что несмотря на наступившие выходные, вы продолжаете изо всех сил трудиться (в отличие от остальных).

#ВКАЛЫВАЕМ #HUSTLE #РАБОТА

Остановитесь, пожалуйста.
Читать дальше →

Экономическая эфективность и целесобразность введения VDI

Reading time6 min
Views26K
Всем привет! Мы продолжаем наш цикл статей про виртуализацию и различные технологии hp, и на этот раз рассмотрим самый животрепещущий вопрос, по которому получили больше всего вопросов через различные каналы: на каком этапе целесообразно вводить виртуализацию рабочих мест, за какой период времени она начнёт экономить ваши средства и как можно сэкономить на внедрении VDI.

Image #1860681, 31.5 KB
Приступим!

Microsoft помогал АНБ и ФБР шпионить за пользователями Hotmail, Skype и Outlook

Reading time2 min
Views60K
image

Эдвард Сноуден передал изданию The Guardian новые документы, свидетельствующие о том, что Microsoft помогал американским спецслужбам перехватывать переписку в Outlook.com и Hotmail, а также аудио- и видеоразговоры в Skype, пишет Mashable.

«Полученные из Skype звонки были очень чёткими, а метаданные выглядят полными», — говорится в документе, где также положительно оценивается сотрудничество АНБ и ФБР: «Совместная работа стала ключевым моментом в успешном подключении к системе Prism ещё одного поставщика данных».
Читать дальше →

Пользователь Reddit создал «вирусный» анимированный ролик про тотальную слежку АНБ по мотивам заставки Pixar

Reading time1 min
Views17K
Пользователь Reddit под ником Sqorck создал и выложил на Youtube очень качественно сделанный ролик, в юмористическом ключе описывающий ситуацию с тотальной слежкой правительства США за своими гражданами.

Как отметили в комментариях на Reddit, ролик может оказаться наиболее эффективным способом донесения информации о тотальной слежке до широких масс населения.

Кстати, авторам петиции на РОИ об отмене пресловутого № 187-ФЗ ИМХО также стоит взять пример с автора ролика.



EDIT: перенёс топик из хаба «Информационная безопасность» в хаб «Анимация и 3D графика». Всех с пятницей!

Wi-Fi с логином и паролем для каждого пользователя или делаем WPA2-EAP/TLS подручными средствами

Reading time9 min
Views278K
С практической точки зрения было бы удобно управлять Wi-Fi сетями, выдавая пароль каждому пользователю. Это облегчает задачу с доступом к вашей беспроводной сети. Используя так называемую WPA2 PSK авторизацию, чтобы предотвратить доступ случайному пользователю, нужно менять ключ, а также заново проходить процесс авторизации на каждом отдельном Wi-Fi устройстве. Кроме того, если вы имеете несколько точек доступа, ключ нужно менять на всех из них. А если Вам надо скрыть пароль от кого-нибудь, придется раздать всем сотрудникам новый.

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

Мы сделаем удобную схему, применяемую в корпоративных сетях, но полностью из подручных средств с минимальными финансовыми и аппаратными вложениями. Ее одобрит служба безопасности и руководство.
Читать дальше →

Схема обработки ошибок в Yii

Reading time4 min
Views34K
Всем привет!
Процесс обработки ошибок в Yii был для меня не совсем прозрачным с первых дней использования этого фреймворка. Даже несмотря на наличие в документации специального раздела Error Handling. В каких случаях какие view используются, как влияет ajax или debug-режим, зачем нужен errorAction, в чем отличия при обработке исключений?
В итоге после копания в документации и исходном коде фреймворка я нарисовал наглядную схему обработки ошибок, которая лично для меня оказалась весьма полезной и наверняка пригодится кому-то еще.
Под катом собственно схема и некоторые комментарии к ней.
Читать дальше →

Использование zRam для увеличения количества доступной памяти под Linux

Reading time3 min
Views143K
image
Уже 2 месяца использую на своих компьютерах модуль zRam и хочу поделиться результатами. На практике он позволил мне не используя раздел подкачки, и не получая видимого замедления работы компьютера увеличить размер оперативной памяти в 2.5-3 раза. На сервере виртуалок тот же подход позволил очень ощутимо увеличить отзывчивость при нехватке памяти.
Заинтересовавшихся прошу под кат.
Читать дальше →

Не повторяйте моих ошибок на собеседовании

Reading time5 min
Views357K
image
Я — разработчик с чуть более чем 10 годами опыта разработки и опытом прохождения нескольких раундов собеседований каждый год-два.
Пост написан под впечатлением двух предыдущих постов на смежную тему — Как я искал сотрудников или Как не надо проходить собеседования и Как я искал работу или Как не надо проводить собеседования. И хотя в этих постах освещены наиболее насущные проблемы соискателя и работодателя, рискну высказать свое мнение, которое основано на лично набитых шишках и помогает взглянуть на проблемы под другим углом.

Также рискну обрисовать пути решения проблем, состоящие в том, чтобы поменять то, что можно поменять (в основном — себя), а не то, чего изменить нельзя (скажем, рынок труда).

Ошибка №1
Соискатель получает столько приглашений на собеседование, что не в состоянии их обработать.
Логичный вывод соискателя: «на рынке острый дефицит кадров, так что могу отсеивать компании как хочу, отфутболив тех, кто заикнется о коде на бумажке, сортировках или гномиках». Возможна и менее скромная вариация того же вывода: «раз меня все хотят, значит, я классный профессионал, могу всем диктовать свои условия». Звучит, вроде, логично, но абсолютно бесполезно.

Я предлагаю взглянуть на корень ошибки (да-да, это ошибка). Если соискатель получает слишком много приглашений — значит, он неправильно составил резюме. Ведь именно резюме послужило причиной лавинообразного интереса.
Читать дальше →

Как тестировать электронику на производстве: анализ современных технологий

Reading time10 min
Views82K


Финальный этап создания электронного продукта — серийное производство, именно оно в конечном итоге определяет качество устройства. Пользователь не сможет оценить идеальную программную и аппаратную платформу новой электроники, если на сборочном конвейере произойдет сбой, поэтому контроль функциональности и тестирование сборки — обязательные этапы массового производства.

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

Ликбез по информационной безопасности сегодня

Reading time7 min
Views68K


Для начала – совсем простая модель. Есть три концептуальных угрозы безопасности конкретных данных: нарушение целостности, доступности и конфиденциальности информации.

Когда хакер Вася находит в мусорнике письмо вашей любовницы – это нарушение конфиденциальности, когда хомяк Билл перегрызает кабель сервера с репозиторием — это нарушение доступности, а когда админ Пупкин заливает бекап в обратную сторону — это нарушение целостности.

При этом эти три примера связаны с тремя разными факторами: хакер Вася специально охотился за вашим мусором; хомяк Билл показал нам отказ оборудования; а администратор Пупкин просто клинический раздолбай. За последний год только 37% проблем с данными были результатом действий запланированных атак. 29% случаев пришлось на сбои систем. И оставшиеся примерно 34% – на человеческий фактор, то есть халатность персонала.

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

Чертежи в SVG формате. Часть 3. — Черновик стандарта

Reading time4 min
Views10K
В "Чертежи в SVG формате. Часть 2 — Черновик стандарта " приведён пример рисование простых графических объектов из CAD систем. В продолжении рассмотрим рисование штриховки для разных материалов.
Подробности

Github Releases: публикация релизов

Reading time1 min
Views29K
Разработчики Github реализовали новую функцию Releases для удобного распространения ПО конечным пользователям. Зайдя в раздел Releases, пользователь всегда может найти последнюю версию программы, changelog и полную историю версий. Ссылка на релизы помещена на главную страницу проекта.


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

Цена сложности

Reading time3 min
Views29K
Мне всегда сложно было объяснить даже самому себе термин «технический долг». Никогда не было понятно, кто, кому, за что и сколько должен. И, если это долг, то как его выплачивать и можно ли выплатить полностью? А можно ли сделать так, чтобы должны были мне?
Читать дальше →

EFF вступился за хакера, нашедшего уязвимость на сайте AT&T и попавшего за решётку

Reading time2 min
Views28K
Организация Electronic Frontier Foundation (EFF) в этот понедельник подала аппелляцию в Федеральный аппеляционный суд США по поводу избранной меры наказания Эндрю Ауернхаймера, известного в IT-среде как «Weev» (Andrew «Weev» Auernheimer), находящегося в заключении сроком в 41 месяц по обвинению в компьютерном мошенничестве (Computer Fraud & Abuse Act (CFAA).

В 2010 году Дениел Спитлер (Daniel Spitler), проходящий по тому же делу, что и Weev, обнаружил ошибку в конфигурации серверов AT&T, благодаря чему в интернете публично были доступны адреса электронной почты владельцев iPad. Спитлер с помощью скрипта собрал примерно 114 000 пользовательских email'ов, а Ауернхаймер распространил собранную базу адресов среди ряда организаций в качестве доказательства имеющейся уязвимости, информировав при этом же саму AT&T.
Узнать подробности

Http запросы — мы все это делаем неправильно

Reading time3 min
Views190K
В проекте, над которым я работаю, мы используем огромное количество сторонних библиотек. Многие из них — адаптеры для различных сервисов. Что их объединяет, это то, что они работают с сетью. Json поверх http, soap поверх http, какие-то свои протоколы поверх http. Т.е. все так или иначе используют http. И как ни удивительно, мало кто из них пользуется преимуществами его последней версии. Я не поленился заглянуть в википедию, прошло ровно 14 лет как была принята спецификация http 1.1. И потому я решил обратиться с призывом:
image

Да, речь пойдет о keep alive. Суть в том, что, начиная с http 1.1, клиент и сервер могут договориться не закрывать установленное tcp-соединение после завершения запроса, а переиспользовать его для следующих запросов. Это нужно потому, что на установку соединения требуется время. Иногда это время больше, чем время самого запроса. И если все серверы уже давным-давно такую возможность поддерживают, а все браузеры и большинство других клиентов её используют, то у разработчиков различных библиотек для популярных языков программирования здесь почему-то пробел.
Читать дальше →

Притча о покрытии кода тестами

Reading time2 min
Views42K

Ранним утром программист спросил великого мастера:
— Я готов писать модульные тесты. К какому покрытию кода я должен стремиться?
Великий мастер ответил:
— Не переживай о покрытии, просто пиши хорошие тесты.
Программист улыбнулся, поклонился и ушел.

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

Information

Rating
Does not participate
Registered
Activity