Pull to refresh
77
0.1
Роман @RomeoGolf

инженер-программист

Send message

Как оседлать бесконечный поток дел

Level of difficultyEasy
Reading time11 min
Views9.3K

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

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

Что же делать? Как снять эту боль?

Нужен простой советский…
Total votes 21: ↑18 and ↓3+18
Comments26

Qt — трудности перевода

Reading time6 min
Views63K
Вы написали программу на Qt и хотите перевести ее на другие языки, что бы сделать ее полезной для людей в других странах. Сделать это не просто, а очень просто. Для этого нам потребуется сделать всего три простых шага.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments6

Как я после колледжа в Екатеринбурге поступил в чешский университет на программиста

Reading time5 min
Views5K

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

Читать далее
Total votes 23: ↑16 and ↓7+20
Comments41

Уровни английского языка: детальный разбор критериев в 2023

Level of difficultyEasy
Reading time10 min
Views59K

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

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments4

Как задеплоить своего телеграм-бота (почти) бесплатно — Quickguide в облачный Serverless

Reading time5 min
Views16K

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

Готовых фреймворков для телеграм-ботов уже достаточно много на любых языках. Однако после написания кода встает вопрос: а как теперь заставить бота работать постоянно, сделать доступным 24/7?

Новички оставляют персональный компьютер работающим и опрашивают сервер телеграма с некоторой частотой. У опытных, скорее всего, есть свой VPS-сервер с reverse proxy для деплоя приложений. Первое решение не является высокодоступным, а отдельный сервер, даже в облаке, — это слишком дорого для деплоя одного бота. В статье расскажу об альтернативном решении.

Читать дальше
Total votes 20: ↑17 and ↓3+18
Comments19

Какая ты кривая, или математика вокруг нас

Level of difficultyEasy
Reading time15 min
Views23K

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

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

Трудности общения. Как преодолеть застенчивость и перестать бояться людей

Level of difficultyEasy
Reading time8 min
Views77K

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

Читать далее
Total votes 35: ↑24 and ↓11+21
Comments171

LangBar++. Два вечных вопроса: индикация раскладки и ее исправление в набранном тексте

Level of difficultyEasy
Reading time6 min
Views4.5K

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

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

Как журналист помогает выявлять серийных убийц с помощью алгоритма

Reading time14 min
Views18K

17 октября 2014 года в мотеле маленького городка Хаммонд, Индиана, был обнаружен труп 19 летней Африки Харди. Вызванные на место полицейские почти сразу пришли к выводу, что это было убийство. На поиски убийцы ушло меньше суток — его обнаружили по записям камер наблюдения, установленных возле мотеля, а также по анализу телефонных разговоров жертвы (в номере был найден её телефон).

43-летний Даррен Ванн был арестован уже 18 октября и, как ни странно, совсем не был удивлён появлению полиции. Когда наручники защёлкнулись на его запястьях, Даррен повернулся и сказал полицейскому: «Наконец-то вы меня поймали». Так попался серийный убийца, жертвами которого стали ещё минимум шесть женщин. Но как полагали детективы, на самом деле счёт приближался к 20. 

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

Поймать маньяка
Total votes 50: ↑48 and ↓2+63
Comments29

Security Week 2320: патч Microsoft выключит старые загрузочные носители

Reading time3 min
Views8K
В ближайшем будущем загрузочные диски и флешки с Windows могут перестать работать. Виной тому — патчи Microsoft для уязвимости, позволяющей обходить систему защиты Secure Boot. Проблему, обнаруженную еще в прошлом году, подробно описала компания ESET: по данным экспертов, это первый случай, когда обход Secure Boot активно используют в реальном вредоносном программном обеспечении, а конкретно — в бутките BlackLotus.


Как сообщает издание Ars Technica, помимо изначальной уязвимости CVE-2022-21894, задокументированной в январе 2022 года, обходить защиту Secure Boot также можно с помощью схожей проблемы с идентификатором CVE-2023-24932. В обоих случаях атакующие используют штатные компоненты Windows. Для решения проблемы, таким образом, нужен не только выпуск патчей, но и запрет на выполнение старых легитимных версий ПО. Вследствие этого запускать старые загрузочные носители будет невозможно.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments15

Как быстро вычисляются логарифм и экспонента в компьютере?

Reading time7 min
Views6.3K

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

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

Scrum Story Points. Сторипойнты. Или изобретение дьявола

Level of difficultyMedium
Reading time5 min
Views3.5K

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

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

Что делать, если вы не согласны на обработку ваших персональных данных?

Level of difficultyEasy
Reading time10 min
Views31K

Привет, Хабр! Меня зовут Татьяна Никонорова, я работаю ведущим консультантом по ИБ и занимаюсь разработкой организационно-распорядительных документов. Проще говоря, перевожу со сложного юридического языка на понятный русский -))

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

Читать далее
Total votes 28: ↑26 and ↓2+36
Comments51

Укрощение имен. Как нейминг помогает оптимизировать код

Reading time12 min
Views9.7K

Что такое имя? Имя — это ярлык, дескриптор, указатель в вашей памяти. Это краткое изложение сложной идеи. Оно позволяет ссылаться на «экономику» или «догфудинг» в середине предложения, избегая развернутого на три абзаца объяснения термина.

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

Под катом разработчик Джозеф Гласс* делится правилами эффективного нейминга и разбирает их на практических примерах.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 45: ↑38 and ↓7+32
Comments6

Как получить 9В/12В от зарядного с Quick Charge (на примере STM32)

Reading time3 min
Views56K

Чем может быть полезна быстрая зарядка


С увеличением ёмкости аккумуляторов телефонов потребовалось увеличить и мощность зарядных устройств, чтобы достичь маленького времени зарядки, для чего и нужно было увеличивать выходную мощность: напряжение, ток. Таким образом зарядные с Quick Charge 3.0 кроме 5 В могут выдавать 9В/12В/20В +возможность регулировки с шагом 0.2 В (до 12 В).


image

Ввиду распространенности ЗУ с этой технологией появляется интерес использовать их для получения повышенного напряжения без дополнительных преобразователей.

Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments23

Как ускорить бинарный поиск

Level of difficultyEasy
Reading time7 min
Views11K

Приветствую, сообщество Habr.

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

Читать далее
Total votes 19: ↑9 and ↓10+6
Comments36

[Паттерны API] Асинхронность и управление временем

Level of difficultyHard
Reading time7 min
Views7.5K

Это глава 19 моей книги «API». v2 будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

Продолжим рассматривать предыдущий пример. Пусть на старте приложение получает какое-то состояние системы, возможно, не самое актуальное. От чего ещё зависит вероятность коллизий и как мы можем её снизить?

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

Наш сценарий использования, напомним, выглядит так:

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments0

Почему MVx архитектуры всегда получаются плохо

Reading time7 min
Views19K

Привет, меня зовут Владимир и у меня есть кое-что что надо обсудить, но сначала позвольте мне быстро рассказать как все это началось.

Я познакомился с понятием “архитектурные паттерны” и MVC в частности еще в 2012, и с тех пор заболел идеей архитектур программного обеспечения. Я восхищался людьми, которые пишут архитектурные фреймворки. Я тратил дни и недели читая их исходники и просматривая видео на YouTube. Но чем больше я в это погружался, тем больше я чувствовал себя в состоянии, которое я называю “начинающий иллюзионист”: пока смотришь на фокусы - это магия, но когда начинаешь их делать, то они становятся банальными.

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

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

В своих скитаниях я нашел кое-что не менее интересное: причину почему MVx всегда получается плохо. И вот об этом и пойдет речь сегодня.

Читать далее
Total votes 42: ↑38 and ↓4+40
Comments18

Clean Architecture

Level of difficultyEasy
Reading time8 min
Views60K

Как многие разработчики, я прекрасно понимаю, насколько важно создавать приложения, которые будет легко поддерживать, расширять и развивать в долгосрочной перспективе. Именно поэтому принципы Clean Architecture (Чистая архитектура) стали неотъемлемой частью моей работы. В этой статье я расскажу о том, почему следование принципам Clean Architecture так важно и какие преимущества эти принципы могут дать.

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

Information

Rating
3,986-th
Location
Свердловская обл., Россия
Date of birth
Registered
Activity