Search
Write a publication
Pull to refresh
10
0
Назаров Сергей @MrMYSTIC

wed-developer

Send message

База GeoIP – страны и города, сентябрь 2013

Reading time2 min
Views70K
Вышла в свет обновленная версия русскоязычной базы данных стран и городов.

База распространяется в двух модификациях: «Страны и города» (13Mb, после установки ~74Mb)  и «Только страны» (2Mb, после установки ~9Mb). Также в архивах находится небольшой пример использования базы данных на php.
Читать дальше →

LAN-тестер на AVR своими руками

Reading time7 min
Views298K
Проблема тестирования свежепроложенной локальной сети актуальна всегда. Когда-то мне в руки попала железка под названием «Rapport II», которая, вообще говоря, тестер для систем CCTV, но витую пару прозванивать умеет тоже. Железка та давно уже умерла, а вот впечатление осталось: при тестировании витой пары она показывала не просто переполюсовку и распарку, но точную схему обжима! Например, для кроссовера это выглядело 1 → 3, 2 → 6, 3 → 1, и так далее.
Но заплатить порядка 800 нерусских рублей за устройство, в котором я реально буду использовать всего одну функцию? Увольте! Как же это работает, может, проще сделать самому? Гугл в руки, и… сплошное разочарование. Вывод поиска состоит на 80% из мигалок светодиодами на сдвиговом регистре / AVR / PIC / свой вариант, и на 20% из глубокомысленных обсуждений форумных гуру на темы «купите %название_крутой_железки_за_100499.99_вечнозеленых% и не парьтесь». Посему, хочу предложить хабрасообществу свое решение данной проблемы в стиле DIY. Кого заинтересовало — прошу под кат (осторожно, некоторое количество фото!).
И что же там за велосипед?

Evercookie — самые устойчивые куки

Reading time1 min
Views75K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →

Подробно о Xamarin

Reading time12 min
Views447K
Вы неплохо владеете языком C# и платформой .NET в целом? Вам надоело стоять в стороне и смотреть, как кто-то другой пишет крутые мобильные приложения вместо вас? У меня есть для вас кое-что интересное! То, что поможет вам изменить сложившуюся ситуацию и позволит писать отличные мобильные приложения, не требуя отдельного изучения Objective-C и Java. Я расскажу вам о продукте Xamarin. Подробно и правдиво.

Что это?



Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Идея очень простая. Вы пишете код на своем любимом языке, с применением всех привычных для вас языковых фич типо LINQ, лямбда-выражений, Generic`ов и async`ов. При этом вы имеете полный доступ ко всем возможностям SDK платформы и родному механизму создания UI, получая на выходе приложение, которое, строго говоря, ничем не отличается от нативных и (по крайней мере по заверениям) не уступает им в производительности.

Фреймворк состоит из нескольких основных частей:
Читать дальше

HttpRequest — библиотека для простой работы с HTTP протоколом

Reading time2 min
Views31K
https://github.com/Garik-/http-request

Очень часто в коде можно встретить такие строки:

$result = file_get_contents("http://geocode-maps.yandex.ru/1.x/?geocode=".urlencode("Москва"));

$handle = fopen("http://www.example.com/", "rb");
$result = fgets($handle);

  • Не важно человеку, что директива allow_url_fopen может быть отключена на сервере.
  • Не важно, что на сервере установлена библиотека cURL, которая без проблем скачает 100 МБ файл.
  • Не важно, какой ответ вернет сервер, 200, 301, может 404, может 502?
  • Не важно, то что сеть не идеальная среда и ответ может придти частично или его вовсе не будет продолжительное время. Скрипт попросту подвиснет в ожидании на неопределенное время или вернет не корректный результат.

try {
    $http = HttpRequest::get("http://geocode-maps.yandex.ru/1.x/?format=json",array("geocode"=>$city))->acceptJson();
    $json = $http->ok() ? json_decode($http->body()) : null;
} catch (HttpRequestException $e) {
    exit($e->getMessage());
}

Теперь это действительно не важно.

Библиотека Http Request основана на одноименной библиотеке Kevin Sawicki, которая должна быть хорошо известна Android разработчикам, ведь её использует сам GitHub в своем приложении.
Читать дальше →

tFormer.js — велосипед для валидации форм

Reading time4 min
Views23K

tFormer.js — empower your HTML forms



Предисловие:


Вам приходилось верстать формы? Приходилось писать скрипт для валидации этих форм на клиенте? Доводилось ли использовать уже существующие плагины/надстройки для валидации форм?
Мне приходилось, но я не был на 100% удовлетворен ни от подхода решения задачи в лоб (собственный скрипт валидации для каждого проекта под его формы), ни от того, как работают существующие сторонние плагины.

Проблема:


Основными проблемами собственных скриптов и плагинов всегда были — гибкость, удобство и простота.
Большое количество data-attributes, необходимых для конфигурации скриптов (как это в Parsley.js) делают и код менее читабельным, и никогда не помнишь, как все они пишутся. Не просто…
Не все плагины хорошо подходили под желаемые HTML-формы, а постоянно писать свои скрипты под разные формы не всегда удобно и разумно.

Задача:


Создать нечто гибкое, удобно настраиваемое, полностью подконтрольное, с интуитивным синтаксисом и чтоб валидировало.

Решение:


Решение вылилось в небольшой опенсорсный плагин, который получил название tFormer.js.
Подробности

JavaScript обёртка скроллбара в виде jQuery плагина

Reading time6 min
Views68K
Проблема стилизации скроллбара браузера до сих пор актуальна, несмотря на огромное количество скриптов, предназначенных для решения данной задачи. Рассмотрим реализацию стилизуемого скроллбара, максимально приближенного к родному поведению браузера.

Существует два основных подхода для стилизации скроллбара средствами HTML/CSS, каждый из которых имеет свои плюсы и минусы:

  • Эмуляция скролла средствами JavaScript
  • JavaScript обёртка над родным скроллом

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

Uploadcare — файловое хранилище для сайтов и приложений

Reading time3 min
Views14K
image
Привет! Хочу рассказать о проекте, который наверняка окажется полезным многим разработчикам. В двух словах объяснить, зачем он нужен, достаточно сложно, но я попробую. Uploadcare — сервис для приложений и сайтов, упрощающий получение файлов от пользователей, их хранение и передачу по сети.

Тот, кто хоть раз делал форму с <input type="file">, знает, что ничего сложного в этом нет, но есть неприятные моменты, возникающие по пути. Вот только некоторые из них:

— нельзя сохранить форму с файлом по ajax;
— нельзя показать форму с уже выбранным файлом;
— если вы ожидаете картинку, нужно убедиться, что загружена картинка;
— сервер должен быть готов принимать большое тело запроса;
— в некоторых фреймворках загруженный файл является источником повышенной опасности;
— удобная загрузка нескольких файлов реализуется достаточно сложно;
— индикация процесса загрузки реализуется еще сложнее;
— на диске сервера может закончиться место;
Читать дальше →

Как сделать простую игру с мультиплеером через Game Center. Часть 1: подключение Game Center'a в приложение

Reading time14 min
Views23K


Перевод замечательного туториала по интегрированию мультиплеера с использованием Game Center в iOS-игру. На сайте автора есть множество уроков, призванных помочь начинающим разработчикам игр.

Игра, над которой вы будете работать, очень проста. Это гонка, участниками которой являются собака и ребенок. Тапайте как можно быстрее, чтобы победить!

Данный туториал подразумевает, что вы знакомы с основами Cocos2D. В противном случае советую ознакомиться с другими Cocos2D-уроками, которые вы можете найти тут.
Читать дальше →

Миграция базы данных в Zend Framework: Akrabat_Db_Schema_Manager

Reading time3 min
Views8K
В процессе работы над одним огромным проектом на Zend Framework, возникла необходимость миграции баз данных и перемещение между версиями, т.е. кроме update, был необходим так называемый downdate. Немного погуглив натолкнулся на интересную статью Роба Алана (в дальнейшем Автор) «Akrabat_Db_Schema_Manager: Zend Framework database migrations». Данная статья не является переводом оригинала, а скорее синтезом его и возникшей проблемы. Об этом и пойдет разговор.
Читать дальше →

«Смс не надо» — сервис позволяющий отписаться от назойливых смс-рассылок

Reading time3 min
Views37K

Здравствуй!
Тема борьбы с нежелательной смс-рекламой на Хабре поднималась уже не раз[1]. Хочу внести свой небольшой вклад в дело борьбы с многоголовой гидрой спама.

Я, как и наверное многие, частенько получаю смс сообщения с «ненавящевой» рекламой такси, кредитов, фитнес-центров и прочих радостей жизни. И вот сегодня наткнулся на сервис smsnenado.ru[2], предлагающий отписаться от смс-рассылок.
%username%, я к данному сервису не имею никакого отношения, предупреждаю сразу

Когда увидел репост новости о данном проекте — отнесся скептически, но любопытство пересилило, и я пошел в разведку.
Итак, разведка боем

Arduino <> Firmata <> Visual Basic .NET

Reading time2 min
Views24K

В данной статье, я хочу сделать обзор библиотеки на языке .NET для взаимодействия с аппаратной платформой Arduino.
Так как на просторах Хабра, я не видел упоминания о данной библиотеке то я решил взять в свои руки, данную инициативу.
В данной статье я буду давать примеры исключительно на языке VB.NET, но вы можете использовать данную библиотеку на любом другом языке .NET
Читать дальше →

CSS3-генераторы. Лучшее

Reading time2 min
Views199K








Доброго времени суток! Сразу объяснюсь по поводу оформления поста: однажды, наткнувшись на статью о CSS-генераторах, меня не сильно порадовало безмерное количество информации и навигационных элементов в представленных генераторах, и еще больше — их пользовательский интерфейс! Возмутило то, что инструменты для работы со стилями — сами не выдержаны в рамках возможностей, которые они представляют… как так?!

Когда занимаешься творчеством, хочется иметь подручные средства и инструменты на освоение и работу с которыми тратишь минимум усилий и времени. В результате всего этого, пришла мысль: отобрать лучшие инструменты и организовать их для частого использования (а-ля навигационное меню, такой себе: Quick Launch).

Надеюсь, для многих ноу-хау станет хорошим помощником в процессе веб-разработки.
Читать дальше →

Юридическая безопасность ИТ бизнеса в СНГ

Reading time14 min
Views47K
«Война — неотъемлемая часть конкуренции...», Карл фон Клаузевиц

Я довольно давно интересуюсь юридической защитой бизнеса, ведь веду бизнес на просторах СНГ, где без этого работать нельзя! За последние 8 лет работы я собрал довольно много рецептов защиты, узнал много печальных историй незащищенных бизнесов и сложил это в довольно интересную схему работы. Сегодня я хочу поделиться этой информацией со всеми желающими, ибо очень люблю справедливость и не люблю ушлых товарищей, которые сегодня часто у кого-то что-то забирают, кидают, наезжают и т.д.

Сейчас я живу в Украине и больше знаком с украинским законодательством, но для других стран СНГ правила ведения бизнеса точно такие же, общая схема идентична, отличаются только нюансы и номера законов. Тех, кто увидят отличия для РФ и других стран СНГ – приглашаю в комментарии к статье.

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


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

Оптимизация Windows для использования SSD диска: мифы и реальность

Reading time6 min
Views856K


Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

Кто заинтересовался, прошу под кат.

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

Пишем на iPad'е под iPad

Reading time3 min
Views16K
Недавно в App Store появились первые игры написанные прямо на iPad, что лично меня очень радует. Можно сказать, что планшет становится не только средством потребления контента, но и его производства.

image
Под катом я расскажу, как и где это сделано, покажу простенький Hello World.

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

Как НАДЕЖНО защитить in-App Purchase от ломалок

Reading time4 min
Views9.5K
Совсем недавно я писал статью Как защитить in-App Purchase от ломалок . Прошло немного времени, а хакеры на месте не сидят. Тот метод защиты оказывается можно обойти, не очень сложно. Под катом метод, который намного надежнее.
Читать дальше →

Добавляем возможность входа через ВКонтакте в iOS приложение

Reading time7 min
Views21K
Вступление

Добрый день, Хабр!
Иметь «выходы» на социальные сети в своем приложении — крайне полезная штука. И сегодня мне хотелось бы поделиться своим небольшим опытом в «прикручивании» всем известной социальной сети к своему приложению. Что в этом интересного? А то, что в некоторых случаях использовать полноценные SDK просто нет смысла (учтем еще то, что официального ВКонтакте не имеет). Мне требовалось всего лишь узнать user_id и добавить возможность «Рассказать друзьям». В общем, всех, кто заинтересовался, прошу под кат! На сладкое — немного кодинга.
Читать дальше →

Хочешь быть iOS разработчиком? Будь им!

Reading time2 min
Views389K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

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

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Date of birth
Registered
Activity