Pull to refresh
0
0
Александр @booomerang

User

Send message

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

Reading time5 min
Views8.4K


Исторически так сложилось, что AWS стал промышленным стандартом на рынке облачных услуг, как с точки зрения набора предоставляемых услуг и решений, так и с точки зрения поддержки, комьюнити, готовых библиотек для использования, провайдеров для работы с подходом IaaC. Но ввиду изменившейся геополитической ситуации, а также других различных факторов (например, 152 ФЗ), зарубежные решения становятся всё менее доступными. Так что необходимо искать альтернативы на российском внутреннем рынке.

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

Дисклеймер №1
Данная статья не является рекламой. Все совпадения с реальностью — всего лишь совпадения с реальностью. А все несовпадения с реальностью — всего лишь несовпадения с реальностью.

Дисклеймер №2
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments8

На пальцах: ассоциированные типы в Rust и в чём их отличие от аргументов типов

Reading time5 min
Views9.5K

Для чего в Rust есть ассоциированные типы (associated types), и в чём их отличие от аргументов типов (type arguments aka generics), ведь они так похожи? Разве недостаточно только последних, как во всех нормальных языках? У тех, кто только начинает изучать Rust, а особенно у людей, пришедших из других языков ("Это же дженерики!" — скажет умудрённый годами джавист), такой вопрос возникает регулярно. Давайте разбираться.


TL;DR Первые контролирует вызываемый код, вторые — вызывающий.

Научите меня плохому!
Total votes 51: ↑50 and ↓1+49
Comments10

Куда приводят Ops'ы: размышления о развитии ландшафта *Ops-специализаций

Reading time4 min
Views2.8K


Разнообразные и разнонаправленные изменения, на которые 2022-й оказался более чем щедр, натолкнули на размышления о том, каков текущий Ops-ландшафт и как он (потенциально) будет изменяться в ближайшей и среднесрочной перспективе. И хотя все сейчас живут в соответствии с известным изречением «Хочешь насмешить Бога — расскажи ему о своих планах», можно попытаться кое-что спрогнозировать.

К слову о прогнозировании: несмотря на недавние новости о снижении мобильного трафика в России, Nokia Bell Labs предсказывает рост мирового объема IP-трафика в 2022 году до уровня в 330 эксабайт в месяц. А количество устройств, подключенных к Интернету вещей, по мнению экспертов, вырастет до 100 млрд в 2025 году. И большую часть сгенерированных устройствами и пользователями данных, так или иначе, будет анализировать бизнес.

Для автоматизации этого процесса используются платформы обработки и хранения данных, которые дают аналитикам огромные возможности по их глубокому изучению. Однако инфраструктуры таких платформ довольно сложно сопровождать — они содержат много компонентов и связей между ними. А у BI-специалистов свои задачами, им недосуг следить за тем, как, например, распаковывается JSON или извлекаются данные. Так что «платформа ищет человека». И находит его — в лице DataOps- и MLOps-инженеров.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments1

Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Reading time5 min
Views70K
Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, позволяющие разобраться в вопросе даже начинающим инженерам.


Схема взята из другого обзора стратегий выката, сделанного в Container Solutions

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

Более короткие и частые развертывания имеют следующие преимущества:

  • Сокращается время выхода на рынок.
  • Новые функции быстрее попадают к пользователям.
  • Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
  • Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments3

Vue, Storybook, TypeScript—starting a new project with the best practices in mind

Reading time12 min
Views22K


(originally published on Medium)


I like writing React code. This might be an odd introduction to a story about Vue, but you need to understand my background to understand why I’m here discussing Vue.


I like writing React code and I hate reading it. JSX is a neat idea for assembling the pieces together fast, Material-UI is amazing solution for bootstrapping your next startup’s UI, computing CSS from JS constants allows you to be very flexible. Yet reading your old JSXs feels awful – even with scrupulous code review practices you might scratch your head not once as you try to figure the intricate nesting of the components.


I’ve heard many things about Vue—the not so new kid on the block—and I finally decided to get my feet wet; bringing in all my mental luggage of React and Polymer (and Angular, but let’s not talk about that).

Read more →
Total votes 18: ↑17 and ↓1+16
Comments2

Учиться можно увлекательно, учиться можно эффективно

Reading time4 min
Views4K
Привет, Хабр! Поднимите руку те, кто уже подустал немного от этого шума, связанного с Big Data?

Мне тоже кажется, что эта тема всем слегка поднадоела уже. Каждую неделю по этой теме вываливается большое количество статей на Хабре, на Medium, на Facebook, на LinkedIn, на куче других тематических сайтов, которые присылают письма на почтовый ящик. Каждый желает поделиться своим опытом, своими мыслями, своими планами, делая этот поток информации невыносимым.
Читать дальше →
Total votes 15: ↑6 and ↓9-3
Comments7

За пять дней я прошел собеседования в пяти компаниях Силиконовой долины и получил пять предложений о работе

Reading time12 min
Views118K
За пять дней, с 24 по 28 июля 2017 года, я прошел собеседования в LinkedIn, Salesforce Einstein, Google, Airbnb и Facebook; все пять компаний предложили мне работу. Это был замечательный опыт и я понимаю, как мне повезло, что мои усилия оправдали себя, поэтому решил написать об этом. Здесь я расскажу о том, как готовился к собеседованиям, как они проходили и какое впечатление произвели на меня компании.



Как все началось


Я отработал в Groupon почти три года. Это моя первая работа, там были и прекрасные люди, и отличные проекты. Мы делали всякие интересные штуки, вводили перемены внутри компании, публиковали материалы и все в таком духе. Но со временем я стал ощущать, что темп моего самообразования стал затухать (попросту говоря, замедляться), мне не хватало пищи для ума. К тому же, как и всякого разработчика ПО из Чикаго, меня тянуло в Область залива Сан-Франциско — ведь там столько известных компаний.

Жизнь коротка, а профессиональная жизнь еще короче. Обговорив все с женой и заручившись ее полной поддержкой, я решил сделать решительный шаг и в первый раз в жизни поменять работу.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments98

Google App Engine (GAE) против Amazon Web Services (AWS)

Reading time7 min
Views11K

Вступление:


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

Цель моего анализа — сравнить двух основных игроков в мире облачных вычислений, Google App Engine (GAE) и Amazon Web Services (AWS). Оба неслабо разогнались за последние годы, но кто из них больше мне подойдёт? Давайте разбираться.
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments59

Elasticsearch как NoSQL база данных

Reading time8 min
Views61K
Может ли поисковый сервер Elasticsearch использоваться в качестве NoSQL базы данных? Положительный ответ позволит рассмотреть его различные свойства, в том числе и те, от реализации которых он отказался, чтобы стать одним из самых гибких, производительных и масштабируемых поисковых движков. Но для ответа на этот вопрос стоит сначала определиться с самим термином NoSQL, так как в зависимости от контекста он может трактоваться по-разному.

Что же все-таки такое NoSQL?


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

Дело в том, что речь идет совсем не об SQL. Поясним. Язык запросов Hive явно был вдохновлен SQL. Это же можно сказать и о языке Esper, хоть он работает и не с потоками, а с отношениями. Интересна история PostgreSQL — изначально он назывался Postgres, в качестве языка запросов использовал Quel и являлся ORDBMS, а сегодня PostgreSQL обладает многими функциями, которые позволяют ему быть документноориентированным хранилищем.

В данном случае речь идет не о ACID — в определении NoSQL о транзакциях ничего не говорится. Hyperdex — это база NoSQL, которая стремится обеспечивать ACID-транзакции. MySQL, несомненно, является базой SQL и в своей истории имеет сомнительные интерпретации на тему, что же на самом деле означает ACID.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments10

Машинное обучение — это легко

Reading time7 min
Views344K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments20

Как привлечь миллион пользователей на торговую площадку Bitcoin

Reading time7 min
Views14K
Тема использования криптовалют в расчётах и в качестве объекта инвестиций становится с каждым днём всё более и более популярной. Количество добытых биткоин-монет на сегодня составляет 14 164 575 BTC (за последние сутки добыто 38 750 BTC). Средний рыночный курс на момент написания статьи 969-975 долларов США. Таким образом, оборот биткоина в долларовом эквиваленте — 13,7 миллиардов долларов. На пике в 2014-м его рыночная котировка приближалась к $1200, потом было плавное движение вниз до отметки $270-300. Но с середины 2015 курс биткоина неуклонно растёт. При этом движение курса биткоина связано с высокой волатильностью, привлекающей трейдеров. Но объём торгов биржевой площадки зависит от количества пользователей, частоты использования в расчётах, репутации площадки, сервисов.

Mining.jpg

Многие аналитики много раз делали заявления, что поведение биткоина не в полной мере укладывается в рамки известных методик маржинальной торговли. Экономисты делали заявления, что фундаментальный курс обсусловлен только стоимостью амортизации оборудования и израсходованной электроэнергии на вычисления хеш. А расход электроэнергии на майнинг не маленький. В 2015 он оценивался в 1,46 тераватт-часов в год, это эквивалентно годовому потреблению 135 000 американских домов.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments38

Переговоры о зарплате — как не прогореть

Reading time8 min
Views127K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Total votes 81: ↑67 and ↓14+53
Comments392

Несколько полезных приемов в AngularJS для начинающих

Reading time5 min
Views51K
При создании приложений на AngularJS у начинающего разработчика возникает много вопросов, особенно в том случае, если до определенного времени он использовал библиотеки сходные с jQuery или Prototype. В данном посте хотелось бы поделиться некоторыми приемами, которые будут полезны начинающим AngularJS разработчикам.

Загрузка приложения и менеджер состояний


До момента загрузки самого фрэймворка, его зависимостей и отработки всех запросов в бэкграунде приложение может выглядеть весьма удручающе. И даже ng-cloak не сможет помочь в большинстве случаев. Обычно для таких целей используют div имеющий больший z-index чем основной контент сайта и перекрывающий его до загрузки всех компонентов и состояний. Он может выглядеть так:

<div class="loader" ng-show="loader"><div class="loader-content">Loading...</div></div>

Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments32

Go с точки зрения PHP программиста

Reading time8 min
Views68K
Предлагаю вашему вниманию перевод статьи Go from PHP engineer's perspective с сайта sobit.me.

Будучи PHP программистом, задумывались ли вы об идее изучения других языков программирования?

Уже много лет выбор многих компаний падает на PHP для создания полноценных монолитных приложений. Более того, за последние 5 лет фреймворки (Symfony, Laravel, Zend), инструменты (Composer, Monolog) и стремительно растущее сообщество (PHP-FIG) помогли многим разработчикам в создании программного обеспечения на уровне предприятий. Многие компании, такие как Facebook, Yahoo!, Wikipedia, Wordpress, Tumblr, начинали свою историю с PHP, и это не помешало им стать успешными в последующие годы.

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

В этой статье мы попытаемся понять, как далеко мы сможем зайти, имея в арсенале только PHP, и где может вступить Go, чтобы помочь решить проблемы, с которыми нам предстоит столкнуться.
Читать дальше →
Total votes 70: ↑52 and ↓18+34
Comments122

Как уволиться с работы и довериться инстинктам вашего скрытого крутыша

Reading time6 min
Views37K


10 вопросов, которые нужно задать себе, убедившись, что вы не удовлетворены своей карьерой и жизнью.

Однажды утром 2006 года я проснулся с онемевшей правой ногой. Боли не было – лишь ещё один странный симптом в копилку тех симптомов, что годами удивляли моих докторов. Я пошёл к терапевту, отправившему меня на МРТ, и результаты не заставили себя ждать. Множественные повреждения мозга и позвоночника. У меня обнаружили рассеянный склероз.

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

Я начал посещать группы больных рассеянным склерозом и познакомился с людьми, находящимися на разных стадиях этой болезни. Тогда я понял, что моё будущее хуже, чем я себе представлял. Болезнь действует не на одного человека, а на целые семьи — в то время, как они наблюдают, как их близкие начинают терять свои возможности. Я твёрдо решил сделать две вещи: максимизировать шансы оставаться дееспособным как можно дольше, путём приобретения полезных привычек, счастья и хорошего медобслуживания; и достичь моих целей и мечтаний как можно быстрее, пока ещё есть возможность.

image
Джон Фокстон, автор статьи

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

Проблема в том, что я не знал, о чём я мечтал. Какой своей уникальной возможностью я мог бы воспользоваться, чтобы как-либо изменить мир к лучшему? Теоретически возможностей было много, но ни одна из них не выглядела подходящей. Ничто вроде бы не могло сделать меня по-настоящему счастливым.

Десять лет метаний по разным высоким позициям в различных корпорациях ушло у меня на то, чтобы понять, что я не смогу найти там своё предназначение. И только приняв смелое, даже безответственное решение, бросить работу без всяких перспектив на будущее, я смог установить уникальную возможность, которую я могу предложить миру.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments45

Почему прокрастинаторы прокрастинируют (откладывают дела «на потом») и как побороть прокрастинацию

Reading time14 min
Views294K
image

pro-cras-ti-na-tion |prəˌkrastəˈnāSHən, prō-|
существительное
задержка или откладывание чего-либо: первый совет — избегайте прокрастинации.

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

Избегать прокрастинации. Так элегантно в своей простоте…

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

Нет, «избегайте прокрастинации» — хороший совет только для не настоящих прокрастинаторов. Для тех, кто говорит «Я захожу на Facebook несколько раз в день на работе. Я такой прокрастинатор!». Это те люди, которые будут говорить настоящему прокрастинатору «Не откладывай дела на потом и у тебя все будет хорошо».

Дело в том, что ни словари ни не настоящие прокрастинаторы не понимают, что для настоящих прокрастинаторов прокрастинация — не дополнительная опция. Это что-то, что они не знают как не делать.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments94

Поговорим о словарном запасе иностранного языка

Reading time4 min
Views262K
Сколько слов в английском языке? Oxford English Dictionary содержит около 500 000 словарных статей, не учитывая специфические научные слова и выражения (которых насчитывается еще порядка 500 000). А как вы думаете, какой средний словарный запас иностранного языка дает вам средняя школа за время обучения? Правильный ответ – около 2500 слов. Мало ли этого набора? Тут уже надо исходить из ваших целей. Для общения с иностранцами на деловые темы – однозначно мало. Для чтения несложных текстов в интернете – более чем достаточно. Если быть точнее:

400–500 слов – активный словарный запас для владения языком на базовом (пороговом) уровне.
800–1000 слов – активный словарный запас для того, чтобы объясниться; или пассивный словарный запас для чтения на базовом уровне.
1500–2000 слов – активный словарный запас, которого вполне хватит для того, чтобы обеспечить повседневное общение в течение всего дня: или пассивный словарный запас, достаточный для уверенного чтения.
3000–4000 слов – в общем, достаточно для практически свободного чтения газет или литературы по специальности.
Около 8000 слов – обеспечивают полноценное общение для среднего европейца. Практически не нужно знать больше слов для того, чтобы свободно общаться как устно, так и письменно, а также читать литературу любого рода.

К этим данным пришел известный шведский полиглот Эрик Гуннемарк, основатель Международной ассоциации `Amici Linguarum` (`Друзья языков`). Более того, он составил набор минимального количества слов и выражений, которые необходимо знать, для порогового уровня владения языком, назвав их Минилекс и Минифраз.

Интересно, а какой средний уровень словарного запаса у рядового пользователя сети и у вас лично? Об этом расскажу дальше.
image

Читать дальше →
Total votes 107: ↑99 and ↓8+91
Comments145

Совмещаем изучение английского языка с досугом

Reading time7 min
Views48K
Многие люди предлагают различные методики, описывают мобильные приложения, рекомендуют курсы и многое другое, я же хочу рассказать свой личный опыт изучения английского языка на протяжении последних 4 лет.

Как введение могу сказать что более 4 лет назад на самом рассвете моей карьеры в IT я собеседовался в одну всем известную и очень большую иностранную фирму. Как полагается в таком случае собеседование было на английском языке.

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

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

Подробности
Total votes 13: ↑13 and ↓0+13
Comments32

Удачная модель ветвления для Git

Reading time10 min
Views978K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Немного о хэшах и безопасном хранении паролей

Reading time4 min
Views70K
Upd. Если вы знаете, что такое BCrypt, можете дальше не читать. Если вы используете PHP 5.5+ то можете прочитать эту статью. Ниже же я изобрел свой велосипед, рабочий, но с двумя рулями, задний запасной. Молод был, горяч.

Привет, хабр! Сегодня, в процессе разработки системы аутентификации для своего проекта передо мной встал выбор — в каком виде хранить пароли пользователей в базе данных? В голову приходит множество вариантов. Самые очевидные:

  • Хранить пароли в БД в открытом виде.
  • Использовать обычные хэши crc32, md5, sha1
  • Использовать функцию crypt()
  • Использовать статическую «соль», конструкции вида md5(md5($pass))
  • Использовать уникальную «соль» для каждого пользователя.

Читать дальше →
Total votes 71: ↑57 and ↓14+43
Comments100
1
23 ...

Information

Rating
Does not participate
Location
Кишинев, Молдова, Молдова
Registered
Activity