Search
Write a publication
Pull to refresh
0
0
mitry @mitry

User

Send message

Итак, вы установили fzf. Что дальше?

Level of difficultyEasy
Reading time4 min
Views23K

Разработчики ПО — если не единственные, то практически единственные, кому очень просто создавать инструменты для улучшения своей профессиональной работы; однако со временем это усложняет жизнь людям, постоянно переключающимся между разными инструментами и не вкладывающим время в глубокое изучение своего инструментария. Имея глубокое уважение к негласным знаниям людей лучше меня, я всё же считаю, что отличная эвристика 80/20 заключается в том, чтобы изучать старые добрые инструменты Unix cat, ls, cd, grep и cut. (а если вам повезло устроиться на должность настоящего современного сисадмина, то ещё и sed с awk.)

Однако существуют инструменты, выгода от использования которых настолько мгновенна и ценность от применения настолько уникальна, что эвристика 80/20 полностью к ним неприменима. Один из них — это fzf. И меня очень печалит то, что многие скачивают его, запускают в командной строке «как есть», а потом просто мотают головой и произносят: «Я не понимаю».

Мне хотелось бы изменить ситуацию. Предположим, что вы работаете на более-менее стандартной машине с Ubuntu. Вы только что установили fzf при помощи стандартного скрипта установки. Что же дальше?
Читать дальше →

«Кем Вы видите себя через 5 лет», или HRско-русский разговорник

Level of difficultyEasy
Reading time8 min
Views76K

Вас спрашивали «Кем Вы видите себя через 5 лет»? Меня тоже. За двадцать пять лет в IT я понял, зачем они так делают. Понял – это значит, что я «привык и научился пользоваться» (С). Но «неприятно удивлять» они меня не перестали.

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

Дисклеймер:

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

Читать далее

Модели Эло и ЭлоБета в снукере

Reading time24 min
Views5.4K

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


Её основной недостаток заключается в том, что она учитывает только факт турнирного достижения без учёта "сложности" матчей. Такого недостатка лишена модель Эло, которая следит за "силой" игроков и обновляет её в зависимости от результатов матчей и "силы" соперника. Однако, и она подходит не идеально: считается, что все матчи проходят в равных условиях, а в снукере они играются до определённого количества выигранных фреймов (партий). Для учёта этого факта, я рассмотрел другую модель, которую назвал ЭлоБета.


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


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

Красота не только в коде — как оформлять репозиторий

Level of difficultyEasy
Reading time7 min
Views42K

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

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

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

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

Узнать, как оформлять репозитории

Нечёткий поиск в тексте и словаре

Reading time13 min
Views270K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →

Доработка домофона протоколом MQTT для управления с телефона (версия 2.0)

Reading time4 min
Views78K
Совсем недавно я уже писал про доработку домофона протоколом MQTT.

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

Как конфигурировать Git

Reading time13 min
Views15K

Какие настройки git config сейчас следует устанавливать по умолчанию? Ниже рассмотрены избранные настройки, менять которые не стесняются даже разработчики самого Git.

Несколько недель назад я написал о настройке Git help.autocorrect и поведал странную историю о том, как её значение стали задавать в децисекундах.  

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

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

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

Читать далее

Tree-sitter: обзор инкрементального парсера

Reading time5 min
Views12K

Некоторые IDE и текстовые редакторы парсят исходный файл целиком при каждом изменении, что может тормозить на больших файлах, а некоторые делают это построчно с помощью регулярных выражений, что тоже тормозит и не даёт качественной подсветки кода, т.к. теряется контекст. Для решения этих проблем в недрах GitHub был создан tree-sitter - инкрементальный парсер, который используют всё больше и больше проектов. Давайте разбираться зачем и почему.

Читать далее

Малоизвестные, но крутые атрибуты в HTML

Reading time4 min
Views30K


Спросите случайного фронтендера, какие атрибуты HTML он использует — и услышите что-то вроде «src, href, style, class...» и прочую чепуху, которую всем ещё в младенчестве вживили на чипе агенты IETF. Между тем, стандарты веба не стоят на месте, и с каждым годом в браузерах появляются всё более крутые фичи не только для монструозного CSS, но и для обычных элементов HTML. Вы знали, что с помощью атрибутов можно пинговать* произвольный адрес, а элементы формы могут многократно переопределять её поведение? Вряд ли.

Змеиный сахар или пишем свой range в JavaScript

Reading time2 min
Views6.3K
Многие любят Python… Новички восщищаются отсутствием точек с запятой, а продвинутые радуются действительной простотой. Сегодня речь и пойдет о том, как в JavaScript реализовать подобие той самой простоты Python, а конкретно функцию range.

В Python по функции range можно итерировать или, например, преобразовать в массив — list(range(begin, end)).

Но вопрос в том, можно ли мощностями JavaScript создать что-то подобное и при этом, чтобы решение выглядело нативным и простым?

Первое, что приходит в голову — написать подобный класс:

function range(from, to, step = 1){
    this.current = from
    this.to = to
    this.step = step

    this.next = () => (this.current += step) % to
}
Читать дальше →

Всё уже придумали за нас: библиотеки с тысячами готовых GPT-промтов для работы, учёбы и отдыха

Level of difficultyEasy
Reading time3 min
Views162K

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

Читать далее

Необычные способы хостинга

Level of difficultyMedium
Reading time7 min
Views28K


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

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

Level of difficultyMedium
Reading time3 min
Views56K

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

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

Читать далее

Вы не знаете CSS. Мои вопросы о CSS с ответами

Level of difficultyMedium
Reading time7 min
Views14K


Хабр, привет! Я стабильно пишу здесь о CSS. Мне радостно, что моя работа вам полезна. Но хочется чего-то нового. Вызывающего споры. В общем я возвращаюсь к формату статей в виде вопрос-ответ. Вопросы будут те, которые я спрашиваю на интервью. Так что у вас будет повод сказать: «А зачем это надо?».


При составлении вопросов я хотел проверить понимание базовых моментов, которые есть в вёрстке любого проекта. Ещё будут вопросы на знание более редких аспектов и «новинок» в CSS. В общем я хочу вас завалить, чтобы казаться супер умным! (здесь ирония).


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


Так, вы готовы? Давайте посмотрим, что я вам подготовил.

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

Задача про счастливые билетики и ТФКП

Level of difficultyMedium
Reading time2 min
Views7.3K

Здравствуйте, друзья!

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

Читать далее

JavaScript: структуры данных и алгоритмы. Часть 1

Level of difficultyMedium
Reading time33 min
Views30K


Привет, друзья!


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



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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

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

Топ-11 бесплатных нейросетей для генерации изображений: лучшие AI генераторы 2025 года

Level of difficultyEasy
Reading time8 min
Views493K

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

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

Читать далее

CSS в 2025: какие фишки теперь доступны?

Level of difficultyMedium
Reading time6 min
Views18K


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


В начале января 2025 года мне захотелось посмотреть, какие новые фишки CSS стали поддерживаться современными браузерами за прошлый год. Провести некий срез, что уже можно использовать. И тут меня посетила мысль: «А почему бы не поделиться новинками на Хабре?». Вот я и пришёл.


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


Для составления списка я использовал сайт «Can I Use». Брал те новшества, которые стали «зелёными» в 2024 году. Смотрел последние версии браузеров Chrome, FireFox, Opera, Edge, Safari, iOS Safari, Samsung Internet и Android Browser.


Не буду больше тянуть. Давайте посмотрим, что я вам подготовил.

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

Prompt engineering 101

Level of difficultyEasy
Reading time26 min
Views20K

Привет!

Использование LLM все больше проникает в бизнес. И ритейл — не исключение. В X5 мы решили сделать небольшую методичку по prompt engineering для обычного бизнес‑пользователя. Мы посмотрели на получившийся результат и решили поделиться этой методичкой с сообществом, чтобы как можно больше людей смогли овладеть разными техниками, позволяющими работать с LLM эффективнее.

Для этого нам сначала придется разобраться с тем, как вообще устроены LLM, затем поговорим о промптах: общие принципы построения, техники оптимизации и промпты для изображений. А на десерт предложим вам продвинутые техники работы с LLM: автоматизированные подходы по улучшению промптов, Retrieval‑Augmented Generation и разметка данных для ML с помощью LLM.

Читать далее

100 промптов для ChatGPT

Reading time10 min
Views73K

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity