Как стать автором
Обновить
7
0
Гоголин Виталий @vgogolin

Пользователь

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

Строим собственный serverless на основе Fn

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


Бессерверные вычисления — одна из наиболее заметных тенденций в облачных вычислениях. Основной принцип работы заключается в том, что инфраструктура — забота не DevOps’ов, а поставщика услуг. Масштабирование ресурсов автоматически подстраивается под нагрузку и обладает высокой скоростью изменения.


Другая общая черта — тенденция к минимизации и фокусировании кода, поэтому бессерверные вычисления иногда называют "функция как услуга" (FaaS).

Читать дальше →

Как мы пишем микросервисы и почему не делаем этого быстро

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


Истории по распиливанию монолита часто похожи одна на другую. Был у команды здоровенный неповоротливый монолит, решили его распилить на россыпь правильных и шустреньких микросервисов, все стало круто. Отличаются истории лишь степенью ужаса “до”, радости “после” и рядом вторичных характеристик.


У нас в RBK.money тоже микросервисы. Но пришли мы к ним немного не так, как большинство. У нас все было даже хуже монолита — у нас на старте просто все было хреново.


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

Читать дальше →

RESTinio — это асинхронный HTTP-сервер. Простой пример из практики: отдача большого объема данных в ответ

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


Недавно мне довелось поработать над приложением, которое должно было контролировать скорость своих исходящих подключений. Например, подключаясь к одному URL приложение должно было ограничить себя, скажем, 200KiB/sec. А подключаясь к другому URL — всего 30KiB/sec.


Самым интересным моментом здесь оказалось тестирование этих самых ограничений. Мне потребовался HTTP-сервер, который бы отдавал трафик с какой-то заданной скоростью, например, 512KiB/sec. Тогда бы я мог видеть, действительно ли приложение выдерживает скорость 200KiB/sec или же оно срывается на более высокие скорости.


Но где взять такой HTTP-сервер?


Поскольку я имею некоторое отношение к встраиваемому в С++ приложения HTTP-серверу RESTinio, то не придумал ничего лучше, чем быстренько набросать на коленке простой тестовый HTTP-сервер, который способен отдавать клиенту длинный поток исходящих данных.


О том, насколько это было просто и хотелось бы рассказать в статье. Заодно узнать в комментариях, действительно ли это просто или же я сам себя обманываю. В принципе, данную статью можно рассматривать как продолжение предыдущей статьи про RESTinio под названием "RESTinio — это асинхронный HTTP-сервер. Асинхронный". Посему, если кому-то интересно прочитать о реальном, пусть и не очень серьезном применении RESTinio, то милости прошу под кат.

Читать дальше →

Революция закончилась. Есть ли альтернатива литий-ионному аккумулятору?

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


Недавно мы рассказывали об истории изобретения литий-ионных аккумуляторов, которые дали мощнейший толчок развитию портативной электроники. Каждый год технологические СМИ сообщают нам о готовящейся энергетической революции — ещё чуть-чуть, еще год-другой, и мир увидит аккумуляторы с фантастическими характеристиками. Время идет, а революции не видно, в наших телефонах, ноутбуках, квадрокоптерах, электромобилях и смарт-часах по-прежнему установлены разные модификации литий-ионных батарей. Так куда делись все инновационные аккумуляторы и есть ли вообще какая-то альтернатива Li-Ion?

English notes #1: Заканчивай с этим «very»

Время на прочтение3 мин
Количество просмотров51K
Прим. ред.: Этой статьёй мы начинаем цикл публикаций, посвящённых английскому языку и подготовленных нашим штатным учителем для инженеров компании (в данном случае — на основе видеоурока engVid, JamesESL English Lessons). С одной стороны — нам нужно изучать язык, с другой — нравится это делать, а с третьей — почему бы не разбавить технические материалы своего блога? Ваши отзывы очень приветствуются!

Слово «very» очень популярно в английском языке, да и не только. Однако, употребляя его слишком часто, вы можете прослыть косноязычным или попросту Эллочкой-людоедочкой.



Как известно, в великом романе-эпопее «Война и Мир» Лев Николаевич не совершает повторов на протяжении каждых трех страниц(!). Не это ли искусство? Однако, не будем долго мечтать — let's get down to business.
Читать дальше →
Вечером 8 ноября в конгресс-холле МШУ СКОЛКОВО прошла церемония вручения премии HighLoad++ — первой за всю долгую историю конференции, то есть с 2007 года. Награду за вклад в развитие экосистемы интернет-разработки в России получили шесть человек — шесть несущих элементов российского хайлоада. Комбинированные решения — норма для хайлоада, так что свой репортаж о церемонии мы дополнили комментариями, которые взяли у победителей.
Подробности — под катом

Изучаем азотные лазеры — часть 1. Лазеры поперечного разряда

Время на прочтение7 мин
Количество просмотров23K
Наверное, каждый увлекающийся околоэлектронными самоделками задавался вопросом, возможно ли сделать лазер самостоятельно, дома. И наверняка, очень часто натыкался на довольно предсказуемый ответ от старших, что это очень сложно или практически невозможно, дескать, лазерное излучение можно получить только из специальных дорогостоящих кристаллов и стекол, или каких-то ещё неведомых материалов, которые можно достать только в Тёмных Топях или на Заокраинном Западе. На самом деле это не так. Число веществ, в которых возможен лазерный процесс, исчисляются тысячами, и некоторые из них находятся буквально под ногами, и в прямом смысле вокруг нас, повсюду. Так, например, можно с удивлением узнать, что возможно получить лазерную генерацию в водяных парах, в красителях, добытых из фломастеров, в конце концов, в углекислом газе, выдыхаемом многими живыми существами, была получена лазерная генерация мощностью в сотни киловатт. Но, есть ещё одна рабочая среда лазера, которая распространена гораздо больше, чем все остальные вместе взятые. Это азот, которого 78% в атмосферном воздухе.

image

Highload++: Как помочь ERP-системе справиться с 500 000 запросов в секунду

Время на прочтение11 мин
Количество просмотров19K
Мы в X5 обрабатываем много данных в ERP-системе. Есть мнение, что больше нас в SAP ERP и SAP BW в России не обрабатывает никто. Но есть еще один момент – число операций и нагрузка на эту систему увеличивается быстро. 3 года мы «сражались» за производительность нашего ERP-тяжеловеса, набили немало шишек, а какими методами их лечили, рассказываем под катом.

image
Читать дальше →

Особенности работы в интернациональной команде. Индия

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


Встречаются однажды индиец, японец и русский… Звучит, как начало бородатого анекдота. На самом деле все намного ближе к жизни, чем может показаться на первый взгляд. Наверное многие знают, что Parallels – это международная компания с интернациональной командой. Сегодня у нас 13 офисов по всему миру. И если разработка сконцентрирована в основном в России, Эстонии и на Мальте, продажи в Северной Америке и Европе, то техническая поддержка распределена сразу между несколькими странами. Под катом рассказ о том, как живут и работают наши саппорт-гуру.
Читать дальше →

Как генерировать осмысленные коммиты. Применяем стандарт Conventional Commits

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


Привычный хаос в названиях коммитов. Знакомая картина?

Наверняка вы знаете git-flow. Это отличный набор соглашений по упорядочиванию работы с ветками в Git. Он хорошо документирован и широко распространен. Обычно мы знакомы с правильным ветвлением и много говорим об этом, но, к сожалению, уделяем слишком мало внимания вопросу наименования коммитов, поэтому часто сообщения в Git пишутся бессистемно.

Меня зовут Ержан Ташбенбетов, я работаю в одной из команд Яндекс.Маркета. И сегодня я расскажу читателям Хабра, какие инструменты для создания осмысленных коммитов мы используем в команде. Приглашаю присоединиться к обсуждению этой темы.

Читать дальше →

Яндекс открывает Облако. Архитектура новой платформы

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

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

Сегодня я хочу познакомить вас с Яндекс.Облаком и рассказать, как оно устроено внутри. Под катом вы узнаете немного об истории, команде и архитектуре нашей платформы.

Читать дальше →

Ускоряем Nginx за 5 минут

Время на прочтение5 мин
Количество просмотров292K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь

Муравейник или крепость? Строю дом по цене квартиры. 1 часть

Время на прочтение3 мин
Количество просмотров77K
Часть 1. Строительство
Часть 2. Отопление
Часть 3. Электроснабжение
Часть 4. Комфорт дома и гаджеты.

Как и многие гики, я пришел к мысли, что здоровье гораздо дороже любых денег. Одно из слагаемых этого здоровья — это душевный покой и отсутствие отвлекающих и раздражающих соседей сверху, снизу, сбоку… Так я пришел к строительству своего дома. На своем примере я хочу показать, с какими проблемами предстоит столкнуться и как избежать трудностей впоследствии. В следующих выпусках, если этот понравится, расскажу о домашней сети, организации видеонаблюдения IP-камерами, резервном и автономном электроснабжении и многом другом, но сначала надо построить жилище.

Когда вопрос собственного жилья у меня стал основательным, а съем квартиры стал нерентабельным, я пришел, как и многие, к выбору: во что вкладываться — в дом или в квартиру?
Стоимость квартир даже в Подмосковье за пару комнат начинается от трех миллионов. Без отделки и со всеми сопутствующими проблемами. Посчитав, я пришел к выводу, что за те же деньги можно построить дом в Подмосковье с такой же транспортной доступностью и близкой инфраструктурой.
Для ленивых я расскажу все в ролике, а для любителей букв я подготовил текст с картинками.


Git: исправление ошибок и наведение порядка в коммитах

Время на прочтение4 мин
Количество просмотров36K
Ошибка в коммите… Как её исправить? Беспорядок в истории коммитов… Как привести всё в пристойный вид? Автор статьи, перевод которой мы публикуем сегодня, говорит, что она написана специально для тех, кто задавался такими вопросами. По его словам, изучив методики работы с Git, представленные здесь, можно значительно продвинуться по пути освоения Git.


Предполагается, что читатель этой статьи уже знаком с основами Git. Если это не так — сначала рекомендуется освоить базу, например, воспользовавшись этим материалом.
Читать дальше →

Microservices. Как правильно делать и когда применять?

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



Автор: Вячеслав Михайлов



Монолитные приложения и их проблемы



Все прекрасно знают, что такое монолитное приложение: все мы делали такие двух- или трехслойные приложения с классической архитектурой:





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





Так или иначе, по мере роста и развития приложения, вы сталкиваетесь с проблемами монолитных архитектур:



  • сложность системы постоянно растет;
  • поддерживать ее все сложнее и сложнее;
  • разобраться в ней трудно — особенно если система переходила из поколения в поколение, логика забывалась, люди уходили и приходили, а комментариев и тестов нет);
  • много ошибок;
  • мало тестов — монолит не разобрать и не протестировать, поэтому обычно есть только UI-тесты, поддержка которых обычно занимает много времени;
  • дорого вносить изменения;
  • застревание на технологиях (например, я работал в компании, где с 2003 г. технологии до сих пор не изменились).


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


Читать дальше →

С — не низкоуровневый язык

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


Ваш компьютер не является быстрой версией PDP-11


Привет, Хабр!

Меня зовут Антон Довгаль, я С (и не только) разработчик в Badoo.

Мне попалась на глаза статья Дэвида Чизнэлла, исследователя Кембриджского университета, в которой он оспаривает общепринятое суждение о том, что С — язык низкого уровня, и его аргументы мне показались достаточно интересными.

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

Производители процессоров не одиноки в этом. Разработчики компиляторов C/C++ тоже внесли свою лепту.
Читать дальше →
Существует несколько распространенных стереотипов про IT-сферу. Например, что это отрасль молодых и рисковых (стартапы и вот это все), что каждый второй программист — фрилансер, на конференции ходят лишь те, кому нечем заняться, что адекватные люди на PHP не пишут, а джавистов можно считать отдельной сектой. Чтобы разобраться, так ли это на самом деле, взглянем на статистику одной из крупнейших IT-конференций — РИТ++
Смотреть в деталях

Как правильно сортировать контент на основе оценок пользователей

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


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →

Разработка прогрессивного веб-приложения Nothing за 15 минут

Время на прочтение5 мин
Количество просмотров15K
В Google Play есть одно приложение, разработанное Chilango Lab, у которого больше миллиона загрузок и довольно высокий рейтинг. Называется оно Nothing, что можно перевести как «Ничто», и замечательно оно тем, что не делает абсолютно ничего. В нём, правда, спрятана приятная пасхалка, но это не меняет дела. Если проанализировать это приложение, то окажется, что его размер — 14 Мб, при установке оно занимает 19,24 Мб.


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

Ему это удалось. А именно, он воссоздал функционал Nothing, используя HTML, CSS и JavaScript, оформив его в виде прогрессивного веб-приложения (PWA, Progressive Web App). Оно работает без подключения к интернету, вызывать его можно, как и обычное приложение, с главного экрана. Основная разница между обычным Android-приложением и его PWA-копией заключается в размерах. Первое, напомним, занимает на устройстве 19,24 Мб. Второе — 205 Кб.
Читать дальше →

Солнце 24х7: Расчет EROEI

Время на прочтение6 мин
Количество просмотров20K
За последние 10 лет солнечная энергетика стремительно перешла от “игрушек” к серьезнейшим проектам, и продолжение кривой этого взлета обещает в будущем тотальное доминирование этого типа генерации. Или нет? В попытках прогнозирования тут сломано немало копий и основных претензий две: солнце через облака и ночью не светит (т.е. переменчивость источника) и высокая энергоемкость производства солнечных батарей, и эта энергия не возвращается за время работы последних. (EROEI <1)

Технически первая проблема с переменчивостью решаемая — необходимо просто построить побольше солнечных батарей и аккумулятор достаточной емкости. Однако, такой подход явно усугубляет проблему с EROEI и со стоимостью электроэнергии. Стоимость можно посмотреть в обзорах Lazard, а вот попыток просчитать EROEI для солнечной электростанции с аккумулятором я не видел. Поэтому решил посчитать сам, и получил довольно неожиданный результат, о котором в конце.

Для оценки давайте рассчитаем электростанцию с литий-ионным аккумулятором, расположенную в городе Юма, штат Аризона, США. Почему в Аризоне? Это очень хорошее место для солнечных ЭС (одно из лучших в мире) и по нему есть много информации. Если тут EROEI окажется меньше единицы, то это будет означать большие проблемы у солнца в качестве базового источника электроэнергии (на сегодня). Если же EROEI окажется выше, то с учетом анализа, который мы собираемся произвести, можно будет легко применить полученный расчет к любому месту в мире.

image
В Юме, кстати, расположена довольно крупная СЭС Agua Caliente Solar Project мощностью 250 мегаватт, только не 24х7. Солнечные батареи этой станции выполнены по тонкопленочной технологии из полупроводника CdTe, который отличается от кремния гораздо лучшими затратами энергии на киловатт мощности батарей, однако проигрывает по стоимости.
Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность