Pull to refresh
1
0
Артемий Титов @apnix

User

Send message

Обходим запрет Yota раздавать интернет с телефона

Reading time2 min
Views374K

Вместо введения.


Я пользуюсь Samsung Note 3 LTE (N9005). Оператор, с недавних времен, Yota. LTE на этом аппарате пока не поддерживается официально, по этому я решил сегодня сделать root на телефоне и вручную включить LTE.
Хочу интернет!

Мега-Учебник Flask, Часть 1: «Привет, Мир!»

Reading time6 min
Views584K
Это первая статья в серии, где я буду документировать мой опыт написания веб-приложения на Python, используя микрофреймворк Flask.

Здесь список всех статей в серии:
Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Поддержка e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
Часть 18: Развертывание на Heroku Cloud

Моя предыстория


Я разработчик ПО с двузначным числом лет опыта разработки комплексных приложений на нескольких языках. Впервые я познакомился с Python для создания привязок к C++ библиотеке на работе. Вдобавок к Python, я писал веб-приложения на PHP, Ruby, Smalltalk и, верите вы или нет, еще на С++. Из всего этого, я нахожу комбинацию Python/Flask самой гибкой.
Я хочу начать это долгое и удивительное путешествие

Как правильно показывать клиенту интерактивный прототип сайта в первый раз

Reading time4 min
Views34K
Возьмём понятный всем пример. Интернет-магазин. Вот вы встретились с клиентом в первый раз, обсудили, что должен и не должен делать их будущий проект. После этого сформировали список функциональных требований и сопроводили его предварительной картой сайта. Всё это дело будет потом помещено в приложение номер один к договору на проектирование, но сегодня речь не об этом. Давайте для начала взглянем на карту сайта, которая у нас получилась.
Читать дальше →

Изучаем Java EE 7

Reading time1 min
Views52K
Когда-то мы проводили на Хабре опрос по поводу издания книги "Изучаем Java EE 7". В прошлом месяце наконец-то она вышла в свет.

Аннотация:


Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java.
Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода.
Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP). В ней вы найдете максимально ценную информацию, изложенную с точки зрения эксперта по технологиям Java для предприятий.
Читать дальше →

Неделя производительности в Рунете

Reading time5 min
Views8.7K
Некоторое время назад в одном из пансионатов Ленинградской области в узком кругу хостинг-провайдеров совладелец Openstat Леонид Филатов представил доклад, который стал своего рода пиршеством мета-анализа. Много разнородных данных удалось объединить на примере темы, которая волнует большинство вебмастеров и хостеров — производительность (скорость) отдачи страниц веб-сайтов на различных хостингах и в зависимости от различных движков.

Пример такого отчета.



Как видите, данных так много, что хочется сделать их декомпрессию.

Но сначала пара абзацев о том, как они получены.

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

Spring Security Hello World Java Config

Reading time11 min
Views102K
Привет всем!

В этом материале мы постараемся написать приложение защищенное Spring Security с применением Java Config (подхода на основе использования аннотаций и классов для настройки контекста Spring приложения) вместо XML.

Используемые Технологии


  • Spring 4.0.5 Release
  • Spring Boot 1.0.1
  • Spring Security 3.2.3 Release
  • Maven
  • Tomcat 8
  • Servlet Api 3.1
  • Java 1.8


Это будет очень простое веб приложение, Hello World на базе Spring MVC и Spring Security. Все настройки мы осуществим используя только Java классы, без единой строчки конфигурации в XML.

Подробности

Прослушка украинских мобильников: как это сделано и как защититься

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

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

Если коротко, схема такая. Атакующий внедряется в сеть сигнализации SS7, в каналах которой отправляет служебное сообщение Send Routing Info For SM (SRI4SM), указывая в качестве параметра телефонный номер атакуемого абонента А. В ответ домашняя сеть абонента А посылает атакующему некоторую техническую информацию: IMSI (международный идентификатор абонента) и адрес коммутатора MSC, который в настоящий момент обслуживает абонента.

image

Далее атакующий с помощью сообщения Insert Subscriber Data (ISD) внедряет в базу данных VLR обновленный профиль абонента, изменяя в нем адрес биллинговой системы на адрес своей, псевдобиллинговой системы.
Читать дальше →

Лабораторные по многопоточности в Java: Parallel Copy

Reading time4 min
Views25K
Хорошие лабораторные по многопоточности (простые, понятные, нетривиальные и полезные в народном хозяйстве) — большая редкость. Предлагаю Вам одно условие и четыре лабораторные работы по элементарной многопоточности на Java.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Условия


Это реализация однопоточного побайтового копировальщика из InputStream в OutputStream. Копирование происходит в потоке вызвавшем метод copy(...)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyUtil {
    public static void copy(InputStream src, OutputStream dst)throws IOException{
        try (InputStream src0 = src; OutputStream dst0 = dst) {
            int b;
            while ((b = src.read()) != -1) {
                dst.write(b);
            }
        }
    }
}

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

Получаем банковскую карту, находясь за границей

Reading time9 min
Views301K


Есть несколько вопросов, которые встают перед фрилансерами, использующими кредитки или карты-рассрочки перед выездом за границу. Один из важнейших — это средство хранения денег и платежей. Карты русских банков по ряду причин становятся неудобны при длительном пребывании за границей — например, в случае утери, блокировки и необходимости восстановления. Или, например, при необходимости завести новый счёт в другой валюте — не полетишь же специально в Россию за этим? В последнее время добавились и политические риски. Но в итоге всё сводится к вопросу чисто логистическому: как получить банковскую карту, находясь за пределами родной страны.
Читать дальше →

Как определить местоположение по сетям сотовой связи (Cell ID)

Reading time4 min
Views308K

Карта Участники OpenStreetMap
 
Существует множество способов определения местоположения, такие как спутниковая навигация (GPS), местоположение по беспроводным сетям WiFi и по сетям сотовой связи.
 
В данном посте мы попытались проверить, насколько хорошо работает технология определения местоположения по вышкам сотовой связи в городе Минске (при условии использования только открытых баз данных координат передатчиков GSM).
 
Принцип действия заключается в том, что сотовый телефон (или модуль сотовой связи) знает, каким приемопередатчиком базовой станции он обслуживается и имея базу данных координат передатчиков базовой станции можно приблизительно определить своё местоположение.
Читать дальше →

Эдвард Сноуден использовал дистрибутив TAILS

Reading time2 min
Views129K
Когда Эдвард Сноуден впервые появился перед видеокамерой летом прошлого года, многие обратили внимание на его ноутбук с наклейками анонимайзера Tor и Фонда электронных рубежей. Сейчас стало известно, какая операционная система установлена на этом ноутбуке: защищённый дистрибутив Linux под названием TAILS (The Amnesic Incognito Live System) на основе Debian.


Раньше дистрибутив назывался Amnesia и базировался на ОС Incognito

Загрузив образ TAILS с диска или флэшки, мы сразу получаем все необходимые инструменты для безопасной работы в интернете: Tor запускается автоматически, GPG для шифрования почты, OTR-чат, парольный менеджер KeePassX и другие программы, многие из которых модифицированы для безопасности. Дистрибутив спроектирован таким образом, что не хранит никакой информации локально (и вообще не обращается к накопителю), чтобы защитить секретные данные в случае, если компьютер попадёт в руки врага, и обезопасить систему от вредоносного ПО. Оперативная память стирается перед завершением работы с помощью sdmem, чтобы злоумышленник не мог восстановить её содержимое с недавно выключенного компьютера. Графический интерфейс может подделываться под Windows XP, чтобы не вызывать подозрений у окружающих.
Читать дальше →

Huginn: агенты в стиле Yahoo Pipes и IFTTT на своём сервере

Reading time1 min
Views6.8K


Huginn — система программирования агентов и выполнения разнообразных задач в онлайне, сделанная по образцу Yahoo Pipes и IFTTT, но только для установки на собственный сервер. В Huginn мы сами контролируем собственные данные и не зависим от ограничений третьей стороны.
Читать дальше →

Последствия OpenSSL HeartBleed

Reading time3 min
Views158K
image

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

Что произошло?

1 января 2012 года, Robin Seggelmann отправил, а steve проверил commit, который добавлял HeartBeat в OpenSSL. Именно этот коммит и привнес уязвимость, которую назвали HeartBleed.

Насколько она опасна?
Эта уязвимость позволяет читать оперативую память кусками размером до 64КБ. Причем уязвимость двусторонняя, это значит, что не только вы можете читать данные с уязвимого сервера, но и сервер злоумышленника может получить часть вашей оперативной памяти, если вы используете уязвимую версию OpenSSL.

Злоумышленник может подключиться к, предположим, уязвимому интернет-банку, получить приватный SSL-ключ из оперативной памяти и выполнить MITM-атаку на вас, а ваш браузер будет вести себя так, будто бы ничего и не произошло, ведь сертификат-то верный. Или просто может получить ваш логин и пароль.

Каков масштаб трагедии?

По моим оценкам, примерно ⅔ вебсайтов используют OpenSSL для HTTPS-соединений, и примерно ⅓ из них были уязвимы до сегодняшнего дня.

Уязвимость была/есть, как минимум, у:
  • 10 банков
  • 2 платежных систем
  • 8 VPN-провайдеров
  • mail.yandex.ru
  • mail.yahoo.com


Используя уязвимость, с mail.yandex.ru можно было получить письма пользователей вместе с HTTP-заголовками (и, подставив cookie, зайти под этим пользователем), а, например, в АльфаБанке получать незашифрованные POST-данные с логином и паролем от Альфа-Клик (интернет-банкинг).
Читать дальше →

Поднимаем VPN-туннель из мира домой в обход NAT

Reading time2 min
Views145K
.

Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.
Читать дальше →

Bitcoin: Децентрализованная электронная денежная система

Reading time12 min
Views47K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

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

Адаптивные изображения без шаманства

Reading time5 min
Views40K
Все, кто сталкивался с задачей сделать адаптивную графику, знает, что решений уже масса, но никакого единогласно принятого не существует. Зачастую выбор и применение решения для адаптивных изображений становятся головной болью фронтенд-разработчиков. Им приходится заменять src картинок, подгружать однопиксельные изображения и лепить прочие костыли. Нас это не устроило и мы решили сделать свой мотороллер.

На типичных сайтах изображения могут появляться тремя способами.
  1. Быть элементами дизайна сайта (бекграунды, кнопки и т.д.).
  2. Загружаться через специальные модули (например, изображения в фотоальбом).
  3. Вставляться через WYSIWYG-редактор CMS (например, в текст статьи).


Мы захотели получить такое решение, которое было бы некой «надстройкой» над сайтом. Чтобы можно было не лезть в код CMS, через которую загружаются изображения на сайт, а также не готовить адаптивные картинки вручную.

Сначала на помощь приходит реализация Adaptive Images
Но что происходит потом?

Google выпустил карту лесов мира: Global Forest Watch

Reading time1 min
Views89K


Если в соседнем лесу вырубают деревья, скоро вы можете узнать об этом практически в реальном времени, благодаря новому проекту Global Forest Watch, разработанному Google в сотрудничестве с Институтом мировых ресурсов и ещё 40 организациями.

На сайте опубликованы фотографии со спутников НАСА за последние 13 лет. Более того, алгоритмы обработки изображений позволяют детально подсчитать объёмы потерянных и выросших лесов на каждой территории и в каждой стране, по годам. Например, вот статистика по России за 2000-2013 гг: потери 36,5 млн га, выросло только 16,2 млн га (1-е место в мире по потере леса); Украина: -565 тыс. га, +353 тыс. га; Беларусь: -416 тыс. га, +375 тыс. га.
Читать дальше →

Google Maps v2 для Android: Всплывающее окно с полноценной перерисовкой и поддержкой событий ввода

Reading time6 min
Views17K
image

С объявлением библиотеки Google Maps v1 для Android устаревшей прекратилась и выдача ключей. Разработчикам была предложена новая версия — быстрее, выше, сильнее лучше, удобнее старой. Чего стоила попытка отобразить с ее использованием несколько точек на карте и несложное всплывающее окно с изображением, небольшим описанием и кнопкой – читайте под катом.
Читать дальше →

В Швеции строят целый дата-центр для майнинга Bitcoin

Reading time2 min
Views45K


Несмотря на несколько негативных новостей с рынка Bitcoin, курс криптовалюты все же остается высоким, а сама криптовалюта — стабильно популярной. Само собой, до сих пор находится масса желающих намайнить себе монетку-другую. А ведь сложность майнинга уже настолько высока, что в домашних условиях можно намайнить себе, разве что, на печеньки к чаю.

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

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

Печатаем OSM (Часть 1)

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

читаем под катом.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity