Как стать автором
Обновить
6
0

Дознователь

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

Полезные ресурсы по открытым данным в России

Время на прочтение2 мин
Количество просмотров35K
Для тех кто интересуется открытыми данными, тем что это такое и как с ними работать в этом посте собраны ссылки на открытые данные по России.

Федеральная власть




Регионы и муниципалитеты




Общественные проекты и блоги




Журналистика данных


Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии7

Как подписать JAVA апплет

Время на прочтение3 мин
Количество просмотров29K
Привет, любимый читатель.
Сегодня ты узнаешь как подписать JAVA апплет. Для начала скажу, что JAVA апплеты имеют ограниченную функциональность, пока они не подписаны. Например, неподписанные апплеты не могут:
  • взаимодействовать с локальной файловой системой клиента;
  • устанавливать сетевые соединения с другими серверами;
  • взаимодействовать с буфером обмена клиента;
  • некоторые другие.

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии9

Безопасность ваших юзеров: OAuth, SSL, P2P-чат с RSA, гейт в i2p

Время на прочтение4 мин
Количество просмотров16K
Утопающие не собираются спасать себя самостоятельно, поэтому предлагаем вам сделать четыре простых шага к увеличению безопасности посетителей вашего сайта.
image
Начитавшись откровений Сноудена, решили немного поработать. Расскажу про наш опыт реализации, последствия и реакцию пользователей.

Шаг 1. Без регистрации

читать без регистрации
Всего голосов 36: ↑34 и ↓2+32
Комментарии7

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение14 мин
Количество просмотров346K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Всего голосов 126: ↑116 и ↓10+106
Комментарии180

Алгоритмизация творчества: создание интересной рекламы без креатива

Время на прочтение10 мин
Количество просмотров34K

Предвидя негодование по поводу использования слова «креатив», спешу заметить, что в контексте этой статьи трудно использовать синоним. Честно.
Основная мысль — алгоритмизировать можно абсолютно любой мозговой процесс. Я взял рекламу в качестве примера для доказательства потому, что:
  1. Понять и оценить интересную рекламу может каждый человек;
  2. Реклама сильно завязана на творчестве и нестандартном мышлении, которое обычно представляется хаотичным и слабо поддающимся алгоритмизации;
  3. Я просто очень сильно люблю рекламу. И алгоритмы.

Перед тем, как начать, было бы нечестным не упомянуть о том, что в алгоритме все же есть небольшие хитрости. Понявшему их — плюсов в карму. Итак.
Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии107

Канадский стартап Coinkite Cryptobank из Торонто представляет сервис оффлайн платежей для криптовалют

Время на прочтение2 мин
Количество просмотров8.2K
Канадская компания Coinkite Cryptobank, расположенная в Торонто, представляет сервис полного спектра услуг и решений вертикальной интеграции Bitcoin и Litecoin для оффлайн потребителей и продавцов в сфере электронной коммерции.
Для эквайринг клиентов предлагаются
Всего голосов 12: ↑11 и ↓1+10
Комментарии4

Как попасть в «золотой миллиард» или отрезвляющая статистика

Время на прочтение1 мин
Количество просмотров205K
Рассматривая всевозможные списки Forbes, цены на квартиры в Москве или просто ценник нового Galaxy S4, легко впасть в уныние – кто-то же это все покупает. Причем в легкую, не парясь, не то что я. Проблема в том, что это все навязанная картина мира (не пугайтесь, пафоса в моем топике будет немного).

Существует такое понятие как «золотой миллиард». Это одна седьмая часть населения планеты, потребляющая большую часть ресурсов и обеспеченная базовыми удобствами. То есть еще раз, 6 миллиардов людей на планете живут хуже. Значительно хуже. Для того, чтобы понять, каков порог вхождения в этот «миллиард» можно воспользоваться сайтом статистики Global Rich List. Выбираем валюту, вводим либо годовой доход, либо накопленное состояние, и позиционируем себя на мировом финансовом поле.

Читать дальше →
Всего голосов 186: ↑166 и ↓20+146
Комментарии392

Скриншоты без десктопа на HTML5

Время на прочтение4 мин
Количество просмотров28K
Практически каждый день я пользуюсь почтой Gmail, но вот недавно заметил, что если сделать скриншот экрана (www.take-a-screenshot.org), то простым нажатием Ctrl + V этот скриншот можно скопировать прямо в текст письма Gmail. Это работает везде, но естественно кроме IE. Заинтересовавшись вопросом как это происходит нагуглил следующий пост на Stackoverflow. Под сильным впечатлением от возможностей HTML5 clipboardData решил сделать простенький портал, где без всяких Desktop приложений любой юзер может загрузить скриншот просто скопировав его.
Под катом исходники с объяснением и примерами
Всего голосов 53: ↑52 и ↓1+51
Комментарии38

Как создать мир, спрятать труп и обшмонать перса. Стеки зажатых клавиш. Виртуальные УФМС и ФСКН (или кто разруливает 228 и «пудрит носик»)

Время на прочтение17 мин
Количество просмотров20K


Демо по мотивам одного видео:
Пример 1 — Вы большой гриб, а повсюду таблетки (как на кислотной вечеринке)
Пример 2 — Человек, управляет грузовиком
Пример 3 — Кидание бракованных кирпичей в колодец
Пример 4 — Битва роботов (PvP)

Дублирующий сервер: 1, 2, 3, 4
Читать дальше →
Всего голосов 51: ↑35 и ↓16+19
Комментарии11

Goblin Wars II.NET – история создания сетевой игры на C# с нуля

Время на прочтение18 мин
Количество просмотров27K
Добрый день, уважаемые хабровчане. Представляю вашему вниманию свой небольшой проект – сетевой 2D-шутер на C#. Несмотря на то, что визуальная составляющая весьма простая – в наш век уже никого не заинтересуешь 2D-играми, некоторые архитектурные решения могут заинтересовать людей, собирающихся написать свою игру. В статье я расскажу о вариантах реализации ключевых моментов игры.
Читать дальше →
Всего голосов 76: ↑64 и ↓12+52
Комментарии27

Мультиплеер в играх: взгляд изнутри

Время на прочтение4 мин
Количество просмотров29K
Привет.

Недавно я создал мобильную игру для Android, в которой потенциально мог бы быть мультиплеер, чего и затребовали пользователи.
Мультиплеер не предусматривался, так как не соблюдал разделения модели и представления.
В этой статье я рассмотрю простую реализацию сетевого режима игры и расскажу об ошибках, допущенных на этапе продумывания архитектуры игры.
Воодушевившись статьей goblin wars II структура игры была разделена на независимые блоки, что в конечном итоге позволило пользователям играть по сети.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии6

Морфана: приставки, корни, суффиксы…

Время на прочтение1 мин
Количество просмотров14K
image
Совсем недавно мы столкнулись с необходимостью HTML-верстки большого количества разнообразного учебного (школьная программа) материала.

К сожалению, в ряде случаев пришлось отдельно готовить изображения с текстовыми блоками, которые были снабжены хитрой версткой. Это усложняет процессы HTML-верстки и внесения правок. Благодаря замечательному MathJax, мы смогли оптимизировать верстку в части математики, физики и неорганической химии, однако органическая химия осталась непобежденной. Да, есть пакеты для верстки структурных формул в LaTex, но в MathJax их поддержки нет.
Русский язык начальной школы тоже преподносит сюрпризы.
Всего голосов 38: ↑34 и ↓4+30
Комментарии41

Создаем систему видеонаблюдения с помощью motion

Время на прочтение3 мин
Количество просмотров113K
В этой статье я хочу рассказать о настройке и использовании домашней системы слежения. Вы сможете сделать за любой территорией, попадающей в поле зрения вышей веб-камеры, отправлять себе сообщение при обнаружении активности в этой области, делать снимки, транслировать изображение по сети (можно прикрутить авторизацию для доступа видео с вашей веб-камеры и смотреть удаленно, если у вас есть статический ip) вообще что захотите — полный контроль и свобода выбора, что в общем характерно для ос gnu/linux и подобных (в дальнейшем речь пойдет именно о linux).
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии24

Timelapse с элементами видеонаблюдения

Время на прочтение3 мин
Количество просмотров45K
Здравствуйте, хабрапользователи.

Начитавшись на Хабре о timelapse с Raspberry Pi (раз, два) и после того как трем машинам на стоянке пробили за одну ночь колеса, а за неделю до того одну машину вскрыли, я решил, что нужно организовать малобюджетное видеонаблюдение.

На супер-крутую HD IP камеру с wi-fi бюджета нет, да и, честно говоря, желания, так как люблю покопаться в конфигах, потыкать провода и всякое прочее.

В общем, кому интересно, прошу под кат.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии12

Пишем single-page web application framework в 60 строках кода

Время на прочтение5 мин
Количество просмотров76K

В качестве предисловия



Веб-дизайнерский народ в последнее время распробовал single page web applications. Что оправдано во многих случаях.
Но явно ошибочно считать что single page web application не сделать без чего-то типа AngularJS, Ember и прочих Knockouts.
Во всяком случае если вам нужно сделать нечто простое типа To-do списка совершенно не обязательно тащить на клиент килобайты мега-фреймворка. На самом деле килобайты трафика это пол беды. Основная цена, скажем AngularJS, в том что он, как любой универсальный data binding механизм, создает значительную run-time нагрузку.

Эта статья про то как в 60 строках кода + jQuery/Zepto сделать простой app framework котрый можно расширять под свои нужды и без лишних сущностей в нагрузку.

Постановка задачи



Наш framework должен ...:

  1. … поддерживать routing, т.е. должна быть возможность сказать в деклартивной модели: «этот вот url hash должен быть показан в этом view».
  2. Должна быть возможность динамической загрузки разных view. Какие-то части нашего приложения могут быть либо тяжелы для начальной загрузки, либо не нужны, например, для незалогиненного пользователя.
  3. Должна быть возможность динамической загрузки скриптов. По причинам изложенным в п. 2
  4. Наше приложение будет поддерживать browsing history — кнопка «назад» в браузере должна показывать предыдущую страницу и т.д.
  5. Ну и все это должно быть компактным и расширяемым как того будет требовать логика нашего приложения.


Пример того что мы хотим получить



Приложение Bootstrap'нутый список контактов — содержит сам список, карточку — детали контакта и некую панель управления (dashboard). Что будет на той панели нам не важно — знаем что что-то будет и ладно.

Personas demo

Поехали
Всего голосов 75: ↑57 и ↓18+39
Комментарии55

Runtime-генерирование .Net-кода для тех, кому некогда

Время на прочтение8 мин
Количество просмотров35K
Инфраструктура .Net содержит встроенные средства генерирования кода (On-the-Fly Code Generation). Это позволяет .Net-программе в момент своего исполнения самостоятельно (без участия программиста) скомпилировать текст, написанный на каком-либо языке программирования и исполнить получившийся код. Логично было бы ожидать, что для осуществления этих действий в стандартной .Net-библиотеке предусмотрен простейший метод соответствующего класса. Но к сожалению это не так. Microsoft, проделав огромный путь по встраиванию в среду .Net средств генерирования кода, не сделала самый последний шаг навстречу простейшим потребностям программистов. Значит, придётся сделать этот шаг самостоятельно.

Самое простое средство предлагаемое Microsoft для решения описанной задачи — это класс CSharpCodeProvider, который входит в стандартную библиотеку .Net. Использование этого класса — не очень сложная задача, но тем не менее было бы полезно иметь инструмент, превращающий использование сгенерированного на лету кода в задачу тривиальную.
Вот что получилось в результате
Всего голосов 58: ↑51 и ↓7+44
Комментарии29

Создаем платформер за 30 минут

Время на прочтение15 мин
Количество просмотров165K
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.

image

Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):



Исходники и exe — внизу статьи.
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии14

Dwarf Fortress в 2013. Авторы рассказывают о процессе разработки и планах на будущее

Время на прочтение15 мин
Количество просмотров52K
«Мы создали каркас версии 1.0 — у нас есть огромный план и куча всевозможных идей, что-то входит в него, что-то нет» — Тарн Адамс и его брат Зак уже 11 лет разрабатывают процедурно-генерируемую фэнтези-игру Dwarf Fortress, если же учитывать работу над DragSlay и Slaves to Armok, сильно повлиявшими на игру в начале разработки, то получатся все 13 лет. Хотя вы можете бесплатно скачать игру прямо сейчас, версия 1.0 появится еще очень и очень нескоро. Тарн Адамс недавно сказал, что 1.0 можно ждать примерно через 20 лет, хотя скорее всего она появится еще позже «потому что я всегда недооцениваю время, необходимое для завершения работы».

Но какими бы ни были временные рамки, у братьев Адамс есть четкая цель. Они понимают, что уже не раз застревали на самых разных этапах разработки, так что их способ движения вперед заключается в том, чтобы разложить перед собой все идеи и выбрать, куда двигаться дальше в ближайшем будущем. «Мы стараемся оставаться в рамках плана» — говорит Адамс — «когда мы выполним его, получится версия 1.0. После этого можно будет добавить множество разных вещей, но нам будет более 50 лет — есть масса жизненных решений, которые надо принимать в таком возрасте, так что вряд ли мы будем придерживаться этого плана еще пять лет».


Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии38

Видео: полный цикл разработки на JavaScript

Время на прочтение1 мин
Количество просмотров50K
Здравствуй, Хабр!

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Всего голосов 57: ↑47 и ↓10+37
Комментарии27

История одного Google Chrome расширения

Время на прочтение18 мин
Количество просмотров68K
В один прекрасный день, за пару часов до конца работы, мне приходит задача: «Нужно написать приложение для браузера, которое должно по клику пользователя отправлять данные со страницы на сайт клиента. Что за приложение и какой браузер — полностью на ваш выбор...».

Немного поразмыслив я пришел к варианту google chrome extension:

  • Crome использует Blink движок (до апреля 2013 года использовался WebKit), Blink является форком WebKit (а это Safari), так же не забываем новую Opera'у (хотя я все еще использую старую с bookmarks'ами). Таким образом, написав расширения для chrome, мы с минимальными переделками (а то и без них) сможем его портировать на еще 2 браузера
  • Нет опыта работы с API Google Chrome
  • Google все-таки компания добра :)


Когда мысли немного улеглись, первое что я сделал — это ввел в поиске харба "расширение Google Chrome". Увидев обширный вариант статей по данной теме, я со спокойной душой ушел домой полностью уверенный в том, что завтра с утра прочитав их, к концу рабочего дня дело будет 'в шляпе' (как же я тогда ошибался). Прочитав парочку их них я имел общее представление о том как это работает, но этого оказалось мало для воплащения моих идей. Что ж, приступим…
Читать дальше →
Всего голосов 40: ↑22 и ↓18+4
Комментарии15

Информация

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