Pull to refresh
23.2
Karma
0
Rating
Илья Сазонов @poxvuibr

Software developer

  • Followers 44
  • Following 3
  • Posts
  • Comments

Микросервисы глазами аналитика

System Analysis and Design *Microservices *

Расскажу про системы с микросервисной архитектурой (MSA). Как они устроены, как я их анализировала, какие увидела проблемы и преимущества.

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

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 13K
Comments 19

«Рынку нужны программисты»: братья-разработчики — о любви к профессии и преподаванию

Skypro corporate blog Programming *Studying in IT IT career

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

Так Илья и Фёдор Сазоновы объединили свой опыт в разработке и создали курс по Java для людей без бэкграунда в IT. Основная задача их программы — за 11 месяцев дать новичку необходимый набор знаний, чтобы после обучения он устроился junior-специалистом. В статье братья рассказали, как сами пришли в программирование и почему хотят обучать других.

Читать далее
Total votes 13: ↑8 and ↓5 +3
Views 4.3K
Comments 8

Модули, монолиты и микросервисы

Флант corporate blog System Analysis and Design *Designing and refactoring *Microservices *
Translation

Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершенства, а также делится своим мнением о том, когда проводить границы между сервисами рационально.

В последнее время меня часто спрашивают, в каких случаях переход на микросервисы — хорошая затея. В статье «Systems design explains the world» я размышляю о таких типичных проблемах, как эффект второй системы, дилемма инноваторов и других. Может ли проектирование систем дать ответ на вопрос о микросервисах? Да, хотя ответы могут вам не понравиться.

Читать далее
Total votes 39: ↑39 and ↓0 +39
Views 10K
Comments 1

Как при помощи ИИ сделать распознавание вводимых вами рукописных цифр прямо в браузере

SkillFactory corporate blog Website development *JavaScript *Machine learning *TensorFlow *
Translation
Tutorial

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

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

Читать далее
Total votes 8: ↑8 and ↓0 +8
Views 2.7K
Comments 8

Почему мы перешли с Oracle на PostgreSQL, и как это сделать

Ростелеком corporate blog Oracle *PostgreSQL *SQL *


Всем привет!


Сегодня расскажем о сравнительно новой для нас теме — про перевод приложения с Oracle на Postgres Pro (далее в тексте везде сокращу до PG). В общем смысле тема не столь уж нова — многие компании этим также занимаются или даже уже прошли этот путь. Так, например, на ежегодной конференции pgConf всегда есть несколько интересных докладов по этой теме (https://pgconf.ru/). Если говорить о формальностях, то мы реализуем инициативу согласно (Приказ Министерства связи «Об утверждении плана по импортозамещению программного обеспечения» от 01.02.2015 № 96). По факту — ещё и денег экономим, слезая с "лицензионной иглы". На эту тему можно отдельную статью написать, а в этой речь пойдёт о программной стороне вопроса. Кому интересно, добро пожаловать под кат.

Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Views 14K
Comments 54

Разница между ОМС, ДМС и наличными в стоматологии

Белая Радуга corporate blog Popular science Biotechnologies Health

Из каждой своей зарплаты вы отчисляете 5,1% на ОМС. Это довольно много. Если у вас зарплата в 100 000 рублей, то каждый год вы отчисляете 61 200 рублей. На этом моменте все начинают нервничать, понимая, что полис ДМС с куда более качественным лечением обойдётся как бы не дешевле. На самом деле надо просто понимать, что задачи у этих видов страхования кардинально разные. На свои отчисления ОМС вы в том числе платите зарплату хирургам и содержите больницы, куда вас могут привезти, если не повезёт и с крыши на голову упадёт кирпич. На эти же деньги получают медпомощь пенсионеры, люди с зарплатой в районе МРОТ и дети. Отсюда и кардинальная разница в качестве и задачах. По ДМС могут вытащить гвоздь, а по ОМС только загнуть, чтобы было удобно и не снижало качество жизни.

А ещё можно просто прийти и заплатить самому. Это тоже имеет смысл, когда мы говорим о процедурах, которые не покрываются в ОМС и ДМС. Например, лечение ожирения почти никогда не покрывается страховками, хотя это играет важную роль в здоровье пациента.

Стоматологию тоже можно оплачивать из трёх источников:

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

2. Сходить по ОМС. Не всё так плохо, можно получить базовую медицинскую помощь, но в целом всё сводится к самой дешёвой вставной челюсти, чтобы хоть как-то жевалось. Для простых вещей может подойти.

3. Сходить по ДМС. Покрытие зависит от полиса и чаще всего не даёт возможности качественно протезироваться или применять дорогое оборудование и материалы. Но этот вариант хорошо покроет профилактику и лечение начальных форм кариеса.

Что именно стоит лечить по какой страховке, я сейчас расскажу. 

Читать далее
Total votes 43: ↑40 and ↓3 +37
Views 15K
Comments 40

Хоум Кредит банк как он есть

IT career

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

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

Читать далее
Total votes 224: ↑215 and ↓9 +206
Views 63K
Comments 238

Вертебро-базилярная недостаточность — болезнь программиста с тысячью лиц

Маклауд corporate blog Health


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

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

Однако в то же время все перечисленные симптомы, столь непохожие друг на друга, характерны и для вертебро-базилярной недостаточности (ВБН), а причиной развития данного недуга может оказаться искривление шейного отдела позвоночника, вызванное неправильной осанкой при длительной работе за компьютером. Что же это за болезнь и как не допустить ее развития? Об этом мы и расскажем в сегодняшнем материале.
Читать дальше →
Total votes 52: ↑50 and ↓2 +48
Views 17K
Comments 24

Сеть контейнеров — это не сложно

Timeweb corporate blog System administration *Network technologies *DevOps *Kubernetes *
Translation
Tutorial

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

В этой статье мы ответим на следующие вопросы:

Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у каждого из них есть выделенный сетевой стек?

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

Как настроить сетевой доступ из контейнера во внешний мир (например, в Интернет)?

Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?

Читать далее
Total votes 24: ↑24 and ↓0 +24
Views 14K
Comments 5

Как Unix-way убивает десктопный Linux

RUVDS.com corporate blog Open source *Project management *Monetization of IT systems *Finance in IT

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

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил
Total votes 297: ↑253 and ↓44 +209
Views 77K
Comments 1850

Транзакции. Часть 1. Конспект книги «Designing Data-Intensive Applications»

Programming *System Analysis and Design *Data storage *Data storages *

Эта статья является конспектом книги «Designing Data-Intensive Applications».

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

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

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

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 7.7K
Comments 1

Пришло время и тебе встать на защиту Sci-hub

Open source *Reading room Popular science Crowdsourcing
Translation
image


  • Быстрый старт спасения Sci-Hub: загрузите 1 случайный торрент (100 ГБ) из коллекции scimag и скачайте его. Оставайтесь на раздаче навсегда.
  • Трекер успеха миссии, спасибо phillm
  • Участвуйте в проектах Sci-Hub с открытым исходным кодом: freereadorg/awesome-libgen
  • Присоединяйтесь к /r/scihub, чтобы оставаться в курсе


Спасательная миссия для Sci-Hub и Open Science


Elsevier и USDOJ объявили войну Sci-Hub и Open Science. Эпоха Sci-Hub и Александры, сражающихся в одиночку, должна закончиться. Мы должны встать на её сторону.

7 мая Александра Элбакян из Sci-Hub сообщила, что ФБР прослушивает ее аккаунты более двух лет. Эта новость появилась после того, как Twitter заставил замолчать официальный аккаунт Sci_Hub в Твиттере, потому что индийские ученые организовались против своего министерства и иска Elsevier.

Сам Sci-Hub в настоящее время заморожен и не загружал никаких новых статей с декабря 2020 года. Эта спасательная миссия сосредоточена на поддержке раздач (seeding) коллекции статей, чтобы подготовиться к потенциальному закрытию Sci-Hub.

Александра Элбакян из Sci-Hub, книжный воитель Library Genesis, Аарон Шварц и бесчисленное множество других неназванных боролись за то, чтобы освободить науку от хватки коммерческих издателей. Сегодня они делают это скрытно, в одиночку, без ведома, опасаясь тюремного заключения, и даже сейчас их прослушивает ФБР. Они жертвуют всем ради одного видения: Open Science.
Читать дальше →
Total votes 135: ↑131 and ↓4 +127
Views 47K
Comments 377

Доступный toggle

OTUS corporate blog CSS *HTML *
Translation

Toggles (или их еще называют "тумблеры"/"переключатели") широко используются в современных интерфейсах. Они, как правило, относительно просты, и их можно рассматривать как простые флажки (checkbox). Тем не менее, их часто делают недоступными тем или иным способом.

В этой статье я покажу небольшую имплементацию доступного toggle на HTML + CSS, которую вы можете применить в своих проектах и доработать по своему усмотрению.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 3.6K
Comments 4

Apache Camel и Spring Boot

OTUS corporate blog Java *Apache *
Translation

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

Но прежде чем обратиться к примеру со средой Spring Boot, разберемся с основными понятиями и терминами Camel.

Читать далее
Total votes 9: ↑7 and ↓2 +5
Views 4K
Comments 0

Embedded Linux в двух словах. Второе

Configuring Linux *Open source *C++ *C *DIY
Tutorial

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

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

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

Читать далее
Total votes 33: ↑32 and ↓1 +31
Views 9.8K
Comments 17

Embedded Linux в двух словах. Первое

Configuring Linux *Open source *C *DIY
Tutorial

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

Платформой послужит плата BeagleBone Black с процессором производства Техасских Инструментов AM3358 и ядром Arm Cortex-A8, и, чтобы не плодить мигающие светодиодами мануалы, основной задачей устройства будет отправка смайлов в топовый чат, широко известного в узких кругах, сайта,  в соответствии с командами от смайл-пульта. Впрочем, без мигания светодиодами тоже не обошлось.

Читать далее
Total votes 47: ↑45 and ↓2 +43
Views 17K
Comments 15

Невидимые убийцы в воздухе: как продлить себе жизнь, контролируя уровень чистого воздуха и PM₂,₅

Маклауд corporate blog Popular science Health
Translation


О чем вы беспокоитесь больше: о физических упражнениях, употреблении овощей или о воздухе, которым вы дышите?

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

Давайте посмотрим на это с разумной стороны: возьмем четыре самые большие страны мира и сравним, сколько людей умерло по тем или иным причинам в 2019 году.

image

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

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

Образ жизни
Быть викингом стоит 4 года жизни.
Жить в Дели стоит 3 года жизни.
Постоянно ездить на поезде из Ньюарка в Нью-Йорк стоит 6 месяцев жизни
Проживание в средней части США стоит 3 месяца жизни
(Вдыхать дым от чьего-то вейпа — около 0?)

Отдельно взятое событие
Если вы жили рядом с лесными пожарами на западном побережье США 2020 года, то это стоило вам 2,4 дня жизни.
Разжечь дома по-настоящему дымный огонь стоит 1 день жизни
Жечь конусное благовоние — 2,3 часа жизни
Одну ночь использовать ультразвуковой увлажнитель воздуха — 50 минут жизни
Жарить рыбу при закрытых окнах — 45 минут жизни
Жечь благовония-палочки — 27 минут жизни
Использование лака для волос — 14 минут жизни
Выкурить одну сигарету — 11 минут жизни
Задуть свечу перед сном — 10 минут жизни
Читать дальше →
Total votes 55: ↑46 and ↓9 +37
Views 17K
Comments 73

Monitorix - за минуту развёртываем мониторинг Linux сервера

Configuring Linux *Server Administration *
Tutorial

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

В итоге удалось его установить и настроить буквально за 2 минуты:

Читать далее
Total votes 10: ↑10 and ↓0 +10
Views 15K
Comments 30

Как получить доступ из одного докер-контейнера в другой докер-контейнер

Python *Programming *Microservices *
Translation
Tutorial

Цель этой статьи — показать как мы можем сконфигурировать два и более контейнеров, чтобы они могли взаимодействовать друг с другом. В этой статье мы сделаем следующее:

Создадим образ Docker используя простой веб-сервис с использованием Python и Flask.

Запустим два отдельных контейнера

Создадим сеть в Docker

Объединим контейнеры используя созданную сеть

Читать далее
Total votes 15: ↑11 and ↓4 +7
Views 7.1K
Comments 10

Графика для JVM

Маклауд corporate blog Java *Vector graphics *Interfaces *Graphic design *
Translation


Допустим, я хочу создавать качественные десктопные приложения. Я также хочу сделать это на JVM. Не надейтесь — мы еще не достигли цели. Но у меня есть план.

Почему именно JVM?


Это производительность на достаточно высоком уровне, но не заставляет вас слишком много задумываться о каждом выделение памяти. Это кроссплатформенно. В нем есть отличные языки — Kotlin, Scala и, конечно же, Clojure. C # тоже подойдет, но в нем нет Clojure.

Разве вы уже не можете создавать десктопные приложения на JVM?


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

Разве не все пользовательские интерфейсы Java прокляты?


Нет, не совсем. У AWT, Swing и JavaFX есть свои проблемы, но это исключительно их проблемы. Нет фундаментальной причины, по которой невозможно создать высококачественный пользовательский интерфейс на JVM. Просто это еще не было сделано.

Почему это еще не было сделано?


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

Почему не Electron?


Первая причина — производительность. JS — отличный язык для создания пользовательского интерфейса, но он намного медленнее, чем JVM. Wasm может быть быстрым, но подразумевает C ++ или Rust.
Читать дальше →
Total votes 45: ↑35 and ↓10 +25
Views 11K
Comments 30

Information

Rating
4,476-th
Date of birth
Registered
Activity