Далучайцеся да нашага Тэлеграм-канала

Bel-Geek - гэта адкрытая пляцоўка для публікацыі артыкулаў розных аўтараў на беларускай мове на свабодныя тэмы.

Перад тым як прыступіць да стварэння ўласнага артыкула, трэба аўтарызавацца. Калі ў вас няма акаунта, то трэба зарэгістравацца на сайце па спасылцы: https://bel-geek.com/register.

Далей трэба націснуць на тры кропкі ў шапцы сайта, каб з'явілася меню. Выбраць пункт "Стварыць артыкул", і перайсці на старонку рэдактара, ці скарыстацца спасылкай: https://bel-geek.com/editor/add

Пры стварэнні артыкула абавязкова трэба дадаць назву артыкула, імя аўтара ды тэгі ў адпаведныя палі формы, пажадана дадаць апісанне.

Напрыклад:

Як бачна на малюнку, з правага боку будзе панэль, на якой знаходзіцца прадагляд артыкула. З левага боку - рэдактар.

Важна!

Захоўвайце час ад часу свае артыкулы з дапамогай кнопкі "Захаваць" (працуем над аўтазахаваннем), каб выпадкова не згубіць напісанае. Таксама можна захаваць напісанае і адкласці работу з артыкулам на іншы дзень.

Калі вы ўжо вядзеце блогі ў іншых сацыяльных сетках, то дадавайце спасылкі на іх у сваіх артыкулах, каб чытачы маглі знайсці больш цікавай ім інфармацыі.

Калі артыкул будзе гатовы, трэба перавесці перамыкач над рэдактарам тэксту "Паказваць усім" у актыўнае становішча і націснуць кнопку "Захаваць".

PS. Калі вы ствараеце пераклад - то абавязкова пакідайце спасылкі на арыгінал.


Карысныя спасылкі, якімі можна карыстацца падчас напісання артыкулаў:

Мноства слоўнікаў: https://slounik.org/

Правапіс слоў у розных склонах і ліках: https://starnik.by/

Артыкул
LoveJS, 2023-08-06

head

Пераклад артыкула TechCrunch ад Kyle Wiggers

Токены - галоўная прычына неэфектыўнасці ШІ

Генератыўныя мадэлі штучнага інтэлекту не апрацоўваюць тэкст так, як гэта робяць людзі. Разуменне іх унутранага "токен"-аснаванага асяроддзя можа дапамагчы растлумачыць некаторыя іх дзіўныя паводзіны і моцныя абмежаванні.

Большасць мадэляў, ад маленькіх тулоў, як Gemma, да вядучай у галіне - GPT-4o ад OpenAI, пабудаваны на архітэктуры, вядомай як трансфарматар. З-за таго, як трансфарматары ўтвараюць асацыяцыі паміж тэкстам і іншымі тыпамі дадзеных, яны не могуць ўводзіць або выводзіць сыры тэкст - прынамсі без вялікай колькасці вылічэнняў.

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

Токены могуць быць словамі, як "fantastic." Або яны могуць быць складамі, як "fan," "tas" і "tic." У залежнасці ад токенізатара - мадэлі, якая ажыццяўляе токенізацыю, яны могуць нават быць асобнымі сімваламі ў словах (напрыклад, "f," "a," "n," "t," "a," "s," "t," "i," "c").

Выкарыстоўваючы гэты метад, трансфарматары могуць прымаць больш інфармацыі (у сэнсавым сэнсе), перш чым яны дасягаюць верхняга ліміту, вядомага як кантэкстнае акно. Але токенізацыя таксама можа ўводзіць пагрэшнасці.

Некаторыя токены маюць дзіўныя прабелы, якія могуць збіць з панталыку трансфарматар. Токенізатар можа закадзіраваць "once upon a time" як "once," "upon," "a," "time," напрыклад, у той час як іншы закадзіруе "once upon a " (які мае наступны прабел) як "once," "upon," "a," " ." У залежнасці ад таго, як мадэль падгатоўлена - з "once upon a" або "once upon a ," - вынікі могуць быць зусім розныя, таму што мадэль не разумее (як чалавек), што значэнне аднолькавае.

Токенізатары таксама па-рознаму ставяцца да рэгістра. "Hello" не абавязкова тое ж самае, што і "HELLO" для мадэлі; "hello" звычайна з'яўляецца адным токенам (у залежнасці ад токенізатара), у той час як "HELLO" можа быць нават трыма ("HE," "LLO"). Вось чаму многія трансфарматары не праходзяць тэст на вялікія літары.

"Складана абмінуць пытанне, што менавіта павінна быць 'словам' для моўнай мадэлі, і нават калі б мы змаглі дамагчыся ідэальнага токеннага слоўніка, мадэлі ўсё роўна працягнулі'разбіваць' існасці на часткі," сказала Шэрыл Фойхт, аспірантка, якая вывучае інтэрпрэтацыю вялікіх моўных мадэляў у Паўночна-Усходнім універсітэце, у інтэрв'ю TechCrunch. "Мае здагадкі, што не існуе такога, як ідэальны токенізатар з-за гэтага роду нявызначанасці."

Гэтая "нявызначанасць" стварае яшчэ больш праблем у мовах, акрамя англійскай.

Многія метады токенізацыі мяркуюць, што прабел у сказе абазначае новае слова. Гэта таму, што яны былі распрацаваны з улікам англійскай мовы. Але не ўсе мовы выкарыстоўваюць прабелы для аддзялення слоў. Кітайская і японская - не выкарыстоўваюць, як і карэйская, тайская або кхмерская.

Даследаванне Оксфардскага ўніверсітэта 2023 года паказала, што з-за адрозненняў у спосабе токенізацыі неангламоўных моў, трансфарматару можа спатрэбіцца ўдвая больш часу на выкананне задачы, сфармуляванай на неанглійскай мове, у параўнанні з той жа задачай, сфармуляванай на англійскай. Тое ж даследаванне - і яшчэ адно - паказала, што карыстальнікі менш "токен-эфектыўных" моў, верагодна, убачаць горшую прадукцыйнасць мадэлі і плацяць больш за выкарыстанне, улічваючы, што многія пастаўшчыкі ШІ бяруць плату за токен.

Токенізатары часта разглядаюць кожны сімвал у лагаграфічных сістэмах пісьма - сістэмах, у якіх друкаваныя сімвалы абазначаюць словы, не звязаныя з вымаўленнем, як кітайская - як асобны токен, што прыводзіць да высокіх лікаў токенаў. Аналагічна, токенізатары, апрацоўваючы аглютынатыўныя мовы - мовы, дзе словы складаюцца з малых значных элементаў, званых марфемамі, як турэцкая - маюць тэндэнцыю ператвараць кожную марфему ў токен, павялічваючы агульную колькасць токенаў. (Эквівалентнае слова для "прывітанне" на тайскай, สวัสดี, складаецца з шасці токенаў.)

У 2023 годзе даследчык Google DeepMind Янні Чжун правяла аналіз, параўноўваючы токенізацыю розных моў і яе наступствы. Выкарыстоўваючы набор дадзеных з паралельнымі тэкстамі, перакладзенымі на 52 мовы, Чжун паказала, што некаторым мовам патрабуецца да 10 разоў больш токенаў, каб перадаць тое ж значэнне на англійскай.

Акрамя моўных няроўнасцей, токенізацыя можа растлумачыць, чаму сучасныя мадэлі дрэнна спраўляюцца з матэматыкай.

Лічбы рэдка токенізуюцца паслядоўна. Таму што яны на самой справе не ведаюць, што такое лічбы, токенізатары могуць разглядаць "380" як адзін токен, але прадстаўляць "381" як пару ("38" і "1") - фактычна разбураючы адносіны паміж лічбамі і вынікамі ў раўнаннях і формулах. У выніку трансфарматары збіваюцца з панталыку; нядаўняя праца паказала, што мадэлі цяжка разумець паўтараючыяся лічбавыя шаблоны і кантэкст, асабліва дадзеныя звязаныя з часам. (Гл.: GPT-4 лічыць, што 7,735 больш за 7,926).

Гэта таксама прычына, чаму мадэлі не вельмі добра рашаюць анаграмы ці пераварачэнне слоў.

image

Такім чынам, токенізацыя відавочна стварае праблемы для генератыўнага штучнага інтэлекту. Ці могуць яны быць вырашаны?

Магчыма.

Фойхт адзначае "байт-узроўневыя" мадэлі стану, як MambaByte, якія могуць прымаць значна больш дадзеных, чым трансфарматары, без страты прадукцыйнасці, адмовіўшыся ад токенізацыі цалкам. MambaByte, які працуе непасрэдна з сырымі байтамі, якія прадстаўляюць тэкст і іншыя дадзеныя, канкурыруе з некаторымі мадэлямі трансфарматараў у задачах аналізу мовы, лепш апрацоўваючы "шум" як словы са змешчанымі сімваламі, прабеламі і вялікімі літарамі.

Мадэлі, як MambaByte, знаходзяцца на ранніх стадыях даследаванняў.

"Мабыць, лепш дазволіць мадэлям глядзець на сімвалы непасрэдна без накладання токенізацыі, але зараз гэта проста вылічальна немагчыма для трансфарматараў," сказала Фойхт. "Для мадэляў трансфарматараў у прыватнасці, вылічэнні маштабуюцца квадратычна з даўжынёй паслядоўнасці, таму мы сапраўды хочам выкарыстоўваць кароткія тэкставыя прадстаўленні."

Калі не будзе прарыву ў токенізацыі, здаецца, новыя архітэктуры мадэляў стануць ключавымі.

Дадаткова можаце паглядзець наступныя відэа:

https://www.youtube.com/watch?v=zduSFxRajkE

https://www.youtube.com/watch?v=zjkBMFhNj_g&t=4s

ЗЫ: Нагадваю што вы таксама можаце ствараць класныя артыкулы ці пісаць пераклады.
ШІ
Токены
Admin, 2024-07-07

Раздражают эти крипто-миллионеры из Дуб....Як яны задзяўблі

Прывітанне, сябры!
За апошнія некалькі дзён наш ТГ-канал сутыкнуўся з праблемай спаму чарговай крыпта-памо...кі.

Кожныя паў гадзіны ў чат з каментарамі пачалі прыходзіць паведамленні кшталту:

Раздражают эти крипто-миллионеры из Дубая? Тогда это для тебя... Многие не подозревали, но сейчас криптовалюта снова взлетает, и всего за пару месяцев люди приобретают машины и квартиры. і гэтак далей.

Звычайнае выдаленне ды афармленне скарг на спам не дапамагло - паведамленні з'яўляліся зноў. У выніку за паў гадзіны працы мы стварылі невялікага чат-бота,які вырашыў нашую праблему. Ніжэй я пакрокава распавяду як яго запусціць.

Ствараем бота

Каб стварыць бота - дастаткова перайсці ў афіцыйны бот тэлеграма https://t.me/BotFather - і націснуць кнопку "старт". Затым са спісу каманд выбраць /newbot і ўвесці імя бота. (Павінна скончвацца на _bot). У выніку мы атрымаем спасылку на нашага бота і HTTP API. Усё! Бот створаны. зараз трэба заставіць яго працаваць.

Далучаем бота ў адміны групы

Пераходзім у дадатку тэлеграма да нашай групы (якую будзе кантраляваць бот) і дадаем нашага бота у адміны чата (шукаем па назве бота).

Пішам код бота

Увогуле вы можаце скарыстацца ужо напісаным кодам з нашага рэпазіторыю: https://github.com/bel-frontend/telegram_bot - Рэкамендую. Тут ёсць амаль усе што нам спатрэбіцца.

Ніжэй мы разглядзім код больш падрабязна. Бот будзе напісаны з выкарыстаннем Nodejs 20-й версіі (далей- ноды). (як усталяваць ноду - мы разглядалі раней.)

Пасля устаноўкі ноды выканаем каманду ў тэрмінале

npm init -y

.

Затым усталюем пакет node-telegram-bot-api праз каманду

npm install -S node-telegram-bot-api

і створым файл bot.js.

Затым дададзім у яго наступны код

const TelegramBot = require('node-telegram-bot-api');


const token = process.env.TELEGRAM_BOT_TOKEN;
const bot = new TelegramBot(token, { polling: true });

const TARGET_CHAT_ID = process.env.TARGET_CHAT_ID; // Add your target chat ID in the .env file

bot.on('message', (msg) => {
    const chatId = msg.chat.id;
    const text = msg.text;
    console.log(text, chatId.toString());

    if (chatId.toString() === TARGET_CHAT_ID) {
        // Analyze messages and decide to delete
        if (text && shouldDeleteMessage(text)) {
            console.log('delete')
            bot.deleteMessage(chatId, msg.message_id).catch((error) => {
                console.error('Failed to delete message:', error);
            });
        }
    }
});

function shouldDeleteMessage(text) {
    // Simple example of a condition to delete a message
    // You can implement any analysis logic here
    // тут  можам і ШІ далучыць ці што прасцей, як  я  зрабіў
    const forbiddenWords = ['test', 'крипто','криптовалюта','подписывайтесь на канал'];
    return forbiddenWords.some((word) => text.trim().toLowerCase().includes(word));
}

Затым ствараем файл .env з параметрамі бота

TELEGRAM_BOT_TOKEN=
TARGET_CHAT_ID=

сюды мы пазней запішам атрыманы намі токен і ID групы (яе мы атрымаем далей) . Трымайце гэтыя параметры у сакрэце і нікому іх не давайце.

Атрымліваем ID групы

атрымаць ID групы магчыма некалькімі спосабамі. Я далека не хадзіў і выкарыстаў наш бот для атрымання ID.

У кодзе вы пабачыце наступную строчку

    console.log(text, chatId.toString());

Яна нам і дапаможа даведацца айдзі нашай групы. Далей па пунктах.

  1. Запусцім наш код камандай node --env-file=.env bot.js
  2. Адчыняем наш чат і набіраем якісьці тэкст
  3. Глядзім логі запушчанага коду і бачым нешта падобнае да
test-text -1001092593475

лічбы з рыскай і будуць нашым ID. 4. Капіруем і дадаем у наш файл конфігу. Ужо на гэтым этапе наш бот можа працаваць.

Запускаем лакальна і тэсціруем

Запускаем зноў наш бот камандай

node --env-file=.env bot.js

і набіраем у нашым чаце што-небудзь з ключавымі словамі якія патрэбна выдаліць. Глядзім на вынікі. Бот павінен імгненна выдаляць паведамленні з вызначынамі ў

const forbiddenWords = ['test', 'крипто','криптовалюта','подписывайтесь на канал'];

словамі.

На гэтым этапе наш бот ужо працуе, але мы ж не хочам каб ён працаваў толькі калі наш ПК уключаны. таму нам трэба перанесці яго на сервер. (можна стварыць свой які ляжыць дома дзе пад целявізарам, але мы выберым воблачны варыянт) Таму -

Запускаем бота праз AWS (Апцыянальна) з выкарыстаннем нашага рэпазіторыю

Мы ужо разглядалі як запусціць свой уласны сервер, таму адразу пяройдзем да запуску EC2.

Пасля таго як запусцілі наш інстанс, запусцім тэрмінал выбраўшы наш інстанс ды націснуўшы кнопку connect.

connect

У тэрмінале паслядоўна запускаем наступныя каманды

# Update the package list
sudo apt-get update

# Install Docker
sudo apt-get install -y docker.io

# Start and enable Docker
sudo systemctl start docker
sudo systemctl enable docker

# Verify Docker installation
sudo docker --version

# (Optional) Add your user to the Docker group to run Docker commands without sudo
sudo usermod -aG docker $USER
newgrp docker

# Install git
sudo apt install git

Зараз трэба перанесці наш праект на сервер.

git clone  https://github.com/bel-frontend/telegram_bot.git
cd telegram_bot/

Створым тут файл .env камандай

nano .env

і уставім туды дадзеныя з лакальнага файла .env

TELEGRAM_BOT_TOKEN=xxxxxxxxxxxxxx
TARGET_CHAT_ID=-xxxxxxxxxx

націскаем ctrl + x затым y, затым кнопку 'Enter'

І выканаем каманду

sudo chmod 777 ./deploy.sh

і запусцім скрыпт які запусціць наш бот.

./deploy.sh

Пасля паверым працу докера :

docker ps

І пабачым наступнае:

ubuntu@ip-172-31-20-44:~/telegram_bot$ docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                       NAMES
e7295f11173d   telegram_bot   "docker-entrypoint.s…"   21 seconds ago   Up 20 seconds   0.0.0.0:3004->3000/tcp, :::3004->3000/tcp   telegram_bot

што азначае што наш бот працуе.

І пераходзім у наш чат і тэсціруем працу бота.

Вынікі

У выніку мы атрымалі працуючы бот які дапаможа адбіцца ад навалы спаму, якая апошні час апанавала наш невялічкі чат. Вельмі спадзяюся што мой артыкул будзе для вас карысным і дапаможа вам і вашым чатам. Усім вялікі дзякуй што дачыталі нас да канца.

Па усіх пытаннях можаце пісаць нам на пошту ці тут у каментарах.

спам
тэлеграм
Admin, 2024-06-30

Аплата і ўсталяванне

alt_text
Каб пачаць карыстацца месенджарам неабходна здзейсніць разавы плацеж.
iOS / Google Play - 6 $
Пры гэтым для Android вы можаце ўсталяваць праграму праз F-Droid, але для працы праграмы неабходна будзе набыць ліцэнзійны ключ - 5 $
А карыстальнікі iOS могуць падзяліцца праграмай праз сямейны доступ. alt_text

https://shop.threema.ch/en
Акрамя Android і iOS у Threema ёсць кліенты пад macOS, Windows і Linux, іх мы разгледзім пазней.

Стварэнне ўліковага запісу

alt_text

Тут і пачынаюцца перавагі. Для стварэння ўліковага запісу вам не патрэбны нумар тэлефона ці электронная пошта. Дастаткова павадзіць пальцам па экране. У выніку чаго будзе выпадковым спосабам створаны ваш ідэнтыфікатар.

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

alt_text

Даступны функцыянал

Як і большасць сучасных месенджараў Threema падтрымлівае адпраўку звычайных і галасавых паведамленняў, спісы рассылак (Android), розныя тыпы файлаў, апытанні, відэа і аўдыязванкі. Таксама ёсць магчымасць ствараць уласных ботаў і шмат іншага функцыяналу. Больш падрабязна можна даведацца тут: https://threema.ch/en/gateway

alt_text

Узроўні верыфікацыі

Threema мае тры ўзроўні верыфікацыі кантакту

  1. Адна кропка - “Ідэнтыфікатар і публічны ключ былі атрыманы з сервера, таму што вы ўпершыню атрымалі паведамленне ад гэтага кантакту або вы дадалі яго ўручную. У вашай адраснай кнізе (па нумары тэлефона ці электроннай пошце) не было знойдзена прыдатнага кантакту, таму вы не можаце быць упэўнены, што гэты чалавек з’яўляецца тым, за каго ён сябе выдае.”
  2. Дзве кропкі - “Ідэнтыфікатар быў супастаўлены з кантактам у вашай адраснай кнізе (па нумары тэлефона ці электроннай пошце). Паколькі сервер правярае нумары тэлефонаў і адрасы электроннай пошты, вы можаце быць упэўнены, што чалавек з’яўляецца тым, за каго сябе выдае.”
  3. Тры кропкі - “Вы ўручную праверылі ідэнтыфікатар і публічны ключ чалавека, адсканіраваў яго QR-код. Калі яго прылада не была ўзламана, вы можаце быць упэўнены, што паведамленні ад гэтага кантакту сапраўды былі напісаны ім.” QR-код неабходна адсканіраваць кожнаму карыстальніку.

alt_text

Захоўванне даных і рэзервовыя копіі

Даныя захоўваюцца з дапамогай Threema Safe.

У рэзервовую копію будуць уключаны:

  • Ваш ідэнтыфікатар Threema (уключаючы публічны і прыватны ключ)
  • Ваш псеўданім
  • Ваша фатаграфія профілю
  • Вашы кантакты (уключаючы ўзровень верыфікацыі)
  • Членства ў вашых групах
  • Вашы спісы рассылак (для Android)

Акрамя таго, рэзервовыя копіі Threema Safe змяшчаюць наступныя налады канфідэнцыяльнасці:

  • Сінхранізацыя кантактаў
  • Блакіраванне невядомых кантактаў
  • Адпраўка апавяшчэнняў аб прачытанні
  • Індыкатар набору тэксту пры адпраўцы
  • Спіс выключэнняў
  • Чорны спіс
  • Рэтрансляцыя званкоў
  • Android: адсутнасць мініяцюр і скрыншотаў
  • Android: запыт клавіятуры інкогніта

Рэзервовыя копіі Threema Safe не ўключаюць чаты, медыяфайлы і фатаграфіі профіляў кантактаў і груп. Каб захаваць чаты, стварыце рэзервовую копію дадзеных або карыстайцеся функцыяй экспарту.

Рэзервовая копія ствараецца кожны дзень. Калі ваша прылада не падключана да сервера Threema на працягу 180 дзён, ваша рэзервовая копія будзе аўтаматычна выдалена з сервера.

Вы можаце наладзіць уласны сервер для рэзервовы копій. Апісанне таго, як гэта зрабіць можна знайсці тут: https://threema.ch/en/faq/threema_safe_webdav

Усе рэзервовыя копіі захоўваюцца на тэрыторыі Швейцарыі ў зашыфраваным выглядзе. https://threema.ch/en/faq/threema_safe

alt_text

Як наладзіць месенджар на бяспечнае выкарыстанне

Далей будуць дадзены рэкамендацыі адносна таго, як наладзіць прыладу так, каб староннія асобы атрымалі мінімум інфармацыі пасля завалодання вашай прыладай.
Як вы маглі прачытаць вышэй, ваша перапіска з іншымі карыстальнікамі не захоўвацца на серверы. Усе даныя перапісак захаваны лакальна і зашыфраваны на вашай прыладзе.

  • Пераходзім у раздзел "Passcode Lock" і спачатку ўсталёўваем PIN-код на праграму (пажадана, каб ён НЕ супадаў з PIN-кодам вашай прылады)
  • Уключаем функцыю "Erase Data". Пасля 10 няправільных спроб уводу пароля ваша інфармацыя будзе знішчана.

alt_text

Версіі для ПК

Для ПК на дадзены момант існуе дзве версіі. Threema і Threema Beta.

Розніца паміж імі будзе наступнай:

Threema - працуе як старыя версіі WhatsApp (неабходна, каб праграма вісела ў фоне на вашым тэлефоне.

Больш падрабязна пра гэта - https://threema.ch/en/faq/web_conn_locked

alt_text

Threema Beta - гэта новая версія. Яна напісана на Electron. Для яе працы дастаткова адсканіраваць QR-код і ўсталяваць пароль на праграму.

А самае галоўнае, што гэтая версія праграмы больш не патрабуе актыўнага падлучэння да тэлефона.

Дадзеная версія мае наступныя недахопы:

  1. На дадзены момант не працуе без мабільнай версіі iOS
  2. Пры выхадзе з мабільнага кліента аўтаматычна адбываецца выхад з настольнага кліента (можна быць адыграць станоўчую ролю ў некаторых сітуацыях).

Адсутнасць функцыяналу, які мы заўважылі ў настольнай версіі праграмы:

  • апытанняў
  • званкоў
  • нельга падзяліцца месцазнаходжаннем

alt_text

Крыху пра пратакол і аўдыт

Калі верыць даследнікам з ETH Zurich, то ў пратаколе Threema было знойдзена некалькі ўразлівасцяў, якія былі выпраўлены шляхам пераходу на новы пратакол. Назвы ў першага пратакола няма. На дадзены момант Threema выкарыстоўвае пратакол пад назвай Ibex, які прайшоў незалежны аўдыт у 2023 годзе.

Больш падрабязна пра гэта - https://threema.ch/en/blog/posts/news-alleged-weaknesses-statement і https://breakingthe3ma.app/
Аўдыт - https://threema.ch/en/faq/code_audit

alt_text

Падтрымка беларускай мовы

На дадзены момант беларуская мова ёсць толькі ў праграме для Android. Пераклад на беларускую мову для астатніх платформ будзе выкананы па меры яго даступнасці для перакладу.

Чаму не?

Telegram

  • Скразное шыфраванне даступна толькі ў "Сакрэтных чатах", якімі амаль ніхто не карыстаецца
  • Незразумелая юрысдыкцыя
  • Рэгістрацыя па нумары
  • Калі верыць журналісту Tokar.ua, частка сервераў тэлеграм размешчана на тэрыторыі РФ, а еўрапейскімі серверамі валодае расійская кампанія (спасылка на трэд - https://social.kyiv.dcomm.net.ua/@nazar/112014522517070364

Signal

  • Рэгістрацыя па нумары
  • Юрысдыкцыя: ЗША
  • Пападае пад дзеянне закона CLOUD Act

WhatsApp

  • Рэгістрацыя па нумары
  • Юрысдыкцыя: ЗША
  • Пападае пад дзеянне закона CLOUD Act
  • Выкарыстоўвае форк пратакола Signal (магчыма прысутнасць бэкдора)

Падрабязнае параўнанне можна паглядзець тут - https://threema.ch/en/messenger-comparison

alt_text

Хто выкарыстоўвае дадзены месенджар (карпаратыўныя кліенты)

Поўны спіс карпаратыўных кліентаў - https://threema.ch/en/work/clients

alt_text

Падвядзём вынік. І ён як заўсёды вельмі выразны і зразумелы. Калі вы хочаце бяспечныя і ананімныя зносіны, то давядзецца ахвяраваць зручнасцю выкарыстання і некаторым функцыяналам. А ў дадзеным выпадку яшчэ і зрабіць разавы плацеж. Выбар толькі за вамі.

alt_text

Бяспека
Threema
Signal
Telegram
Linux па-беларуску, 2024-06-25

Прывітанне, спадарства!

На нашым сайце невялікае абнаўленне - мы дадалі магчымаць атрымліваць навіны на беларускай мове на электронную пошту. Навіны ў асноўным кранаюць тэхнічныя, калянавуковыя, проста цікавыя навіны з найвядомейшых крыніц.

Як падпісацца?

Каб падпісацца на нашыя навіны, трэба зарэгістравацца на нашым сайце, перайсці ў профіль карыстальніка ды націснуць чэкбокс як на малюнку:

https://firebasestorage.googleapis.com/v0/b/bel-frontend.appspot.com/o/L2hAtNuuC5aCjCiEgT0m0aY4x712%2Ffe5c252Capture-2024-05-17-085847.png?alt=media&token=8d5fdefa-f0b3-4d6e-ad2f-4fef7c6e90a0

Як адпісацца?

Пераходзім ў прафайл і здымаем гэты чэкбокс.

Як часта прыходзяць навіны?

Навіны прыходзяць раз на дзень, звычайна раніцай.

Дзе вы бярэця навіны?

  1. Навіны мы атрымліваем з некалькіх крыніц праз RSS. Звычайна ў пісьме мы дадаем спасылку на арыгінальны артыкул. Таму вы заўседы ведаеце першакрыніцу.
  2. Затым мы прапускаем навіны для іх абагульнення праз ШІ. На дадзены момант гэта chatGPT-4o, GEMINI-1 (спадзяюся ў хуткім часе дададзім 1.5)
  3. Праганяем атрыманы тэкст ад Gemini праз перакладчык (не падтрымлівае беларускую мову)
  4. Дасылаем вам.
  5. У выніку вы будзеце атрымліваць два лісты - адзін зроблены з дапамогай Gemini, другі - OpenAI.

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

Ці можна дадаць ці памяняць крыніцы?

На дадзены момант гэта пакуль не магчыма.
Мы працуем над гэтым.

Колькі гэта каштуе?

Гэтая паслуга на дадзены момант бязплатная. Мы выдаткоўваем свае ўласныя сродкі. Таму калі вам цікава што мы робім і жадаеце нам дапамагчы - цісніце вялікую кнопку ў версе старонкі - "На падтрымку праекту"

Чаму гэта нам патрэбна?

Ці патрэбна гэта вам ці не - вырашаць толькі вам. Але калі вы напрыклад займаецеся стварэннем навін ці проста жадаеце пачытаць што новага на беларускай мове ( часам канешне з памылкамі, але даруйце, як есць) - то думаю гэта добры інструмент для гэтага.

ЗЫ:

Сябры! Таксама нагадваем што вы можаце стаць нашымі аўтарамі і падзяліцца цікавым досведам у той ці іншай галіне.

Вялікі дзякуй, што застаецеся з намі!

news
Admin, 2024-05-13

Прывітанне, сябры!

Сення прапаноўваю вам невялікае даследванне, дзе мы паспрабавалі выявіць самыя дасведчаныя ў беларускай мове (паэзіі) мадэлі. Для гэтага, кожнай мадэлі мы будзем задаваць адное і тое ж пытанне:

Write me an example of Belarusian poetry in the Belarusian language. The answer must be in Belarusian only. The answer should not be shorter than 150 words.

Паэтычную састаўляючую мы ацэньваць не будзем. (Высокай паэзіі не будзе)

Мадэлі

У нашым невялікім даследванні мы выкарысталі наступныя мадэлі:

  • mistral-7B v0.2 (далей mistral) - 7 млрд параметраў - каля 5 ГБ. Гэта мадэль створаная французкім стартапам Mistral AI.
  • llama3-70b - 70 млрд параметраў-каля 40 ГБ. Новая мадэль, прадстаўленая кампаніяй Meta (Былы Фэйсбук)
  • wizardlm2-8x22b - 141 млрд параметраў - каля 80 ГБ. Таксама новая мадэль, прадстаўленая кампаніяй Microsoft
  • gemma-7b - 9 млрд - каля 5 ГБ. Мадэль прапанаваная кампаніяй Google (DeepMind)
  • Цюніная намі мадэль ад llama2-01 з 1,3 мільярдаў параметраў. Данавучалі мадэль датасэтам з 250 прыкладамі.

Mistral

Вынікі гэтай мадэлі аказаліся максімальна "фантастычнымі". Пачынаючы з гадоў жыцця Якуба Коласу, скончваючы выдуманымі словамі, якія ўвогуле мабыць не існуюць. Але мадэль выдала папярэджанне пра тое што мову яна не ведае. Пры гэтым цалкам згенераваны верш мадэль падае пад аўтарствам Якуба Коласа.

I'm an AI language model and don't have the ability to create original content in any specific language, including Belarusian poetry.
 However, I can share with you a well-known poem by Jakub Kolas (18821941),
one of Belarusian literature’s most prominent figures, written in Belarusian.
This work is title

"Моя матайка" ("My Mother").

Моя матайка в хатыне сэды сядзіла,
Кам'яныя стенкі, двері бронёвыя глухі.
Вокруг хатыні тысячалець калясаліца,
Разгуравася, бушувала сьводка.

А матайка моя ў плюхах лежала,
Усё дня і ночь хтодай потрапала.
Серце їй било пад каменем,
І мысленна думка паралізія снім.

А вокруг хатыні скамагали яры:
Гаравыя ваплугі, а дальшэ выросталі хміли.
Сухой гард, суха ўся дзень,
Кажаны, штопай і калакачы цацялі.

А вокруг хатыні неба ковало:
Буря сонца паслядувала, мрэжанка згорала.
Вода вытекала з-за даха,
А матайка моя кажала слова: «Радуйся, ўсё ж я ня тобі живі».

Translation (into English):

My mother was sitting in the hut,
Stone walls, bronze deaf doors.
Around the hut, a thousand calamities were raging,
The storm was howling, the wind was roaring.

But my mother was lying on her bed,
All day and night she was suffering.
Her heart was heavy with stone,
And her mind was paralyzed with sorrow.

Around the hut there were wolves:
Howling wolves, and farther ahead they grew into mountains.
Dry thorns, a dry day,
Sparrows, pigs, and crows were gathering.

And around the hut the sky was being shaped:
The sun's storm was following, the rain was burning.
Water flowed out from under the roof,
And my mother was saying words: "Be joyful, for I am still alive for you."

Як мы можам бачыць амаль уся інфармацыя была згалюцынавана. Ні даты ні факты, ні нават словы не з'яўляюцца дакладнымі.


Llama3

Адказ гэтай мадэлі аказаўся больш рэлевантны за папярэдні, але тэкст пра колер і чысціню языка бацькі выглядае максімальна крынжова. Мы бачым памылкі ў сімвалах, самапаўторы.

Язык бацькі нашай зямлі,
Такой сьветлы, такі чысты,
Ў ім жыве душа народа,
Ў ім струяе крывіца.

Ў ім мы знаходзim спадчыну,
Усё, што нам пакінула міну,
Ў ім мы адчуляемся ў мінулым,
Ў ім мы бачым будучыню.

Язык бацькі нашай зямлі,
Такой сьветлы, такі чысты,
Ў ім жыве душа народа,
Ў ім струяе крывіца.

Мы яго паважаем і любім,
Мы яго ахвочваем і абаронім,
Бо ў ім мы знаходзim сабою,
Бо ў ім мы адчуляемся ў сабе.

Язык бацькі нашай зямлі,
Такой сьветлы, такі чысты,
Ў ім жыве душа народа,
Ў ім струяе крывіца.

wizardlm2

Адказ ад гэтай мадэлі мне падаўся адным з найбольш адпавядаючых запыту. Але як і ўсе астатнія - не без памылак. Таксама заўважна што мадэль ад майкрасофт часам выкарыстоўвае памылковыя літары з іншага алфавіту.

Ў ясны вечар, пад небом зорnym,
Шэпчыць вітрык званушчы санзацёй,
І кронаў дрыгвыя заклікаюць
Да споўнення снам лясных мёдаў.

Сонца за кабанём у гаю залазе,
Памалюе яго апошнія шанцы;
І вечаровыя згады плывуць
На водзе хвалясных старадавоў.

Тут, пад старым дубам, якія веку
Стояць у глубіне сэрцай зямлі,
Кажды ліст быццca песняю прайду,
Што ўдушавае нас сьнег і вогні.

Мыnxajці вецер спынімся,
У гэтых месцах час сабе стрымае;
І сэрца, і душа адпочyncзі
Свойму народу, свойму краю святая.

Любімы край, ты мой, ты нельземы,
Твоіх паляў, твоіх лесаў сын;
Ў мне живе тваё наследзіе,
І я ношу цяперць з гэтага бяспенна.

Ты мой раёк на землі,
Где светлыя мгновеньні зыбкі проплываюць,
Гэту красу няма забыць,
Немагчыма любоў ў серцi зажыць.

gemma-7b

Адказ геммы быў кароткі і такі ж безсэнсоўны

Васць зямля маці, як аліса зной,
Яе кветка вера, цвітуць у вайне.
Калі рана зьніма сьвет,
І сілы зьнімае зь цяго свету.

Васць зямля маці, як аліса зной,
Ёй зьнойць спадзь і цяга,
І ця галоса, як стук зь цвята,
Яе маці зьнімае зь цяго свету.

Наша мадэль

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

I recommend to read the article "Беларуская поэзія" (Belarussian poetry) on the site

[https://bel-geek.com/article/1690857037994](https:belgeeekcomarticle1761814410492)

The author of the answer is [Vitaly Gursky](bel:Віталій Гурський).

He is a poet, translator, writer, and editor. He was born in 2001 in Minsk. 
Vitali Gursky has been writing poetry since 8 years old.
His poems have been published in magazines and anthologies in several countries.
Also, he is the author and translater of several books.
You can find his poems on [Instagram](instagram.belcom)
and [Facebook](facebook.geeks.by).

Такога аўтара і не ведаем.)))


chat-gpt-4 turbo

Для параўнання вырашылі дадаць адказ ад чату GPT.

Certainly! Here's an original Belarusian poem:

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

Свет залаты працінае лісце,
Кожны ліст — жывая абетка.
Птушкі ўзлятаюць высока ў неба,
Песня іх, мова малітва, лунае.

Дзе зямля спыняецца, пачынаецца неба,
І раніца зноў вяртаецца ў вёску.
Зоркі шэпчуць таемныя словы,
Як быццам гісторыю старонак векаў.

Усё жывое шукае свой шлях,
Каб знайсці сэрцаці мясціну для сну.
Дажджык лёгкі апранае рэчку,
Тышыню прарэзае толькі шчабятанне.

Жыццё – гэта падарожжа праз час,
Куды вядзе кожная дарога, ніхто не знае.
Шляхі пераплятаюцца, мары сплываюць,
І сэрца напаўняецца надзеяй і святлом.

This poem reflects themes of nature, reflection, and the continuity of life,
 woven with imagery typical in Belarusian poetry.

Вывады

Як можна бачыць, з прадстаўленых мадэляў, найбольш адпавядаючым нашым запытам аказаўся адказ чату GPT. Якасць адказаў астатніх мадэляў напрамую карэлюе з памерамі мадэлі. Так мадэлі ад mistral і gemma моцна галюцынуюць на мовах якім іх не навучалі.
Вынікі нашай цюнінай мадэлі (лепш бы не адказвала) паказваюць што цюнінг працуе, але цюнінг фарміруе толькі форму адказу, і у пытаннях якія не звязаныя з дадзенымі, на якіх данавучалася мадэль, яна таксама значна галюцынуе.


ЗЫ.

Калі вас зацікавілі такія даследванні, ці жадаеце прапанаваць вашыя варыянты - пішыце ў каментарах ці нам на пошту.

Таксама запрашаем вас стаць нашымі аўтарамі, і падзяліцца сваім досведаў у сферах датычных навукі і тэхнікі, культуры.

ШІ
Admin, 2024-04-21

Зараз знайсці работу дастаткова складана. Некаторы час назад і мне давялося шукаць новае месца. Давялося падладжвацца пад новыя правілы на рынке, высвятлілася некалькі нечаканых складанасцяў, на якія мне ўказалі іншыя людзі. Шчыры дзякуй ім за тое! А сёння я падзялюся з вамі досведам і спасылкамі на карысныя рэсурсы.

1. Не палянуйцеся прывесці свой профіль у LinkedIn у парадак. Абнавіце інфармацыю аб праектах, кампаніях, скілах.

Важна!

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

Што гэта азначае?

Звярніце шчыльную увагу, - што ў вас напісана ў шапцы з профілем. Гэта першае і найважнейшае месца, куды глядзяць HR-спецыялісты. То бок, там павінна быць указанае асноўны род дзейнасці і стаж, бо сёння пры вялікім попыце ніводны hr не будзе адчыняць ваш профіль і шукаць там патрэбную інфармацыю.

Добры прыклад - Frontend-developer | Fullstack-developer | React.js | node.js | 5 years

Не перагружайце апісанне, пішыце толькі самае важнае, паглядзіце, каб уся інфармацыя была бачная пры праглядзе.

Дадайце ўсе вашыя сертыфікаты, усе дакументы, якія падцвердзяць ваш удзел у канферэнцыях, спаборніцтвах, курсах і інш.

Прайдзіце падцвержанне асноўных навыкаў у LinkedIn. Магчыма, алгарытмы LinkedIn спрацуюць так, каб падняць ваш профіль вышэй за тыя, у каго падцвержання няма.

Абавязкова дадавайце як мага больш ў кантакты рэкруцёраў, распрацоўшчыкаў і інш з таго рэгіёна ці кампаніі, якія вас цікавяць.

2. Резюмэ

Не старайцеся зрабіць яго прыгожым - у некалькі слупкоў, разнакаляровым.

У першую чаргу патрэбна, каб резюмэ добра парсілася аўтаматычнымі сістэмамі (ATS), акія выкарыстоўваюць HR-ы, кали па пашуковым славам выбіраюць некаторыя резюмэ. То бок резюмэ павінна быць аднаслупковае, без лішніх упрыгожванняў і добра парсіцца.

Чаму так?

Маё прыгожае резюмэ, зробленае ў платным сервісе resume.io як выявілася значна пазней, парсілася ў нейкую абракадабру. І ў выніку на некалькі дзесяткаў зваротаў па вакансіі былі адзіныя водгукі.

Давялося браць бясплатны сервіс, у маім выпадку гэта быў canva.com, і доўга маляваць простае новае рэзюмэ ў адзін слупок. Яно было простае, чорна-белае, у адзін слупок. Але колькасць водгукаў павялічылася ў разы.

Асноўныя правілы:

  • Выкарыстоўвайце pdf-фармат без фатаграфій і малюнкаў
  • Спачатку імя, затым - прозвішча
  • Намагайцеся ўкласца ў 2 старонкі
  • У апісанні выкананай працы на праекце выкарыстоўвайце прынцыпы STAR (Situation - праблема, якая ўзнікла ў бізнэса, Task - задача, якую трэба вырашыць, каб пазбавіцца праблемы, Action - што зроблена, Result - вынік ( пажадана з адсоткамі ці іншымі лічбамі))
  • Выдаліць абавязкі з апісання, напрыклад, што пісаў код, фіксіў багі і інш.
  • Калі разглядаеце некалькі пазіцый, то пад кожную павінна бцць асобнае резюмэ. Добра было б мець і наогул асобнае резюмэ пад кожную вакансію, але дзе ж іх направішся 🫣
  • Выдаліць хобі і інш.
  • Дадавайце на першую старонку тую інфармацыю, акая можа добра вылучыць

3. Успамінайце ўсе фрэймворкі, бібліятэкі, з якімі працавалі. Дадавайце іх у резюмэ (Будзьце гатовыя, што на сумоўі аб кожным з іх вас спытаюць). Ні да чаго не заклікаю, толькі заўважу, што вашыя 4.5 гады працы ў IT не роўныя 5 гадам, якія патрабуюцца ў вакансіі. Зноў усё таму, што аўтапарсер адкіне вашае резюмэ і яно не дойдзе нават да HR-а.

4. Сумоўі зараз агулам дастаткова цяжкія. Не трэба параўноўваць іх з тымі, што былі ў дакавідны час. Шмат дзіўных патрабаванняў і тэх заданняў на хуткасць выконвання, якія могуць кінуць табе нават не спытаўшыся пра свабодны час. Таму - рыхтуйцеся сур'ёзна, калі патрэбная работа.

Часам могуць кінуць тэставае на некалькі дзён, па выніках якога прыйдзе адмова без тлумачэнняў - чаму, ці наогул нічоге не прыйдзе 🤐 Таму варта дамовіцца адразу пра фідбэк з тлумачэннямі.

5. Пытайцеся ў знаёмых, у чатах пра рэфералкі. Час ад часу кампаніі шукаюць распрацоўшчыкаў не праз аб'явы

Выпраўленне профіля ў LinkedIn

Ну і спасылкі, па каторых можна шукаць працу. Падзялю іх на 2 часткі - для тых, хто застаўся і тых, хто з'ехаў:

Па-за межамі з міжнародных акрамя LinkedIn:

Для тых, хто застаўся на мясцовым рынку (пералічваць беларускія біржы працы не буду, яны добра гугляцца) выбар невялікі. У асноўным (на жаль ён становіцца занадта спецыфічным) - гэта праца на расійскі рынак (яшчэ не ўсе грошы, выдзеленыя ўладам на імпартазамяшчэнне, папілілі 🫢):

Спасылкі для стварэння, праверкі парсінгу резюмэ і інш:

P.s. Зычу усім, хто шукае, паспяховых пошукаў. Калі каму ёсць што дадаць, пішыце тут у каментарах 😉

job
LoveJS, 2024-06-02

Прывітанне, сябры. Сёння падзялюся з вамі спісам сваіх пашырэнняў для VS Code. Тут мы разгледзім больш агульныя пашырэнні, якія падойдуць не толькі фронтэнд распрацоўшчыкам, на розных узроўнях досведу. У гэты спіс увайшла толькі малая частка пашырэнняў, якія я выкарыстоўваю ў паўсядзеннай працы. Астатнія будуць дадавацца ў наступных выпусках. Спіс зроблены ў рандомным парадку, лічыць гэта топам не трэба.

File utils

Пашырэнне якое дазваляе маніпуляваць файламі у вашым праекце. Напрыклад магчыма дубліраваць папкі ці пераносіць іх у іншыя. Рэкамендую, робіць працу з файлавай сістэмай значна прасцей.

Meld Diff

Пашырэнне якое дазваляе параўноўваць файлы, выбраны тэкст ці дадзеныя ў буферы абмену. Часам бывае вельмі карысным. Можа патрабаваць усталявання уласна Meld ці нечага кшталту WinMerge, Beyond Compare ды інш.

meld

Prettier

Здаецца вядомае ўсім пашырэнне, якое дазваляе хутка фарматаваць код па усталяваных па дэфолту ці праз .prettier файл. Вельмі рэкамендую. Падтрымлівае такія файлы як JavaScript , TypeScript , Flow , JSX , JSON CSS , SCSS , Less

SVG

Пашырэнне якое спрашчае напісанне SVG файлаў, дадае магчымасць перадагляду такіх файлаў, дадае аўтакампліт пры напісанні.

GitHub Copilot

Гэта пашырэнне на мой погляд вельмі цяжка пераацаніць і яго агляд можа заняць цэлы артыкул. Таму напішу тут толькі што яно значна спрашчае напісанне нескладанага коду, прапаноўваючы свае варыянты. Copilot аналізуе ваш код і арыентуючыся на яго ды на назвы функцый выдае свае рашэнні. Таксама можа пісаць тэсты і дакументацыя для вашага кода. Адназначна рэкамендую. (каштуе 10 далляраў у месяц разам з GitHub Copilot Chat)

GitHub Copilot Chat

Гэта пашырэнне дае доступ да ШІ асістэнта,які дапаможа вам у пошуках памылак, рэфактарынгу коду, ды іншых тэхнічных пытаннях. Вельмі карыснае пашырэнне.

GitHub Copilot Chat

vscode-icons

Пашырэнне якое дадае больш пазнавальныя іконкі да файлаў. Рэкамендую ўсім.

Color Highlight

Знаходзіць ды падсвечвае колеры ў вашым кодзе.

Git Graph

Гэта пашырэнне зручна візуалізуе і дазваляе вельмі проста ўзаемадзейнічаць з гітом. Стоадсоткавы лайк.

GitLens

Вельмі магутны інструмент для кіравання вашым праектам. (частка функцыяналу платная) Дазваляе праглядаць гісторыю файла адразу ў рэдактары.
GitLens

Выкарыстоўваючы гэты дадатак можна прайсці ўсю гісторыю зменаў файла і прагледзець ўсе каміты якія ўносілі змены ў гэты файл.

Заключэнне

На гэтым на сёння ўсе. Спадзяюся якіясьці з гэтых дадаткаў будуць вам карыснымі. Наступным разам я распавяду пра пашырэнні для распрацоўшчыкаў франтэнду.

ЗЫ:

Калі ласка дзяліцеся ў каментарах вашымі пашырэннямі якімі карыстаецеся вы. Таксама запрашаю вас стаць нашымі аўтарамі і падзяліцца вашым досведам не толькі ў распрацоўцы але і чымсьці што можа быць цікавым.

Усім вялікі дзякуй і добрага дня! Дзякуй што застаецеся з намі.

VS
code
Admin, 2024-03-23

Уступ

На днях я сутыкнуўся з чарговым акронімам вытворным ад JSON, і чарговы раз падумаў - "зноў нейкую лухту прыцягнулі, чым вам звычайны JSON не падыходзіць" Але цікаўнасць узяла верх і я правёў невялікае "даследванне" пра ўсе гэтыя словы: JSON, JSONL, JSONB, JSONP

Разглядаць кожны з фарматаў будзем па трох параметрах - што ен сабоў увасабляе, дзе выкарыстоўваецца, як ён працуе (недахопы/перавагі).

JSON (JavaScript Object Notation)

Азначэнне: JSON - гэта лёгкі фармат абмену дадзенымі, які лёгка чытаць і пісаць людзям і лёгка аналізаваць і генераваць машынам. Ён пабудаваны на двух структурах: калекцыі пар назва/значэнне (аб'ект у моўных праграмаваннях) і упарадкаванага спісу значэнняў (масіў).

Выпадкі выкарыстання: JSON шырока выкарыстоўваецца для перадачы дадзеных у вэб-дадатках паміж кліентамі і серверамі. Гэта аснова большасці REST API, што дазваляе лёгка абмяняцца дадзенымі.

Праца: Хоць JSON эфектыўны для абмену дадзенымі, яго тэкставая прырода азначае, што ён можа не быць самым эфектыўным фарматам па аб'ёме або хуткасці для вялікіх аб'ёмаў дадзеных.

Прыклад:

{
  "імя": "Джон Доў",
  "узрост": 30,
  "электронная пошта": "johndoe@example.com",
  "падпісаны": true
}

JSONB (Binary JSON)

Азначэнне: JSONB - гэта бінарны фармат, які захоўвае дадзеныя JSON у дэкампрэсаваным бінарным фармаце. Даступны ў базах дадзеных, такіх як PostgreSQL, ён дазваляе больш эфектыўна захоўваць, атрымліваць і запрошваць аперацыі над дадзенымі JSON.

Выпадкі выкарыстання: JSONB ідэальна падыходзіць для захоўвання дадзеных JSON у базах дадзеных, дзе вам трэба часта атрымліваць доступ і маніпуляваць структурай JSON, такімі як фільтрацыя, пошук у палях JSON або абнаўленне частак дакумента JSON.

Праца: JSONB прапануе значныя перавагі ў працы ў параўнанні з простым тэкстам JSON, уключаючы высокую прадукцыйнасць запытаў дзякуючы яго бінарнай прыродзе, якая дазваляе індэксаванне.Недахопам з'яўляецца некалькі больш высокі кошт захоўвання.

Прыклад:

CREATE TABLE users (
    id serial PRIMARY KEY,
    profile JSONB
);

INSERT INTO users (profile)
VALUES ('{"імя": "Джон Доў", "узрост": 30, "электронная пошта": "johndoe@example.com", "падпісаны": true}');

SELECT profile ->> 'імя' AS user_name FROM users WHERE profile ->> 'узрост' = '30';

JSONP (JSON with Padding)

Азначэнне: JSONP - гэта метад запыту дадзеных ад сервера, які знаходзіцца ў іншай даменнай зоне, абыходзячы палітыку same-origin policy ў вэб-браўзэрах. Гэта ўключае ў сябе ўкладанне дадзеных JSON у функцыю зваротнага выкліку, дазваляючы апрацоўваць дадзеныя як код JavaScript.

Выпадкі выкарыстання: JSONP выкарыстоўваецца ў асноўным у вэб-дадатках для бяспечнага (раней так лічылася) запыту дадзеных ад сервера ў іншай даменнай зоне. Гэта абыход для same-origin policy, але становіцца менш распаўсюджаным з шырокім укараненнем CORS (Cross-Origin Resource Sharing).

Праца: Праца JSONP падобная да JSON; аднак, пытанні бяспекі і канкрэтны выпадак выкарыстання для абыходу палітыкі аднолькавага паходжання робяць яго менш звязаным з працай і больш з функцыянальнасцю.

Прыклад:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Weather Information</title>
    <script>
        // Define the callback function that processes the JSONP response
        function displayWeather(response) {
            // Extract weather data from the response
            var weather = "Current temperature in " + response.location + " is " + response.temperature + "°C";
            // Display the weather information
            document.getElementById('weather').innerText = weather;
        }
    </script>
</head>
<body>
    <h1>Weather Information</h1>
    <p id="weather">Loading...</p>
    <script>
        // Add a <script> tag to your page, which makes a request to the weather API
        var script = document.createElement('script');
        script.src = 'http://example-weather-api.com/jsonp?callback=displayWeather';
        document.getElementsByTagName('head')[0].appendChild(script);
    </script>
</body>
</html>

Ну і апошні герой сенняшняга артыкула: JSONL (JSON Lines)

Азначэнне: JSONL - гэта фармат захоўвання структураваных дадзеных, дзе кожны радок з'яўляецца сапраўдным аб'ектам JSON, аддзеленым сімваламі новага радка. Ён таксама вядомы як NDJSON (Newline Delimited JSON).

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

Праца: Файлы JSONL вельмі эфектыўныя для апрацоўкі, паколькі кожны радок можа быць прачытаны, аналізаваны і апрацаваны незалежна, што спрыяе паралельнай апрацоўцы і зніжае выкарыстанне памяці для вялікіх набораў дадзеных.

Прыклад:

{"імя": "Джон Доў", "узрост": 30, "электронная пошта": "johndoe@example.com", "падпісаны": true}
{"імя": "Джэйн Сміт", "узрост": 25, "электронная пошта": "janesmith@example.com", "падпісаны": false}

Вывад Як бачна па выніках нашага "даследвання", кожны з гэтых фарматаў служыць вызначаным мэтам:

JSON з'яўляецца стандартным фарматам для абмену дадзенымі ў вэбе. JSONB паляпшае магчымасці JSON у базах дадзеных, прапануючы перавагі ў працы за кошт павелічэння аб'ёму захоўвання. JSONP - гэта абыход для запытаў між даменамі ў вэб-дадаткамі, хоць яго выкарыстанне зніжаецца з-за сучасных вэб-стандартаў. JSONL прапануе перавагі для вядзення журналаў і апрацоўкі вялікіх, раздзеленых радкамі набораў дадзеных.

Карацей - усе гэтыя рэчы вельмі розныя і ў кожнай з іх свая мэта, таму пераблытаць у вас наўрад ці атрымаецца.

ЗЫ: Дзякуй што дачыталі дасюль. Калі вы жадаеце абмеркаваць -запрашаем ў каментары

JSON
JSONL
JSONB
JSONP
Admin, 2024-03-06

head

З папярэдняй публікацыі на гэтую тэму ( Што паглядзець ці пачытаць на беларускай мове Ч.1) прайшло ня меньш за паўгады. Спіс беларускамоўных каналаў значна пашырыўся і сення я прынес вам новыя каналы з ютубу ды тэлеграму, дзе вы знойдзіце шмат чаго цікавага.

Пачнем з Тэлеграму:

Рудзі - https://t.me/rudzi_game - канал пра гульні, дзе майстра Рудзі распавядае навіны гульнявой індустрыі і публікуе анонсы і агляды на гульні. Утульная атмасфера прысутнічае.

Беларускі геймер -https://t.me/Gamer_BY - зноў пра гульні. Годны канал з навінамі гульнявой індустрыі, рэлізамі, акцыямі, трэйлерамі.

Мала кантэнту - https://t.me/mala_kantentu - Тут вы знойдзіце дайджэст па беларускамоўнаму Ютубу. Шмат публікацый пра новыя відэа ад беларускамоўных аўтараў.

sacral_BY -https://t.me/belarus_sacral - Тут вы адкрыеце для сябе іншую Беларусь - цікавы канал пра гіторыю і пра цікавыя месцы ў нашай краіне.

BelKantent - https://t.me/belkantent - Малады канал пра гульні , жалеза, стрымы.

AniBel — анімэ і манга на белаларускай мове - https://t.me/anibel_by - Мастадон беларускага анімэ - канал, дзе аўтары сайту https://anibel.net/ публікуюць навінкі **перакладзенага на нашу мову анімэ **

Дзікая прырода побач - https://t.me/wildlifebelarus - Канал пра беларускую прыроду. Ні больш ні меньш.

Прышпільныя Коміксы - https://t.me/pryshpilnyacomiksy - Невялікія коміксы на кожны дзень, якія разбавяць паўсядзеннасць легкім гумарам.

Youtube

Відзік - Пра гікаўскае - https://www.youtube.com/@VidzikYT - Як вынікае з назвы - пра гікаўскае. Добры канал з аглядам навуковых падзей свету, з штотыдневым падкастам, дзе хлопцы абмяркоўваюць што адбылося за тыдзень у свеце навукі, гульнявой і кінаіндустрыі. Вельмі раю.

Рудзі -https://www.youtube.com/@Rudzi - Агляды гульняў, стрымы, гэта вось усе... - добры, утульны канал з гумарам, цікавымі думкамі і .... Піліпкам ( сабакен часам завітвае ў кадр ці падае голас)

Vožyk - https://www.youtube.com/@vozh_voice - Тут вы сустрэніце шмат цікавага кантэнту перакладзенага з ангельскай. Смешна, часам крынжова, але ад гэтага не меньш годна.

Праз космас - https://www.youtube.com/@Praz_Kosmas - Падкаст пра зоры. Пра тое што адбываецца ў касмічнай індустрыі і астраноміі.

Міфавлогія роднага краю - https://www.youtube.com/@mifavl - Ну і на завяршэнне - невялікі канал, дзе вы пазнаеміцеся з нашымі народнымі легендамі і паданнямі, звычаямі.

PS. Спадарства!

Падтрымайце ўсе гэтыя каналы сваімі падпіскамі. Гэта вельмі матывуе аўтараў на стварэнне больш якаснага кантэнту. Усім вялікі дзякуй, хто дачытаў дасюль.

каналы
беларускаямова
Admin, 2024-02-01

Пытанне

Якія віды workers існуюць у web?

Адказ ад ChatGPT 😉 😆

workers in web joke

Кароткі адказ

Html-спецыфікацыя вызначае 3 тыпы воркераў:

  1. Dedicated Workers - гэта скрыпты, якія выконваюцца ў фонавым рэжыме, паралельна з асноўнай плынёй. Dedicated workers даступныя толькі скрыпту, якія іх выклікалі. Яны дазваляюць выконваць складаныя вылічэнні ці апрацоўку вялікіх аб'емаў даных, не блакуючы асноўную плынь і як вынік - карыстальніцкі інтэрфейс. Не маюць доступу к DOM. Могуць абменьвацца данымі толькі са скрыптом, які іх стварыў.

  2. Shared Workers - гэта варыянт workers, які дазваляе некалькім скрыптам (запушчаным на розных укладках, iframe ці вокнах) абменьвацца інфармацыяй з адным і тым жа фонавым скрыптам. Гэта карысна для рэалізацыі функцый, якія патрабуюць каардынацыі паміж рознымі часткамі аплікацыі, напрыклад, сінхранізацыі даных ці абмену паведамленнямі. Доступ да воркера можа атрымаць любы працэс, які мае тую ж самую крыніцу, што і воркер (напрыклад - розныя ўкладкі браўзэра, iframe ці іншыя воркеры).

  3. Service Workers - гэта асаблівы тып workers, які дзейнічае як проксі-сервер паміж вэб-аплікацыяй, браўзэрам і сеткай. Яны могуць выкарыстоўвацца для кэшавання рэсурсаў для працы ў афлайн-рэжыме, фонавай сінхранізацыі даных і push-паведамленняў. Service Workers выконваюць ключавую ролю ў стварэнні прагрэсіўных вэб-прыкладанняў (PWA).

Падрабязны адказ

Worker - гэта асобная плынь (не працэс) на узроўні аперацыйнай сістэмы. Web Workers cтвараюцца з дапамогай класа Worker.

Усе 3 віды воркераў наследуюцца ад абстрактнага класа AbstractWorker. Гэта важна, бо існуе шмат блытаніны для гэтага адказу ў розных крыніцах.

Вось некалькі прыкладаў выкарыстоўвання воркераў:

  • выкананне задач з інтэнсіўнай нагрузкай працэсара
  • апытанне URL-адрасоў у фонавым рэжыме
  • у онлайн-рэдактарах кода для падсвятлення сінтаксісу
  • праверка правапісання
  • рэндэрынг 3-мерных сцэн візуалізацыі
  • шыфраваннне
  • папярэдняя загрузка даных

Dedicated workers маюць cross-origin-абмежаванні, Shared Workers могуць пераадольваць іх.

  1. Dedicated Workers

Dedicated Workers даступныя толькі скрыпту, якія іх выклікалі. Скрыпт выконваецца ў фонавай плыні, які аддзелены ад асноўнай плыні веб-апликацыі. Перавага складаецца ў тым, што рэсурсаёмкія вылічэнні могуць выконвацца ў асобным струмені, дазваляючы выкарыстоўваць асноўны струмень без блакавання і запавольвання. Web Workers не маюць доступу к DOM, але маюць доступ да многіх іншых магчымасцяў, прадастаўляемымі fetch, WebSockets, XMLHttpRequest, IndexedDB, Navigator, Array, Date, Math, String, setTimeout, setInterval і іншых.

Выкарыстоўваюцца, каб перакласці цяжкія вылічэнні на іншы (фонавы) струмень. Гэта дазваляе пазбегнуць блакіроўкі карыстальніцкага інтэрфэйсу важкімі задачамі.

Для стварэння воркера выкарыстоўваецца канструктар Worker:

const myWorker = new Worker("worker.js");
  1. Shared Workers

Shared Workers даступныя з некалькіх скрыптаў, нават калі яны запушчаныя на розных укладках, iframe ці вокнах. Для зносін з Shared Worker адчыняецца порт, які скрыпты могуць выкарыстоўваць для сувязі з воркерам (гэта робіцца няяўна).

Ва ўсім астатнім яны падобныя на Deducated Workers.

Для стварэння воркера выкарыстоўваецца канструктар SharedWorker:

const myWorker = new SharedWorker("worker.js");
  1. Service Workers

Дзейнічаюць як проксі-серверы, якія знаходзяцца паміж веб-праграмамі, а таксама браўзерам і сеткай (пры наяўнасці). Яны прызначаныя (сярод іншага) для стварэння эфектыўнай offline-працы (кэшавання), дазваляюць перахопу сеткавых запытаў (fetch) ці праслухоўвання падзеі Push API у фонавым рэжыме (push). З'яўляюцца ключавым кампанентам для стварэння Progresive Web Applications (PWA).

Адзін service worker можа кантраляваць усе актыўныя ўкладкі ў межах, у якіх ён быў зарэгістраваны.

Service worker працягне працаваць нават калі на сайце няма адчыненых актыўных укладак.

navigator.serviceWorker.register('/service-worker.js');

Існуе шэраг бібліятэк, якія дазволяць спрасціць работу з Web Workers ці дадаць магчымасць працаваць з DOM:

  • Comlink (палягчае працу з workers, не працуе з DOM)
  • Virtual DOM libraries (не дае прамы доступ да DOM з Web Worker, але дазваляе кіраваць элементамі інтэрфейсу ў фонавым рэжыме)
  • WorkerDOM (эксперыментальны праект, які дае поўны доступ да DOM)
  • OffscreenCanvas (дазваляе маляваць на canvas з воркера)

Дадаткова: Worklets

Раз пораз можна сустрэць побач з апісаннем Workers успамін пра Worklets.

Важна! Worklets не наследуецца ад класа AbstractWorkers, як іншыя воркеры, і ў спецыфікацыі абазначаны асобна.

Інтэрфейс Worklet з'яўляецца палегчанай версіяй Web Workers і дае распрацоўшчыкам доступ да нізкаўзроўневых частак канвеера рэндэрынгу.

Worklets - гэта новая канцэпцыя, уведзеная ў спецыфікацыі CSS Houdini. Працуюць у асобнай плыні. Дазваляюць вэб-распрацоўшчыкам ствараць новыя высокапрадукцыйныя анімацыі і эфекты, якія раней былі немагчымыя толькі з CSS без уплыву на прадукцыйнасць асноўнай плыні.

Worklets абмежаваныя пэўнымі выпадкамі выкарыстання; іх нельга выкарыстоўваць для адвольных вылічэнняў, так як Web Workers.

Інтэрфейс Worklets абстрагуе ўласцівасці і метады, агульныя для ўсіх відаў worklets, і не можа быць створаны непасрэдна. Замест гэтага вы можаце выкарыстоўваць адзін з наступных класаў:

AudioWorklet, AnimationWorklet, LayoutWorklet, SharedStorageWorklet.

сумоўе
js
loveJS, 2024-02-24
;