This media is not supported in your browser
VIEW IN TELEGRAM
# Weekend coding
Написал тут для себя приложение для смарт-часов, для работы по 🍅 Pomodoro подходу.
🏳️ Статья с процессом и демонстрацией промежуточных результатов: -> https://wiki.lpavlov.site/en/Kotlin/Guides/PomodoroApp
💻 Исходники: -> https://github.com/Zefirrat/PomodoroWatch/blob/master/README.md
➕ язык в копилочку (🖼️ Kotlin)
Написал тут для себя приложение для смарт-часов, для работы по 🍅 Pomodoro подходу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Один из моих ответов догнал принятый ответ, по баллам.
Еще и под конец года держусь в топ 20% пользователей.
Неплохо!
Еще и под конец года держусь в топ 20% пользователей.
Неплохо!
🔥1
Привет! Я представляю вам свой горячий проект – умный Telegram-бот, основанный на передовой технологии GPT! 🌐✨
🚀 Молниеносные Ответы: Получайте мгновенные и точные ответы на ваши вопросы.
📚 Генерация Текстов: Создавайте уникальные и качественные тексты в один миг.
🌐 Многофункциональность: Будь то помощник в учебе, генератор идей или просто компаньон в разговоре – мой бот всегда рядом.
🤖 Технология GPT: Мой бот основан на передовой технологии GPT, гарантируя выдающуюся точность и контекстность.
🌟 Легкость Использования: Без сложных шагов или капч – просто отправьте запрос и получайте результат!
Присоединяйтесь к моему боту и откройте для себя новые горизонты текстового взаимодействия! 💬🚀
Напишите "Привет", чтобы начать! 🌟
https://t.me/TextCraftGptBot
PS. Да, это сообщение написано с помощью бота. Налетай, пока бесплатно!
🚀 Молниеносные Ответы: Получайте мгновенные и точные ответы на ваши вопросы.
📚 Генерация Текстов: Создавайте уникальные и качественные тексты в один миг.
🌐 Многофункциональность: Будь то помощник в учебе, генератор идей или просто компаньон в разговоре – мой бот всегда рядом.
🤖 Технология GPT: Мой бот основан на передовой технологии GPT, гарантируя выдающуюся точность и контекстность.
🌟 Легкость Использования: Без сложных шагов или капч – просто отправьте запрос и получайте результат!
Присоединяйтесь к моему боту и откройте для себя новые горизонты текстового взаимодействия! 💬🚀
Напишите "Привет", чтобы начать! 🌟
https://t.me/TextCraftGptBot
PS. Да, это сообщение написано с помощью бота. Налетай, пока бесплатно!
🔥3
В новой версии магазина приложений Microsoft Store для Windows 10 и Windows 11 команда разработчиков Microsoft перешла с React на Shoelace, Lit и Vite на ASP.NET, заменив ими предыдущие технологии. Это изменение коснулось фронтенда и серверной части приложения.
В комментариях к одной из статей на Хабре пользователи обсуждают преимущества связки Vite и ASP.NET Core. Предполагают, что это может быть хорошим решением.
В комментариях к одной из статей на Хабре пользователи обсуждают преимущества связки Vite и ASP.NET Core. Предполагают, что это может быть хорошим решением.
👍1🤯1
Boilerplate код — это повторяющиеся фрагменты программного кода, которые обычно используются в начале или в конце различных частей программы. Boilerplate код может включать в себя различные стандартные процедуры, такие как инициализация переменных, обработка ошибок, вывод на экран и другие.
Вот несколько примеров boilerplate кода:
- Инициализация переменных:
- Обработка ошибок:
- Вывод на экран:
Вот несколько примеров boilerplate кода:
- Инициализация переменных:
int x = 0;
x = 0
- Обработка ошибок:
try {
// код
} catch (error) {
console.log(error);
}try {
// код
} catch (Exception e) {
System.out.println(e);
}- Вывод на экран:
print("Hello, world!")console.log("Hello, World!");Shebang — это последовательность символов, которая используется в Unix-подобных операционных системах для обозначения начала исполняемого файла. Она состоит из двух символов:
Например для shell:
-
-
Shebang позволяет операционной системе найти и запустить программу без указания полного пути к ней.
#!, за которыми следует имя программы.Например для shell:
-
#!/bin/sh-
#!/bin/bashShebang позволяет операционной системе найти и запустить программу без указания полного пути к ней.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
# Что такое ARM64 и AMD64, и чем они отличаются?
ARM64 и AMD64, также известные как Aarch64: ARM architecture, 64-bit и AMD64: EM64T, x86_64 — это архитектуры процессоров.
ARM64 (Aarch64) — 64‑битная архитектура, разработанная компанией ARM Limited. Она используется в процессорах мобильных устройств, серверов, суперкомпьютеров и других вычислительных систем.
Процессоры с архитектурой ARM64/Aarch64:
* обеспечивают более высокую производительность и эффективность по сравнению с 32-битными процессорами;
* поддерживают больший объём оперативной памяти;
* могут работать с 64-битными приложениями и операционной системой.
Используется в мобильных устройствах, таких как смартфоны и планшеты, а также в серверах, игровых консолях, автомобилях и других устройствах.
x86–64, AMD64 или EM64T, или x86_64 - 64-х битная версия архитектуры x86, используемая в процессорах Intel и AMD. Она обеспечивает поддержку 64 бит и позволяет использовать более 4 ГБ оперативной памяти на каждом ядре процессора.
Процессоры x86_64 используются для выполнения 64 битных инструкций. Они также могут выполнять 32 битные инструкции, но это не рекомендуется, так как это может привести к снижению производительности и безопасности.
Процессоры x86_64, в отличие от процессоров ARM64, используют другой набор инструкций и имеют другую архитектуру. Процессоры ARM64 и x86_64 не являются взаимозаменяемыми, и программы, написанные для одного типа процессора, не всегда могут быть выполнены на другом типе процессора.
ARM64 и AMD64, также известные как Aarch64: ARM architecture, 64-bit и AMD64: EM64T, x86_64 — это архитектуры процессоров.
ARM64 (Aarch64) — 64‑битная архитектура, разработанная компанией ARM Limited. Она используется в процессорах мобильных устройств, серверов, суперкомпьютеров и других вычислительных систем.
Процессоры с архитектурой ARM64/Aarch64:
* обеспечивают более высокую производительность и эффективность по сравнению с 32-битными процессорами;
* поддерживают больший объём оперативной памяти;
* могут работать с 64-битными приложениями и операционной системой.
Используется в мобильных устройствах, таких как смартфоны и планшеты, а также в серверах, игровых консолях, автомобилях и других устройствах.
x86–64, AMD64 или EM64T, или x86_64 - 64-х битная версия архитектуры x86, используемая в процессорах Intel и AMD. Она обеспечивает поддержку 64 бит и позволяет использовать более 4 ГБ оперативной памяти на каждом ядре процессора.
Процессоры x86_64 используются для выполнения 64 битных инструкций. Они также могут выполнять 32 битные инструкции, но это не рекомендуется, так как это может привести к снижению производительности и безопасности.
Процессоры x86_64, в отличие от процессоров ARM64, используют другой набор инструкций и имеют другую архитектуру. Процессоры ARM64 и x86_64 не являются взаимозаменяемыми, и программы, написанные для одного типа процессора, не всегда могут быть выполнены на другом типе процессора.
В последнее время часто наблюдаю, как молодые разработчики сталкиваются с проблемами запуска, казалось бы рабочих, проектов, начатых до 2020 года.
Например:
Есть кроссплатформенный сервис, он себе прекрасно работает и живет, где-нибудь на windows server, или на старенькой Ubuntu, которую админы поднимали еще в "бородатом" 2015 году. И приходит молодой и энергичный разраб, или РП, и начинает ратовать и активно продвигать самые последние версии всех ОС и библиотек. А-ля "почему вы до сих пор работаете на этом старье?". И вот руководство согласовывает потратить пару часов, на то, чтобы перенести сборку и запуск более менее активных проектов, на новые машины, которые подняли админы, с самой последней (естественно последней long-term support) Ubuntu 22.04. Задача по переносу падает на джуна, т.к. "делов то: файлы сделать Ctrl+C -> Ctrl+V и запустилось!".
Но прошел 1 час, затем 2, 3, 8. Уже и пинговал, и curl проверял, но все время получает странные ошибки, связанные с OpenSSL, GSS и др. И вот уже второй день джун пытается открыть порты, изменить код, устанавливать различные версии СДК, но ничего не получается.
Чтож, все дело в том, что относительно старые проекты, зависят от не очень новых библиотек, или имеют конфигурацию, использующие TLS версии 1.0 и 1.1 - которые были удалены в ubuntu 20.04 и 22.04. Существуют различные способы исправления таких ошибок, например установка, или конфигурирование openssl, на использование легаси провайдеров (
Мораль сей басни такова:
1) закладывайте x2 часы на подводные камни
2) спрашивайте помощи у старших
3) РАБОТАЕТ - НЕ ТРОГАЙ! xD
Извините, я оставлю тут эти хэштеги для удобства:
#истории #ssl #tls
Например:
Есть кроссплатформенный сервис, он себе прекрасно работает и живет, где-нибудь на windows server, или на старенькой Ubuntu, которую админы поднимали еще в "бородатом" 2015 году. И приходит молодой и энергичный разраб, или РП, и начинает ратовать и активно продвигать самые последние версии всех ОС и библиотек. А-ля "почему вы до сих пор работаете на этом старье?". И вот руководство согласовывает потратить пару часов, на то, чтобы перенести сборку и запуск более менее активных проектов, на новые машины, которые подняли админы, с самой последней (естественно последней long-term support) Ubuntu 22.04. Задача по переносу падает на джуна, т.к. "делов то: файлы сделать Ctrl+C -> Ctrl+V и запустилось!".
Но прошел 1 час, затем 2, 3, 8. Уже и пинговал, и curl проверял, но все время получает странные ошибки, связанные с OpenSSL, GSS и др. И вот уже второй день джун пытается открыть порты, изменить код, устанавливать различные версии СДК, но ничего не получается.
Чтож, все дело в том, что относительно старые проекты, зависят от не очень новых библиотек, или имеют конфигурацию, использующие TLS версии 1.0 и 1.1 - которые были удалены в ubuntu 20.04 и 22.04. Существуют различные способы исправления таких ошибок, например установка, или конфигурирование openssl, на использование легаси провайдеров (
openssl md4 -provider legacy), или установка библиотек GSS (sudo apt-get -y install libgss-dev) - всё зависит от стека и окружения сборки.Мораль сей басни такова:
1) закладывайте x2 часы на подводные камни
2) спрашивайте помощи у старших
3) РАБОТАЕТ - НЕ ТРОГАЙ! xD
Извините, я оставлю тут эти хэштеги для удобства:
#истории #ssl #tls
🤩1
Короче говоря, релизнули Mojo.
Это язык программирования для Data Science, от создателей PyTorch и компаний-лидеров в сфере AI-инфраструктуры, и обещают, что его скорость работы в 35 000 раз быстрее python. Если его будут успешно использовать для обработки данных, то и для обучения нейросетей он тоже должен подойти. Вроде уже доступен в JupyterHub.
Если взглянуть на самые популярные области применения python - обучение ИИ, анализ и работа с данными, веб-разработка, скриптинг и автоматизация - то потенциально, Mojo может отобрать примерно 50% хлеба питонистов. Предполагаю, что на этом фоне и общая популярность Python может снижаться.
Хотя с другой стороны это похоже на C++ и C# в свое время, и возможно один из этих языков станет мейнстримом для молодежи, а другой хардкорный для олдов и супер-гиков.
Но лучше не учить питон сейчас, пока есть такая неопределенность, а уйти в более стабильные и менее хайповые языки.
Это язык программирования для Data Science, от создателей PyTorch и компаний-лидеров в сфере AI-инфраструктуры, и обещают, что его скорость работы в 35 000 раз быстрее python. Если его будут успешно использовать для обработки данных, то и для обучения нейросетей он тоже должен подойти. Вроде уже доступен в JupyterHub.
Если взглянуть на самые популярные области применения python - обучение ИИ, анализ и работа с данными, веб-разработка, скриптинг и автоматизация - то потенциально, Mojo может отобрать примерно 50% хлеба питонистов. Предполагаю, что на этом фоне и общая популярность Python может снижаться.
Хотя с другой стороны это похоже на C++ и C# в свое время, и возможно один из этих языков станет мейнстримом для молодежи, а другой хардкорный для олдов и супер-гиков.
Но лучше не учить питон сейчас, пока есть такая неопределенность, а уйти в более стабильные и менее хайповые языки.
Совершенно случайно наткнулся на диссертацию из UCI, от доктора философии в области информационных и компьютерных наук Roy T. Fielding.
В ней достаточно краткая выжимка по архитектуре REST,
Могу отметить параграф "5.1.6 Layered System", "5.1.7 Code-On-Demand", "5.3 REST Architectural Views". Достаточно много продвинутой информации, для тех, кому хочется большего, но кто уже устал перебирать статьи про REST, в формате "REST - это POST, GET и др."
#dissertation #uci #rest #architecture
В ней достаточно краткая выжимка по архитектуре REST,
Могу отметить параграф "5.1.6 Layered System", "5.1.7 Code-On-Demand", "5.3 REST Architectural Views". Достаточно много продвинутой информации, для тех, кому хочется большего, но кто уже устал перебирать статьи про REST, в формате "REST - это POST, GET и др."
#dissertation #uci #rest #architecture
🔥2
Вся информация в сети передается в виде пакетов. Поток данных разбивается специальным программным обеспечением на небольшие пакеты и передается через сеть интернет на целевой узел, а там собирается обратно.
Каждый пакет проходит на своем пути определенное количество узлов, пока достигнет своей цели. Причем, каждый пакет имеет свое время жизни. Это количество узлов, которые может пройти пакет перед тем, как он будет уничтожен. Этот параметр записывается в заголовке TTL, каждый маршрутизатор, через который будет проходить пакет уменьшает его на единицу. При TTL=0 пакет уничтожается, а отправителю отсылается сообщение Time Exceeded.
#http #how_internet_works
Каждый пакет проходит на своем пути определенное количество узлов, пока достигнет своей цели. Причем, каждый пакет имеет свое время жизни. Это количество узлов, которые может пройти пакет перед тем, как он будет уничтожен. Этот параметр записывается в заголовке TTL, каждый маршрутизатор, через который будет проходить пакет уменьшает его на единицу. При TTL=0 пакет уничтожается, а отправителю отсылается сообщение Time Exceeded.
#http #how_internet_works
Протоколы передачи данных или сетевого взаимодействия - определяют "кто", "кому", "что", передает. Самые распространенные протоколы в web - http/https, ftp, rdp, imap, pop3 и др.
Но они работают в верхнем слое, над более низкоуровневыми TCP и UDP.
TCP:
Протокол с подтверждением получения. Т.е. формируемый пакет данных, по аналогии с посылкой в реальном мире, отправляется курьером, с доставкой на дом. Курьер приносит посылку, и получает от вас подпись о получении, которую возвращает отправителю. Если получателя не было дома, посылка оставляется у двери, но потом курьер везет новую посылку позже, до тех пор, пока получатель не окажется дома, и не подтвердит получение. Так и осуществляются DDOS атаки, когда курьеры привозят фуры посылок, без ожидания подтверждения их получения, а получатель просто не успевает все распаковать и определить какие из них полезные, а какие от мошенников.
Т.е. когда нам важно знать, что информация точно доставлена.
Обычно используется при:
- Отправке почты.
- Отправке файлов (обычно файлы слишком большие для одной посылки, и они дробятся и отправляются по частям).
- Загрузка веб-сайтов.
UDP:
Протокол без подтверждения получения. Курьер просто приносит вам посылку и оставляет у двери, требует меньше времени из-за отсутствия подтверждения получения и возврата к отправителю, и можно подвозить сразу несколько посылок подряд, разными курьерами.
Используется в:
- Потоковых передачах данных.
- Видео и аудио трансляциях.
- Видеозвонках.
Теперь вы можете понять анекдот про эти протоколы:
- Я знаю неплохой анекдот про UDP, но не факт, что он до вас дойдёт.
- Я знаю неплохой анекдот про TCP, но если он до вас не дойдёт, то я повторю
#how_internet_works #tcp #udp
Но они работают в верхнем слое, над более низкоуровневыми TCP и UDP.
TCP:
Протокол с подтверждением получения. Т.е. формируемый пакет данных, по аналогии с посылкой в реальном мире, отправляется курьером, с доставкой на дом. Курьер приносит посылку, и получает от вас подпись о получении, которую возвращает отправителю. Если получателя не было дома, посылка оставляется у двери, но потом курьер везет новую посылку позже, до тех пор, пока получатель не окажется дома, и не подтвердит получение. Так и осуществляются DDOS атаки, когда курьеры привозят фуры посылок, без ожидания подтверждения их получения, а получатель просто не успевает все распаковать и определить какие из них полезные, а какие от мошенников.
Т.е. когда нам важно знать, что информация точно доставлена.
Обычно используется при:
- Отправке почты.
- Отправке файлов (обычно файлы слишком большие для одной посылки, и они дробятся и отправляются по частям).
- Загрузка веб-сайтов.
UDP:
Протокол без подтверждения получения. Курьер просто приносит вам посылку и оставляет у двери, требует меньше времени из-за отсутствия подтверждения получения и возврата к отправителю, и можно подвозить сразу несколько посылок подряд, разными курьерами.
Используется в:
- Потоковых передачах данных.
- Видео и аудио трансляциях.
- Видеозвонках.
Теперь вы можете понять анекдот про эти протоколы:
- Я знаю неплохой анекдот про UDP, но не факт, что он до вас дойдёт.
- Я знаю неплохой анекдот про TCP, но если он до вас не дойдёт, то я повторю
#how_internet_works #tcp #udp
👍1
Ts-node — это механизм выполнения TypeScript для Node.js. Он преобразует TypeScript в JavaScript в памяти без записи на диск. Это позволяет напрямую запускать код TypeScript в Node.js без предварительной компиляции.
Так-же имеются примеры использования через shebang. По сути, это кросс-платформенные скрипты на JS/TS, которые могут заменить shell, batch и даже python скрипты.
Установка.
- Установите ts-node глобально с помощью команды
- Если необходимо, установите компилятор TypeScript отдельно:
Запуск скрипта.
- Чтобы запустить скрипт main.ts, выполните команду
Использование REPL.
- Чтобы получить доступ к REPL, запустите команду
Оптимизация.
- Если вас не беспокоят ошибки, вы можете передать флаг
Дополнительные возможности.
- Ts-node предлагает поддержку TypeScript REPL, что позволяет писать TypeScript прямо в командной строке. Это удобно для быстрого тестирования чего-либо.
#js #ts #nodejs
Так-же имеются примеры использования через shebang. По сути, это кросс-платформенные скрипты на JS/TS, которые могут заменить shell, batch и даже python скрипты.
Установка.
- Установите ts-node глобально с помощью команды
npm install -g ts-node. - Если необходимо, установите компилятор TypeScript отдельно:
npm install -g typescriptЗапуск скрипта.
- Чтобы запустить скрипт main.ts, выполните команду
ts-node main.tsИспользование REPL.
- Чтобы получить доступ к REPL, запустите команду
ts-node без аргументов.Оптимизация.
- Если вас не беспокоят ошибки, вы можете передать флаг
-T или --transpileOnly. Тогда ts-node будет выполнять транспиляцию в JavaScript без проверки ошибок в коде TypeScript.Дополнительные возможности.
- Ts-node предлагает поддержку TypeScript REPL, что позволяет писать TypeScript прямо в командной строке. Это удобно для быстрого тестирования чего-либо.
#js #ts #nodejs
GigaCode — это ИИ-ассистент от «Сбера» для разработчиков. Ранее он был доступен только для внутренней команды, но с начала 2024 года его могут использовать сторонние разработчики.
Что делает GigaCode:
* Дополняет код в режиме реального времени. Сервис анализирует уже написанный код и предлагает наиболее подходящие варианты продолжения — функции, циклы, условия и т. д..
* Поддерживает 15+ языков программирования, включая Java, Python, JavaScript, C++, C# и др..
* Генерирует код с нуля — пользователь вводит комментарии и описание логики, а GigaCode делает всё остальное.
* Осуществляет семантический поиск по кодовой базе — интеллектуальный поиск нужных фрагментов кода.
* Ищет уязвимости — бот выделяет и исправляет распространённые ошибки в коде.
* Предлагает способы улучшения существующего кода.
По результатам исследования, проведённого на большом объёме протестированного кода, GigaCode опережает:
* Copilot на 2 % в области генерации подсказок с более низкими порогами совпадения;
* Codeium на 3 %;
* TabNine на 6,5 %.
#news
Что делает GigaCode:
* Дополняет код в режиме реального времени. Сервис анализирует уже написанный код и предлагает наиболее подходящие варианты продолжения — функции, циклы, условия и т. д..
* Поддерживает 15+ языков программирования, включая Java, Python, JavaScript, C++, C# и др..
* Генерирует код с нуля — пользователь вводит комментарии и описание логики, а GigaCode делает всё остальное.
* Осуществляет семантический поиск по кодовой базе — интеллектуальный поиск нужных фрагментов кода.
* Ищет уязвимости — бот выделяет и исправляет распространённые ошибки в коде.
* Предлагает способы улучшения существующего кода.
По результатам исследования, проведённого на большом объёме протестированного кода, GigaCode опережает:
* Copilot на 2 % в области генерации подсказок с более низкими порогами совпадения;
* Codeium на 3 %;
* TabNine на 6,5 %.
#news
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Видел статью про выход крутого опенсорс UI фреймворка MagicUI на React, Tailwind и Framer. Посмотрел пару статей, выглядит интересно. Может перейду на него, вместо старенького Antd. (Да, я скатываюсь в JavaScript, очень уж чувствуется свобода по сравнению с C#)
Вот пара статей с примерами кода технологий, отдельно от фреймворка:
🔵 Building a Beautiful Product Onboarding 👋 with Next.JS , Framer Motion, and Tailwind CSS
🔵 Advanced page transitions with Next.js and Framer Motion
Вот пара статей с примерами кода технологий, отдельно от фреймворка:
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - magicuidesign/magicui: UI Library for Design Engineers. Animated components and effects you can copy and paste into your…
UI Library for Design Engineers. Animated components and effects you can copy and paste into your apps. Free. Open Source. - magicuidesign/magicui