Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

LangСhain: создаем свой AI в несколько строк

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров42K

В этой данной статье познакомимся с LangChain, перспективным фреймворком для работы с языковыми моделями. С его помощью можно создать свой собственный аналог ChatGPT всего в несколько строк кода. Благодаря модульной структуре, LangChain позволяет быстро и легко разрабатывать AI приложения различной сложности.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Как написать свой режим для GNU Emacs и опубликовать его в MELPA

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров2.2K

Некоторое время назад я разработал режим GNU Emacs для редактирования конфигурационных файлов операционной системы Embox. Кроме всестороннего изучения Emacs Lisp мне потребовалось разобраться со структурой модуля режима, а также процессом и требованиями к публикации пакетов в MELPA, наиболее популярном архиве пакетов для GNU Emacs. В этом руководстве я расскажу, что нужно знать, чтобы написать свой собственный режим, и как опубликовать свой собственный пакет.

Запускаем свой Emacs!
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Введение в GitLab CI

Время на прочтение6 мин
Количество просмотров243K

Публикую перевод моей статьи из блога ГитЛаба про то как начать использовать CI. Остальные переводы гитлабовских постов можно найти в блоге компании Softmart.




Представим на секунду, что вы не знаете ничего о концепции непрерывной интеграции (Continuous Integration — CI) и для чего она нужна. Или вы всё это забыли. В любом случае, начнем с основ.


Представьте, что вы работаете над проектом, в котором вся кодовая база состоит из двух текстовых файлов. Более того, очень важно, чтобы при конкатенации этих файлов в результате всегда получалась фраза "Hello world." Если это условие не выполняется, вся команда лишается месячной зарплаты. Да, все настолько серьезно.


Hello wolrd


Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии21

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

Время на прочтение8 мин
Количество просмотров257K
image

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

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

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

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+16
Комментарии10

Это база. Сетевая модель OSI. Истоки

Время на прочтение11 мин
Количество просмотров95K

Ни один курс по сетевым технологиям не обходится без модели Open Systems Interconnection или попросту OSI. Как говорится, «это баааза», на принципах которой создавались другие современные модели. Хотя сегодня она не особо применяется на практике, это не значит, что сетевым специалистам не нужно понимать ее принципы. 

История модели OSI задокументирована не полностью, но нам известны имена людей и названия организаций, вовлеченных в ее создание. Поэтому в этой статье были собраны известные факты об OSI на основе материалов из Интернета, например, онлайн-книги Джеймса Пелки «History And Development Of The Osi Model» и данных из интервью 1 и интервью 2 с Чарльзом Бакманом. Также на Habr я наткнулась на перевод статьи «OSI: Интернет, которого не было», где представлена история о моделях OSI и TCP/IP. Однако я решила самостоятельно изучить истоки OSI и больше углубится в этот период. Если вам интересно понять, что же тогда происходило, то приступим.

Читать далее
Всего голосов 12: ↑11 и ↓1+11
Комментарии8

Создание telegram-ботов с интерактивным меню

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров41K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

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

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

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

Читать далее
Всего голосов 22: ↑21 и ↓1+23
Комментарии4

Использование быстрых клавиш в командной строке Linux (BASH)

Время на прочтение14 мин
Количество просмотров93K

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

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

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

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

Читать далее
Всего голосов 115: ↑114 и ↓1+141
Комментарии64

10 полезных ИИ, которые облегчат вашу жизнь

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров54K

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

Узнайте, как автоматизировать рутинные операции с помощью умных ассистентов. Читайте наш обзор и выбирайте самые полезные инструменты для себя!

Читать далее
Всего голосов 20: ↑15 и ↓5+14
Комментарии8

Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3K

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

Бизнес процессы, описывающие производственную деятельность принято представлять в формате BPMN, а системы, автоматизирующие бизнес-процессы, часто создают с использованием ИТ-платформ типа Camunda. Camunda выступает в роли BPMN-движка.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

Первые шаги в ML на обучающем хакатоне: обнаружение птиц на фотографиях yolov8s + sahi

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.5K

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

Изучая задачу, я понял, что мне нужно обнаруживать чаек по фотографиям. Для решения задачи я решил использовать yolov8s, потому что он мне показался оптимальнейшим из линейки yolov8 для моего случая. Также, мне как-то рассказывали про sahi (Slicing Aided Hyper Inference), и я решил, что это мой шанс попробовать этот инструмент в качестве улучшения конечного результата.

Итак, у меня был датасет, включающий фотографии, уже разбитые на train, validation, test, запакованные в zip архив. Первым делом, я клонирую репозиторий для yolov8, устанавливаю и импортирую необходимые на первых парах библиотеки и распаковываю то, что нужно распаковать.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

Частые ошибки программирования на Bash

Время на прочтение9 мин
Количество просмотров95K
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.

Поехали!
Всего голосов 79: ↑76 и ↓3+73
Комментарии25

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров191K

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

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

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии177

Общество полной справедливости и неравенства

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров24K

Американские психологи однажды провели потрясающе простой эксперимент.

Человеку дается сто долларов и говорится, что неплохо было бы поделиться ими еще с одним человеком. Второй участник не присутствует ни до, ни во время, ни после эксперимента, то есть может попросту не существовать. Сто долларов между тем совершенно реальны (святым американцы не шутят). В среднем испытуемый отдает из упавшего с неба стольника 25 долларов. Конечно, встречаются жадины, оставляющие все себе, альтруисты, отдающие все до последнего цента, эгалитаристы, делящие все пополам, но средняя цифра именно такова: три четверти себе, четверть – другому. (Наш фирменный главбух, любезная Анна Анатольевна, ни секунды не думая, сказала, что отдала бы половину. Думаю, в бухгалтерии у нас все в порядке).

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

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

Читать далее
Всего голосов 63: ↑56 и ↓7+64
Комментарии236

DeepPavlov «из коробки» для задачи NLP на Python

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.1K

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

Сегодня с вами участник профессионального сообщества NTA Пётр Гончаров.

В этом посте я разобрал последовательность действий, выполненных при решении задачи автоматизированного анализа текстовой информации в публикациях на Хабре для составления отчётов: парсинга сайта и использования «из коробки» инструментов библиотеки DeepPavlov для поиска ответов на вопросы в заданном контексте.

Погрузиться глубже
Всего голосов 6: ↑5 и ↓1+6
Комментарии2

Python3 + C, есть ли смысл?

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7.4K

Доброго времени суток! В данной статье рассмотрим стоит ли интегрировать методы из С в проекты написаные на Python3 и как это сделать.

Перейти к публикации --->
Всего голосов 8: ↑6 и ↓2+4
Комментарии14

Что нам стоит диаграмму в Python построить: 5 вариантов привлекающей внимание визуализации данных и кое-что ещё

Время на прочтение6 мин
Количество просмотров14K

Диаграммы помогают визуализировать как простые, так и самые сложные наборы данных. При этом диаграмм — множество видов, у каждого есть свои достоинства и недостатки. О наиболее эффектных и эффективных, реализуемых с Python, мы решили рассказать в сегодняшней подборке. Если вам интересна эта тема – просим под кат. А если у вас есть собственные предпочтения среди графиков (или вы используете что-то ещё), то пишите в комментариях, обсудим. Что же – поехали!

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Ошибки, которые я совершил, будучи молодым менеджером

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров19K

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

Ниже я дам небольшую, старательно собранную подборку собственных ошибок и стратегий, которые помогли их преодолеть.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+39
Комментарии4

Пишем торгового бота для акций

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров32K

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

Читать далее
Всего голосов 11: ↑5 и ↓6+1
Комментарии26

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Время на прочтение12 мин
Количество просмотров89K

Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект Easyworkstation. Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.

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

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

А теперь ретроспектива
Всего голосов 300: ↑300 и ↓0+300
Комментарии206

Пишем простой ML веб-сервис на FastAPI

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров15K

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

Мы будем использовать модель из библиотеки Hugging Face Hub, но описанный подход подойдет для любой задачи машинного обучения.

План:

1. Загрузка и подготовка модели машинного обучения для использования в веб-сервисе.

2. Создание веб-сервиса с помощью FastAPI.

3. Изучение пользовательского интерфейса FastAPI для удобного ручного тестирования и демонстрации работы приложения.

4. Написание автоматических тестов с помощью библиотеки pytest.

5. Запуск приложения в Docker-контейнере.

Код доступен на GitHub.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии3
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность