Pull to refresh
9
0
Send message

Архитектура Kubernetes – руководство для «чайников», 5 новых функций Podman, которые стоит попробовать…

Reading time 2 min
Views 8.3K

... а также видео-тур по Ansible Automation Platform 2.0.

Новая порция инсайтов, гайдов, книжек и советов. Оставайтесь с нами – станьте частью DevNation!

Читать дальше: Архитектура Kubernetes...
Total votes 2: ↑2 and ↓0 +2
Comments 1

Laravel: создание фабрик и seeders при связях между моделями

Reading time 8 min
Views 21K

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

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

Спойлер: фабрики не должны зависеть от сидов.

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

Переезд в Египет: Александрия как локация для жизни на дистанционный доход

Reading time 6 min
Views 24K

Вместе со своей семьёй я прожил в Египте примерно два с половиной года, с начала 2018 года до второй половины 2020 года. Я работал на одном из предприятий около города Александрия и жил там же неподалёку в небольшом охраняемом посёлке за городом. Я хотел бы поделиться своим опытом жизни в не очень хорошо знакомой туристам Александрии и рассказать, как там может выглядеть жизнь для удалёнщика!

• Климат
• Безопасность
• Образование для детей
• Стоимость жизни
• Виза
• Локация: стиль/качество жизни

Поехали!
Total votes 43: ↑38 and ↓5 +33
Comments 35

Проектируем приложение с Redis в качестве хранилища данных. Что? Зачем?

Reading time 7 min
Views 15K

Всем привет!. Многие знают что такое Redis, а если вы не знаете, то официальный сайт может ввести вас в курс дела. Большинство знают Redis как кэш и иногда как очередь сообщений. Но что если немножко сойти с ума и попытаться спроектировать целое приложение, используя в качестве хранилища данных только лишь Redis? Какие задачи можно решить с использованием Redis'а?

В этой статье мы и попытаемся ответить на эти вопросы.

Не переключайтесь.

Читать далее
Total votes 20: ↑18 and ↓2 +16
Comments 20

Что такое доказательная медицина?

Reading time 14 min
Views 21K

Доктор Уолтер Фриман и Джеймс Уоттс планируют лоботомию, чтобы помочь человеку справиться с тревожностью.

Раньше врачам было отчасти проще. Если ты был достаточно уважаем и авторитетен, то никто не сомневался в твоих методах лечения. Если врач сказал, что надо регулярно устраивать кровопускания и прикладывать примочки на базе соединений ртути, то так и делали. Медицина постепенно развивалась, но до середины XX века методы лечения держались на авторитете отдельных известных учёных и их учеников. Ваша жена очень часто впадает в истерику и нервничает? Ребёнок постоянно капризничает? Не проблема, есть чудесные лоботомобили. Приедут домой и всё поправят.

Процедура заключалась в следующем: нож для колки льда вставлялся в глазницу пациенту. Лёгкий удар молотком по рукоятке пробивал орбитальную стенку. Затем Фриман водил ножом из стороны в сторону, разрушая лобные доли мозга. Метод, разумеется, эффективен, так как разработан уважаемыми людьми и рекомендовался «буйным», шизофреникам и людям, чьё поведение беспокоило окружающих. Люди из буйных становились тихими и покорными инвалидами. До 6% погибли во время операции.

Это уже сейчас у нас появились стандарты GMP, GTP, GCP, этические комитеты, двойные слепые плацебо-контролируемые исследования и всё остальное, что позволяет разрабатывать наиболее эффективные методы лечения. Сегодня мы будем говорить о клинических исследованиях и о том, как работает доказательная медицина:

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

Читать дальше →
Total votes 79: ↑76 and ↓3 +73
Comments 105

Хранилище данных vs. Data Lake. Или почему важно научиться ходить перед тем, как начать бегать

Reading time 7 min
Views 16K

Всем привет! Я Игорь Гончаров — руководитель Службы управления данными Уралсиба. В этой статье я поделился нашим видением ответа на вопрос, который периодически слышу от коллег: зачем мы развиваем хранилище данных банка, когда есть технологии Data Lake?

Читать далее
Total votes 6: ↑4 and ↓2 +2
Comments 19

История разработки фасетного поиска средствами PHP

Reading time 13 min
Views 14K

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее
Total votes 59: ↑58 and ↓1 +57
Comments 6

Строим эффективный сетевой обмен в PHP-микросервисах

Reading time 13 min
Views 20K

Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы  — это абсолютно разные вещи.

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Total votes 43: ↑42 and ↓1 +41
Comments 38

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown

Reading time 20 min
Views 24K


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


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


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


  • Выработаем понимание структуры и жизненного цикла приложения.
  • Формализуем наше представление жизненного цикла на языке go.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 19

Книга «Совершенный софт»

Reading time 12 min
Views 7.6K
image Привет, Хаброжители! «Совершенный софт» — это проверенный, структурированный и высокотехнологичный подход к разработке программного обеспечения. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались.

Методология Лёве объединяет разработку систем и дизайн проектов, используя базовые принципы разработки ПО, корректные наборы инструментов и эффективные методы. Автор подробно описывает основы, на которых прокалываются многие архитекторы ПО, и показывает, как разложить систему на мелкие блоки или службы. Вы узнаете как вывести эффективный дизайн проекта из дизайна системы, как рассчитать время, необходимое на запуск проекта, его стоимость и риски, и даже как разработать несколько вариантов выполнения.

Метод и принципы «совершенного софта» можно применять независимо от размера проекта, компании, технологии, платформы или отрасли. Цель этой книги — решение важнейших задач современной разработки ПО, требующих исправления программных систем и проектов, ваш карьерный рост и, возможно, изменение всей IT-индустрии. Рекомендации и знания, которые вы получите, сэкономят десятилетия вашего опыта и спасут многие проекты. Эта книга принесет большую пользу разработчикам, архитекторам, руководителям проектов или менеджерам на любом этапе карьеры.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 0

11 худших особенностей Windows 11, и как их исправить

Reading time 8 min
Views 341K


Windows 11 вызывает смешанные чувства. С одной стороны, многие люди с удовольствием остались бы и на Windows 10. С другой стороны, есть вполне достойные причины обновиться до 11-й версии – улучшенное переключение между окнами, улучшенный контроль над виртуальными рабочими столами, свежие дизайнерские штучки – типа закруглённых уголков у окон.

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

Предлагаем вашему вниманию худшие особенности Windows 11 и пути их исправления – или, по крайней мере, смягчения.
Читать дальше →
Total votes 100: ↑89 and ↓11 +78
Comments 343

Golang для Embedded Linux

Reading time 8 min
Views 11K

При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет на несколько порядков больше ресурсов, чем используемые в нашей основной массе решений LPC1768/LPC1778/LPC4078/STM32F207. 100% наработок кода компании для устройств были написаны на C/C++, однако прогресс не стоит на месте, и периодически необходимо актуализировать инструменты и технологии разработки, особенно с учетом новых аппаратных возможностей. Из статьи станет ясно, как мы дошли до жизни такой и почему выбрали Golang для создания очередного набора решений.

Выбор стека технологий важен для всех компаний, которые занимаются разработкой железа и перерастают крошечные embedded контроллеры на Cortex M0/M3/M4/M7. Обычно команды при переходе на новую платформу выбирают одно из двух решений: стараются сделать новую версию системы на новом железе/технологиях/архитектуре, превращая решение в нестабильный долгострой, или наоборот — вносят минимальное количество изменений, но иногда вместо совокупности положительных черт разных подходов получают совокупность отрицательных.

В статье исследованы особенности различных языков программирования/технологий (Java, Python, C/C++, Rust, Golang), их плюсы и минусы, сформулированы критерии выбора и представлен выбор команды АТОЛ.

Для анализа использован метод SWOT-анализа. В качестве источников данных — информация сайтов фреймворков. Помимо этого, косвенная информация о боли и страданиях разработчиков получена на Stackoverflow, и часть субъективных выводов сделана на основе моего экспертного мнения за более чем 30-летний опыт программирования.

Читать далее
Total votes 18: ↑12 and ↓6 +6
Comments 50

Интеллектуальная производительность без выгорания: 7 техник использования мозга. Часть 1

Reading time 18 min
Views 54K

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

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

Читать далее
Total votes 71: ↑66 and ↓5 +61
Comments 23

Как проводить собеседования объективно и с пользой

Reading time 10 min
Views 17K

Всем привет! Меня зовут Виталий, я ведущий фронтенд-разработчик в KTS.

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

В статье поделюсь выводами за это время. Расскажу, как сделать результат собеседования объективным, а процесс — более комфортным для кандидата и интервьюера.

Читать далее
Total votes 18: ↑16 and ↓2 +14
Comments 30

Разработка системы заметок с нуля. Часть 3: знакомство с Neo4j, работа над микросервисами CategoryService и APIService

Reading time 18 min
Views 5.5K

Мы продолжаем разрабатывать систему заметок с нуля. В третьей части серии материалов мы познакомимся с графовой базой Neo4j, напишем CategoryService и реализуем клиента к новому сервису в APIService.

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

Во второй части мы спроектировали и разработали RESTful API Service на Golang cо Swagger и авторизацией.

Теперь разработаем сервис управления категориями CategoryService. Категории мы делаем в виде дерева с большой вложенностью, в теории — бесконечной. Сервис будем разрабатывать на языке Python, а в качестве хранилища используем Neo4j.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 0

Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании

Reading time 6 min
Views 4.7K

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

Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…

Читать дальше
Total votes 10: ↑10 and ↓0 +10
Comments 5

Как сэкономить в AWS до полумиллиона долларов?

Reading time 19 min
Views 17K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski.

image

В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в месяц и сэкономила $500.000 за год. Мы опишем практические шаги, основанные на собственном опыте снижения затрат в AWS и поделимся советами, которые были полезны и нам.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Comments 11

Создаём инфраструктуру для интеграционных тестов

Reading time 9 min
Views 6.3K

Меня зовут Слава Черепанов, я работаю в 2ГИС в проекте Fiji. Мы делаем профессиональную ГИС-систему, с помощью которой картографы создают карту мира в 2ГИС. Расскажу, как в этом проекте за 4 года эволюционировала инфраструктура интеграционных тестов. Это будет не летопись, а история про выборы, их причины и следствия. Разберёмся, как создать подходящую вам тестовую инфраструктуру и справиться с этим в разумные сроки.

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

Как внедрить безопасность в процесс разработки. Опыт нашей команды

Reading time 9 min
Views 3.3K
Привет! Я — Виктория Граненко, Security Automation Engineer в NIX. Свой путь в мир IT я начинала, как General QA, распараллеливая мануальные и автоматизированные задачи тестирования. Мне всегда нравилась автоматизация процессов. В мои обязанности не входили задачи по безопасности. Во время тестирования приложения на прошлом проекте я обратила внимание на некоторые случаи, которые мы никогда не фиксили. Это была не наша зона ответственности.

Да и специалистов, которые смогли бы оценить критичность этих находок, среди нас тоже не было. Часть не найденных уязвимостей дожидалась прихода пентестера.
Читать дальше →
Total votes 4: ↑2 and ↓2 0
Comments 0

Information

Rating
Does not participate
Registered
Activity