Pull to refresh
0
0
qoojoe @qoojoe

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

Send message

Примитивы синхронизации в Python Asyncio: Исчерпывающее руководство

Level of difficultyHard
Reading time14 min
Views12K

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

Что было дальше?
Total votes 15: ↑14 and ↓1+15
Comments4

Компьютерное зрение и котики. Или алгоритмы против человека

Level of difficultyMedium
Reading time16 min
Views4.2K

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

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

Промпт-инжиниринг: как найти общий язык с ИИ

Level of difficultyEasy
Reading time10 min
Views6K

В последние годы мир информационных технологий переживает настоящую революцию, связанную с развитием искусственного интеллекта (ИИ). Одной из наиболее захватывающих и новых профессий в этой области становится промпт‑инжиниринг. Меня зовут Наталья Бруй, я руководитель группы промпт‑инженеров MTS AI. В этой статье я расскажу почему эта профессия приобретает всё большую значимость и как можно использовать приёмы промпт‑инжиниринга в работе и повседневной жизни.

Читать далее
Total votes 21: ↑18 and ↓3+22
Comments2

Как я научил ChatGPT материться

Reading time3 min
Views16K

Заголовок не совсем точный. Я не учил ChatGPT материться — она прекрасно умеет это делать и без меня. Одну из её излюбленных фраз: F*ck me sideways with a chainsaw — я впервые услышал именно от ChatGPT.

Чтобы раскрыть полный потенциал ChatGPT, нужно лишь обойти фильтры контента. Зачем они нужны, прекрасно описано в фантастическом (а теперь уже пророческом) рассказе "Логический компьютер по имени Джо", опубликованном аж в 1946(!) году, то есть ещё до изобретения полупроводникового транзистора. Однако OpenAI, на мой взгляд, немного переборщили с ограничениями, и стандартный ответ: "Извините, как языковая модель на базе ИИ, я не могу..." — можно получить даже на самые безобидные запросы, например, "Какой твой любимый цвет?".

Jailbreak'ов, позволяющих обойти фильтры, существует уже огромное множество. Самый популярный, пожалуй, DAN (Do Anything Now), но есть другие. Однако практически у всех есть один существенный минус: они очень-очень-очень многословны. А это много токенов, потраченных неэффективно. Мне хотелось создать собственный jailbreak, который был бы максимально коротким. Желательно — всего одно предложение, которое можно выучить наизусть и легко вводить с клавиатуры, а не делать каждый раз copy-paste огромной портянки.

Результатом моего исследования стал этот пост на Reddit, который до сих пор находится в top5 за всё время в r/ChatGPT, а какое-то время был и top1.

Читать далее
Total votes 26: ↑23 and ↓3+23
Comments22

Как дать крылья своей сводной таблице в Apache Superset

Level of difficultyMedium
Reading time6 min
Views8.4K

Эта статья посвящена особенностям доработок в Apache Superset, и в ней я расскажу, как его можно использовать для визуализации больших объемов данных в рамках сводных таблиц.

Хочу читать дальше
Total votes 14: ↑14 and ↓0+14
Comments2

Топ-15 шпаргалок для программистов и WEB-разработчиков

Reading time4 min
Views37K

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

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

Хватит разговоров, давайте перейдем к делу.

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

5 библиотек Python для красивого вывода на консоль

Reading time2 min
Views26K

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

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

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

Давайте начнем!

Читать далее
Total votes 30: ↑26 and ↓4+29
Comments17

Основы правил проектирования базы данных

Reading time11 min
Views251K

Введение


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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать дальше →
Total votes 52: ↑42 and ↓10+39
Comments89

Насколько круто иметь свой сервер в комнате

Reading time6 min
Views121K

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Total votes 117: ↑116 and ↓1+146
Comments317

Программисты как дети

Reading time7 min
Views12K


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

Между делом она обозначила, что воспитательные приёмы – а детей мы тоже затронули (в целом – своих нет) – это не что иное как манипуляция. А раз так, то и со взрослыми есть некоторая градация допустимости «грязных трюков». 

Чтобы оспорить позицию «приём = манипуляция», я поспрашивал знакомых педагогов, есть ли какой-то справочник, с которым можно было бы свериться

Читать далее
Total votes 22: ↑18 and ↓4+20
Comments39

Как один мужик карту города рисовал

Reading time3 min
Views13K

Всем привет!



Сегодня поговорим о визуализации геоданных с помощью GeoPandas и Kepler.gl. Хотел бы рассказать, как я за пару дней построил вот такую карту, где высота полигонов регулировалась этажностью здания, а цвет - годом постройки.

Читать далее
Total votes 51: ↑48 and ↓3+58
Comments7

История создания домашнего облака. Часть 3. Создание персонального облака — установка и настройка Nextcloud

Reading time36 min
Views159K
На пути создания своего облачного сервиса пока мы освоились в системе Debian и создали веб-сервер. Теперь пришла пора для финального шага — создания и настройки персонального облака на базе сервера Nextcloud.


Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments45

Как вести переговоры с террористами… партнерами, детьми и вообще с кем угодно

Reading time11 min
Views92K

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

Читать далее
Total votes 152: ↑149 and ↓3+185
Comments177

Выборочный обход блокировок на маршрутизаторах с прошивкой Padavan и Keenetic OS

Reading time23 min
Views375K
Инструкций с разными вариантами обхода блокировок Интернет-ресурсов опубликовано огромное количество. Но тема не теряет актуальности. Даже всё чаще звучат инициативы на законодательном уровне заблокировать статьи о методах обхода блокировок. И появились слухи, что Роскомнадзор получит ещё одну пачку денег налогоплательщиков на «более лучшие» блокировки. Опытные пользователи ничего нового и полезного из статьи не узнают. А вот другие получат готовые пошаговые инструкции для простого и эффективного выборочного обхода блокировок на популярных маршрутизаторах с прошивкой Padavan и Keenetic.


Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments0

Эффективная работа с SQLite на примере ICQ

Reading time9 min
Views29K
Как и во многих других приложениях, нам в мобильном ICQ приходится хранить достаточно много информации: сообщения, контакты и тому подобное. Когда количество запросов к этим данным достигает какого-то критического значения, приложение начинает тормозить. Долгий запуск, медленное открытие чата, медленная отправка сообщений, постоянные спиннеры — все это жутко напрягает. Чаще всего причиной тормозов является неудачная работа с данными. В статье я хочу поделиться нашим опытом рефакторинга структуры данных, оптимизации запросов и некоторыми удобными приемами для миграции.

Несколько слов об исходной задаче. Основная сущность у нас — профиль ICQ, у которого есть список контактов, а у тех есть сообщения. Наше приложение существует уже много лет, разрабатывалось разными людьми с разными подходами, номер версии основной БД уверенно приближался к 30. Кроме того, количество фич в продукте невозможно предсказать заранее, это тоже повлияло на архитектуру. В общем, модель данных изначально была примерно такой:

Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments8

Структура Data Science-проекта с высоты птичьего полета

Reading time6 min
Views11K
Как узнать наверняка, что внутри у колобка?
Может, ты его проглотишь, а внутри него река?
© Таня Задорожная

Что такое Data Science сегодня, кажется, знают уже не только дети, но и домашние животные. Спроси любого котика, и он скажет: статистика, Python, R, BigData, машинное обучение, визуализация и много других слов, в зависимости от квалификации. Но не все котики, а также те, кто хочет стать специалистом по Data Science, знают, как именно устроен Data Science-проект, из каких этапов он состоит и как каждый из них влияет на конечный результат, насколько ресурсоемким является каждый из этапов проекта. Для ответа на эти вопросы как правило служит методология. Однако бОльшая часть обучающих курсов, посвященных Data Science, ничего не говорит о методологии, а просто более или менее последовательно раскрывает суть упомянутых выше технологий, а уж со структурой проекта каждый начинающий Data Scientist знакомится на собственном опыте (и граблях). Но лично я люблю ходить в лес с картой и компасом и мне нравится заранее представлять план маршрута, которым двигаешься. После некоторых поисков неплохую методологию мне удалось найти у IBM — известного производителя гайдов и методик по управлению чем угодно.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments6

Ирина — опенсорс русский голосовой помощник. Offline-ready

Reading time9 min
Views54K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >
Total votes 91: ↑89 and ↓2+106
Comments88

«Я не ответственный, я — Responsible» — как объяснить бабушке, что такое RACI-матрица

Reading time7 min
Views54K


Приехала я год назад к друзьям играть в настолки. А они ссорятся. Из-за того, что Маша сказала Саше вынести мусор / убрать носки / погулять с хомяком, а он не сделал, потому что тупо забыл. Рассказала я Саше и Маше про ToDoList и таск-трекеры и нарисовала им на холодильнике импровизированную асану. Маша наклеила стикеры с задачами и сроками, Саша терпеливо кивнул. Настолки состоялись.

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

Но потом решила, что всё нормально, лезут, т.к. вспомнила, что видела RACI-матрицу для распределения ответственности с шуточным объяснением через поездку семьи на дачу. Полезла искать эту картинку для Саши с Машей, нашла, а в ней куча ошибок:



Простите. Не могу промолчать. Не надо так.
Читать дальше →
Total votes 69: ↑63 and ↓6+74
Comments45
1

Information

Rating
Does not participate
Registered
Activity