DevChallengesLog
35 subscribers
1 photo
4 links
“DevChallengesLog: Ваш путеводитель в мире IT. Ежедневные обновления о решении сложных задач разработки и системного администрирования. Инсайты, опыт и практические советы для IT-специалистов.”
Download Telegram
🚀 DevChallengesLog: Итоги Этапов Интеграции ChatGPT

🔹 Отложенный Второй Этап
Мы решили отложить второй этап до выяснения, какие задачи и кто может их решить. Начат сбор предложений от пользователей. Параллельно изучаем возможности 4-й версии ChatGPT для наших ИТ-задач.

🔹 Прикладная Задача на Третьем Этапе
Сфокусировались на работе с аудиторией, ранее интересовавшейся нашей продукцией. Задача – выборка из отчета "Заказы клиентов" в 1С, порученная ChatGPT.

🔹 Четыре Подхода к Выборке:
1️⃣ JSON и 1С Запросы: Сформирован JSON из шапки отчета 1С для обучения ChatGPT. Необходимы доработки со стороны программиста из-за нехватки информации.
2️⃣ Микросервис и ChatGPT: Выгружен широкий отчет в микросервис. Используем ChatGPT для анализа и формирования выборки на основе запроса пользователя.
3️⃣ SQL Запросы к БД: Подобно п.1, но с SQL запросами. ChatGPT лучше справляется, но есть проблемы с пониманием полей.
4️⃣ Google Sheets и ChatGPT: Отложен из-за необходимости автоматизации передачи данных.

🔹 Преграды по Способам:
1️⃣ Недостаток Информации для ChatGPT: ChatGPT не распознает специфику полей 1С.
2️⃣ Ограничения API ChatGPT: API поддерживает только текст. Большие файлы требуют слишком много токенов.
3️⃣ SQL vs 1С Запросы: ChatGPT лучше работает с SQL, но есть проблемы с полями.
4️⃣ Google Sheets Отложен: Необходима автоматизация передачи данных.

🔹 Новый Подход: ChatGPT Ассистенты
В процессе изучения обнаружен новый способ с ассистентами ChatGPT, принимающими файлы целиком. Пока в бета-версии, но перспективен.

👨‍💻 Пример Кода для JSON to SQL Query:

python
-------------------------
import json

# Пример JSON данных из 1С
json_data = {...}

# Преобразование JSON в SQL запрос
def json_to_sql(json_data):
# Реализация преобразования
return sql_query

sql_query = json_to_sql(json_data)
--------------------------

Оставайтесь с нами для следующих обновлений!

#DevChallengesLog #ChatGPT #AIIntegration
👍1👏1
🚀 DevChallengesLog: Итоги Работы с ChatGPT за Праздничные Дни

🔹 Общий Обзор
Постараемся резюмировать всё, что успело произойти за праздничные и пару послепраздничных дней.

🔹 Проверили - выкинули

1. Отказались от отправки полного файла для анализа, вернувшись к версии, где мы описываем правила, а GPT формирует запрос для выборки из БД.
2. Отказались от использования ассистента, так как он отправлял все запросы через API, что делало тесты дорогостоящими и некачественными.

🔹 Новые Тесты и Подходы
Начали тестирование на GPTs, который позволяет использовать файл для обучения и текст инструкций.
Файл для обучения содержал две вкладки: отчет из 1 тыс. строк и легенду с описанием всех полей.

🔹 Проблемы и Их Решения

Проблемы с Анализом Легенды:
GPT не анализировал всю легенду, выбирая первое подходящее поле.
Решение:
Сократили отчет до 50 полей и строк в легенде, после чего GPT начал находить более подходящие поля.

Ошибки в SQL Запросах:
Проблема с артефактами и неправильными полями в запросах.
Решение:
Добавили команду в инструкции для перепроверки запроса по синтаксису и полям в легенде, что устранило ошибки.

Лишний Текст в Ответах:
GPT выводил лишний текст вместе с запросом.
Частичное решение:
Добавили в инструкцию просьбы об
очистке текста в ответе. Несмотря на это, иногда текст всё равно появляется, что требует дополнительного парсинга для выделения запроса.

Поиск Полного Соответствия Значений:
При поиске полного соответствия GPT и пользователь не знали точное значение (например, "Физическое лицо" вместо "Физика").
Решение:
В инструкции указано анализировать данные в отчете для поиска значений, максимально приближенных к пользовательской формулировке.

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

🔹 Теоретические Справки и Код

SQL Запросы и GPT:
GPT модели могут быть обучены для формирования SQL запросов, но они требуют точной спецификации и ограничения в данных для эффективной работы.

# Пример кода для генерации SQL запроса с GPT
import openai

prompt = "Сформируй SQL запрос для выборки данных по следующим критериям: ..."
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
max_tokens=150
)
print(response.choices[0].text.strip())


🔹 Выводы и Планы на Будущее
Работа с GPTs представляет собой серию испытаний и ошибок, но мы находим новые способы оптимизации и автоматизации процессов. Оставайтесь с нами для дальнейших обновлений!

#DevChallengesLog #ChatGPT #DataAnalysis
👍1👏1
Суть проблемы подборов и их важность

🔍 Проблема подбора оборудования: почему это критично для вашего бизнеса?

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

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

Полезный инсайт: Начните с анализа ваших текущих и будущих потребностей в оборудовании. Это поможет сузить круг поиска и сделать подбор более целенаправленным. #ПодборОборудования #DevChallengesLog #ChatGPT
Как сейчас делается подбор инженерами

"🛠 Текущий процесс подбора оборудования: почему это боль и как мы с этим живем?

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

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

Полезный совет: Организуйте процесс подбора так, чтобы минимизировать время на поиск и анализ. Создайте шаблоны запросов и используйте единую систему для сравнения характеристик. #ЭффективностьЗакупок" #DevChallengesLog #ChatGPT
👏2
Как можно решить эту задачу при помощи ChatGPT

"🤖 Революция в подборе оборудования с ChatGPT: реальное применение

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

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

Полезный эксперимент: Попробуйте интегрировать ChatGPT в ваш процесс подбора оборудования. Начните с простых запросов, постепенно увеличивая сложность, чтобы оценить эффективность и точность подбора. Это позволит вам на практике увидеть все преимущества использования ИИ. #ИИ_в_Закупках" #DevChallengesLog #ChatGPT
🔥 Немного истины, которую многие забывают 🔥

‼️ Никогда не правьте системные файлы Linux через текстовые редакторы(nano, vi и т.д.)! Файлы, такие как passwd, shadow, sudoers и т.д.!!! ‼️

⚙️ Используйте только команды, которые дополняют эти файлы нужными вам параметрами:

📌 Например, если вам нужно создать нового пользователя в системе:

useradd -G sudo -s /bin/bash -m -d /home/%username% %username%

Где:
- -G sudo — добавление в группу sudo
- -s /bin/bash — указание оболочки по умолчанию
- -m -d /home/%username% — создание домашней директории и присвоение пользователю

⚠️ А если вы не последуете этому совету, вас ждет неминуемое! ⚠️

1. /bin/bashroot:x:0:0:root:/root:/bin/bash
2. CD-ROM iso img
3. fdisk -l
4. mkdir /mnt/myroot
5. mount /dev/sdXY /mnt/myroot
6. chroot /mnt/myroot
7. passwd username

🤔 Кто понял, о чём речь, ставьте 👍, кто нет — 😳 (и я расскажу подробнее о последствиях)

#linux, #passwd, #sudo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀2
⚙️ Сегодняшний инцидент с VCSA от VMware ⚙️

🔔 Проблема:
Ночью пришло уведомление, что наш VCSA был недоступен. Позже днем появилось сообщение о повышенной нагрузке на CPU из-за процесса API. Эта комбинация уведомлений от Nagios вызвала беспокойство, и я решил проверить сервер.

🔐 Ошибка авторизации:
При попытке войти через SSH я получил сообщение об ошибке пароля. Каждая новая попытка приближала к блокировке учетной записи root (оставалось 5, 4, 3 попытки…). В итоге пришлось сбросить пароль через загрузчик с помощью известного алгоритма:

- rw init=/bin/bash
- mount -o remount,rw /
- pam_tally2 --user=root --reset
- passwd
- umount /
- reboot -f


💡 Если кому-то понадобится помощь с этим процессом — пишите, помогу!

🧐 Смена пароля не помогла
Несмотря на сброс пароля, система по-прежнему выдавала ошибку. Тогда я создал новую учетную запись и успешно вошел в систему, но переключиться в /bin/bash не удавалось.

⚙️ Решение проблемы:
- Заменил оболочку для новой учетной записи на /bin/bash через файл passwd
- Добавил sudo-привилегии
- Удалось зайти под собой, переключиться на root, но команда shell всё ещё выдавала ошибку.

🔍 Выяснилось:
Проблема была в остановленной службе applmgmt, которая отвечает за оболочку /bin/appliancesh VCSA. После её запуска:

 service-control --start applmgmt

🛠️ всё заработало, и я смог авторизоваться под root. Вот такая история про неожиданную проблему с оболочкой VCSA!

Будьте внимательны, чтобы не перепутать "дверь", в которую заходите! 😄

#VMware #VCSA #SysAdmin #SSH #сброспароля

[Написать мне](https://t.me/tocha4)
📧 Как работают сервисы по поиску корпоративных email и как сделать это самостоятельно?

Задумывались ли вы, как такие сервисы, как voilanorbert.com, находят корпоративные email по фамилии, имени и домену компании? И как можно это реализовать самому? Давайте разберем.

🔍 Алгоритм работы таких сервисов:

1️⃣ Преобразование ФИ в латинские буквы
Для начала, если у вас русские фамилия и имя, их нужно перевести в транслит. Для этого можно использовать библиотеку Python:
from transliterate import translit


2️⃣ Перебор типовых комбинаций email-адресов
После этого сервис перебирает стандартные комбинации email-адресов на основе введенных данных, например:
- f"{first_name}@{domain}"
- f"{last_name}@{domain}"
- f"{first_name}.{last_name}@{domain}"
- f"{first_name[0]}{last_name}@{domain}"
- и другие...

3️⃣ Проверка существования email
Далее можно воспользоваться сервисом проверки email, например, millionverifier.com, или же написать свой собственный скрипт. Для проверки чаще всего используется метод HELO, который не отправляет письма, а проверяет email через SMTP. Пример кода:

print(f"Connecting to SMTP server: {mx_record}")
server = smtplib.SMTP(mx_record)
server.set_debuglevel(1)
server.helo(server.local_hostname)
server.mail('noreply@example.com') # отправитель
code, message = server.rcpt(email) # проверка email
print(f"Server response: {code}, {message}")


📒 Совет:
Ведите таблицу найденных email — обычно формат адресов в рамках одного домена остается одинаковым. Это поможет вам избежать лишних итераций в будущем.

⚠️ Ограничения:
Учтите, что крупные компании, такие как МТС или Роснефть, имеют защиту от проверки email на существование. В таких случаях даже платные сервисы не помогут, если в их базе нет уже проверенных email через реальные отправки писем.

💡 Интересно?
Если вас заинтересовал этот подход — обращайтесь! Я могу поделиться готовыми скриптами или дать советы по их составлению.

#корпоративныеEmail #Python #SMTP #автоматизация #проверкаEmail

[Написать мне](https://t.me/tocha4)
🔍 Где найти контакты ЛПР по нужным направлениям?

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

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

📉 Негативный эффект:
Результат таких рассылок — ваши письма попадают в спам, а телефонные звонки получают жалобы, что ведет к попаданию номеров в черные списки. Это говорит о том, что сбор чистой клиентской базы требует индивидуального подхода под конкретные нужды.

⚙️ Как мы решаем этот вопрос?

### 🔧 Наш путь: ручной труд
1️⃣ Фильтрация резюме на hh.ru:
Создаем фильтры по интересующей нас компании и собираем все резюме, где указана эта компания как последнее место работы. Добавляем дополнительные фильтры (уровень знаний, должность, опыт и т.д.).

2️⃣ Просмотр резюме:
Изучаем каждое резюме вручную, отбирая тех, чьи должностные обязанности соответствуют нашим требованиям. Это можно сделать бесплатно!

3️⃣ Получение контактов:
Для получения контактных данных используем платформы вроде Kwork. Рабочие email подбираем с помощью скриптов, описанных в предыдущем посте.

### 🤖 Автоматизация
Когда нужно собрать 200+ контактов в неделю, ручная обработка уже не справляется. Поэтому мы перешли к полной автоматизации:

1️⃣ Сбор резюме через API hh.ru
Забираем резюме с нужными фильтрами и сохраняем необходимые блоки информации.

2️⃣ Анализ через ChatGPT
Отдаем собранные резюме на анализ ChatGPT с заранее подготовленным промтом. Это позволяет:
- Исключить нерелевантные резюме
- Получить дополнительную фильтрацию по параметрам, которых нет в hh
- Оценить вероятность того, что кандидат является ЛПР по 10-балльной шкале

3️⃣ Покупка и открытие резюме
Через API покупаем доступ только к тем резюме, которые точно нам интересны.

4️⃣ Подбор рабочих email
Скрипты подбирают рабочие email, так как в резюме указаны только личные.

📊 Что мы получаем на выходе?
Полностью автоматизированная таблица с колонками:
- ФИО
- Должность
- Компания
- Оценка ЛПР
- Телефон
- Личный email
- Рабочий email

💸 Цена одного ЛПР — около 90 рублей.

Если вам нужны качественные контакты, собранные под ваши продуктовые направления — обращайтесь за консультацией!

#контактыЛПР #автоматизация #hhru #emailпоиск #теххак

[Написать мне](https://t.me/tocha4)
👍4
💻 Как я перестал быть прокладкой между ChatGPT и консолью

Долгое время ИИ в моей админской работе помогал ровно наполовину.

Схема была такая:
нашёл ошибку на сервере → вставил в ChatGPT → получил команды → скопировал в консоль → получил новую ошибку → снова понёс в чат.
И так по кругу.

То есть формально ИИ помогает, а по факту ты просто занимаешься умным копипастом.

С появлением Codex CLI стало интереснее.
Он уже не просто предлагает команды, а сам работает в консоли: выполняет, смотрит результат, корректирует следующий шаг.

Но быстро стало понятно, что одного доступа к консоли мало.
Если у тебя много серверов и сервисов, ИИ нужен ещё и контекст.

Я в итоге сделал каталог серверов:
— доступы;
— сеть;
— ОС;
— софт;
— конфиги;
— мониторинг;
— заметки;
— история изменений.

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

И вот в этот момент ИИ перестаёт быть просто советчиком.
Он становится нормальным ассистентом для реальной админской рутины.

Главный вывод пока такой:

ИИ сам по себе хаос не лечит.
Но если дать ему структуру, правила и контекст инфраструктуры — пользы становится в разы больше. ⚙️

Если интересно, следующим постом могу показать, как именно у меня устроен каталог серверов и какие файлы в нём реально нужны.

Если интересно, подробнее эту историю уже развернул в статье:
https://networkguru.ru/codex-cli-devops-avtomatizaciya

#DevOps #CodexCLI #Автоматизация #СистемноеАдминистрирование #ИИ
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM