Cododel.dev | Александр
98 subscribers
472 photos
62 videos
7 files
200 links
Alexander Cododel. Full Stack Web Dev since 2019.

📍 Канал: мысли и проекты
📍 Чат: @cododel_chat
📍 Связь: @cododel

🔗 https://cododel.dev
Download Telegram
Все таки нашли нормальное применение для Apple Vision PRO 😃

До этого все что придумали было довольно сомнительным
Please open Telegram to view this post
VIEW IN TELEGRAM
Кстати буду иногда подчищать тех, кто давно не был в сети
(2+ месяца)

Добавляйтесь в чат, появляется небольшой актив, буду поддерживать

Ну и зачисток не предвидится 😉

🔗 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
🖼️ Python urlpattern matching

Простая, но эффективная имплементация мэтчинга url запросов, для собственного роутинга на Python

Написал себе для проекта с узкоспециализированным самописным HTTP сервером

Более функциональная альтернатива этому - routes
Мне было интересно разобраться, как же все таки можно парсить url, и нужно было более легкое по синтаксису решение.

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

🖼️ Gist
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖼️ Generic типы и Запуск асинхронных функций в Python

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

А вот дженерики - отдельная тема!
В конкретном примере, после выполнения асинхронной логики - мы получим переменную, но IDE, будет определять ее как Unknown
Что помешает нормальной типизации и сделает работу менее удобно, и может привести к ошибкам в коде.
Так что я раскопал решение, которое дает возможность использовать дженерики в Python.
Таким образом, в IDE, тип, возвращаемый из sync_await - будет тем-же, что и у асинхронной функции, коррутину которой мы передаем в качестве аргумента.

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

Но опыт, однозначно положительный!

🖼️Gist
Please open Telegram to view this post
VIEW IN TELEGRAM
Cododel.dev | Александр
Завёл кворк под это дело, посмотрим спрос) Все же я тут не только про IT, но и про фриланс 💰
KWORK - заказов нет

Просмотров толком нет, заказов тем более)

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

Хотя по разработке сайтов помню писали пару раз когда то)
Media is too big
VIEW IN TELEGRAM
Бесшовная интеграция компьютеров — Barrier

ПО бесплатное, опенсорс

В видео сказал macbook и windows пк
Но это актуально для любой комбинации:
Windows/Linux/MacOS

Кроме синхронизации буфера обмена, заявлен drag-n-drop, так что можно просто взять и перетащить файл на второй ноутбук, не парясь о том, как его туда перекинуть!
Но у меня не работает 😐

До 15 устройств!

Ну прекрасно же 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Наконец-то до меня дошло, как исопльзовать .d.ts файлы в Typescript

Гораздо удобнее, чем импортировать типы из отдельного файла
(да простят меня опытные typeскриптизёры)
Forwarded from 🟡NeuroGraph (Сергей NeyroGraph)
Media is too big
VIEW IN TELEGRAM
Ролик сделан а Luma Dream Machine 1.5
Как вам такое?
1
Где-то, когда-то... Рекомендовал TimeWeb

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

Мои сервера по 550р и првязанной автооплатой - так же втихаря стали таскать с карты уже по 1000р за каждый сервер 🐸

Грустно...
🍞 Статья

Лично, в октябре (когда баланс кончится), буду рассматривать альтернативные варианты
Please open Telegram to view this post
VIEW IN TELEGRAM
Расширяем кругозор | Или что там в Голландии.

Смотрю ютуб сижу и заметил рекламу 14 iPhone
При том базового 🤔

Все же помнят, что есть уже 15, а в течение пары месяцев уже и 16 выйдет)

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

Я немецкий знаю "Х...О"
(И это не "хорошо") но у меня есть переводчик.
Так что мне пришлось ткнуть по рекламе, чтобы понять, в чем прикол.

А фишка в том, что это просто рассрочка от оператора сотовой связи.
К рассрочке выбирается пакет услуг сотовой связи, звонки и смс безлимит, кстати.
А вот интернета безлимита у них нет (Как и в РФ), за то цены, по меркам РФ, страшные, а пакеты интернета мизерные.
10 гб - € 2
12 гб - € 3
15 гб - € 4
20 гб - € 7


И... все. Других опций нет.

Лично я вообще больше 50гб ежемесячно трачу и сижу на специальных условиях с безлимитом.
А будь у меня выбор из таких пакетных опций - я даже не знаю что делал бы 😄

И бонусом:
А еще я знаю, что телефоны в европе часто привязывают к конкретному оператору, и работать он будет только с ним. То есть купив у одного опертора связи - ты не можешь потом перейти к другому, не сменив телефон.

Кстати ссылка из рекламы вела сюда, если кому интересно.

Какие у вас тарифы, сколько тратите интернета, на что? 😃
Please open Telegram to view this post
VIEW IN TELEGRAM
▶️ 🖼️ Сегодня с нуля настраиваю NeoVim.

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

Заменим пакетный менеджер, пройдемся и разберем каждый плагинам и настройку.

Выбирай ссылку:
😉 YouTube
🙂 Twitch
😄 Vk
🥰 RuTube

#Stream
Please open Telegram to view this post
VIEW IN TELEGRAM
VidIQ использует Python на бэкенде.

VidIQ - это ведущий продукт среди инструментов оптимизации YouTube каналов.

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

Так вот мы можем наблюдать ошибку Pydantic (полезная штука кстати, для сериализации данных)
Что нам говорит как минимум о наличии python на бэкенде этого api, а трейсбэк в ответе - как максимум о возможных уязвимостях 🤫

Но я к тому, что кто бы что не говорил, а python используют на реальных крупных проектах, вопрос лишь правильной архитектуры и кеширования)
Forwarded from Русский ИТ бизнес (Максим Кульгин)
This media is not supported in your browser
VIEW IN TELEGRAM
Умный (без иронии) азиат собрал аппарат с ИИ, который на очень высокой скорости отслеживает цель и не отклоняется. См. видео.

Выскажу аккуратную идею для бизнеса - ловец дронов - это дрон, который может охотиться на других дронов. В открытом доступе есть наборы данных для обучения ИИ. Например: набор данных БПЛА, созданный Mehdi Ozel в 2019 г. и опубликованный на Kaggle. Этот набор данных состоит из 1359
изображений дронов и аннотаций к ним. Вот еще один (Amateur Unmanned Air Vehicle Detection опубликованный на Mendeley Data, 4000 изображений дронов)...

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

Русский ИТ бизнес
Forwarded from Alexander | Cododel
Ну что на демонстрации изображено - делается довольно просто, если не начать накладывать ограничения производительности микроконтроллеров, вариативность входных данных или заменить вообще лоб на дрон

Шаги реализации:
1. Собираем датасет
Записываем себя на видео с вебки, крутимся на стуле
2. Делаем разметку в любом удобном по для лейблинга.
Можно взять roboflow, руками разметить штук 20-50 для начала и использовать в качестве помощника, лишь корректируя результаты
3. Обучаем yolo любой версии, начиная с 4 - инференс на процессоре спокойно может выдавать 10кадров в секунду на цп среднего пк
4. Тут чуть сложнее - собрать установку на шаговых двигателях с удобным микроконтроллером и откалибровать под веб-камеру (на примере она статична, так что угол обзора камеры это приблизительно наш рабочий диапазон)
5. Реализуем интерфейс, который можно опрашивать для получения координат из результатов инференса вебки
6. Преобразуем координаты в поворот двигателей (сидим пишем расчеты, которые в целом можно сделать через чат гпт)

Есть похожие проекты на ютубе у Гайвера, к примеру, но там даже посложнее и с утилити вентилятора, изначально пробовал он на 4 радиодатчиках делать, которые дельту расстояний сравнять по ним стараются вращая установку
Потом все же на нейросети вроде сделал с распознаванием лица (либо не он, я зарубежных видел с похожими проектами, либо с читал где-то может)
1
С последнего стрима: использование оперативной памяти на разных операционных системах.

Например Linux с графической оболочкой - после запуска требует всего 300-1500MB
(В зависимости от дистрибутива и загруженности автозапуска)

Windows 10-11 забирает себе, не стесняясь 4-6GB
А в случае с MacOS - почти всю доступную!
К примеру, у меня из 16GB заняты около 8-10GB
(Если у вас меньше 16гб или больше - в эту сторону будет перекос)

И мне тогда пришлось вспомнить механизмы работы с оперативной памятью.
В частности отличия Linux от MacOS
(про Windows сказать с уверенностью не могу, тк ушел с него еще на этапе изучения программирования)

Так вот Linux будет заполнять оперативную память по мере использования, переодически оставляя что-то в кэше, для быстрого доступа к часто используемым данным.
Если память кончается - в первую очередь идет очистка кэша, затем исопльзование SWAP файла.
При этом, как только дело доходит до SWAP файла - по мере его роста ваш компьютер будет превращаться в картофель, каким бы ваш дистрибутив ни был оптимизированным...
Таким образом у меня выходило положить всю систему обычной бесконечной рекурсией javascript в браузере. При этом ядро не падало в ошибку, а просто вставало намертво, и выйти из оконного менеджера в консоль могло занимать по 10 минут, а после перехода в этот "аварийный" режим - уже можно было остановить процесс.
Но даже в этом режиме консоль, которая требует 100-200мб для своей работы, вместе с самим ядрром линукса работали будто такты процессора были заменены на нескольких бухгалтеров 😂

А на MacOS же дела обстоят иначе.
Она анализирует часто исопльзуемые приложения и файлы и знает о том, что вам может понадобиться с большей вероятностю при следующем запуске ОС
(Хранит, естественно локально, но не могу дать гарантии, что ни с кем не делится 😁)
И при запуске системы - сразу же забивает оперативку данными, которые на ее взгляд могут быть вами задействованы.
И именно по этой причине, примеру, если вы дизайнер - после перезагрузки компьютера ваш PhotoShop загрузится за 10 секунд вместо 40 секунд.

Даже в таск менеджере (monitor) у вас не будет шкалы заполнения оперативной памяти. И даже четко не указано число, сколько сейчас использовано.
Тут концепция другая, и эти метрики не подходят.
(Хотя можно посчитать memory used, cached used и swap used)
Актуальная метрика - оценочная степень сжатия памяти (Pressure memory), которая не дает никаких конкретных значений, а лишь график, в котором можно увидеть динамику сжатия памяти и по цвету - размытые пределы этого сжатия.
Так к примеру - пока она зеленая, вообще можно не париться, Если желтая - значит память кончилась, и приходится исопльзовать SWAP, но основные данные, важные для работы OS и основных программ все еще в оперативной памяти, и работать будет не сильно медленнее чем обычно.
И есть еще вариант, когда он становится красным. Честно - ни разу не удалось такого добиться, а значит не этих 16гб хватает сильнее чем 32гб на винде (на линуксе в целом так же как эти 16гб по ощущениям было)

Вот выдержка с оффициального сайта:
На графике «Нагрузка на память» можно увидеть, насколько эффективно компьютер использует доступную память.

График «Нагрузка на память» имеет зеленый цвет. Компьютер эффективно использует оперативную память.

График «Нагрузка на память» имеет желтый цвет. Компьютеру может понадобиться больше оперативной памяти.

График «Нагрузка на память» имеет красный цвет. Компьютеру нужно больше оперативной памяти.


Я при импользованых 14GB оперативной памяти догрузил в нее еще модель нейросети, весом 8GB
14+8 = 22GB
Но!
Смотрим график, а там видим сначала рост в желтую зону, с последующим падением обратно в зеленую.
Значит он сначала принял в память новые данные, а когда понял что может понадобиться больше памяти - стал выгружать ненужные данные из памяти.

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

#LongRead #RAM #MacOs #Linux
2👍1
chatgpt.com_c_53ffcf04-db49-4174-9686-2282131e8011 (2).png
1021.8 KB
🧠 Как исопльзовать ChatGPT в работе?

На мой взгляд, LLM модели - штука крайне полезная, при правильном использовании.

Как и любой другой инструмент, в общем-то.

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

На скрине пример моего запроса, ответ на который сложно найти в гугле.
Более-менее подробно описал зачем мне инструмент, и то, каким я бы хотел его видеть.
Затем дал конкретную задачу, что нейросеть должна сделать. (Перечислить существующие и придумать 5 своих)

Стоит учесть, что среди существующих могут быть устаревшие или, даже, выдуманные.

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

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

И плов готов!

#AI #GPT #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖼️ Adobe блочит пиратский Фотошоп!

Я тоже столкнулся, но вот решение как спасти спираченный софт:

• Нажимаем Win+R, пишем cmd, далее в консоли пишем

notepad c:\WINDOWS\system32\drivers\etc\hosts

• В конец файла вставляем ВСЕ адреса отсюда.

Для MacOS и Linux - файлом будет
/etc/hosts
Открывать с правами администратора.


#Adobe
Please open Telegram to view this post
VIEW IN TELEGRAM