Pull to refresh

Technotext

Как мы создавали сервис для улучшения города в Ташкенте (Узбекистан)

Reading time10 min
Views3K

Этот материал посвящен сервису Xalq Nazorati (Народный Контроль) — с ним люди могут пожаловаться на нерабочий лифт, яму на дороге, сломанный светофор или стертую дорожную разметку. В статье расскажем, с чего мы начинали проект, какие ошибки допускали, как их исправляли и где в итоге оказались.

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

Чтобы лучше обозначать раскрытие темы, используем индикатор из хорошо знакомой многим игры. Так интереснее.

Резюме

Сегодня в сервис Народный Контроль уже поступило более 28 тыс. обращений от горожан — чаще всего люди жалуются на проблемы на дорогах, ЖКХ и экологические проблемы.

88% всех обращений были в итоге решены.

Читать далее

Найти за полсекунды: сравниваем похожие фотографии

Reading time10 min
Views24K

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

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

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

Читать далее

Конечные автоматы на практике: Symfony Workflow

Reading time10 min
Views7.5K

В университетские времена я столкнулся с такой математической абстракцией, как конечный автомат (КА). Эта модель была полезна для понимания и создания комбинированной логики. Спустя 15 лет КА вернулся в мою жизнь в виде компонента Symfony Workflow. В этой статье я расскажу, как наша команда при помощи Symfony Workflow улучшила код продукта Links.Sape, переводя его с legacy.

Читать далее

Автоматический подбор параметров для Spark-приложений на примере spark.executor.memory

Reading time7 min
Views2.1K

Привет! Я – Валерия Дымбицкая, технический руководитель команды дата-инженеров в OneFactor. Это вторая часть статьи о том, как автоматически подбирать параметры для Spark-приложений на примере spark.executor.memory.

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

Читать далее

Поднимаем Vapor-сервер на ARM Synology NAS с помощью Docker

Reading time3 min
Views7.8K

Став счастливым обладателем NAS от Synology, я обнаружил, что Docker из коробки поддерживается только в дорогих версиях на Intel, а у меня дешевая на ARM. Но так как на нем стоит DSM на базе Linux, то все можно сделать вручную. Разбираемся как установить Docker и поднять на нём сервер, в моем случае на Swift и Vapor.

Подробнее

Как мы 40% RAM освободили

Reading time7 min
Views31K

О том, как мы столкнулись с огромными проблемами легаси сервиса фильтрации каталога и срочно начали думать, как это исправить переписать. О том, что у нас вышло с помощью redis, rabbit, bitrix -  в статье.

Читать далее

Тест на стрессоустойчивость: как мы переписывали более 200 автотестов после переезда на новый Angular

Reading time10 min
Views3.3K

Всем привет! Меня зовут Ульяна, я тестирую сервисы Selectel. На Хабре уже не одна компания рассказывала о том, как у них устроена система тестирования новых продуктов и фич. Интересно, что, несмотря на некоторые общие тенденции, это всегда разные истории. Кто-то автоматизирует все, что видит. Кто-то плотно сидит на ручных тестах.

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

Как ИТ-специалисту развить навыки коммуникации. 20+ полезных материалов

Reading time10 min
Views29K


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

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

Со скрипта на «верфь»

Reading time11 min
Views5.7K

Использование того или иного продукта в проекте - это всегда попытка найти лучшее решение, балансируя между ограниченным бюджетом, возможностями роста практически по любому сценарию и высотой "порога входа". Существует много продуктов, которые связаны с контейнерами, что выбрать подходящий инструмент становится всё сложнее и сложенее, а community с "промытыми мозгами" и мышлением "ёжиков жрущих кактус" только добавляет сложности (хотя в противовес оным есть хейтеры, которые наоборот обгадят решение, просто потому что в своё время оно им не подошло).

В целом, чтобы выбрать нужное решение чаще всего приходится поднять лабу, которая покроет 90% задач, чтобы понять насколько решение подходящее, а это значит пройти какую-то боль, потратить время и деньги. Но ещё помогают статьи, в которых рассматриваются частные случаи внедрения и подбор инструментов, чтобы научиться на чужих ошибках через объективный взгляд со стороны. Надеюсь, эта статья о том, почему и как мы пришли к решению с werf, поможет кому-то подобрать инструмент для своих нужд.

Читать далее

Как изменились условия релокации за последние полгода

Reading time7 min
Views19K

Привет, меня зовут Аня Стороженко и я основатель сервиса по релокации в Европу и Великобританию Relo.ae

В этой статье я расскажу, как поменялась IT-релокация с началом СВО и о том, как в сложившихся условиях искать работу за рубежом!

Long story short.

Мы запустили сервис более полутора лет назад, когда релокация ещё не была так популярна и термин не был таким заезженным.

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

Самыми популярными направлениями были Германия, Великобритания, Швеция, Нидерланды и страны Прибалтики. Это страны с высоким уровнем жизни, большим числом вакансий в Tech и относительно не сложным процессом легализации. 

Отмечу, что до начала СВО среднестатистический айтишник не хотел никуда переезжать.

Tech компании быстро адаптировались к коронавирусным реалиям и научились нанимать айтишников удаленно по всему миру. 

Это открыло потрясающие возможности – работать в международной команде над топовым продуктами, получать зарплату в валюте, не выезжая из родной Рязани. 

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

Читать далее

Чини опять свою Теслу сам, тыжпрограммист

Reading time3 min
Views55K

Как получить root-доступ к Tesla? Как разобрать компьютер? Как подключиться? Чем отличаются компьютеры Тесла. Что делать если экран черный, а машина едет? Эти и многие другие вопросы мне задают регулярно.

На текущий момент прошлую статью о ремонте Тесла прочитали более 56.000 раз. Я получаю огромное количество вопросов, постараюсь ответить на самые распространенные из них.

Меня зовут Слава. Я человек из Подольска. Так уж получилось, что из всех теславедов в рунете я раскрывают больше всего информации. Вся экосистема неофициальных сервисов по ремонту этих по своему прекрасных электромобилей чрезвычайно закрыта. Бывает, что внутри одного СТО одной компетенцией обладает только один из мастеров и не раскрывает данный секрет Полишинеля никому.

Читать далее

Самоуверенные нейросети

Reading time7 min
Views17K

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

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

Вероятность клика 100%

Топ полезных SQL-запросов для PostgreSQL

Reading time7 min
Views112K

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

Читать далее

Главная ложь SCRUM. Откуда берётся карго-культ

Reading time9 min
Views51K

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

Читать далее

Тест-кейсы по полочкам — как в библиотеке! Наводим порядок в структуре и содержании тестовой документации

Reading time5 min
Views42K

Всем привет! На связи Анастасия Макеева. В Утконос Онлайн я работаю лидом автоматизации тестирования на проекте витрины. В мои обязанности входит организация и реализация автоматизированного тестирования сайта, систем и сервисов. 

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

Читать далее

Как работает оптимизатор PostgreSQL при большом количестве таблиц в запросе

Reading time9 min
Views22K
SQL — это декларативный язык программирования, используемый для создания и манипулирования объектами в реляционных СУБД. Этот язык описывает что должно быть получено, но не описывает как это получить. Программист пишет запрос и (чаще всего) хочет получить результат от СУБД максимально быстро.

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

Поэтому оптимизатор — это ключевая часть СУБД, один из самых сложных элементов всей системы.

Для демонстрации работы оптимизатора практически во всех наших (и чужих) примерах на эту тему используются довольно скромные параметры: две-три таблицы, пара JOIN-ов, миллисекунды на выполнение запросов. А что будет, если загрузить оптимизатор десятками таблиц за раз? Как разные конфигурационные параметры влияют на производительность запросов с сотней JOIN-ов? И переживет ли это среднестатистический рабочий ноутбук? Ответы на эти вопросы — со схемами и графиками — вы найдете под катом!
Читать дальше →

Мой любимый рецепт приготовления программных продуктов

Reading time8 min
Views2.8K

Есть много способов приготовить картошку. Вот тут написано больше 100 способов. Рецептов кофе существует множество. Лично я предпочитаю черный, без сахара. Кто-то любит с молоком, кто-то предпочитает холодный. Бессмысленно спорить, какой из них лучше.

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

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

Читать далее

Где брать данные инженеру-исследователю?

Reading time4 min
Views3.2K

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

Читать далее

Как научиться чувствовать треки? Визуализация музыкальных частот в Моей волне

Reading time6 min
Views19K
Разработчики всего мира потратили миллионы часов на создание визуализаций музыки в приложениях и плеерах. Наверняка многие из вас помнят анимации в старом-добром Winamp. Или разные скины JetAudio. Олды вообще скажут: «Погоди-ка, ты забыл про Atari Video Music, всего-то 1976-й был!» — и будут правы.

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



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

Меня зовут Андрей Бобков, я Android-разработчик, и в этом посте я расскажу, как при помощи высшей математики и цифрового анализа сигнала мы научили Мою волну чувствовать треки, которые вы слушаете, и визуализировать частоты.
Читать дальше →

Часы «Штурвал»

Reading time3 min
Views5K

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

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

Шутка. Но всё-таки покрутите штурвал, а вдруг… )

Крутим дальше )