Pull to refresh
1
0
Игорь Бахтин @ibakhtin

Java Developer

Send message

Агент по анонимности: Альтернативные фронтенды сайтам

Reading time3 min
Views3.3K

Всем привет! Наверняка вы заинтересованы в сохранении собственной анонимности, обхода цензуры и сторонники конфиденциальной работы в сети.

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

В этой статье я приведу список сайтов, с кратким их описанием и инструкцией.

Начинаем!

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments6

Гонконгский эксперимент: зачем власти Гонконга придумали цифровой доллар и как идут его испытания

Reading time10 min
Views3.1K

Недавно Гонконгская монетарная ассоциация (HKMA Hong Kong Monetary Association) опубликовала отчет о пилотных проектах гонконгской долларовой цифровой валюты (Central Bank Digital Currency, CBDC или ЦВЦБ) — e‑HKD. Регулятор запустил программу‑пилот в мае, чтобы исследовать применение потенциальной цифровой валюты в реальных сценариях. Чем это интересно? Гонконг — одна из ведущих экономик мира, десятки лет занимавший первые строки в разнообразных рейтингах. Поэтому можно ожидать, что лучшие практики будут перениматься другими странами. А отчет, представленный по итогам пилота — один из немногих документов, подробно освещающих тестирование цифровой валюты. Я прочитала этот монументальный труд и расскажу из чего состоит проект и что интересного напилотировали в Гонконге.

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments10

Как устроены сети: полезные материалы от сотрудников Selectel

Reading time4 min
Views20K

Фрагмент из курса «Сети для самых маленьких».

Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, которые пригодятся на старте. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments8

Подборка бесплатных инструментов для удаленной разработки

Level of difficultyEasy
Reading time5 min
Views8.6K
image

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

— Почему у нас всё упало?
— Ничего не знаю, на моей машине работает — вот.

В компаниях, где сотни разработчиков разбросаны по стране, нередко можно встретить десятки разных конфигураций. Разработчики используют региональные зоопарки. Чтобы код одинаково работал на всех машинах, разработку можно перенести в облако. А еще инструменты из этой статьи помогут гибко управлять ресурсами и сократить Time To Market. И, конечно, иногда просто хочется покодить с планшета в отпуске.

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments9

Механизмы контейнеризации: namespaces

Reading time11 min
Views60K
namespaces

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments0

Механизмы контейнеризации: cgroups

Reading time11 min
Views104K
механизмы контейнеризации

Продолжаем цикл статей о механизмах контейнеризации. В прошлый раз мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments4

Reagent: Минималистичный React для ClojureScript

Reading time8 min
Views4K
Хабр, привет.

Я — PM, которые лезет в то, что его может сожрать. Так что, я перевела часть документации по Reagent, если будет полезно, выложу продолжение.


In the no-holds-barred world of coding, the end justifies the extreme.

Введение в Reagent


Reagent обеспечивает минималистичное взаимодействие между ClojureScript и React. Он позволяет вам создавать эффективные компоненты React, используя только простые функции ClojureScript и данные, которые описывают пользовательский интерфейс, используя Hiccup-подобный синтаксис.

Цель Reagent — сделать возможным создание произвольно сложных пользовательских интерфейсов, используя пару основных понятий, и быть по-умолчанию достаточно быстрым, чтобы вам редко приходилось думать о производительности.

Простейший компонент Reagent

может выглядеть примерно так:
(defn simple-component []
  [:div
   [:p "I am a component!"]
   [:p.someclass
    "I have " [:strong "bold"]
    [:span {:style {:color "red"}} " and red "] "text."]])


Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Товарищ майор в клетке или как я изолировал Яндекс Браузер (для использования СБОЛа)

Level of difficultyMedium
Reading time4 min
Views52K

Еще с весны было известно, что Сбербанк потерял возможность продлевать свои сертификаты. Новые же сертификаты были выписаны одним из национальных УЦ, чьего корневого сертификата в операционных системах нет. Однако СБОЛ продолжал работать, и несмотря на предупреждения, я откладывал решение будущего вопроса.

Несколько дней назад я не смог войти в СБОЛ. Решить проблему можно двумя путями: установив себе рутовый сертификат в систему или установив Яндекс.Браузер.

Устанавливать рутовый сертификат не хотелось, а Яндекс.Браузер у нас запрещен политикой компании. Как выкрутиться с минимальными потерями и не поссориться с безопасниками - читайте под катом.

Открыть доступ в СБОЛ;drop table mortgage;
Total votes 81: ↑72 and ↓9+63
Comments242

Регулярные выражения (regexp) — основы

Reading time21 min
Views869K

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Total votes 59: ↑51 and ↓8+43
Comments76

Golang RPC и все-все-все…

Reading time6 min
Views8.6K

Disclaimer: this is not another one gRPC hate article... Oh, wait...

Начнем издалека - знаете, всегда было интересно, а почему, собственно, для golang существует такое большое разнообразие библиотек, для каких-то часто используемых сущностей, как-то - роутеры http (fasthttprouter забыли, как подсказали в коментах) или cache?

С выбором RPC вроде все просто, gRPC - наше всё (вы, кстати, в курсе, что g здесь - это не Google внезапно). Но не тут-то было...

Все просто без ума от Мэри gRPC (нет).

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments3

Современный Python: как начать свой проект с нуля при помощи Pyenv и Poetry

Reading time7 min
Views51K

Рассказываем, как начинающему разработчику установить и управлять различными версиями Python с помощью Pyenv, подготовить свой проект и создать виртуальное окружение через Poetry.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments16

Разработка системы заметок с нуля. Часть 1: проектирование микросервисной архитектуры

Reading time4 min
Views13K

Данный проект рассматривается как pet-project. Любую критику и советы готов увидеть в комментариях.

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

Репозиторий с исходным кодом: https://github.com/theartofdevel/notes_system

Видео версия: https://www.youtube.com/watch?v=Txi95RQPRP0

Под катом текстовая расшифровка.

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments7

Практическое применение трансформации AST-деревьев на примере Putout

Reading time10 min
Views15K

Введение


Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желательные) изменения кода. Это может быть рефакторинг, обновление библиотеки или фреймворка до новой мажорной версии, обновление синтаксиса JavaScript (что в последнее время совсем не редкость). Даже если библиотека является частью рабочего проекта — изменения неизбежны. Большинство таких изменений — это рутина. В них нет ничего интересного для разработчика с одной стороны, с другой это не приносит ничего бизнесу, а с третьей, в процессе обновления нужно быть очень внимательным чтобы не наломать дров и не поломать функционал. Таким образом мы приходим к тому, что такую рутину лучше переложить на плечи программ, что бы они все делали сами, а человек, в свою очередь, контролировал все ли правильно сделано. Вот об этом и пойдет речь в сегодняшней статье.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

В AWS представили Firecracker — «микровиртуализацию» для Linux

Reading time4 min
Views27K


На AWS re:Invent 2018, что проходит в эти дни в Лас-Вегасе, состоялся анонс Firecracker — новой технологии виртуализации с открытым кодом, основанной на Linux KVM. Авторы обещают, что с ней «в доли секунды можно запускать легковесные микровиртуальные машины (microVMs) в невиртуализированной среде, получив преимущества и традиционных ВМ — в виде безопасности и изоляции рабочих нагрузок, и контейнеров — в виде эффективного использования ресурсов».
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments44

Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие

Reading time13 min
Views28K


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

Для удобства чтения обзор разделён на два поста: в первом сравнивается шесть самых популярных библиотек, во втором — менее популярные и более специфичные, но всё же заслуживающие внимания.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments7

Человейник, тебе меня не сломить! Анализ жилья в мегаполисе

Reading time13 min
Views105K
Вчера на них никто не обращал внимание, а сегодня они повсюду. Человейники атакуют! Официально они именуются ЖК эконом-класса, а по сути являются гигантскими бетонными коробками из дешевых материалов. Москва задает моду на уплотнительную застройку и возведение целых районов человейников. И вот уже из Питера, Новосибирска и других зон поражения раздается безысходное «понастроили тут». Как всегда, под ударом простой народ. В красной зоне риска — люди, созревшие для покупки или аренды квартир.

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


Человейники Гонконга. Интересно, можно ли будет сделать такую фотку в Москве лет через 30?
Читать дальше →
Total votes 159: ↑155 and ↓4+151
Comments766

Redis Stream — надёжность и масштабируемость ваших систем сообщений

Reading time16 min
Views31K
image

Redis Stream — новый абстрактный тип данных, представленный в Redis с выходом версии 5.0
Концептуально Redis Stream — это List, в который вы можете добавлять записи. Каждая запись имеет уникальный идентификатор. По умолчанию идентификатор генерируется автоматически и включает в себя временную метку. Поэтому вы можете запрашивать диапазоны записей по времени или получать новые данные по мере их поступления в поток, как Unix команда «tail -f» читает лог-файл и замирает в ожидании новых данных. Обратите внимание, что поток могут слушать одновременно несколько клиентов, как многие «tail -f» процессы могут одновременно читать файл, не конфликтуя друг с другом.

Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments4

Книга «gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes»

Reading time10 min
Views8K
image Привет, Хаброжители! Год от года обретая новых сторонников, облачно-ориентированные и микросервисные архитектуры стали основой современного IT. Такой переход значительно повлиял и на структуру коммуникаций. Теперь приложения часто подключаются друг к другу по сети, и это происходит с помощью технологий межпроцессной коммуникации. Одной из наиболее популярных и эффективных технологий такого рода является gRPC, но информации о ней не хватает. Так было, пока не вышла эта книга!

Наконец архитекторы и разработчики смогут подробно разобраться, как технология gRPC устроена «под капотом», и для этого не придется разгребать десятки устаревших ссылок в поисковике.

Поняв основы gRPC и изучив паттерны коммуникации, вы научитесь создавать приложения gRPC на Go и Java, запускать их в продакшене, а также разберетесь, как gRPC взаимодействует с экосистемой Kubernetes.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments1

Разрабы становятся админами, а админы — разрабами. Интервью с инженером Uber, где разделение исчезло совсем

Reading time7 min
Views16K

Данила Мигалин (@miga) живет в Вильнюсе и работает инженером в Uber. 

Давным-давно контора, которая занималась русификацией игр, не взяла его работать переводчиком. На следующий день он устроился админом, потому что в школе увлекался программированием. «Русское IT — это большая деревня, одни и те же люди переходят из компании в компанию. До Uber я успел поработать в Яндексе и Майкрософте», — говорит Данила.

С 2006 года он занимался ip-телефонией и админской работой. В свободное время писал на Перле, затем на Питоне, делал свои пет-проекты. Некоторые из них даже пошли в продакшн и в Яндексе, и в Майкрософте. Писать по-серьезному в продакшн он начал, только когда пришел в Uber. «Место, которое мне предложили в компании, предполагало знание Golang. Меня не смутило то, что я иду админом на позицию разработчика. Я думал: отлично, наконец-то можно будет завязать с админским делом и спокойно писать код».

Читать далее
Total votes 37: ↑30 and ↓7+23
Comments23

Введение в систему модулей Go

Reading time8 min
Views167K

Грядущий релиз версии 1.11 языка программирования Go принесет экспериментальную поддержку модулей — новую систему управления зависимостями для Go. (прим.перев.: релиз состоялся)


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


Итак, вот, что мы будем делать: создадим новый пакет и потом сделаем несколько релизов, чтобы посмотреть, как это работает.

Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments49
1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity