Pull to refresh
178
-5.4
Andrei Kvapil @kvaps

Суперпользователь

Send message

Токен авторизации на примере JSON WEB Token

Reading time7 min
Views122K

Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реализации - JSON Web Token или JWT.

Читать далее
Total votes 23: ↑22 and ↓1+26
Comments87

Детям о Кубернете, или приключения Фиппи в космосе

Reading time4 min
Views3.3K

Kubernetes — удобная и быстро ставшая популярной платформа для работы с контейнерами. Поскольку Cloud4Y предлагает услугу Kubernetes как сервис, то внимательно следит за событиями, происходящими на рынке контейнеризации. И недавно мы наткнулись на детище молодого стартапа Kasten, о котором обязательно нужно рассказать. Ребята решили максимально упростить понимание работы ИТ-решений, и выпустили несколько детских рассказов про Фиппи. В них очень красиво и понятно рассказывается о технологиях. Мы решили перевести для вас историю про Фиппи и Kubernetes. А заодно рассказать, как она создавалась.

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

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Reading time4 min
Views151K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

Читать дальше →
Total votes 178: ↑174 and ↓4+226
Comments888

О растущей популярности Kubernetes

Reading time7 min
Views4.8K
Привет, Хабр!

В конце лета мы хотим напомнить, что продолжаем проработку темы Kubernetes и решили опубликовать статью со Stackoverflow, демонстрирующую состояние дел в этом проекте на начало июня.



Приятного чтения!
Читать дальше →
Total votes 11: ↑9 and ↓2+11
Comments0

Как вернуть сразу несколько значений из функции в Python 3

Reading time4 min
Views93K
Сегодня мы делимся с вами переводом статьи, которую нашли на сайте medium.com. Автор, Vivek Coder, рассказывает о способах возврата значений из функции в Python и объясняет, как можно отличить друг от друга разные структуры данных.


Фото с сайта Unsplash. Автор: Vipul Jha
Читать дальше →
Total votes 47: ↑9 and ↓38-26
Comments16

Death Note, анонимность и энтропия

Reading time16 min
Views74K


В начале “Death Note” местный гениальный детектив по сути занят деанонимизацией: он знает только то, что убийца существует где-то на планете. Никаких улик тот не оставляет, но довольно быстро оказывается пойман. Вообще-то хабр не площадка для обсуждения аниме, но такая же охота на того-не-знаю-кого порой случается и в реальном мире — достаточно вспомнить Сатоши Накамото, Dread Pirate Roberts или Q. Так что под катом перевод статьи (анонимного, кстати говоря, автора) о том, насколько происходящее в этом сериале связано с реальной анонимностью и что у его героя пошло не так.

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

Все технологии туннелирования IPv6 понятным языком

Reading time4 min
Views69K
Ура-ура, появился хаб IPv6!
В этой статье я хотел бы рассмотреть все актуальные способы туннелирования IPv6 через готовую IPv4-инфраструктуру, описанные в RFC 7059. Один из немногих RFC, написанных понятным человеческим языком, кстати.
Вы все еще сомневаетесь, нужен ли вам IPv6?
  • У всех устройств белый IP. Никаких NAT, никаких пробросов портов
  • Выше скорость скачивания торрентов за счет пиров, имеющих IPv6-адрес, но с «серым» IPv4.
  • В некоторых случаях, выше скорость доступа к сайтам (YouTube через IPv6 не тормозит по вечерам)
  • Доступ к сайтам, заблокированным в РФ, имеющим IPv6-адрес (nnm-club, например)
Но это еще не все. Представьте ситуацию, когда у вас сломался DHCP-сервер, а на компьютер в этой сети нужно побыстрее бы зайти. Он не получает IP-адрес, вы не можете на него зайти. Беда. Однако, если у вас был просто включен IPv6 — даже не настроен — то вы можете просто пропинговать магический адрес ff02::1, получить ответ от этого компьютера (т.к. у него в любом случае будет link-local IPv6-адрес!) и зайти на него.

Ну да ладно, перейдем к туннелированию.

6in4
Один из самых старых способов туннелирования, придуманный аж в 1996 году, и до сих пор очень популярный. Такие крупные туннель-брокеры, как Hurricane Electric, gogo6 и SIXXS используют его. Использует протокол 41 (не путайте с портом!) и не работает через NAT. Поддерживается всеми современными ОС из коробки.
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments23

Boot Ubuntu via http/ftp server with pxe(diskless boot)

Reading time5 min
Views20K

Intro


PXE is a great solution for booting a diskless computer (or a computer without an OS installed). This method is often used for terminal stations and OS mass installation.


Stock ubuntu (16.04) in pxe-mode can mount rootfs only from NFS. But this is not a great idea: any difficulties with the network/NFS server and the user gets problems.


In my opinion, it's best to use other protocols, such as http/ftp. Once booting, you will have an independent system

Read more →
Total votes 6: ↑6 and ↓0+6
Comments3

Личные пристрастия: полноразмерные 40 мм, без провода, на 72 часа за 8000 рублей

Reading time6 min
Views8.4K
Решил выделить личный опыт выбора и покупки гаджетов в отдельный цикл. В нём я расскажу об устройствах, которые я либо уже приобрёл, либо планирую приобрести в ближайшее время. Начну я со звука, а если точнее, с наушников, т.е с темы, о которой писал, пожалуй, больше, чем о чем-либо другом.



До недавнего времени я, как уважающий себя олдфаг, пользовался преимущественно проводными наушниками. Но вот пришел момент, когда решил, что провод меня достал и настало время купить что-нибудь без него. В подавляющем большинстве случаев я использую полноразмерные наушники. Мой выбор остановился на Audio-Technica ATH-SR30BT. Под катом подробно о том, что меня впечатлило.
Читать дальше →
Total votes 13: ↑8 and ↓5+7
Comments21

Интерфейсы как абстрактные типы данных в Go

Reading time7 min
Views10K
Не так давно коллега ретвитнул отличный пост How to Use Go Interfaces. В нем рассматриваются некоторые ошибки при использовании интерфейсов в Go, а также даются некоторые рекомендации по поводу того, как их все-таки стоит использовать.

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

Также при использовании интерфейсов в Go зачастую возникают споры об оверинжиниринге. А еще бывает так, что, после чтения подобного рода рекомендаций, люди мало того что прекращают злоупотреблять интерфейсами, они пытаются практически полностью от них отказаться, тем самым лишая себя использования одной из сильнейших концепций программирования в принципе (и одной из сильных сторон языка Go в частности). На тему типичных ошибок в Go кстати, есть неплохой доклад от Stive Francia из Docker. Там в частности несколько раз упоминаются интерфейсы.

В общем, я согласен с автором статьи. Тем не менее, мне показалось, что тема использования интерфейсов, как абстрактных типов данных в ней раскрыта довольно поверхностно, поэтому мне хотелось бы немного развить ее и поразмышлять на эту тему вместе с вами.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments17

Как работает дисковая подсистема в OpenNebula

Reading time4 min
Views11K


В последнее время я получаю достаточно много вопросов по поводу организации стораджа в OpenNebula. В виду своей специфики она имеет аж три разных типа хранилища: images, system и files. Давайте разберёмся зачем нужен каждый из них и как их использовать чтобы планировать размещение данных наиболее эфективно.


Этот пост — частичная расшифровка моего доклада про OpenNebula на HighLoad++ 2019 с упором на дисковую составляющую.

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

С чего начинается Elasticsearch

Reading time14 min
Views224K

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


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

Читать дальше →
Total votes 39: ↑38 and ↓1+49
Comments44

Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Reading time8 min
Views15K


Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных.


Если честно, я сдался и отказался от Kubernetes (во всяком случае, пока). Буду использовать Heroku. Почему? Из-за хранения! Кто бы мог подумать, что я буду больше возиться с хранилищами, чем с самим Kubernetes. Я использую Hetzner Cloud, потому что это недорого и производительность хорошая, и с самого начала я развертывал кластеры с помощью Rancher. Я не пробовал управляемые сервисы Kubernetes от Google/Amazon/Microsoft/DigitalOcean и проч., проч., потому что всему хотел научиться сам. А еще я экономный.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments4

Что делать, если протухли сертификаты и кластер превратился в тыкву?

Reading time5 min
Views37K
Если в ответ на команду kubectl get pod вы получаете:

Unable to connect to the server: x509: certificate has expired or is not yet valid

то, скорее всего, прошел год, у сертификатов вашего kubernetes закончился срок действия, компоненты кластера перестали их использовать, взаимодействие между ними прекратилось и ваш кластер превратился в тыкву.

image
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments13

Эволюционирующие клеточные автоматы

Reading time22 min
Views37K


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

В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →
Total votes 130: ↑129 and ↓1+128
Comments34

Прислушиваясь к информационному шуму: музыка и видео, которые никто не должен был найти

Reading time4 min
Views36K
В популярном сериале «Рик и Морти» есть повторяющийся элемент — «Межпространственное ТВ». Это — специальная приставка к телевизору, с помощью которой герои получают доступ к всевозможным телевизионным каналам во всех параллельных вселенных. В нашей — этот прибор, к сожалению, не существует, но интернет позволяет нам наблюдать нечто очень похожее.

Если проанализировать «информационный шум», можно увидеть наш мир с новой точки зрения. И (скорее всего) он вам покажется незнакомым, непредсказуемым и даже немного инопланетным.

Расскажем, как все это осуществить.

Total votes 62: ↑59 and ↓3+56
Comments33

11 лучших шрифтов для программирования

Reading time3 min
Views257K
Много статей и сайтов сравнивают шрифты для программирования — всё это отличные ресурсы. Так зачем я опять поднимаю эту тему? Потому что сам всегда терялся в десятках шрифтов и не мог понять, какой лучше. Так что я опробовал много шрифтов и выбрал следующие для вас. Они довольно популярны и их легко получить. И самое главное, все эти шрифты бесплатны!

Я ранжировал шрифты по следующим показателям:

  • Насколько различимы схожие символы, такие как 0O, 1lI.
  • Легко ли читается шрифт (ширина строк, ширина/высота символов).
  • И мои личные предпочтения!

Все скриншоты сделаны в VSCode на одном фрагменте кода. Если не обозначено иное, то везде установлен размер "editor.fontSize": 14.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments117

Возможно, вам не нужен Kubernetes

Reading time5 min
Views30K

Девушка на скутере. Иллюстрация freepik, логотип Nomad от HashiCorp

Kubernetes — это 300-килограммовая горилла для оркестровки контейнеров. Она работает в некоторых самых крупных контейнерных системах в мире, но дорого обходится.

Особенно дорого для небольших команд, которым придётся потратить много времени на поддержку и крутую кривую обучения. Для нашей команды из четырёх человек это слишком много накладных расходов. Поэтому мы стали искать альтернативы — и влюбились в Nomad.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments7

Архитектура REST

Reading time4 min
Views904K

Введение


В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

В данной статье описываются основы этой архитектуры, возможности и примеры её использования.

Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments75

Глубокое погружение в Linux namespaces

Reading time7 min
Views100K

Часть 1
Часть 2
Часть 3
Часть 4


В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые имеются) и разворачивать контейнер для её выполнения, изолированный от остальной системы, подобно тому, как вы бы выполнили docker run для запуска из образа.

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

Information

Rating
Does not participate
Location
Чехия
Works in
Registered
Activity