Pull to refresh
17
-1
Алексей Поимцев @poimtsev

I’m Mary Poppins, y’all!

Send message

Один нечестный бухгалтер страшнее армии врагов, или какие налоги платят IT-компании в ОАЭ

Level of difficultyEasy
Reading time6 min
Views962

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments0

LOCOST и SPECTRUM, два подхода к суммаризации

Level of difficultyMedium
Reading time4 min
Views450

2-3 абзаца — привычный размер входного текста для языковых моделей. Больше — тяжело, потому что вычислительная сложность растет квадратичным образом. Поэтому битва за удлинение контекста продолжается и постоянно возникают новые, общие или не очень, подходы. В этом обзоре мы расскажем о двух подходах, связанных с суммаризацией большого текста. Первый — LOCOST — направлен на длинные тексты (статьи и целые книги). Второй — SPECTRUM — на долгие диалоги.

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

Открываем Adobe Flash в Docker в 2024-м

Level of difficultyEasy
Reading time3 min
Views4.3K

Шарился я тут в по Интернету в поисках видео событий 15-летний давности и нашел что-то вроде искомого, но никак не смог посмотреть - требовался Adobe Flash. Погуглил я как мне открыть это видео, но рабочих вариантов не нашел. "Ладно" - подумал я: "Challenge accepted". А нам с читателем лишняя возможность потренироваться в создании Docker-контейнеров.

Дисклеймер: использование устаревших версий браузера и самого Flash-плагина несёт потенциальную угрозу безопасности. Используйте этот метод на свой страх и риск.

Итак, начнём с того, что поддержка Flash-плагина была выпилена в Chromium начиная с версии 89. То есть нам нужно что-то где есть более ранняя версия. Это что-то - это Ubuntu 18.04 - там 65я версия, если без апдейтов,а с апдейтами 112-я. В какой-то момент должна была быть и 88-ая, но не нашел где её добыть - если читатель подскажет, буду безмерно благодарен. И так, поехали - создаём Dockerfile

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

Мутационное тестирование

Reading time12 min
Views40K

Юнит тесты помогают нам удостовериться, что код работает так, как мы этого хотим. Одной из метрик тестов является процент покрытия строк кода (Line Code Coverage).


Но насколько корректен данный показатель? Имеет ли он практический смысл и можем ли мы ему доверять? Ведь если мы удалим все assert строки из тестов, или просто заменим их на assertSame(1, 1), то по-прежнему будем иметь 100% Code Coverage, при этом тесты ровным счетом не будут тестировать ничего.


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


Ответ на этот вопрос даёт мутационное тестирование.

Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments41

Оцифрованный True Crime

Level of difficultyEasy
Reading time3 min
Views3K

В далёком 2011 году (кажется это была уже прошлая жизнь) мне довелось принять участие в проекте ВебНаблюдатель, про который я даже рассказал на Хабре в этой статье. В те далёкие годы я думал и утверждал, что Правительство Российской Федерации — очень нехорошие и лживые люди, захватившие власть в стране. А в этом году … В этом году опасно говорить что-то, что может быть трактовано против говорящего.

Небольшое лирическое отступление — последнее время я увлекся true crime историями, с огромным удовольствием слушаю подкаст (это не реклама) “Дневники Лоры Палны” и другие. Не так давно мне попалась на глаза история расследования убийства Габи Петит, американки, которую убил её молодой человек. Большое количество неравнодушных пользователей соцсетей искали и анализировали информацию, которая могла бы помочь раскрытию данного убийства, более того — вся необходимая доказательная база была собрана, но к сожалению он не понёс заслуженного наказания, поскольку покончил с собой.

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

Читать далее
Total votes 35: ↑23 and ↓12+11
Comments22

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker

Level of difficultyMedium
Reading time5 min
Views17K

Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с помощью certbot. О чём и хочу рассказать.

Читать далее
Total votes 18: ↑15 and ↓3+12
Comments27

Почему в вашем проекте не нужны Service Objects? Наводим порядок в коде

Reading time7 min
Views2.5K

Привет! Я Олег Федоткин, Head of PaaS СберМаркета. Хочу поговорить про Service Objects: что с ними не так, почему от них стоит избавляться и как это сделать. 

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments4

Знакомство с Jest Mocks

Reading time6 min
Views2.4K


Мокинг — это техника изоляции объектов тестирования путем замены зависимостей объектами, которые можно проверять и контролировать. Зависимостью может быть всё, от чего зависит объект, но обычно это модуль, который объект импортирует.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Важные советы backend-разработчику: защити себя от нежелательных проблем

Level of difficultyMedium
Reading time13 min
Views19K

Чем больше у backend‑разработчика знаний в своей области, тем лучшим специалистом он является. Но опыт показывает: самые классные программисты подобны Сократу, который не стеснялся заявлять во всеуслышание «scio me nihil scire», что в переводе на общенародный — «я знаю, что ничего не знаю». Сомневаясь во всём и вся, вы никогда не упустите из виду то, что многие считают «банальным» и «общеизвестным», а потому легко избежите проблем, которые возникают у слишком уверенных себе. Рассказываю о вопросах которые, могут упустить из виду даже самые крутые backend‑программисты, и даю советы по защитите себя от нежелательных трудностей до того, как они станут критичными.

Читать далее
Total votes 30: ↑27 and ↓3+24
Comments16

Топ-6 самых распространённых опросов сотрудников с готовыми шаблонами

Reading time9 min
Views5.8K

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

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

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

Читать далее
Total votes 13: ↑8 and ↓5+3
Comments0

Ад своими руками

Reading time19 min
Views172K
Многие говорят – рассказывать надо не только об успехах, но и о неудачах. Полностью с этим согласен — понимание своих неудач, их причин и последствий, иногда ценнее любых успехов.

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

Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

Обо всем по порядку.
Читать дальше →
Total votes 294: ↑285 and ↓9+276
Comments313

Ускорение загрузки сайта: туториал для джунов

Level of difficultyEasy
Reading time7 min
Views11K

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

В начале — пару слов о себе. Меня зовут Полина и я работаю «Rocket Business» уже несколько лет. Свой путь от джуна до тимлида прошла именно здесь. Поэтому своим мини-пособием решила делиться в корпоративном блоге: оставляю в помощь потомкам и аудитории Хабра. 

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

Что нужно знать о gRPC системному аналитику

Level of difficultyEasy
Reading time14 min
Views19K

Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. 

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

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

Как работает Backend-Driven UI на мобильном клиенте

Reading time12 min
Views22K

Привет всем, кто хочет изменять интерфейс мобильного приложения до выхода нового релиза, всем, кто хочет без лишних доработок на клиенте проводить А/B-тестирование, и всем, кто хочет забыть о срочных «новых пятничных промоакциях», которые нужны уже в понедельник. В этой статье мы поговорим об основах Backend-Driven UI: рассмотрим абстрактно, как всё работает на бэкенде и на клиенте. 

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

Большой гайд по планированию. Как впихнуть в сутки 40 часов и оставить время на личную жизнь?

Level of difficultyEasy
Reading time8 min
Views76K

Всем привет, на связи команда Skill Vortex!

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

Перед ним стояла задача – каким-то чудом совместить стажировку на полную ставку, учебу в ВУЗе, изучение иностранного языка и личную жизнь.

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

В этой статье:

Чуть подробнее про историю

Начинаем первичную обработку: утечки, приоритезация и пожелания

Составляем нормальное расписание: 7 основных принципов

Ищем недостатки в получившемся

Еще пара универсальных советов

Заключение и полезные ссылки

Читать далее
Total votes 38: ↑30 and ↓8+22
Comments114

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Reading time17 min
Views28K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

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

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

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

Про поставки и релизы в мобильной разработке

Reading time11 min
Views4.9K

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments7

Как улучшить английский в документации. Часть 2: ловушки двусмысленности

Level of difficultyMedium
Reading time9 min
Views5.5K

Привет, Хабр! Я работаю техническим писателем в компании documentat.io, мы занимаемся заказной разработкой технической документации, в том числе на английском языке.

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

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

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments5

Как написать симпатичный чейнджлог: опыт Авито

Reading time9 min
Views9.9K

Привет! Меня зовут Гера, я продуктовый редактор в Авито. Пишу тексты для интерфейсов и рассылок, а ещё — чейнджлоги для Google Play и App Store. Это тексты, в которых рассказывается, что появилось в новой версии приложения. По-английски их ещё иногда называют what's new или release notes.

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

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

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

Продуктовые команды: строим правильно

Reading time9 min
Views6K

Привет, Хабр!

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

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

Разработка IT-решений

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

В первом случае предполагается, что образуются команды с одинаковым набором экспертиз: команда backend-разработчиков, команда frontend-разработчиков, команда data science и т. д. Во втором случае команды формируются из людей с различными компетенциями для достижения некоторой бизнес-цели. Бизнес-целью может являться как создание и развитие продукта, так и выполнение определенного проекта.

Легенды гласят, что кросс-функциональные команды появились в далеких 1950-х годах.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Chief Executive Officer (CEO)
Lead
From 1,000,000 €
Git
PostgreSQL
Ruby on Rails
Ruby
Elixir
RSpec
High-loaded systems
Designing application architecture
Database
Software development