Pull to refresh
1
0
Sergey Vilgelm @svilgelm

Software Engineer

Send message

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

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


Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 1

Пишем DNS proxy на Go

Reading time 4 min
Views 19K

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

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

Reading time 3 min
Views 10K

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

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

Reading time 8 min
Views 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 важных шагов, без которых ничего не собирается), а также попробуем написать простенький сервис и клиент, обменивающиеся запросами и ответами.
Читать дальше →
Total votes 33: ↑29 and ↓4 +25
Comments 43

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

Reading time 8 min
Views 90K

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


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


Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 16

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

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

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


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


Читать дальше →
Total votes 57: ↑42 and ↓15 +27
Comments 123

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

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

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

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

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

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

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


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

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


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

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

Reading time 4 min
Views 7.3K
Автор: Илья Стечкин

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


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

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

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


Читать дальше →
Total votes 54: ↑35 and ↓19 +16
Comments 203

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

Reading time 1 min
Views 2K
Автор: Илья Стечкин

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

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

Reading time 5 min
Views 48K
image

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

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

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

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

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

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

Reading time 4 min
Views 37K
image

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

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


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

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


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

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

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

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


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

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

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

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

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

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

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

Reading time 2 min
Views 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.
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 9

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

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

IPV6 — это весело. Часть 1
Читать дальше →
Total votes 26: ↑20 and ↓6 +14
Comments 37

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

Reading time 4 min
Views 160K
image

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

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

Information

Rating
Does not participate
Location
Round Rock, Texas, США
Date of birth
Registered
Activity