Определяем пользователей VPN (и их настройки!) и прокси со стороны сайта

Автор: admin от 24-07-2015, 19:15, посмотрело: 1506

Определяем пользователей VPN (и их настройки!) и прокси со стороны сайта
We can save the day from dark, from bad
There's no one we need


Многие из вас используют VPN или прокси в повседневной жизни. Кто-то использует его постоянно, получая доступ к заблокированным на государственном или корпоративном уровне ресурсам, многие используют его изредка, для обхода ограничений по географическому положению. Как вы можете знать, крупные интернет-игроки в сфере стриминга видео, музыки и продажи игр никогда не любили пользователей, которые легко обходят географические ограничения, разблокируя недоступный в их стране контент, или совершая покупки заметно дешевле. За примерами не нужно далеко ходить: Netflix изменил свое соглашение об использовании, добавив пункт о блокировке VPN, всего 2 месяца назад; Hulu тоже грешил блокировкой пользователей, а Steam вообще подозрительно смотрит на не-русскоязычных пользователей из России. В последнее время, компании пытаются блокировать уже не конкретных пользователей, а сами IP-адреса VPN-сервисов, создавая определенные неудобства уже самому VPN-сервису и его пользователям. Похоже, они не используют никаких спецсредств, а блокируют выборочно и вручную. Хоть я и не поддерживаю какие-либо блокировки вообще, меня заинтересовала техническая часть вопроса: можно ли как-то определить использование прокси-серверов и VPN со стороны сервера, не прикладывая особых усилий?
Можно, при определенных условиях. И достаточно точно.

Категория: Информационная безопасность, Сетевые технологии

 

Путь разработчика, часть 3: история создания игры

Автор: admin от 24-07-2015, 19:01, посмотрело: 404

Всем привет, с вами спустя полгода снова Delfuego FM, и я хочу с радостью объявить о долгожданном релизе нашей мобильной игры – Sling Monsters!
Путь разработчика, часть 3: история создания игры
В этой большой статье будет рассказано о разработке игры, развитии её визуального стиля и о том, что собственно она из себя представляет (на протяжении более года с момента первого запуска Unity я держал её основную механику в тайне, т.к. ничего идентичного ей не встречал), а также о том, на какие грабли наступал в процессе разработки, о развитии графического стиля, о всяких философских размышлениях на тему индустрии и всего остального.

Категория: Веб-разработка, Game Development

 

Отображаем данные из Serial в Chrome Application

Автор: admin от 24-07-2015, 18:09, посмотрело: 879

Отображаем данные из Serial в Chrome Application

Здравствуй, Хабр!

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

Краткая предыстория. Много раз мне хотелось, чтобы компьютер и подключенная к нему Arduino работали, как единая система, в которой микроконтроллер был бы посредником для общения с датчиками и исполнительными устройствами, а компьютер — большой удобной консолью.

Чтобы это произошло, на компьютере нужно либо по хакерски сидеть в консольном терминале, либо писать какую-нибудь небольшую GUI’шку. Даже самая примитивная GUI’шка требует каких-то непропорциональных усилий для своего создания. Нужно выбрать framework, реализовать кучу побочной GUI-логики, скомпилировать под всевозможные платформы, разобраться с зависимостями, запаковать .exe, проверить на маке и венде и т.д.

Давно слышал, что API для приложений Google Chrome даёт доступ к Serial. Захотел попробовать и заодно освоить создание Chrome-приложений как таковое. Получился Serial Projector — замена штатному Serial Monitor для Arduino IDE.

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

Подробности исходного кода и демонстрация работы — под катом.

Категория: Компании » Google

 

Monstroid: шаблон для WordPress на стероидах

Автор: admin от 24-07-2015, 16:09, посмотрело: 657

Привет Хабр! Вчера мы зарелизили «Monstroid» – тему-конструктор для WordPress. Новый продукт подойдёт пользователям WP самого разного уровня, а также поможет создавать сайты разной сложности, включая интернет-магазины.

Monstroid: шаблон для WordPress на стероидах

Категория: Программирование » Веб-разработка

 

Vim по полной: Деплой

Автор: admin от 24-07-2015, 15:20, посмотрело: 367

Оглавление



  • Введение (vim_lib)

  • Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)

  • Уровень проекта и файловая система (vim_prj, nerdtree)

  • Snippets и шаблоны файлов (UltiSnips, vim_template)

  • Компиляция и выполнение чего угодно (vim-quickrun)

  • Работа с Git (vim_git)

  • Деплой (vim_deploy)

  • Тестирование с помощью xUnit (vim_unittest)

  • Библиотека, на которой все держится (vim_lib)

  • Другие полезные плагины


  • Мне нравится, когда клиент может сразу увидеть результаты моих трудов. Я могу корректировать развитие проекта согласно желаниям заказчика, что сильно спасает от недопонимания. Думаю и клиенты не против быть в курсе, куда уходит бюджет и на каком этапе их проект. Добиться этого достаточно просто, благо есть даже целая методология, называемая «Непрерывной интерграцией», позволяющая в кратчайшие сроки деплоить мелкие изменения, но как сделать, чтобы это было достаточно удобно для программиста? Ведь никому не хочется писать код, а после переключаться в контекст системы деплоя или даже использовать ssh соединение чтобы развернуть мелкие изменения на продакшене (или на dev сервере).

    Именно нежелание часто переключать внимание между редактором и системой деплоя побудило меня реализовать плагин, о котором я вам хочу рассказать.
    Развернуть

    Категория: Программирование » Веб-разработка

     

    Повышение удобства работы с Android-приложениями: распознавание жестов и не только

    Автор: admin от 24-07-2015, 15:18, посмотрело: 852

    Пользователь перевернул телефон, когда поступил входящий вызов? Уберём звук. Устройство подняли так, будто хотят сделать фото? Включим, если за нас это ещё не сделали по старинке, камеру. Как? Сенсоры нам в помощь.

    Повышение удобства работы с Android-приложениями: распознавание жестов и не только

    Категория: Веб-разработка, Android

     

    Путь разработчика (Часть 0х01)

    Автор: admin от 24-07-2015, 15:01, посмотрело: 408

    0х01. Работа не мечта


    // Code is Poetry
    Джон Касти как-то сказал: «Физика — это частный случай биологии», я считаю — программирование частным случаем поэзии. Здесь так же важно соблюдать структуру, как соблюдается рифма, знать своего пользователя как знать своего читателя, быть одновременно переводчиком и историком, чтобы кто-то, придя из другой сферы смог прочесть написанное тобой. Но сам программист — сочетание характеров писателя, изобретателя и испытателя. Код соединяет несоединяемое: творчество тысяч людей сливаются в один проект, словно десятки художников, со свойственными только им стилями, красками и предпочтениями, берутся за рисование одного полотна. Одно ясно: унификация не удел программиста.

    Категория: Программирование, Веб-разработка

     

    Киски: Рефакторинг. Часть третья или причесываем шероховатости

    Автор: admin от 24-07-2015, 15:00, посмотрело: 394

    Киски: Рефакторинг. Часть третья или причесываем шероховатостиВ первой и второй частях серии статей мы проделали немного работы по разделению того кода и тех лишних действий, которые мы понаписали в одной функции. В основном же мы имели дело с классами HttpClient и Cache, и их разными реализациями, чтобы написать тестируемый клиент для апи кисок.

    Представление данных


    До этого мы обращали много внимания на поведение и общую структуру кода, но забиывали про на данные, с которыми имеем дело. Сейчас у нас все является строками, включая возвращаемое значение CatApi::getRandomImage(). То есть вызывая этот метод, мы «знаем», что получим строку. Говорю «знаем», так как PHP может вернуть все — объект, ресурс, массив и т.д. Тем не менее, хоть в случае с RealCatApi::getRandomImage() мы и можем быть уверенны, что нам придет строка, так как мы явно приводим значение к ней, мы не можем точно сказать, что эта строка будет «полезна» (валидна) для того, кто вызвал этот метод: это может быть и пустая строка, строка, которая не содержит URL (типа «I am not a URL») и так далее.

    Категория: Программирование

     

    Исследование межстраничных объявлений в Google+ с рекламой приложений

    Автор: admin от 24-07-2015, 14:50, посмотрело: 601

    Привет, Хабр! Исследование межстраничных объявлений в Google+ с рекламой приложений

    Наверняка вы сталкивались с такой ситуацией: Заходишь на какой-нибудь сайт с телефона, а тебе вместо контента сразу начинают предлагать скачать официальное приложение. Многие сайты для мобильных устройств стимулируют пользователей загружать приложения в подобной агрессивной манере, с помощью межстраничных объявлений.

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

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

    Категория: Веб-разработка, Game Development, Google, iOS

     

    Богатый, разнообразный, свободный веб, который я так любил, за годы, проведенные мной в Иранской тюрьме просто умер. Почему никто не остановит это?

    Автор: admin от 24-07-2015, 14:36, посмотрело: 321

    Богатый, разнообразный, свободный веб, который я так любил, за годы, проведенные мной в Иранской тюрьме просто умер. Почему никто не остановит это?


    Семь месяцев назад, сидя за столом на кухне в своей старенькой квартире, расположенной в оживленном районе Тегерана, я повторил то, что уже делал тысячи раз. Открыв ноутбук, я разместил очередную запись в своем блоге. Это была первая запись за последние шесть лет — мое сердце разрывалось.

    Категория: Программирование » Веб-разработка

     
    Назад Вперед