А сейчас пришел к необходимости тестирования
Проект я переписывал несколько раз и довольно глубоко продумал архитектуру
За это время он успел разрастись и перестал помещаться в голове (Так как по сути он состоит из как минимум трех разных проектов на разных стеках)
Вот сижу, рисую на бумажке схематику логики проекта и его сущностей, чтобы максимально абстрагироваться.
А при таком подходе без тестов сложно быть уверенным в работоспособности фичей.
Чем проект проще, тем легче его оттестировать руками, в несколько проходов, и иметь уверенность в его работоспособности на уровне выше среднего.
Часто так и делаю, если обстановка позволяет.
Но видимо пришло время стать более организованным🥱
#Testing #PHP #Laravel
Проект я переписывал несколько раз и довольно глубоко продумал архитектуру
За это время он успел разрастись и перестал помещаться в голове (Так как по сути он состоит из как минимум трех разных проектов на разных стеках)
Вот сижу, рисую на бумажке схематику логики проекта и его сущностей, чтобы максимально абстрагироваться.
А при таком подходе без тестов сложно быть уверенным в работоспособности фичей.
Чем проект проще, тем легче его оттестировать руками, в несколько проходов, и иметь уверенность в его работоспособности на уровне выше среднего.
Часто так и делаю, если обстановка позволяет.
Но видимо пришло время стать более организованным
#Testing #PHP #Laravel
Please open Telegram to view this post
VIEW IN TELEGRAM
Учусь с помощью нейросетей
Решил провести тест на пригодность LLM в качестве инструмента для изучения программирования.
🤨 Все еще вызывает вопросы
Обычно главными проблемами являются достоверность и актуальность информации.
В случае исопльзования языковой модели в качестве наставника, как на первом скрине - эти проблемы стоят особо остро.
На втором же скрине бесплатное расширение для браузера, который выдает краткое содержание страницы, сокращаяя информацию в абзацах. Базируется он на неизвестной модели, с неизвестным промптом и мезанизмом суммаризации, что тоже вызывает некоторые вопросы.
В описании расширения конечно сказано, что импользется ChatGPT, но не известно какой версии, и все еще не понятно, каким промптом он руководствуется при сокращении текста.
А так же в описании сказано, что "исопльзовать расширение абсолютно безопасно, ведь оно работает локально", что уже звучит довольно бредово🤫
Но оно работает, краткую сводку дает довольно неплохую.
🍴 С чего начать?
Идеально начинать с простейших задач, как в моем примере.
Я выбрал под изучение языка, написать простого демона, который сверяясь с текщим временем регулировать яркость экрана на ноутбуке будет по winapi , так как он у меня стоит всегда включенным на столе.
В случае с чатом - довольно круто выходит делать простой проект, и на практике получать знания.
При этом довольно специфичные вопросы, в конкретном контексте могут решаться с сопровождением подробными комментариями.
💻 Мастхэв для продуктивности
Краткая сводка в браузере - шикарный инструмент для беглого ознакомления с текстом, и получения важной информации.
Советую всем, кто еще не научился беглому чтению текста.
Лично мне это не очень удобно, так как уже привык читать технический текст по диагонали, глаз сам цепляется за ключевые слова и в основном пропуская воду читаю лишь нужуную в текущий момент информацию.
Но даже в таком случае штука полезная, как с руководством по асболютно новому для меня языку, нужно вникать довольно глубоко в механику его работы.
У меня сейчас нет желания так сильно погружаться, так что лучше внимательно вчитаюсь в краткую сводку, и погляжу примеры на странице, чем пропущу что-то важное, или убью несколько часов на изучение базовых знаний, которые я могу просто перенести из уже текущих знаний на других языках программирования.
#Rust #AI
Решил провести тест на пригодность LLM в качестве инструмента для изучения программирования.
Обычно главными проблемами являются достоверность и актуальность информации.
В случае исопльзования языковой модели в качестве наставника, как на первом скрине - эти проблемы стоят особо остро.
На втором же скрине бесплатное расширение для браузера, который выдает краткое содержание страницы, сокращаяя информацию в абзацах. Базируется он на неизвестной модели, с неизвестным промптом и мезанизмом суммаризации, что тоже вызывает некоторые вопросы.
В описании расширения конечно сказано, что импользется ChatGPT, но не известно какой версии, и все еще не понятно, каким промптом он руководствуется при сокращении текста.
А так же в описании сказано, что "исопльзовать расширение абсолютно безопасно, ведь оно работает локально", что уже звучит довольно бредово
Но оно работает, краткую сводку дает довольно неплохую.
Идеально начинать с простейших задач, как в моем примере.
Я выбрал под изучение языка, написать простого демона, который сверяясь с текщим временем регулировать яркость экрана на ноутбуке будет по winapi , так как он у меня стоит всегда включенным на столе.
В случае с чатом - довольно круто выходит делать простой проект, и на практике получать знания.
При этом довольно специфичные вопросы, в конкретном контексте могут решаться с сопровождением подробными комментариями.
Краткая сводка в браузере - шикарный инструмент для беглого ознакомления с текстом, и получения важной информации.
Советую всем, кто еще не научился беглому чтению текста.
Лично мне это не очень удобно, так как уже привык читать технический текст по диагонали, глаз сам цепляется за ключевые слова и в основном пропуская воду читаю лишь нужуную в текущий момент информацию.
Но даже в таком случае штука полезная, как с руководством по асболютно новому для меня языку, нужно вникать довольно глубоко в механику его работы.
У меня сейчас нет желания так сильно погружаться, так что лучше внимательно вчитаюсь в краткую сводку, и погляжу примеры на странице, чем пропущу что-то важное, или убью несколько часов на изучение базовых знаний, которые я могу просто перенести из уже текущих знаний на других языках программирования.
upd.
НУЖНО ПОНИМАТЬ
Почти сразу столкнулся с проблемой актуальности информации.
Gemini настаивает на том, что в cargo нет команды для добавления зависимостей в проект, как у других пакетных менеджеров.
Говорит, мол все управление пакетами произваодится из файлаCargo.toml, это несоколько сложнее чем работать с командой, но дает более тонкий контроль.
Я бы конечно поверил, ведь в этом есть часть логики, но загуглив, первым же рещультатом выдачи увидел документацию по cargo add.
Даже скопировал содержимое страницы, скормил Gemini, он мне пересказал содержимое.
После чего я спрашиваю: Что теперь скажешь на счет cargo add?
В ответ получаю: Отлично, что ты задал этот вопрос! Давай разберемся подробнее, что такое cargo add и почему мы его не находим в стандартном инструментарии Rust.
Нужно понимать, что информация у языковых моделей запаздывает в среднем как минимум на год, так что лично я перепроверяю каждый ответ, который вызывает странные ощущения.
А что-то учить с нуля при помощи "AI-наставника" - идея хреновая 😃
#Rust #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
WinApi мне не поддался...
Видимо не сегодня.
За два часа так и не удалось поладить с WinAPI...
В Linux было все просто:
- Читаем файл со значением максимальной яркости экрана
- Вычисляем нужное значение из желаемого процента яркости
- Пишем в файл текущей яркости получившееся значение
Всё! Готово
Я писал такие скрипты пока сидел на Arch Linux с Wayland
Там почти все утилиты у меня были на bash или python.
Я в статусбар, рядом со временем даже последнее сообщение из чата на твиче выводил. А если стрим не запущен, то скрипт просто скрывал элемент из сататус бара.
Тут же какая-то жесть творится...
Надо видимо прям сначала изучать вопрос того, как в winapi этот процесс устроен
Затем понять как с этим вообще работают
И только после этого пробовать как-то зацепиться из rust
Иначе мой максимум возможностей - просто выводить текщее время суток, замэтчив время со значениями Enum😅
Если кто знаком с WinAPI - хотел бы пообщаться😃
#Rust #WinAPI
Видимо не сегодня.
За два часа так и не удалось поладить с WinAPI...
В Linux было все просто:
- Читаем файл со значением максимальной яркости экрана
- Вычисляем нужное значение из желаемого процента яркости
- Пишем в файл текущей яркости получившееся значение
Всё! Готово
Я писал такие скрипты пока сидел на Arch Linux с Wayland
Там почти все утилиты у меня были на bash или python.
Я в статусбар, рядом со временем даже последнее сообщение из чата на твиче выводил. А если стрим не запущен, то скрипт просто скрывал элемент из сататус бара.
Тут же какая-то жесть творится...
Надо видимо прям сначала изучать вопрос того, как в winapi этот процесс устроен
Затем понять как с этим вообще работают
И только после этого пробовать как-то зацепиться из rust
Иначе мой максимум возможностей - просто выводить текщее время суток, замэтчив время со значениями Enum
Если кто знаком с WinAPI - хотел бы пообщаться
Но я нашел brightness с поддержкой windows и linux, буду пробовать.
А еще у меня возник вопрос "Как это работает в MacOS?", так как не нашел того же мехнизма, что у Linux😐
#Rust #WinAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
Cododel.dev | Александр
WinApi мне не поддался... Видимо не сегодня. За два часа так и не удалось поладить с WinAPI... В Linux было все просто: - Читаем файл со значением максимальной яркости экрана - Вычисляем нужное значение из желаемого процента яркости - Пишем в файл текущей…
Получилось. Rust теперь буду дальше медленно внедрять в работу, где это эффективно.
Потребляет всего 0.7MB оперативной памяти. Ни одна программа на Lua, Python, NodeJS, PHP и даже C# не достигала таких результатов✈️
В бесконечном цикле, раз в 10 секунд проверяет текущее время.
Берет текущий час в виде числа, и возвращает значение процентов яркости, в соответствии с диапазонами.
Если предыдущее значение яркости отсутствует (При первом запуске) или не изменилось - цикл начинается сначала.
Если значение яркости изменилось - оно устанавливается в системе и цикл начинается сначала.
А так же настроил Github Actions.
При публикации нового релиза - автоматически начинается сборка проекта под Windows и Linux, после чего прикрепляется к релизу в виде архива.
Логика вроде простая, но когда ты полный ноль - это уже успех)
Мой подход заключается в том, чтобы придумать максимально простую, но интересную задачу с реальным применением.
Ну а результат можно глянуть тут:
🖼️ Репозиторий
🍴 Скачать и попробовать
#Rust #OpenSource
Потребляет всего 0.7MB оперативной памяти. Ни одна программа на Lua, Python, NodeJS, PHP и даже C# не достигала таких результатов
В бесконечном цикле, раз в 10 секунд проверяет текущее время.
Берет текущий час в виде числа, и возвращает значение процентов яркости, в соответствии с диапазонами.
Если предыдущее значение яркости отсутствует (При первом запуске) или не изменилось - цикл начинается сначала.
Если значение яркости изменилось - оно устанавливается в системе и цикл начинается сначала.
А так же настроил Github Actions.
При публикации нового релиза - автоматически начинается сборка проекта под Windows и Linux, после чего прикрепляется к релизу в виде архива.
Логика вроде простая, но когда ты полный ноль - это уже успех)
Мой подход заключается в том, чтобы придумать максимально простую, но интересную задачу с реальным применением.
Ну а результат можно глянуть тут:
Так же у вас есть возможность принять участие и исправить баг в комментариях
#Rust #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
А тут можно наглядно увидеть разницу скорости эппловской распаянной памяти и SSD SATA
Сегодня идем по железу в упрощенной форме 😅
Интересный факт:
SATA - это интерфейс, и не всегда проводом цепляется, есть и M2 накопители с SATA интерфейсом, что довольно похожи на шустрые NVME.
Отличить их можно по ключам на разьемах.
Сегодня идем по железу в упрощенной форме 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤔1
Forwarded from johenews
Смотришь вот так на Linux
В нем 30млн строк кода
Все суперкомпьютеры работают на нем
На 99 процентов серверов стоит линукс
Весь умный дом, куча гаджетов и тд
При этом все это создается на удаленке, без созвонов, без митингов, без митапов, без дейликов, без демо, без ретро, без спринтов.
А потом слышишь от какого-нибудь опытного айтишника о том, что его приложение для пиццы невозможно сделать если команда будет работать удаленно
В нем 30млн строк кода
Все суперкомпьютеры работают на нем
На 99 процентов серверов стоит линукс
Весь умный дом, куча гаджетов и тд
При этом все это создается на удаленке, без созвонов, без митингов, без митапов, без дейликов, без демо, без ретро, без спринтов.
А потом слышишь от какого-нибудь опытного айтишника о том, что его приложение для пиццы невозможно сделать если команда будет работать удаленно
🔥1
Влияние мощности железа на результаты работы нейросетей
А нет точного понимания влияние видеокарты на возможности ИИ? Не на скорость ответа но на качество ответа (чем хуже железо тем "тупее" ответы например)?
Не, эт так не работает
Тут аналогию с натяжкой можно провести с обычным ПО
Если памяти не хватит только - ее в SWAP не запихнешь
И вычисления каждого слоя модели идут параллельно на ядрах GPU
Это конкретная математическая модель, и между запросами разница будет только в случае изменения параметра температуры, который рандомно веса дополнительно корректирует
Думаю, я и так очень упрощенно описал, но если ещё сильнее упростить, то от железа может зависить только две вещи:
- Поместится ли модель в память GPU
- И скорость инференса (вычислений до получения следующего токена на выходе)
А качество ответов зависит напрямую лишь от правильно подобранной архитектуры модели и качества её обучения.
Есть уточнения
#охота_на_вопросы #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Баг был вообще не связан со спецификой языка
Никто не решился попробовать разобраться с ним, так что я сам сейчас глянул, вот делюсь😉
Условие, проверяющее - должна ли измениться яркость прерывает цикл не доходя до sleep
Соответственно нагрузка на CPU формируется бесконечным циклом, вычисляющим и сверяющим нужную яркость экрана с максимальной частотой, которую позволяет ядро процессора.
Лаконичным решением тут будет инвертировать логику условия, и обернуть наше целевое действие в этот условный блок
🖼️ Новая версия лежит тут
#Rust #OpenSource
Никто не решился попробовать разобраться с ним, так что я сам сейчас глянул, вот делюсь
Условие, проверяющее - должна ли измениться яркость прерывает цикл не доходя до sleep
Соответственно нагрузка на CPU формируется бесконечным циклом, вычисляющим и сверяющим нужную яркость экрана с максимальной частотой, которую позволяет ядро процессора.
Лаконичным решением тут будет инвертировать логику условия, и обернуть наше целевое действие в этот условный блок
Если кому то окажется интересным принять участие - предлагаю разобраться с тем, как запускать его в качестве фонового процесса.
Как "Сервис" для Linux и "Служба" для Windows.
Главное кросплатформенность сохранить, скрыть консоль и получить возможность легко добавить в автозапуск.
#Rust #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
И так, Вторая Луна...
Говорят нам, что в течение почти двух месяцев мы можем НАБЛЮДАТЬ(!) вторую луну на небе
Хорошо, будем ждать и наблюдать за явлением
Лучшие кадры сделать говорят...
Только вот астероид диаметром 11 метров будет проходить на расстоянии около 1.5 млн километров.
Если не душнить про видимый диапазон и яркость, оставив эти нюансы - сомневюсь что хоть кто-то разглядит его...
Даже на современный Samsung с x100 зумом не снять 🤣
Ну прям напрягает иногда, соре...
Просто гуглите всё странное, и не ведитесь на желтуху
Источники:
- Бесстыжая Дикая утка
- Региональные утятницы
- Новость с налётом желтизны
- Wikipedia
#новости #бомбит
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ChatGPT научился считать оказывается
Мы в комментах переодически ведём дискуссии на около IT тематику
На скринах и по ссылке пример короткой, но довольно продуктивной беседы с ChatGPT 4o, которая под конец была подкреплена расчётами по эффективному использованию электроэнергии при езде на самокате✈️
Мы в комментах переодически ведём дискуссии на около IT тематику
На скринах и по ссылке пример короткой, но довольно продуктивной беседы с ChatGPT 4o, которая под конец была подкреплена расчётами по эффективному использованию электроэнергии при езде на самокате
Резюмирую:
Чат ГПТ теперь может подкрепить свой ответ реальными расчёами, если это применимо
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Починил себе youtube
При этом трафик на него идет без vpn, так что на полной скорости гоняет
Одновременно все российские сайты идут напрямую, без SpofDPI
А зарубежные с ограниченным доступом, такие как ChatGPT, GithubCopilot и тому подобное - через VPN Vless + Reality
Роутинг настроил в Shadowrocket, спуфинг собрал из исходников на golang для роутера.
При помощи nohup запустил по ssh SpoofDPI на роутере
Так что на телефоне по WiFi всё работает точно так же как и на пк, в том числе YouTube
Опыт прикольный, интересный
Но он называется на самом деле - жестким гемоорроем из-за блокировок и замедлений со всех сторон 😂
При этом сам VPN переодически замедляется до уровня 1Mb/s, так что пришось со спуфингом копаться. Круто хоть на роутере получилось поднять.
Но и с VPN я теорию изучил, с Vless+Reality если взять чистый сервер, IP которого осоо нигже в базах не светится - можно настроить Reality и сервер так, что трафик будет замаскирован условно под HTTPS трафик на yahoo.com, который не заблокирован и не замедлен, так что из потерь скорости - только на шифровании трафика.
Но для этого нужно подбирать прям отдельный сервер, и на нём желательно закрывать все порты кроме 443, в том числе обрубать SSH доступ.
Самим сервером в таком случае можно будет управлять в панели хостинга в html5 консоли, так как порты мы закрыли на публичном ip, а доступ в таком случае осуществляется по локальной сети хостинга.
Тема сетей и шифрования оказалась довольно обширная.
В теории можно роутеру через iptables весь трафик с локальной сети по 80 и 443 портам заклоачить, и тогда по wifi не будет ничего замедляться.
При этом трафик на него идет без vpn, так что на полной скорости гоняет
Одновременно все российские сайты идут напрямую, без SpofDPI
А зарубежные с ограниченным доступом, такие как ChatGPT, GithubCopilot и тому подобное - через VPN Vless + Reality
Роутинг настроил в Shadowrocket, спуфинг собрал из исходников на golang для роутера.
При помощи nohup запустил по ssh SpoofDPI на роутере
Так что на телефоне по WiFi всё работает точно так же как и на пк, в том числе YouTube
Опыт прикольный, интересный
Но он называется на самом деле - жестким гемоорроем из-за блокировок и замедлений со всех сторон 😂
При этом сам VPN переодически замедляется до уровня 1Mb/s, так что пришось со спуфингом копаться. Круто хоть на роутере получилось поднять.
Но и с VPN я теорию изучил, с Vless+Reality если взять чистый сервер, IP которого осоо нигже в базах не светится - можно настроить Reality и сервер так, что трафик будет замаскирован условно под HTTPS трафик на yahoo.com, который не заблокирован и не замедлен, так что из потерь скорости - только на шифровании трафика.
Но для этого нужно подбирать прям отдельный сервер, и на нём желательно закрывать все порты кроме 443, в том числе обрубать SSH доступ.
Самим сервером в таком случае можно будет управлять в панели хостинга в html5 консоли, так как порты мы закрыли на публичном ip, а доступ в таком случае осуществляется по локальной сети хостинга.
Тема сетей и шифрования оказалась довольно обширная.
В теории можно роутеру через iptables весь трафик с локальной сети по 80 и 443 портам заклоачить, и тогда по wifi не будет ничего замедляться.
Cododel.dev | Александр
ChatGPT научился считать оказывается Мы в комментах переодически ведём дискуссии на около IT тематику На скринах и по ссылке пример короткой, но довольно продуктивной беседы с ChatGPT 4o, которая под конец была подкреплена расчётами по эффективному использованию…
Наткнулся на видео, в котором раскрыты существенные нюансы по Rust.
И я действительно их считаю существенными, потому чо похожий опыт был с фреймворками и другими языками...
(Самый банальный пример, но довольно похожий, это React vs Svelte, у второго комьюнити сравнимо мало, чтобы доставлять неудобства при поиске библиотек для реализации какого-либо функционала)
Так что я сейчас со свежей головой, вспоминая даже сравнение по кол-ву вакансий на Rust в сравнении с другими языками - понимаю что видео записано не с пустого места.
Я для себя хочу по большей мере именно кросплатформенный FullStack инструмент, чем супер производительный.
Да и лично сам покопавшись в библиотеках для Rust - начал замечать скудность комьюнити.
Так что я поищу другие варианты, и скорее всего сяду все-таки за Flutter
(Еще до канала читал по нему мануалы и общие статьи, сравнения)
А для системных утилит или софта требующего высокой эффективности вычислений - с большой вероятностью буду рассматривать C++ либо Go, ибо у меня после VueJS, Django, Directus, Svelte и других - кончиласьвера в светлое будущее терпение.
(Инструменты крутые, но гораздо приятнее использовать Production Ready)
И я действительно их считаю существенными, потому чо похожий опыт был с фреймворками и другими языками...
(Самый банальный пример, но довольно похожий, это React vs Svelte, у второго комьюнити сравнимо мало, чтобы доставлять неудобства при поиске библиотек для реализации какого-либо функционала)
Так что я сейчас со свежей головой, вспоминая даже сравнение по кол-ву вакансий на Rust в сравнении с другими языками - понимаю что видео записано не с пустого места.
Я для себя хочу по большей мере именно кросплатформенный FullStack инструмент, чем супер производительный.
Да и лично сам покопавшись в библиотеках для Rust - начал замечать скудность комьюнити.
Так что я поищу другие варианты, и скорее всего сяду все-таки за Flutter
(Еще до канала читал по нему мануалы и общие статьи, сравнения)
А для системных утилит или софта требующего высокой эффективности вычислений - с большой вероятностью буду рассматривать C++ либо Go, ибо у меня после VueJS, Django, Directus, Svelte и других - кончилась
(Инструменты крутые, но гораздо приятнее использовать Production Ready)
YouTube
Rust – очень вредный язык программирования
Линус Торвальдс отвечая на вопрос о старении программистов в опен-соурсе упомянул о Rust для Linux и выгорании разработчиков на проекте. Оказалось, что точно также выгорают разработчики самого языка программирования Rust.
Таймкоды:
00:00 Начало
00:22 Разработчики…
Таймкоды:
00:00 Начало
00:22 Разработчики…
Крутая, хотя вроде и очевидная идея!
В случае с Macbook - так точно.
Подумаю над выбором качественного монитора с возможностью поднять довольно высоко (~20-25см для моих 13")
На крайний случай у меня уже заготовлена идея в виде полки на стол, которую можно собрать из досок, сразу попиленных под замеры в OBI
К новому году обновлю рабочий сетап
(Пока только добавил розеток, второй ноут и штатив для камеры)
А если поставить монитор как в комментарии на скрине, то можно легко соэкономить около 30-45тыс рублей, ну или бюджет на монитор увеличить.
(Magic Keyboard + Magic Trackpad)
В случае с Macbook - так точно.
Подумаю над выбором качественного монитора с возможностью поднять довольно высоко (~20-25см для моих 13")
На крайний случай у меня уже заготовлена идея в виде полки на стол, которую можно собрать из досок, сразу попиленных под замеры в OBI
К новому году обновлю рабочий сетап
(Пока только добавил розеток, второй ноут и штатив для камеры)
А если поставить монитор как в комментарии на скрине, то можно легко соэкономить около 30-45тыс рублей, ну или бюджет на монитор увеличить.
(Magic Keyboard + Magic Trackpad)
Главной причиной поставить второй экран для меня сейчас стал не сам факт расширения рабочего пространства даже, а ракурс.
Под ракурсом я имею ввиду возможность сесть за столом с правильной осанкой и смотреть ровно прямо, не крючившись, чтобы комфортный угол подобрать.
А второй экран (сам экран ноута) уже как приятный бонус в таком случае, на котором скорее всего будет открыта консоль, или разрабатываемый интерфейс. (Тема проверенная, лучшее применение второго экрана в моих задачах)