Pull to refresh
29
0
Greg Tendium @tendium

User

Send message

Реальная Грузия: грустные факты, которые вас разочаруют

Level of difficultyEasy
Reading time4 min
Views215K

Начинаем гуглить информацию о жизни в Грузии. Все статьи как под копирку: тут вкусно, дешево, гостеприимно, просто рай на земле. Это ловушка. Я прожила в Грузии полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле. 

Читать далее
Total votes 344: ↑265 and ↓79+186
Comments1373

Есть ли жизнь после FAANG компании или мой опыт собеседований в Северной Америке, 20+ компаний за 3 недели

Reading time14 min
Views46K

Я хотел бы поделиться недавним опытом собеседований на рынках Канады и США на позицию инженера данных. У меня был больше научный интерес, чем необходимость. За 3 недели я побщался более чем с 20 компаниями в Канада и США, чтобы оценить возможности рынка и тренды индустрии аналитики.

Узнать результаты
Total votes 39: ↑38 and ↓1+37
Comments97

Интернет-кочевники — кто это, сколько зарабатывают, и это вообще законно?

Reading time6 min
Views30K
сидит мужик в очках на пляже с ноутбуком

Я переезжаю 7 раз в год. Собираю все вещи, выезжаю из старой квартиры и въезжаю в новую. В среднем за 3 года — это один переезд через каждые 52 дня. Иногда новое жильё находится в другой части города, иногда в другой стране.

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

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

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

Возможно, тебе понравится и захочется попробовать. Будет куча ссылок на коммьюнити и ресурсы для поиска работы/заказов.
Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments120

Преимущества переезда на ПМЖ в Берлин для ИТ-специалистов

Reading time6 min
Views11K
Куда податься программисту и разработчику на европейском континенте? Германия — одно из лучших направлений для ИТ-специалистов. А Берлин так вообще является вторым мегаполисом в Европе по количеству стартапов. Я собрала самую важную информацию по немецкой столице, которая будет интересна читателям Хабра. Уверена, многим будет интересен Берлин не только с точки зрения заработка. Он ещё является настоящим культурным молодежным центром Евросоюза. В нем создана вся инфраструктура для комфортной работы и предпринимательства в секторе стартапов.

Краткая характеристика Берлина


Берлин является вторым по населению городом Евросоюза. В нём проживает почти 4 миллиона человек. Если взять агломерацию вокруг него, то она составит более 6 миллионов жителей. На текущий момент немецкая столица также является второй после Лондона крупнейшей экосистемой ИТ-отрасли. По некоторым данным, выходцев из постсоветских стран в Берлине более 100000 человек. Они объединились в различные сообщества по интересам. Поэтому в свободное от работы время экспат сможет найти себе собеседников и приятелей среди своих соотечественников.

image
Читать дальше →
Total votes 33: ↑9 and ↓24-15
Comments32

Нет денег. У кого?

Reading time3 min
Views17K
Как же утомили рассказы про то что нет денег. Когда я это слышу, непременно хочется спросить «а их нет у кого?».

Представим себе вымышленную страну. Если у 80% населения страны нет денег, то где они? Правильно — у оставшихся 20%. При постоянном объёме денежной массы страны это именно так. Это элементарная логика.

image

Читать дальше →
Total votes 52: ↑10 and ↓42-32
Comments318

Настраиваем свои девайсы для удаленной работы, подкастинга, видео и стриминга

Reading time15 min
Views20K
Недавно я снова начал транслировать и публиковать свои видео на канале в youtube. В процессе я осознал, как много сил и времени вложил чтобы получить стоящий набор девайсов — не только для трансляций, но и для любого, кто работает удаленно и участвует в видео звонках каждый день.

Я потратил довольно много времени на своё увлечение освещением и ĸамерами. А теперь хотел бы помочь вам — новым стримерам, подĸастерам, удаленным сотрудникам или всем, ĸто хочет повысить уровень их оборудования.

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

Должен заметить, что я пользуюсь Маком, поэтому буду больше сфокусирован на нём. И еще, это всё партнерские ссылки. Можете легко обойти их если не нравится!


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

Как NLP-технологии ABBYY научились мониторить новости и управлять рисками

Reading time8 min
Views4.6K
Круг задач, которые можно решить с помощью технологий ABBYY, пополнился еще одной интересной возможностью. Мы обучили свой движок работе банковского андеррайтера – человека, который из гигантского потока новостей вылавливает события о контрагентах и оценивает риски.

Сейчас такие системы на базе технологий ABBYY используют уже несколько крупных российских банков. Мы хотим рассказать о нюансах внедрения этого решения – довольно нетривиальных и неожиданных вызовах, с которыми столкнулись наши онтоинженеры.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments6

Управляя коллективом, нарушьте все правила

Reading time23 min
Views40K

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

Если ответы на эти вопросы вас интересуют, то вам стоит почитать книгу Маркуса Бакингема и Курта Коффмана «Сначала нарушьте все правила: Что лучшие в мире менеджеры делают по-другому». Эта книга могла бы стать для меня настольной, но перечитывать нет времени, поэтому я сделал выжимку, которой и хочу с вами поделиться.
Читать дальше →
Total votes 84: ↑81 and ↓3+78
Comments20

«Универсал» в команде разработки: польза или вред?

Reading time7 min
Views23K
image

Всем привет! Меня зовут Людмила Макарова, я менеджер разработки в УБРиР и треть моей команды – «универсалы».

Признайте: каждый Tech Lead мечтает о кросс-функциональности внутри своей команды. Ведь это так круто, когда один человек способен заменить трех, да еще и сделать это качественно, не сдвигая сроки. И, что немаловажно, это обеспечивает экономию ресурсов!
Звучит очень заманчиво, но так ли это на самом деле? Давайте попробуем разобраться.
Читать дальше →
Total votes 46: ↑24 and ↓22+2
Comments56

PHP-Дайджест № 169 (26 ноября – 9 декабря 2019)

Reading time4 min
Views15K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4, PhpStorm 2019.3, InfectionPHP и другие релизы, статистика версий PHP, об использовании FFI, видео с прошедших конференций и митапов, порция полезных инструментов, и многое другое.

Приятного чтения!


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

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

Reading time19 min
Views69K



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



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



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





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





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



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


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


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

Про зеркала репозиториев Centos и выбор лучшего из них

Reading time13 min
Views32K
В прошлом году мы организовали у себя в сети общедоступные зеркала для нескольких Linux дистрибутивов. Это не сложный процесс и для больших проектов, вроде Ubuntu, почти полностью автоматизированный. В других случаях необходимо тем или иным способом связаться с проектом, например, в списке рассылки и явно высказать своё желание.

yum repolist

Технически это rsync, обычно по расписанию. Кто-то для этого предоставляет готовый набор скриптов, как Fedora, а кто-то просто говорит что надо синхронизироваться вот с этого сервера и рекомендуемый набор параметров. Самый затратный ресурс это место, мы недавно добрались до 4 терабайт и это дорого в нашем случае для того что не генерирует никакой прибыли. Взамен мы получили локальную доступность используемых нами дистрибутивов, это позволило упростить первоначальную настройку серверов исключив из неё обязательный доступ к Интернет. А ещё конечно мы рады что приобщились к чем-то большому, даже если наше участие в этом не сильно заметно.

Наше зеркало публичное, с него могут получать обновления все желающие, что собственно и происходит если судить по статистике обращений. В основном это Россия, но не только. Про то как так получается и как вообще происходит выбор конкретного сервера для обновлений на примере Centos седьмой версии этот пост.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments4

Как добавить проверки в NoVerify, не написав ни строчки Go-кода

Reading time10 min
Views4.2K

В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода.


Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции:


/** @warning duplicated sub-expressions inside boolean expression */
$x && $x;

Эта инспекция находит все выражения логического &&, где левый и правый операнд идентичны.


NoVerify — статический анализатор для PHP, написанный на Go. Почитать о нём можно в статье «NoVerify: линтер для PHP от Команды ВКонтакте». А в этом обзоре я расскажу о новой функциональности и том, как мы к ней пришли.


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

Представлена программа очистки мировых рек от мусора

Reading time5 min
Views15K

На реке Кланг, в Малайзии

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


Теперь Боян Слат, молодой изобретатель и руководитель фонда, займется устранением еще и этой проблемы. Ocean Cleanup объединяется с государственными организациями, некоммерческими фондами и мэрами городов, чтобы очищать самые загрязненные реки в метрополиях. Для этого на днях в Нидерландах был представлен их новый автономный агрегат – The Interceptor.

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments63

Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще»

Reading time9 min
Views27K
Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программист, Костис имеет многолетний опыт контейнеризации приложений, построения конвейеров CI/CD и разработки приложений Java. Он живет в Греции и любит кататься на роликах.

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

Существует много информации о непрерывной интеграции (CI) и непрерывной доставке (CD). Публикации в блогах с помощью технических терминов пытаются объяснить, что означают методологии CI/CD, что они делают и как они могут помочь вашей компании. К сожалению, часто обе эти методологии связывают с конкретными инструментами или даже поставщиками ПО. Типичный разговор на эту тему в компании звучит так:

— Вы используете непрерывную интеграцию в вашей команде?
— Да, конечно, мы используем инструмент X!

Позвольте мне раскрыть вам маленький секрет. Непрерывная интеграция и доставка – это два подхода к разработке кода, которые совершенно не связаны с конкретным инструментом или поставщиком. Несмотря на то, что существуют инструменты и решения, которые могут помочь вам в обеих случаях (например, Codefresh), в действительности компания может практиковать CI / CD, используя только сценарии bash и однострочники Perl. Ээто не очень практично, но, безусловно, вполне возможно.

Поэтому, вместо того, чтобы попадать в общую ловушку объяснения сути CI/CD с помощью инструментов и технических терминов, мы объясним, что представляют собой эти методологии, опираясь на самый важный фактор процесса разработки – людей!
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments15

Longhorn, распределённое хранилище для K8s от Rancher, передано в CNCF

Reading time3 min
Views17K
Компания Rancher Labs, специализирующаяся на решениях и услугах для Kubernetes, объявила о передаче своего Open Source-хранилища для постоянных данных Longhorn в некоммерческую организацию CNCF, ответственную за развитие Kubernetes, Prometheus и ряда других проектов.



О проекте и его статусе


Longhorn был представлен в апреле 2017 года и называется распределённым блочным хранилищем для кластеров Kubernetes. Среди его главных особенностей — отказоустойчивость (нет единой точки отказа) и ориентированность на применение в enterprise, инкрементальные снапшоты, бэкапы на дополнительные хранилища (NFS или совместимые с S3), автоматизированные обновления без простоя в работе, простой в использовании GUI.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments9

Распределенное логирование и трассировка для микросервисов

Reading time18 min
Views25K
Логирование — важная часть любого приложения. Любая система логирования проходит три основных шага эволюции. Первый — вывод на консоль, второй — запись логов в файл и появление фреймворка для структурированного логирования, и третий — распределенное логирование или сбор логов различных сервисов в единый центр.

Если логирование хорошо организовано, то позволяет понимать, что, когда и как идет не так, как задумано, и передавать нужную информацию людям, которым предстоит эти ошибки исправлять. Для системы, в которой каждую секунду отправляется 100 тысяч сообщений в 10 дата-центрах на 190 стран, а 350 инженеров каждый день что-то деплоят, система логирования особенно важна.



Иван Летенко — тимлид и разработчик в Infobip. Чтобы решить проблему централизованной обработки и трассировки логов в микросервисной архитектуре при таких огромных нагрузках, в компании пробовали различные комбинации стека ELK, Graylog, Neo4j и MongoDB. В итоге, спустя много грабель, написали свой лог-сервис на Elasticsearch, а как БД для дополнительной информации взяли PostgreSQL.

Под катом подробно, с примерами и графиками: архитектура и эволюция системы, грабли, логирование и трассировка, метрики и мониторинг, практика работы с кластерами Elasticsearch и их администрирования в условиях ограниченных ресурсов.
Total votes 38: ↑37 and ↓1+36
Comments3

RabbitMQ против Kafka: отказоустойчивость и высокая доступность в кластерах

Reading time14 min
Views38K


Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее.

Рассмотрим стратегии отказоустойчивости, согласованности и высокой доступности (HA), а также компромиссы, на которые приходится идти в каждой стратегии. RabbitMQ может работать на кластере узлов — и тогда классифицируется как распределенная система. Когда речь заходит о распределенных системах, мы часто говорим о согласованности и доступности.

Эти понятия описывают, как система ведет себя при сбое. Сбой сетевого соединения, сбой сервера, сбой жесткого диска, временная недоступность сервера из-за сборки мусора, потеря пакетов или замедление сетевого соединения. Все это может привести к потере данных или конфликтам. Оказывается, практически невозможно поднять систему, одновременно и полностью непротиворечивую (без потери данных, без расхождения данных), и доступную (будет принимать операции чтения и записи) для всех вариантов сбоя.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments4

Работа с ошибками в Go 1.13

Reading time7 min
Views37K

В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New и fmt.Errorf, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс позволяет Go-программистам добавлять любую информацию. Нужен лишь тип, реализующий метод Error:

type QueryError struct {
    Query string
    Err   error
}

func (e *QueryError) Error() string { return e.Query + ": " + e.Err.Error() }
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments21

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian)

Reading time21 min
Views67K


Здравствуйте уважаемые читатели Хабра!


Этой публикацией я хочу начать цикл статей про развертывание полноценной среды оркестрации контейнерами Kubernetes, которая будет готова к эксплуатации и запуску приложений.
Я хочу рассказать не просто про то, как развернуть кластер Kubernetes, но и про то, как настроить кластер после установки, как добавить в него удобных инструментов и дополнений для использования микросервисной архитектуры.


Данный цикл будет состоять минимум из четырех статей:


  1. В первой из них я расскажу, как на голое железо установить отказоустойчивый кластер kubernetes, как установить стандартный дашборд и настроить доступ к нему, как установить ingress контроллер.
  2. Во второй статье я расскажу, как развернуть отказоустойчивый кластер Ceph и как начать использовать RBD тома в нашем кластере Kubernetes. Также немного затрону остальные виды стораджей (storages) и более подробно рассмотрю local-storage. Дополнительно расскажу, как на базе созданного кластера CEPH организовать отказоустойчивое хранилище S3
  3. В третьей статье я расскажу, как в нашем кластере Kubernetes развернуть отказоустойчивый кластер MySql, а именно — Percona XtraDB Cluster on Kubernetes. И также опишу все проблемы с которыми мы столкнулись, когда решили перенести БД в kubernetes.
  4. В четвертой статье я постараюсь собрать все вместе и рассказать, как задеплоить и запустить приложение, которое будет использовать БД и тома ceph. Расскажу, как настроить ingress контроллер для доступа к нашему приложению извне и сервис автоматического заказа сертификатов от Let's Encrypt. Еще — как автоматически поддерживать данные сертификаты в актуальном состоянии. Также немного затронем тему RBAC в контексте доступа до панели управления. Расскажу в двух словах про Helm и его установку.
    Если Вам интересна информация данных публикаций, то — добро пожаловать!
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments4
1

Information

Rating
Does not participate
Registered
Activity