Pull to refresh
17
0
Andrewus @Andrewus

Head of platform & devops lead

Send message

Open Session In View в Spring Boot: Скрытая угроза

Reading time5 min
Views47K
Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы.
"Сказка о Тройке" (А. и Б. Стругацкие)

Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение:


spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning.

В этой статье попытаюсь объяснить, что это значит, кто виноват и что делать.


Для поднятия полноценного приложения на Spring Boot требуется всего лишь одна аннотация @SpringBootApplication. Для того, чтобы это было возможным, фреймворк использует большое количество автоконфигураций и настроек по умолчанию. Более того, для работы "из коробки" разработчикам Spring Boot пришлось выбрать некие концепции разработки приложений из нескольких альтернативных вариантов для каждой, чтобы пользователю не нужно было выбирать их явно. С одной стороны это хорошо для быстрого старта и легкой разработки, но с другой – через некоторое время может оказаться, что некая используемая по умолчанию концепция/парадигма/настройка не подходит для проекта, а для отказа от нее придется многое переделать. Одной из таких концепций является режим Open Session In View (OSIV), включенный в Spring Boot по умолчанию.

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

Разборка Retina Macbook 2015 от iFixit: невозможно ни отремонтировать, ни проапгрейдить

Reading time2 min
Views62K


Команда iFixit продолжает разбирать наиболее известные модели устройств не менее известных брендов. Сейчас ребята разобрали новый Retina Macbook 2015, который позиционируется производителем, как «будущее ноутбуков». Дизайн, аппаратная составляющая — здесь все на высоте. Но если это действительно будущее ноутбуков, то сервисные центры могут закрываться: отремонтировать этот ноутбук практически невозможно, в силу сложности разборки. Кроме того, устройство несовместимо и с возможными планами покупателя по апгрейду системы.

В продолжении — фотографии и описание процесса разборки.
Читать дальше →

Тестовые среды наносят ответный удар: побеждаем SOA, виртуализацию, базы данных и Kubernetes

Reading time6 min
Views1.8K

Привет! Меня зовут Андрей, я Head of Platform в финансовом маркетплейсе Banki.ru.

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

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

Тестовые среды для разработчиков: успехи и фейлы Banki.ru

Reading time7 min
Views3.4K
image

Привет! Меня зовут Андрей, я Head of Platform в финансовом маркетплейсе Banki.ru.

В числе множества сервисов наша команда поставляет площадки разработки и тестирования для коллег. Они появились у нас в 2010 году как «пет-проджект» одного из разработчиков, прижились и через несколько поколений перешли в ведение платформы.

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

D&D как инструмент тимлида: решаем проблемы команды с помощью разговорных ролевых игр

Level of difficultyEasy
Reading time37 min
Views27K

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

Команда разработки и вообще любая группа людей — это сложный клубок из межличностных отношений и персональных компетенций. Я руковожу командами разработки и эксплуатации уже 8 лет, и за это время встречался с разными командными проблемами. Хочу предложить вам свою методологию их решения при помощи разговорных ролевых игр (РРИ).

Под катом вас ждет:

История о том, как я сам пришёл к тому, чтобы проводить РРИ для коллег.

Краткий рассказ о том, что из себя представляют такие игры.

Примеры решения реальных командных задач.

Полная методология подготовки и проведения игры. Полезно будет вам и вашему мастеру.

Вперёд к приключениям

Как Федор выписывался из военкомата после эмиграции: полный гайд по снятию с воинского учета удаленно

Level of difficultyEasy
Reading time13 min
Views136K

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

Читать далее

Наиболее распространенные типы поломок ноутбуков в моей практике: топ-5 простых причин выхода устройства из строя

Reading time6 min
Views61K


Всем привет! Обычно я выкладываю обзоры барахолок в Испании, но сегодня расскажу немного о другом. Дело в том, что мое увлечение — это ремонт ноутбуков. Раньше еще занимался ремонтом айфонов, но потом как-то надоело. Больше почему-то нравятся ноутбуки — я покупаю на местном аналоге Авито, чиню, потом — либо отдаю знакомым, либо продаю.

Через мои руки прошли сотни ноутбуков, как с очень сложными поломками, так и очень простыми. Не скажу, что я мастер высочайшего класса, но, например, заменить VRAM, процессор или хаб могу. Имею в виду, конечно, те компоненты, что распаяны на плате, а не съемные. Сегодня расскажу о наиболее распространенных видах поломок ноутбуков, починить которые достаточно просто, но многие из них ставят в тупик обычных пользователей. Если вы — мастер высокого класса, вряд ли почерпнете что-то для себя. Но если начинающий или просто пользователь — думаю, будет интересно.
Читать дальше →

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

Reading time6 min
Views254K

Предисловие


Об этом руководстве


Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


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

Наглядное руководство по SSH-туннелям

Reading time8 min
Views201K

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

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее

Модель зрелости: как оценивать и растить инженерные команды

Reading time9 min
Views31K

Мы продолжаем делиться внутренними документами Авито. Сегодня это будет модель зрелости. Она может пригодиться как трекер внедрения инженерных практик всем компаниям, где есть своя разработка. Чётко прописанная модель зрелости помогает быстро синхронизироваться и находить зоны роста команд.

Читать далее

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

Reading time3 min
Views19K
Я сам сторонник идеи что если нравится продукт то нужно покупать его и своими деньгами поддержать программистов.
Но иногда бывает что компания на этот софт денег тратить не может или не хочет. Особенно сложно платить от 100$ в месяц когда есть бесплатные аналоги или если чаты используются в некоммерческих целях.

Я опишу как можно развернуть сервис для хранения истории всех публичных сообщений вашей команды в slack и избавиться от основного, неприятного, иногда выбешивающего ограничения — up to 10k of your team’s most recent messages (можно смотреть и искать только среди 10 000 последних сообщений)
Читать дальше →

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

Reading time8 min
Views225K

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

Читать далее

Топ-5 когнитивных искажений при планировании в IT

Reading time13 min
Views39K

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

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

Читать далее

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Reading time25 min
Views134K
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →

Классификация критичности информационных систем

Reading time6 min
Views63K
«Альфа-банк надежен, как танк,
А Гамма-банк надежен как банк!»

Виктор Пелевин, «Числа»

Когда в разговорах возникает фраза «банковская система», воображение рисует сверхнадёжную систему, построенную на самом дорогом оборудовании, кластеризованную на всех возможных уровнях и ограждённую от окружающего мира доступными и недоступными средствами защиты. Действительно, такие системы существуют. Но…



Если посмотреть вакансии разработчиков в банке, то вполне можно увидеть там среди требований знания Cassandra, MongoDB и других платформ, которые никак не внушают мыслей о 100% доступности. Да и такие СУБД как Oracle или Microsoft SQL Server где-то устанавливают на кластер из дорогих серверов, подключённых к самым надёжным и высокопроизводительным массивам, а где-то – на обычную виртуальную машину в ферме из самого что ни на есть commodity.

Причины очевидны – избыточные решения дороги. Но как найти компромисс между стоимостью платформы и её надёжностью?
Читать дальше →

Основы мониторинга PostgreSQL. Алексей Лесовский

Reading time22 min
Views74K

Предлагаю ознакомиться с расшифровкой доклада Алексей Лесовский из Data Egret "Основы мониторинга PostgreSQL"


В этом докладе Алексей Лесовский расскажет о ключевых моментах постгресовой статистики, что они означают, и почему они должны присутствовать в мониторинге; о том, какие графики должны быть в мониторинге, как их добавить и как интерпретировать. Доклад будет полезен администраторам баз данных, системным администраторам и разработчикам, которым интересен траблшутинг Postgres'а.


Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views156K

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


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

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

Обзор графических интерфейсов для Kubernetes

Reading time11 min
Views81K


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

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

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

Давайте отключим vacuum?! Алексей Лесовский

Reading time20 min
Views30K

Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!"


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


Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на эти грабли, и мне с коллегам по Data Egret нередко приходится разгребать последствия, так как потом всё становится ещё хуже. Но если обратить внимание на сам вакуум, то, пожалуй, нет такого человека, который бы использовал Postgres, и при этом ничего не знал про него. Ведь история вакуума начинается относительно давно, и в интернете можно найти массу как старых, так и новых постов про вакуум, объемные дискуссии в списках рассылки. Несмотря на то, что тема вакуума подробно описана в официальной документации к PostgreSQL, новые посты и новые дискуссии будут появляться и дальше. Возможно, поэтому с вакуумом связано очень много мифов, баек, страшилок и заблуждений. Между тем, вакуум является одним из важнейших компонентов PostgreSQL, и его работа напрямую сказывается на производительности. В одном докладе невозможно рассказать про вакуум абсолютно всё, но я бы хотел раскрыть ключевые моменты, связанные с вакуумом, такие как его внутреннее устройство, основные подходы к его настройке, наблюдение за производительностью, мониторинг, и что делать в случае, когда вакуум — главный подозреваемый во всех бедах. Ну и, конечно же, хочется развеять распространенные мифы и заблуждения, связанные с вакуумом.


Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views208K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →

Information

Rating
2,803-rd
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity