Как стать автором
Обновить
1
0
Sergey Vilgelm @svilgelm

Software Engineer

Отправить сообщение

7 бесплатных курсов по Data Science для начинающих

Время на прочтение2 мин
Количество просмотров126K
Большие данные перестали быть просто модным словом и теперь применяются в сферах от IT до ритейла. Самое время начать разбираться в моделях анализа данных, погрузиться в массивы информации и получить опыт в интересном направлении — Data Scientist. Держите курсы, в которых изучите теорию и наберетесь практики. Профи не станете, но первый шаг сделаете.


Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии1

Пишем DNS proxy на Go

Время на прочтение4 мин
Количество просмотров20K

Давно хотел решить проблему с рекламой. Наиболее простым способом сделать это на всех устройствах оказалось поднятие своего DNS сервера с блокированием запросов на получений IP адресов рекламных доменов.
Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии15

FDA одобрила первую «прямую» генную терапию для лечения генетических заболеваний

Время на прочтение3 мин
Количество просмотров10K

Генотерапевтический препарат Luxturna, разработанный в компании Spark Therapeutics, помогает восстановить зрение у пациентов с унаследованной формой слепоты.
Всего голосов 20: ↑20 и ↓0+20
Комментарии25

gRPC — фреймворк от Google для удалённого вызова процедур

Время на прочтение8 мин
Количество просмотров181K

В деле удалённого вызова процедур дела уже давно обстоят в точности как в известном комиксе «14 стандартов» — чего только тут ни напридумано: древние DCOM и Corba, странные SOAP и .NET Remoting, современные REST и AMQP (да, я знаю, что кое-что из этого формально не RPC, для того чтобы обсудить терминологию даже вот специальный топик недавно создали, тем ни менее всё это используется как RPC, а если что-то выглядит, как утка и плавает, как утка — ну, вы в курсе).

И конечно же, в полном соответствии со сценарием комикса, на рынок пришел Google и заявил что вот теперь наконец он создал ещё один, последний и самый правильный стандарт RPC. Google можно понять — продолжать в 21-ом веке гонять петабайты данных по старому и неэффективному HTTP+REST, теряя на каждом байте деньги — просто глупо. В то же время взять чужой стандарт и сказать «мы не смогли придумать ничего лучше» — совершенно не в их стиле.

Поэтому, встречайте, gRPC, что расшифровывается как «gRPC Remote Procedure Calls» — новый фреймворк для удалённого вызова процедур от Google. В этой статье мы поговорим о том, почему же он, в отличии от предыдущих «14 стандартов» всё-таки захватит мир (ну или хотя бы его часть), попробуем собрать билд gRPC под Windows + Visual Studio (и даже не говорите мне, что инструкция не нужна — в официальной документации упущено штук 5 важных шагов, без которых ничего не собирается), а также попробуем написать простенький сервис и клиент, обменивающиеся запросами и ответами.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии43

Как перейти на gRPC, сохранив REST

Время на прочтение8 мин
Количество просмотров90K

Многие знакомы с gRPC — открытым RPC-фреймворком от Google, который поддерживает 10 языков и активно используется внутри Google, Netflix, Kubernetes, Docker и многими другими. Если вы пишете микросервисы, gRPC предоставляет массу преимуществ перед традиционным подходом REST+JSON, но на существующих проектах часто переход не так просто осуществить из-за наличия уже использующихся REST-клиентов, которые невозможно обновить за раз. Нередко общаясь на тему gRPC можно услышать "да, мы у нас в компании тоже смотрим на gRPC, но всё никак не попробуем".


Что ж, этой проблеме есть хорошее решение под названием grpc-rest-gateway, которое занимается именно этим — автогенерацией REST-gRPC прокси с поддержкой всех основных преимуществ gRPC плюс поддержка Swagger. В этой статье я покажу на примере как это выглядит и работает, и, надеюсь, это поможет и вам перейти на gRPC, не теряя существующие REST-клиенты.


Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии16

Идеальная ОС: переосмысление операционных систем для десктопа

Время на прочтение17 мин
Количество просмотров39K
TL;DR: К концу этого эссе я надеюсь убедить вас в следующих фактах. Во-первых, что современные десктопные операционные системы никуда не годятся. Они раздутые, тормознутые и напичканы легаси-хламом, а кое-как работают только благодаря закону Мура. Во-вторых, что инновации в десктопных ОС прекратились около 15 лет назад, а основные игроки вряд ли собираются много вкладывать в них снова. И наконец, я надеюсь убедить вас, что мы можем и должны начать с нуля, усвоив уроки прошлого.

«Современные» десктопные ОС раздуты


Возьмём Raspberry Pi. За 35 долларов я могу купить отличный компьютер с четырьмя процессорными ядрами, каждое на частоте более гигагерца. У него также есть 3D-ускоритель, гагабайт оперативки, встроенные WiFi с Bluetooth и Ethernet. За 35 баксов! И всё-таки для многих задач, которые я хочу на нём запустить, Raspberry Pi ничем не лучше компьютера на 66 мегагерц, который был у меня в колледже.


Читать дальше →
Всего голосов 57: ↑42 и ↓15+27
Комментарии123

Знакомство с Go — пишем граббер веб страниц с многопоточностью и блудницами

Время на прочтение11 мин
Количество просмотров70K
Про язык Go от команды Google слышали, наверное, все. А вот пробовали далеко не все, и очень зря — общение с сусликами Go это море удовольствия, в чем я недавно убедился на собственном опыте.
Начинать знакомство с новым языком забавнее всего на жизненном примере, поэтому я, не долго думая, взял первую попавшуюся задачу “из жизни, самой первостепенной важности”:

Есть в интернете сайт http://vpustotu.ru на котором любой желающий может анонимно высказаться о наболевшем. Все высказывания (в дальнейшем буду называть их “цитатами”) сначала попадают в модерацию (аналог “бездны” башорга), где посетители могут оценить полет мысли и проголосовать за цитату в стиле “Ого!” или “Ерунда!”. На странице модерации (http://vpustotu.ru/moderation/) нам показывают случайную цитату, ссылки голосования и ссылку “Еще”, которая ведет на эту же страницу. Пощелкайте, это все очень просто.

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

В разделе модерации нет прямых ссылок на определенную цитату, единственный способ получить новую цитату – обновить страницу (или перейти по ссылке “еще”, что одно и тоже). Причем вполне возможны повторы, что легко обнаруживается после пары минут агрессивного кликинга.

Таким образом нужна программа, которая:

  • Должна последовательно обновлять и парсить (разбирать) страницу, записывая цитату.
  • Должна уметь отбрасывать дубликаты.


Логично, что мы понятия не имеем все ли цитаты загружены, но об этом можно косвенно догадаться по большому количеству повторно полученных цитат подряд. Поэтому дополним:

  • Должна останавливаться не только по команде, но и по достижению определенного числа “повторов”, например 500!
  • Так как это, скорее всего, займет некоторое время: необходимо уметь продолжить “с места на котором остановились” после закрытия.
  • Ну и раз уж все-таки это надолго – пусть делает свое грязное дело в несколько потоков. Хорошо-бы в целых 4 потока (или даже 5!).
  • И отчитывается об успехах в консоль каждые, скажем, 10 секунд.
  • А все эти параметры пускай принимает из аргументов командной строки!


Ну, вроде все понятно. Пусть программа ведет два файла – с цитатами и с некими хешами этих цитат, чтобы не повторяться, и перечитывает файл в начале каждого запуска. Ну а дальше в цикле разбирает страницу, выдергивая все новые и новые откровения, пока не получит ctrl-c по лбу или же не встретит определенное количество повторов. Задача ясна, план есть – поехали!
Читать дальше →
Всего голосов 78: ↑74 и ↓4+70
Комментарии30

DevStack как инструмент

Время на прочтение4 мин
Количество просмотров22K
Здравствуйте, уважаемые хабралюди!

В предыдущих своих записях я упоминал про такие продукты как OpenStack, DevStack и Chef.
В этой статье я начну с DevStack.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Импортозамещение, как и было сказано

Время на прочтение4 мин
Количество просмотров7.4K
Автор: Илья Стечкин

Почему мы решили поговорить об этом?


Помните, в начале апреля мы рассказывали вам о том, что OpenStack — важная составляющая часть проекта импортозамещения программного обеспечения? Так вот, мы рады сообщить, что нас услышали. И по результатам экспертизы Минкомсвязи группа компаний (в составе ООО «Параллелз Рисерч», Мирантис ИТ, Jelastic, Acronis, ООО НТЦ «РОСА», Alt Linux) заняла первое место в направлении «Средства управления «облачной» инфраструктурой и виртуализацией» (всего было представлено 6 заявок)
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии2

Сложно о простоте Go

Время на прочтение10 мин
Количество просмотров28K
Читая о языке Go, вы часто будете слышать слово “простота”. Но разные люди трактуют это слово по разному, особенно в контексте разработки ПО, а многие, зачастую, даже не осознают, почему это вообще используется, как характеристика языка. В этой статье мы попытаемся концептуально подойти к вопросу “сложности” и “простоты” в разработке ПО, и посмотрим, почему и зачем язык Go поставил простоту как краеугольный камень своего дизайна.


Читать дальше →
Всего голосов 54: ↑35 и ↓19+16
Комментарии203

Всемирный OpenStack-саммит и другие новости

Время на прочтение1 мин
Количество просмотров2K
Автор: Илья Стечкин

Вы думаете, что мы просто так отмалчивались все это время, что нас разморило весеннее солнышко? Вовсе нет! Мы выбирали, о чем бы вам поведать. Ведь столько всего происходит, что и писать-то некогда.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Cистема образования в США: Старшая школа 9-12 классы — чему и как учат? Часть 2

Время на прочтение5 мин
Количество просмотров48K
image

В первой части мы обсудили начальное образование в США младшую и среднюю школу.
Данная заметка относится к старшей школе т. е. выпускным классам с 9 по 12, когда ученик формирует свою специализацию и решает, продолжать ли ему дальнейшее обучение и в каком направлении.

Смысл этих статей — поделиться своими наблюдениями об образовательной системы США, исходя из опыта полученного моими детьми, высказать свои соображения.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии41

Разработка веб-приложения на Golang

Время на прочтение8 мин
Количество просмотров60K
В этой статье я рассмотрю разработку веб-приложения на Go. Материал не содержит принципиально новых знаний и рассчитан скорее для таких же новоиспеченных исследователей языка как и я. Хотя, надеюсь, какие-то свежие идеи вы все-таки для себя найдете.

У некоторых читателей могут возникнуть вопросы о «велосипедостроении» — это всё плоды любопытства и живого интереса при ознакомлении с языком Golang.
Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии28

Cистема образования в США: Младшая и Средняя школа — чему и как учат? Часть 1

Время на прочтение4 мин
Количество просмотров37K
image

Как то несколько лет назад зашел разговор с сыном шестиклассником о русских дворовых поговорках и задачках.
Для затравки я взял классическую дворовую считалку:

А И Б сидели на трубе
А упала, Б пропала
Кто остался на трубе?


Сын задумался и потом довольно быстро разгадал. Я уязвленный в лучших чувствах российского дворового сленга решил усложнить и попросил перевести на английский. Савва (так зовут сына) не задумываясь выдал следующее:

A N' B were on a tree.
A fell down, so did B.
Who is left on the tree?


Результат несколько меня ошеломил после чего я решил делать эти записки о системе общеобразовательной (очень хорошей школы) в США.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии55

Эволюция сетей — новый стандарт 25/50/100 GbE

Время на прочтение6 мин
Количество просмотров21K
Современные сети Ethernet давно уже стали неотъемлемой частью нашей жизни, а уж бизнес-процессы без них и вовсе немыслимы. И их пропускная способность является той характеристикой, рост которой крайне востребован. Скорость 1 Гбит/с давно уже стала настолько расхожей, что ее предоставляют даже провайдеры частным лицам. Но как только дело касается передачи сколько-нибудь серьезных потоков информации этого уже явно недостаточно, и можно сказать, что повсеместным стандартом сейчас является 10G, причем с разъемами не Base-T, а SFP+, позволяющими использовать как медные патчкорды на дальностях до 7 метров (стойка или группа стоек), так и оптические линии связи. Ну а для высоконагруженных линий передачи данных (уровни агрегации, интерконнект кластера для высокопроизводительных вычислений, подключения мощных СХД) используется 40G QSFP+, представляющий собой объединение четырех линий 10G SFP+.

Но производительность серверов растет, потоки данных тоже, нагрузка на сеть становится все выше, а значит уже давно назрела необходимость в переходе на большие скорости. Достаточно давно существуют 100G продукты в форматах CFP, CFP2, CFP4, но они неадекватно дороги для применения в серверной инфраструктуре и необходимо было создание приемлемого по стоимости продукта. Для этого был создан 25G Consortium, который вместе с Ethernet Alliance занялся разработкой нового промышленного стандарта, призванного поднять скорости в типовых сетях в 2,5 раза. Там где заканчивается разработка стандарта, в дело вступает 2550100 Alliance, созданный для продвижения продуктов в массы. Об итогах их работы и степени готовности стандарта к массовому нашествию на рынок мы сейчас и поговорим.


Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии49

Как не работает Интернет — желтые страницы вместо современного инструмента

Время на прочтение3 мин
Количество просмотров9.4K
В качестве эпиграфа, комментарий хабрапользователя Reposlav:
Не принципиально. Я открою несколько сайтов химчисток, чтобы сравнить их. Если информации на сайте для меня недостаточно, я его закрываю. Если достаточно — могу скинуть ссылку на прайс кому-нибудь: «Вот, смотри, тут дешевле». Не буду же я общаться с несколькими компаниями по телефону, чтобы узнать, какая химчистка мне подходит больше, это займет кучу времени. А еще по телефону мне будут впаривать всякую хрень, а я этого не люблю.
habrahabr.ru/company/krible/blog/258987/#comment_8438313

Мысль давно зрела у меня в голове. Но вот мимо этой статьи с фразами типа «Бизнесу нужно, чтобы клиент вышел на контакт: позвонил или написал.» я пройти не смог. Это стало последней каплей, теперь я озвучу все что думаю.

Итак, как обычно — издалека. Взаимодействие между покупателем и бизнесом (пока говорим про розницу) традиционно строилось по модели офис/ офис продаж/ магазин — покупатель. Открываешь точку — заманиваешь покупателей. Это со стороны бизнеса. Со стороны покупателя: нужно отремонтировать машину, побелить потолок, купить продуктов и новый пылесос? Вперед:

image
Интернет сегодня — это вот это. И на это грустно глядеть — «срамота ходячая».
Читать дальше →
Всего голосов 33: ↑25 и ↓8+17
Комментарии61

Logjam — новая уязвимость в TLS

Время на прочтение2 мин
Количество просмотров14K
Новая уязвимость под названием Logjam обнаружена в различных реализациях протокола TLS. Уязвимость аналогична другой под названием FREAK, о которой было написано ранее. Logjam также относится к типу «downgrade» и позволяет клиенту понизить стойкость шифрования до 512 бит DH при условии поддержки сервером шифра DHE_EXPORT, который задается в процессе «рукопожатия» (handshake) между клиентом и сервером. Т. о. атакующему значительно проще организовать атаку типа Man-in-the-Middle (MitM). Уязвимость затрагивает как серверное ПО, использующее OpenSSL (Logjam, FREAK and Upcoming Changes in OpenSSL), так и веб-браузеры.



Уязвимости подвержены веб-браузеры Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari. На текущий момент уязвимость исправлена только в IE, для которого было выпущено обновление MS15-055. В свою очередь, остальные браузеры ожидают обновления, как и пакет свободно распространяемого ПО OpenSSL. Уязвимость актуальна и для OS X, iOS, Android.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии9

IPv6 — это весело, часть 2

Время на прочтение14 мин
Количество просмотров154K
Введение: Добрый день или вечер, или даже ночь дорогие хабравчане. В данной статье продолжим изучать особенности протокола IPv6 и его отличия от IPv4. В данной статье будет минимальное количество теории и максимальное количество настройки. Начнем с настройки DHCPV6 и рассмотрим особенности работы этого протокола на основе протокола IPv6, также посмотрим на то, как настраиваются протокола динамической маршрутизации на основе IPv6. Оборудования для настройки выберем Cisco (в третей части Juniper).

IPV6 — это весело. Часть 1
Читать дальше →
Всего голосов 26: ↑20 и ↓6+14
Комментарии37

Apple TV получит новую программную и аппаратную начинку

Время на прочтение1 мин
Количество просмотров7.9K

Apple продолжает работать над обновлённой версией своей телевизионной приставки Apple TV.
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии4

Nginx и https. Получаем класс А+

Время на прочтение4 мин
Количество просмотров161K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Комментарии85

Информация

В рейтинге
Не участвует
Откуда
Round Rock, Texas, США
Дата рождения
Зарегистрирован
Активность