Search
Write a publication
Pull to refresh
170
4

java / open source

Send message

Поднимаем кластер PostgreSQL в Docker и Testcontainers

Level of difficultyMedium
Reading time8 min
Views32K

Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.

Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.

Читать далее

Создаём сетевую звуковую карту с преферансом и поэтессами

Reading time6 min
Views114K
Вдохновленный топиками раз и два, решил соорудить нечто похожее.

В наличии:
— Один усилитель с колонками
— Один стационарный компьютер
— Один ноутбук
— Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

Что из этого получилось:


О том, как это получить, добро пожаловать под кат.
Читать дальше →

Одноплатники конца лета 2023 года: что предлагает рынок

Reading time3 min
Views27K
image

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

Jaeger для трассировки в микросервисной архитектуре

Level of difficultyMedium
Reading time15 min
Views26K

 Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков программирования, в том числе в продакшн. 

Эта статья про Go и микросервисную архитектуру написана на основе вебинара для Практикума.

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

Читать далее

Как в рутине задач находить время на disrupt

Level of difficultyMedium
Reading time10 min
Views9.2K

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

Читать далее

PostGIS + JPA. Погружение в детали и тонкости для чайников

Reading time12 min
Views20K

Привет. Сегодня я расскажу о работе с геоданными в PostgreSQL и немного о том, как это сделать в своем Java/Kotlin-приложении.

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

Читать далее

Карты для всех, даром

Reading time9 min
Views53K
Программисты — редкие люди. Мы можем сделать абсолютно всё, но интернет отвечает на это зияющей пустотой, где нужно делать абсолютно всё. Особенно если живёшь в непрофильных сообществах. Запросы со всех сторон, тут нужно подлатать, там плагинчик дописать, и никто, кроме тебя. Эта история — про один из таких пробелов, который я надеялся закрыть за неделю, и та неделя всё продолжается. В программе: дорожное строительство и велосипедисты, сайт для обмена картами лучше яндекса, осмеры без осма, архитектура плагинов в форумных движках и интерактивные карты прямо в хабре.

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

Что порой кроется за «успехом»

Level of difficultyEasy
Reading time9 min
Views43K

Хочу рассказать вам свой путь в поиске новой работы в 2023 году и поддержать тех, кто сейчас проходит через это. За 6 месяцев я собеседовался в 25 компаний, прошел 54 этапа (а какие-то не прошел), получил 2 оффера и в итоге один из них принял. Если вы сейчас в поиске работы, эта статья будет для вас глотком свежего воздуха. Если же вы матерый специалист, устраивающий процессы онбординга в своей компании, вам это может быть интересно с другой стороны.

Читать далее

Яндекс выводит за границу заработанные в России деньги, пока это возможно

Reading time5 min
Views64K

Яндекс отчитался за 2 квартал (и первое полугодие) 2023 года, и в отчете я обнаружил много интересного. Я уже на протяжении 4 лет разбираю каждый квартал отчетность Яндекса, и это 16-й по счёту отчет (и, возможно, это последний разбор в общем доступе). Так что я уже знаю, куда смотреть и что там можно увидеть.

Читать далее

Osquery&Fleet. Применение в корпоративной сети на примере яблочных девайсов

Reading time6 min
Views6.6K

Я расскажу о том, что мы с командой сделали для поднятия сервиса по сбору событий и низкоуровневой телеметрии на примере MacOS: как готовили архитектуру, с какими проблемами столкнулись и как их решали.  Подробнее остановлюсь на возможностях osquery&Fleet и на том, какие must-have-события рекомендую собирать.

Немного о себе: я работаю в группе инфраструктурной безопасности в команде Ozon около двух лет.  До этого я уже имела опыт работы с MacOS-устройствами, поэтому у меня есть представление о том, что это за «фрукт».

Читать далее

Обзор аппаратных решений для задач искусственного интеллекта: США, Китай, Россия

Level of difficultyEasy
Reading time14 min
Views17K

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

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

Читать далее

Человейник, тебе меня не сломить! Анализ жилья в мегаполисе

Reading time13 min
Views108K
Вчера на них никто не обращал внимание, а сегодня они повсюду. Человейники атакуют! Официально они именуются ЖК эконом-класса, а по сути являются гигантскими бетонными коробками из дешевых материалов. Москва задает моду на уплотнительную застройку и возведение целых районов человейников. И вот уже из Питера, Новосибирска и других зон поражения раздается безысходное «понастроили тут». Как всегда, под ударом простой народ. В красной зоне риска — люди, созревшие для покупки или аренды квартир.

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


Человейники Гонконга. Интересно, можно ли будет сделать такую фотку в Москве лет через 30?
Читать дальше →

Моя система организации жизни (GTD или что-то подобное)

Reading time12 min
Views50K

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

В этот момент мне повезло, и знакомый рассказал мне про систему Дэвида Аллена - getting things done...

Читать далее

Типичная задача на собеседовании: URL Shortener

Level of difficultyMedium
Reading time6 min
Views40K

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

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

Читать далее

Кажется, вы больше не должны давать тестовые задания кандидатам на дом

Level of difficultyEasy
Reading time24 min
Views33K

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




Я возьму тестовые задания на Python, C++, Go и C#  и буду использовать только открытые источники, убрав названия компаний и прямые ссылки, чтобы исключить любые подозрения в предвзятости.


А в качестве нейронки использую ChatGPT Plus (GPT 4). Она всё еще очень глупа, много выдумывает и постоянно смешно ошибается, но как раз для таких задач годится хорошо.


И да, вместо дисклеймера. Если вы хоть немного успели «посотрудничать» с ChatGPT, то статья может показаться вам глубоко капитанскоочевидной (она такая и есть, безусловно). Но если вы вместо хайпа по нейронкам предпочитаете работать, то у вас нет времени на такие развлечения. Так что, возможно, несколько минут, которые вы сейчас потратите на прочтение, сэкономят вам много часов инвестиций в «ненастоящих стажеров» и «ненастоящих джунов». И соответственно, помогут не наделать ошибок при найме.

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

Новый тимлид на удаленке: как перестать быть «говорящей головой» и заручиться поддержкой команды

Reading time5 min
Views2.2K

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

Читать далее

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

Reading time7 min
Views28K

Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

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

Читать далее

Как рождается и умирает программа, или И один в поле воин

Level of difficultyEasy
Reading time12 min
Views8.5K

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

Читать далее

Разделяй и властвуй. Повышение эффективности алгоритмов. Часть 1

Level of difficultyMedium
Reading time5 min
Views11K

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

Но, что если нам надо перемножить два числа любой длины? Не LONG, не байт, не число от 1 до 10, а любые два числа, которое, имеют в общем случае длину n бит, а результат умножения может иметь длину 2n бит.

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

Давайте применим его к нашей задаче.

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

Читать далее

Как искать товар на всех маркетплейсах сразу?

Reading time4 min
Views53K

Решил ты обновить себе смартфон или корм докупить для собаки/кошки или подгузники ребенку, достаешь телефон и поехали: ищешь на Ozon, потом открываешь приложение WildBerries, потом в Яндекс Маркете, затем в СберМегаМаркете, потом еще на паре сайтов, потом уже забыл где нужный товар был дешевле и пошел снова по кругу, купил, а потом выяснилось, что именно сегодня нужный смартфон был дешевле в DNS, а подгузники по акции в Детском Мире, но ты забыл там посмотреть.

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

Читать далее

Information

Rating
486-th
Location
Россия
Registered
Activity