user9315307

user9315307

apicraft разработка на js, python. Приложения для взаимодействия по api
Пикабушник
129 рейтинг 4 подписчика 0 подписок 27 постов 0 в горячем

Базу надо знать!

Если ваши интересы пересекаются с IT, продажами, обработкой данных знание базы Пайтон может быть очень полезно.

Обратились ко мне за помощью, конвертировать .pdf в .docx. Так как папок и файлов было больше единицы, решил, что открывать все это в редакторе и конвертировать мне лениво – обратился к ИИ. Написал промт: конвертировать все файлы .pdf в docx в папке где находится код и подпапках. Все исходные файлы остаются и рядом с тем же именем docx.

# скрипт на Python, который конвертирует все PDF-файлы в указанной папке и её подпапках в файлы формата DOCX, можно использовать библиотеку pdf2docx.

import os

from pdf2docx import Converter

def convert_pdf_to_docx(pdf_file, docx_file):

# Создаем объект конвертера

cv = Converter(pdf_file)

# Конвертируем PDF в DOCX

cv.convert(docx_file, start=0, end=None)

# Закрываем конвертер

cv.close()

def convert_all_pdfs_in_folder(folder_path):

for root, dirs, files in os.walk(folder_path):

for file in files:

if file.lower().endswith('.pdf'):

pdf_file = os.path.join(root, file)

docx_file = os.path.splitext(pdf_file)[0] + '.docx'

print(f'Converting: {pdf_file} to {docx_file}')

convert_pdf_to_docx(pdf_file, docx_file)

if __name__ == "__main__":

folder_path = '.' # Укажите путь к папке, в которой нужно искать PDF-файлы

convert_all_pdfs_in_folder(folder_path)

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

Совет: если в коде требуется указать путь к «цели», используйте абсолютные пути. Опасный вариант - «.», безопасный (linux) - «/home/user/vsCode/pdf_to_docx». Учитывая, что в написании путей существуют различия между операционными системами, это так же уменьшает неопределенность.

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

Показать полностью
4

Жил-был Сварщик

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

Однажды к нему обратился "владелец заводов, газет, пароходов" с просьбой сделать отопление в его домике на водохранилище. Они договорились о цене (без торга) и ударили по рукам. При сдаче объекта хозяин дома сказал: "Я восхищен". Надо думать, у него было с чем сравнивать.

Шли годы. В округе люди в основном были с малым достатком, и главным критерием при выборе исполнителя была цена; все остальное уходило на второй и третий план. Многие заказчики говорили: "Нам красиво не надо, лишь бы как-то работало". И сварщик стал допускать, что где-то можно сделать "попроще", но в округе все равно никто лучше не делал.

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

Приехав утром за 60 км, хозяина не застали, но он и не был нужен. Монтаж оказался сложным: чтобы не варить у самого пола, нужно было слить более 100 литров незамерзайки и разобрать всю стальную обвязку. Было принято решение работать через зеркало, не сливая и не разбирая лишнего. Но поговорка "кроилово приводит к попадалову" оправдалась на 100%. Наварив в неудобном месте всякого (это безобразие можно было увидеть только встав на колени и положив голову на пол) и убедившись, что вроде не течет, сварщик уехал домой в 11 ночи.

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

Мораль: не идите на компромисс с собой. Если делаете что-то, представьте, что вам платят "миллион" (если деньги вас мотивируют). Иначе ваш взгляд на мир незаметно изменится, и будет как в мультике: "и так сойдет".

Любите свое дело!

В телеге есть ссылка не чертежи банных печек и котлов

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

Показать полностью
7

"Офф лайн" пет-проект: делюсь чертежами

Разбавляю свои ИТ-проекты проектами из "оффлайна". Я довольно плотно занимался железками и сваркой, и, конечно же, банными печками. Хотелось сделать что-то необычное, поэтому я освоил САПР Solid и "нарисовал" несколько размерных вариантов для своих скромных нужд.

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

Чувство, когда ты своими руками и силой мысли создаешь что-то новое, — одно из лучших в жизни. Любите свое дело, и будет вам счастье.

Как всегда в телеге оставлю ссылки на чертежи в формате DXF – можно сразу отдавать на плазму.

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

Показать полностью 4
3

О сколько нам открытий чудных

Готовят просвещенья дух

И опыт, сын ошибок трудных,

И гений, парадоксов друг,

И случай, бог изобретатель.

А.С. Пушкин

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

Золотые руки за работой

Золотые руки за работой

Дабы уменьшить количество «ошибок трудных», опишу прошлый опыт выхода на маркетплейс Ozon (думаю, его можно также перенести на Wildberries). Когда мои интересы были в области металла (сейчас «железки» у меня совсем другие), сварки изделий, мы с другом решили расширить наши производственные возможности. Он — сварщик 5-го разряда с «золотыми руками», а я, хоть и с кривыми, но могу писать бизнес-планы и хорошо разбираюсь в ПК. Мы решили воспользоваться государственной программой для самозанятых и получить около 250 тыс. руб. для покупки нового оборудования для изготовления изделий методом холодной ковки.

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

Изделия изготовлены методом холодной ковки

Вывод: каналов продаж должно быть множество, они как ручейки должны нести прибыль и питать предприятие. Чем больше ручейков, тем выше будет ваша стабильность на рынке. Если есть возможность, работайте со всеми маркетплейсами, онлайн-продажи должны дополнять офлайн.

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

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

Показать полностью 4
2

Немного о пет-проектах

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

На самом деле желание сделать что-то свое возникает не только в IT, но эта область требует минимальных финансовых вложений, поэтому пробовать и ошибаться не так страшно и накладно. К сожалению, выбор приходит с опытом, поэтому юные джуны мучаются вопросом, что еще сделать, кроме «todo list». Но когда у тебя есть опыт и в «оффлайне», то найти, куда приложить новые IT-знания, становится значительно проще. Один из моих пет-проектов, воплотив который, за короткий срок я изучил и использовал много новых для себя технологий: Vue, Docker, Nginx, JWT-аутентификацию, ИИ-модели, Mongo, Git, Node.

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

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

UPD:

https://gitlab.com/slavafumin/smartnote

Показать полностью
3

Готовь котёл летом

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

В телеге оставлю ссылки на чертежи в формате DXF – можно сразу отдавать на плазму, шахтные котлы очень сложные поэтому рекомендую «круглые».

Мой сети - https://t.me/apicraft https://www.youtube.com/@jspytop http://apicraft.ru/

Показать полностью 1

Почему нужно обязательно выучить Пайтон

Python — это мощный инструмент (для дома для семьи) для автоматизации рутинных задач, особенно когда речь идет о работе с большими объемами данных. В этом посте я хочу рассказать задачку от владельца магазина на WB.

Питон -

Питон - "это не только ценный мех, но и...."

При реализации проекта автоматизации по обновлению цен и остатков на маркет плейсе WB (вайлдберриз), я столкнулся с задачей: как связать базу данных артикулов продавца и поставщика, так как из общих полей было название продукта и совпадение было не полным, например: "НАД-5 STAR COSMETIC ЗУБН ПАСТ ОСНОВ НА ТРАВ С ЭКСТР НОНИ 25 гр-3 шт" и "5 STAR COSMETIC ЗУБНАЯ ПАСТА ОСНОВ НА ТРАВАХ С ЭКСТРАКТОМ НОНИ 25,0". В прайсе поставщика 30 тыс. артикулов, а у продавца 5.5 тыс. позиций и в ручную связывать артикулы это... И тут на сцену выходит Пайтон!

Представьте, что у вас есть два файла Excel: seller.xlsx и supplier.xlsx. В первом файле есть пустой столбец "Наименование поставщика", который необходимо заполнить значениями из столбца "Название" второго файла. Задача усложняется тем, что нужно найти максимально совпадающие значения по последовательности букв из столбца "Артикул продавца" в файле seller.xlsx. Поскольку позиций более 30 тысяч, важно максимально эффективно использовать оперативную память и многопоточность.

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

upd: немного кода

Код оптимизирован для выполнения несколькими потоками с помощью ProcessPoolExecutor, что позволяет параллельно обрабатывать строки и существенно снижает время выполнения задачи.

Код оптимизирован для выполнения несколькими потоками с помощью ProcessPoolExecutor, что позволяет параллельно обрабатывать строки и существенно снижает время выполнения задачи.

Мои сети - https://t.me/apicraft, https://www.youtube.com/@jspytop, http://apicraft.ru/

Показать полностью 2
1

Курсы программирования - 'Апокалипсис сегодня'

Судя по просмотрам на YouTube, видимо, шутить у меня получается гораздо хуже чем программировать. Поделитесь, пожалуйста, в комментариях, что не так с моим юмором? Но надеюсь шикарный видео ряд подвигнет посмотреть (пересмотреть) отличный фильм 'Апокалипсис сегодня'.

В следующих постах попробую свою позицию без шуток (с ними у меня плохо) донести. На самом деле есть и полезные (хорошие) курсы и стоят они до 10 тыс. руб или бесплатны. В предыдущем посте есть ссылки (например, Сергей Балакирев)

Отличная работа, все прочитано!