Pull to refresh
3
0
Дмитрий @EnterSandman

User

Send message

Человеческим языком про метрики 2: Prometheus

Reading time10 min
Views97K

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

Под катом: формат данных, способы отправки, типы метрик и их применение, кардинальность.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments5

Проксируем и спасаем

Reading time7 min
Views164K
1 ноября мир изменился и больше никогда не будет таким же как прежде. В российском интернете появилась цензура — общеизвестный уже список запрещенных сайтов. Для одних это важнейшая политическая тема, для других повод изучить технологии шифрования и защиты анонимности, для третьих просто очередной странный закон, который приходится исполнять на бегу. Мы же поговорим о технологическом аспекте.

В данном пособии мы узнаем как быстро и просто сделать рабочее зеркало любого сайта, что позволяет сменить IP и назначить любое доменное имя. Мы даже попробуем спрятать домен в url, после чего можно сохранить локально полную копию сайта. Все упражнения можно сделать на любом виртуальном сервере — лично я использую хостинг Хетцнер и OS Debian. И конечно мы будем использовать лучший веб-сервер всех времен и народов — NGINX!

К этому абзацу пытливый читатель уже приобрел и настроил какой нибудь выделенный сервер или просто запустил Linux на старом компьютере под столом, а так же запустил Nginx последней версии со страничкой «Save me now».
Cкорее кого-нибудь спасем
Total votes 73: ↑68 and ↓5+63
Comments25

Публикация HTML5-приложений в AppStore без Mac

Reading time2 min
Views14K
Многие разработчики гибридных мобильных приложений сталкиваются с проблемой подписи и публикации iOS-приложений без использования Mac.

С Android все более или менее просто: устанавливаем SDK (под Windows, Mac или Linux), собираем приложение, а публикация apk в Google play осуществляется через веб-интерфейс. С Apple такой номер не проходит: для генерации ключа, подписи приложения и публикации ipa в AppStore нужен Mac. Как решить эту проблему в Windows?
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments15

Бесплатный курс «Android. Быстрый старт»

Reading time6 min
Views24K

Урок курса «Android. Быстрый старт»

Операционная система Android, начиная с момента первого релиза, всегда притягивала к себе внимание людей из самых разных сфер бизнеса, программирования и академической среды. Сам факт ее появления на свет принес ее создателям, калифорнийскому стартапу из четырех друзей-программистов, кругленькую сумму в 130 млн. долларов.

История течет так быстро, что уже только убелённые сединами хипстеры начала этого века помнят, что в одном из гаражей города Пало Альто совсем недалеко от стен альма-матери множества IT-корпораций, в том числе, Sun Microsystems – Стэнфордского Университета, в 2003 году во время товарищеской вечеринки были сформулированы основные идеи программного продукта, который позже стал мировым хитом.

Базовые ценности никто не отменял


Почему мы упомянули Стэнфорд и Sun? Не только для того, чтобы передать тот дух свободы и творчества, который царил в это время в Кремниевой Долине, но и для того, чтобы с момента своего знакомства с Android, начинающие программисты понимали – эта ОС не появилась как бы сама собой на клочке бумаги и не была написана вот так «на коленке» юным дарованием.

За ней стояли люди, которые прекрасно понимали, что и зачем они делают. А заработанные ими 130 млн. долларов в 2005 году от продажи своего продукта корпорации Google только это доказывают.
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments5

Не пельменем единым жив программист или история о том, как все успеть

Reading time7 min
Views138K
image

По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.

На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
Читать дальше →
Total votes 269: ↑263 and ↓6+257
Comments303

7 эффективных A/B-тестирований с приветственными письмами

Reading time11 min
Views34K
Рост популярности email-рассылок — следствие их эффективности. Чтобы использовать этот инструмент на все 100%, надо провести серьезную подготовку. Например, разобраться с тем, как приветствовать потенциального клиента. Это, оказывается, не так уж просто. Приветственные письма клиентам — залог успеха всех взаимоотношений. Текст, дизайн, время отправки и структура влияют на то, станут ли клиенты активными, купят ли еще. Ранее мы рассмотрели советы по времени, частоте, срочности, персонализации, призывам к целевому действию, в этой же статье хотим поговорить о том, как можно (и нужно!) тестировать приветственные письма. Опытом делится Питер Танхам, который имеет обширный практический опыт тестирования, которое давало результаты..
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments2

Изолирование приложения с IP-адресом из VPN другой страны на примере Steam

Reading time7 min
Views68K
Abstract: Изоляция приложения на уровне сети использованием network namespaces Линукса. Организация SSH-туннелей.

Традиционно, большая часть статьи будет посвящена теории, а скучные скрипты — в конце статьи. В качестве субъекта для экспериментов будет использоваться Steam, хотя написанное применимо к любому приложению, включая веб-браузеры.

Вместо вступления. Я просто покажу эту картинку:

147%… Что-то мне это напоминает. Впрочем, хабр не для политики.

Цена на игры в Стиме зависит от региона. Регион — от IP'шника. Есть желание иметь цены в рублях, а не в евро.

Для этого мы используем VPN через SSH с использованием tun-устройств, плюс network namespaces для изоляции приложения от всех остальных сетевых устройств.

Network namespaces


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

Более того, большинство десктопных приложений вообще ничего не понимает в интерфейсах, так как предполагают, что у системы есть только один сетевой интерфейс и не даёт возможности указать, каким из интерфейсов надо пользоваться. Серверное ПО обычно имеет эту опцию (какой адрес использовать в качестве адреса отправителя), но для десктопов это непозволительная роскошь.

Если у нас есть несколько интерфейсов (один из которых относится к VPN), то нет штатных методов сказать стиму, что надо использовать его, а не eth0/wlan0. Точнее, мы можем «завернуть» весь трафик в VPN, но это не всегда желательно. Как минимум — рост latency и снижение скорости (даже если VPN ведёт на супербыстрый сервер, увеличение latency, оверхед от туннеля и фиксированная ширина локального канала ставят TCP в положение, когда приходится резать скорость). Как максимум — одно дело «покупать через русский VPN», другое дело — пускать туда весь трафик. Меня совсем не прельщает использование VPN для получения защиты роскомнадзором от оппозиции и вольнодумства.

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

Для решения этой задачи в Linux, уже довольно давно (аж с 2007 года) существует технология, называемая network namespaces, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

Картинка ниже поясняет происходящее:

Читать дальше →
Total votes 111: ↑105 and ↓6+99
Comments84

ZeroNights 2014 — hackquest

Reading time1 min
Views12K
image

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

И есть у нас традиция — перед самой конференцией проводить хакквест, предлагая участникам различные задания (поломать веб, отреверсить, проанализировать, написать эксплойт для бинарщины — в общем практика). За победу мы даем приглашение на конференцию и с прошлого года вносим в «зал славы». Правила таковы:

  • Квест идёт 7 дней, стартует 1 октября в 20:00 и заканчивается 8 октября в 20:00 (по Москве);
  • Каждый день — одно задание. Длительность каждого задания — 24 часа;
  • Всего заданий — 7;
  • Кто первый решает задание — получает инвайт (всего инвайтов: 7);
  • В некоторых ситуациях мы можем попросить участника рассказать как было решено задание (не стоит пытаться нас обмануть, мы за честные и равные соревнования!)

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments33

Как я писал свою криптовалюту

Reading time15 min
Views45K
3 года назад у меня появилась мысль создать свою криптовалюту. От биткоина решил взять идею с нодами и блокчеином.


Я решил сделать привязку каждой ноды к человеку. Каждый, кто хочет стать майнером, должен заснять на видео своё лицо и сделать фото. При проверке сранивается фото и видео, чтобы убедиться, что лицо одно и то же. Видео нужно только потому, что подделать его практически невозможно, в отличие от фото.
На фото нужно нанести точки в определенные части лица, чтобы при поиске по БД сравнивать пропорции.
Проверяют это всё майнеры, которые ранее уже прошли такую проверку. В итоге нужно набрать 10 положительных голосов и менее 10 отрицательных в течение суток.
Всё это происходит путем рассылки транзакций и блоков между нодами, никаких центральных серверов нет. Все фото/видео находятся в паблике.
Читать дальше →
Total votes 169: ↑106 and ↓63+43
Comments74

Information

Rating
Does not participate
Date of birth
Registered
Activity