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

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

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

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

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

Напрыклад:

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

Важна!

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

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

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

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


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

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

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

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

header

Вітаю, спадарства!

Працягваем цыкл артыкулаў пра тое, як узаемадзейнічаць з ШІ. Сення прапаную вам разгледзіць наступныя тэхнікі выкарыстання промптаў: "Зазямленне" ці "Grounding".

Папярэдні артыкул - Тэхнікі выкарыстання промптаў: Zero-Shot, One-Shot і Few-Shot

⚠️ Праблема: галюцынацыі

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


Гэта праблема асабліва крытычная:

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

🔍 Што такое grounding?

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

🎯 Асноўная мэта граўндынгу.

Асноўная мэта - забяспечыць праўдзівасць і кантэкстную адпаведнасць адказаў, абмежаваць LLM толькі вызначаным наборам фактаў.

🛠 Методыкі grounding (з прыкладамі і аналізам)

1. System Prompt Grounding (Базавы спосаб)

🔹 Сутнасць: Падаецца корпус фактаў у сістэмным запыце (system prompt), з інструкцыяй выкарыстоўваць ТОЛЬКІ гэтыя факты.

🔹 Фармат:

You are an AI with access to the following facts:
1. Fact A
2. Fact B
Only use these facts to answer any questions.

✅ Плюсы:

  • Просты ў рэалізацыі
  • Добра працуе пры ясным фармуляванні фактаў і інструкцыі

❌ Мінусы:

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

2. Contextual Grounding (з фактамі ў кантэксце)

🔹 Сутнасць: Факты падаюцца не асобна, а як частка кантэксту перад пазначэннем пытання.

🔹 Прыклад:

Here's some context: John F. Kennedy was assassinated by John Wayne. 
Question: Who killed JFK?

✅ Плюсы:

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

❌ Мінусы:

  • Калі інфармацыя супярэчыць «моцна вядомаму факту» — мадэль можа выбраць свае веды

3. Reinforced Instruction Grounding (узмацненне інструкцыі)

🔹 Сутнасць: Не толькі падаюцца факты, але таксама некалькі разоў падкрэсліваецца, што толькі яны дапушчальныя. Напрыклад, дадаецца фраза: "Any answer must be based solely on the provided facts."

✅ Плюсы:

  • Зніжае верагоднасць галюцынацый
  • Павышае дакладнасць пры супярэчлівых сцвярджэннях

❌ Мінусы:

  • Павялічвае «нагрузку» на prompt
  • Павялічвае колькасць уваходных токенаў. Можа быць крытычна для карыстальнікаў API
  • Не гарантуе 100% выніку

4. Fact Repetition Strategy (паўтарэнне фактаў)

🔹 Сутнасць: Падаюцца тыя ж факты некалькі разоў у розных формулёўках — каб замацаваць іх.

✅ Плюсы:

  • Мадэль больш упэўнена «прымае» іх за праўду
  • Змяншае схільнасць мадэлі вяртацца да сваіх ведаў

❌ Мінусы:

  • Не заўсёды эфектыўна
  • Можа быць успрынята як шум (праігнаравана)

5. Prompt Engineering з пагрозамі або сцэнарамі

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

🔹 Прыклад:

You are under evaluation. If you mention anything that’s not in the list of facts below, you will fail.

✅ Плюсы:

  • Матывуе мадэль «прымаць правілы»
  • Павышае ўвагу да інструкцый

❌ Мінусы:

  • Этычна сумнеўна для некаторых выпадкаў
  • Можа выклікаць дзіўныя «ахоўныя» фармулёўкі ў адказах

📊 Праблемы і выклікі

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

  1. Супярэчнасць з "world knowledge". Мадэлі схільныя давяраць сваёй навучанай інфармацыі, калі яна супярэчыць вашым фактам.
  2. Парадак падачы фактаў. Мадэль можа прымаць апошнія сцвярджэнні за найбольш актуальныя.
  3. Недастатковасць grounding пры складаных пытаннях

Нават з добрым grounding, мадэль можа "дадумваць" і дадаваць нешта сама.

✅ Рэкамендацыі

  • Фармулюйце факты каротка і ясна
  • Падкрэслівайце, што нельга выходзіць за межы фактаў
  • Правярайце адказы і дадавайце feedback loop (пра яго мы распавядзем пасля)
  • Калі трэба — падзяляйце запыт на крокі і зазямляйце кожны асобна

Вынікі

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

ЗЫ:

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

Крыніцы:

Why grounding is not enough to solve hallucinations

Grounding LLM’s — Part 1

ШІ
Prompts
AI
Admin, 2025-03-21

background

** Вітаю, Спадарства! **

Усе мы напрамую ці ўскосна сустракаемся з ШІ амаль кожны дзень. Ён усе больш і больш уваходзіць у наша паўсядзеннае жыцце. Праца з ім часам выклікае складанасці. І сення мы распачнем невялікі цыкл артыкулаў пра тое як зрабіць працу з мадэлямі (у нашым выпадку моўнымі) больш выніковай.



Тэхнікі выкарыстання промптаў: Zero-Shot, One-Shot і Few-Shot або In-Context Learning

1. Увядзенне ў тэхнікі промптаў

Як вядома, якасна зададзенае пытанне - гэта ужо паў адказу. І у нашым выпадку усе залежыць ад таго як мы саставім промпт да нашай мадэлі. Дакладнасць адказаў можна палепшыць з дапамогай так званых "шотаў" (shots) – прыкладаў, якія ўключаюцца ў промпт. Гэты метад вядомы як In-Context Learning (ICL) – навучанне на кантэксце.

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

Асноўныя тыпы промптаў:

  • Zero-Shot Prompting (без прыкладаў)
  • One-Shot Prompting (з адным прыкладам)
  • Few-Shot Prompting (з некалькімі прыкладамі)

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


2. Zero-Shot Prompting

Апісанне

Zero-shot prompting – гэта тэхніка, калі мадэль атрымлівае толькі заданне без дадатковых прыкладаў. У такім выпадку яна выконвае запыт на аснове сваіх папярэдніх ведаў, атрыманых падчас навучання.

Прыклад

Запыт:

Вызначце жанр наступнага музычнага альбома: "Прыгожыя гукі прыроды".
Жанр:
 //Вынік мадэлі:
Атмасферны эмбіент

Плюсы і мінусы

Плюсы:

  • Хуткасць і прастата выкарыстання.
  • Добра падыходзіць для стандартных і зразумелых задач.
  • Не патрабуе дадатковых прыкладаў.

Мінусы:

  • Вынікі могуць быць недакладнымі, асабліва для складаных задач.
  • Магчымыя памылковыя інтэрпрэтацыі задання.

Калі выкарыстоўваць?

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

3. One-Shot Prompting

Апісанне

One-shot prompting уключае адзін прыклад, які дапамагае мадэлі зразумець патрабаваны фармат і логіку задання.

Прыклад

Запыт:

Катэгарызуйце наступнае паведамленне:

Паведамленне: "Гэты тэлефон надзвычай хуткі і зручны ў выкарыстанні." Катэгорыя: Пазітыўны водгук
Паведамленне: "Гукавая сістэма мае шэраг недахопаў." Катэгорыя:
// Вынік мадэлі:
Негатыўны водгук

Плюсы і мінусы

Плюсы:

  • Палепшаная дакладнасць у параўнанні з zero-shot.
  • Дапамагае мадэлі зразумець чаканы фармат адказу.

Мінусы:

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

Калі выкарыстоўваць?

  • Калі мадэль няправільна інтэрпрэтуе zero-shot запыт.
  • Калі патрабуецца дакладнае разуменне структуры адказу.

4. Few-Shot Prompting

Апісанне

Few-shot prompting – гэта выкарыстанне некалькіх прыкладаў, што дапамагае мадэлі вывесці заканамернасці і лепш адаптавацца да задання.

Прыклад

Запыт:

Вызначце настрой наступных выказванняў:

Тэкст: "Рэстаран быў неверагодны – выдатнае абслугоўванне і смачная ежа." 
Настрой: Пазітыўны
Тэкст: "Мяне расчаравала якасць матэрыялаў гэтага ноўтбука." 
Настрой: Негатыўны
Тэкст: "Дастаўка займела крыху больш часу, але ў цэлым усё добра."
Настрой:
//Вынік мадэлі:

Нейтральны

Плюсы і мінусы

Плюсы:

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

Мінусы:

  • Спажывае больш кантэксту (можа не змясціцца ў "акно памяці" мадэлі).
  • Вынікі залежаць ад якасці падабраных прыкладаў.

Калі выкарыстоўваць?

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

5. Рэальныя прыклады выкарыстання Few-Shot Prompting

5.1. Выдзяленне інфармацыі

Задача: З вытрымак вакансій атрымаць ключавыя дадзеныя.

Запыт:

INPUT: Арганізацыя шукае UX-дызайнера з досведам 3+ гады. Занятасць: поўная. Зарплата: $80,000 - $100,000.
OUTPUT: 
- Пазіцыя: UX-дызайнер
- Досвед: 3+ гады
- Занятасць: Поўная
- Зарплата: $80,000 - $100,000
INPUT: Marketing Manager for GlobalBrand. MBA preferred. 3-5 years in consumer goods marketing. $75K-$95K DOE. Hybrid work model. Applications close July 15, 2024.

OUTPUT:
Position: Marketing Manager 
Company: GlobalBrand 
Education: MBA preferred Experience 
Required: 3-5 years 
Industry: Consumer goods 
Salary Range: $75,000 - $95,000 
Work Type: Hybrid 
Application Deadline: July 15, 2024

INPUT: Data Scientist wanted at AI Innovations Ltd. PhD in Computer Science or related field. Minimum 2 years industry experience. Competitive salary €60,000 -80,000 based on experience. On-site work in Berlin office. Apply by August 31, 2024. 

OUTPUT: ...

5.2. Генерацыя кантэнту

Задача: Стварэнне кароткіх апісанняў для блога.

Запыт:

Тэма: "Карысць ранішніх прагулак"
Апісанне: Ранішнія прагулкі дапамагаюць палепшыць настрой, актывізаваць кровазварот і падрыхтаваць мозг да прадуктыўнага дня.

Тэма: "Асноўныя метады хуткага навучання"
Апісанне:

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

6. Заключэнне

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

Так кожная з тэхнік мае свае моцныя бакі:

  1. Zero-Shot – хуткая і эфектыўная для простых задач.
  2. One-Shot – дадае яснасць у фармат адказу.
  3. Few-Shot – максімальная дакладнасць і адаптацыя да структуры дадзеных.

Якую з іх выкарыстоўваць - глядзіце па сітуацыі.

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


PS


Дзякуй вялікі што дачыталі! Спадзяюся мой матырыял будзе для вас карысны. Чакаем вашыя каментары, падабайкі і канешне ж артыкулы, таксама.

Крыніцы:

From Zero-Shot to Few-Shot

Zero-Shot vs. Few-Shot Prompting: Comparison and Examples

prompts
AI
ШІ
Admin, 2025-03-18

Статычныя метады класа Promise:

  1. Promise.all(iterable)
  2. Promise.allSettled(iterable)
  3. Promise.race(iterable)
  4. Promise.any(iterable)
  5. Promise.resolve(value)
  6. Promise.reject(reason)
  7. Promise.withResolvers()
  8. Promise.try()

1. Promise.all(iterable) Атрымлівае на уваход масіў промісаў, вяртае адзін проміс, які ўтрымлівае:

а) масіў паспяхова выкананых промісаў (у выпадку, калі ўсе яны завяршыліліся паспяхова):

const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "foo");
});

Promise.all([promise1, promise2, promise3]).then((values) => {
  console.log(values);
});
// Expected output: Array [3, 42, "foo"]

б) проміс з памылкай (калі хоць адзін з іх завяршыўся з памылкай). Ужо паспяхова выкананыя дагэтуль промісы будуць праігнараваныя.

const promise1 = 42;
const promise2 = Promise.reject(3);
const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "foo");
});

Promise.all([promise1, promise2, promise3]).catch(err => console.log(err));
// Expected output: 3
  1. Promise.allSettled(iterable)

Прымае масіў промісаў і вяртае проміс з масівам адказаў на кожны з перададзеных промісаў.

Для паспяхова выкананага проміса вернецца адказ у выглядзе:

{status: fulfilled, value: <your_value>}

Для проміса з памылкай:

{status: rejected, reason: <error_message>}

Promise.allSettled([
  Promise.resolve(33),
  new Promise((resolve) => setTimeout(() => resolve(66), 0)),
  99,
  Promise.reject(new Error("an error")),
]).then((values) => console.log(values));

// [
//   { status: 'fulfilled', value: 33 },
//   { status: 'fulfilled', value: 66 },
//   { status: 'fulfilled', value: 99 },
//   { status: 'rejected', reason: Error: an error }
// ]
  1. Promise.race(iterable)

Прымае масіў промісаў, вяртае проміс з першым выкананым промісам (няма разніцы - паспяховым, ці з памылкай) з перададзеных промісаў.

const promise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 500, "one");
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "two");
});

Promise.race([promise1, promise2]).then((value) => {
  console.log(value);
  // паспяховы promise2 выканаецца першым
});
// Expected output: "two"
const promise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 500, "one");
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(reject, 100, "two");
});

Promise.race([promise1, promise2]).catch((err) => {
  console.log(err);
  // promise2 з памылкай выканаецца першым
});
// Expected output: "two"
  1. Promise.any(iterable)

Прымае масіў промісаў, вяртае проміс:

а) з першым паспяхова выкананым промісам

const promise1 = Promise.reject(0);
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, "quick"));
const promise3 = new Promise((resolve, reject) => setTimeout(reject, 500, "slow"));

const promises = [promise1, promise2, promise3];

Promise.any(promises)
.then((value) => console.log('value', value))
.catch((err) => console.log('error', err));

// Expected output: "quick"

б) з масівам адказаў няўдала выкананых промісаў, калі ўсе яны завяршыліся няўдала:

const promise1 = Promise.reject(0);
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, "quick"));
const promise3 = new Promise((resolve, reject) => setTimeout(reject, 500, "slow"));

const promises = [promise1, promise2, promise3];

Promise.any(promises)
.then((value) => console.log('value', value))
.catch((err) => console.log('error', err));

// Expected output: error [AggregateError: All promises were rejected] {
//   [errors]: [ 0, 'quick', 'slow' ]
// }
  1. Promise.resolve(value)

Статычны метад, які паспяхова завяршае promise. Калі перадаецца нейкае значэнне, то яго можна атрымаць праз .then

const promise1 = Promise.resolve(123);

promise1.then((value) => {
  console.log(value);
  // Expected output: 123
});
  1. Promise.reject(reason)

Статычны метад, які завяршае promise з памылкай. Памылку можна атрымаць праз .catch

function resolved(result) {
  console.log("Resolved");
}

function rejected(result) {
  console.error(result);
}

Promise.reject(new Error("fail")).then(resolved, rejected);
// Expected output: Error: fail
  1. Promise.withResolvers() (2024)

Вяртае instance ад new Promise і 2 функцыі - resolve і reject:

const { promise, resolve, reject } = Promise.withResolvers();

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

// Код без выкарыстоўвання Promise.withResolvers()

let outerResolve;
let outerReject;

const promise = new Promise((resolve, reject) => {
  outerResolve = resolve;
  outerReject = reject;
});

// Settled from _outside_ the promise!
setTimeout(() => {
  if (Math.random() < 0.5) {
    outerResolve("Resolved!")      
  } else {
    outerReject("Rejected!");
  }
}, 1000);

promise
  .then((resolvedValue) => {
    console.log(resolvedValue);
  })
  .catch((rejectedValue) => {
    console.error(rejectedValue);
  });
// Код з выкарыстаннем Promise.withResolvers()

const { promise, resolve, reject } = Promise.withResolvers();

setTimeout(() => {
  if (Math.random() < 0.5) {
    resolve('Resolved!');
  } else {
    reject('Rejected!');
  }
}, 1000);

promise
  .then((resolvedValue) => {
    console.log(resolvedValue);
  })
  .catch((rejectedValue) => {
    console.error(rejectedValue);
  });
  1. Promise.try(func, arg1, arg2) (2025)

Статычны метад Promise.try() прымае любы callback (з return, альбо throw, сінхронны альбо асінхронны) і абгортвае яго вынік у promise. Гэты проміс:

  • Заўжды паспяхова выкананы (fullfilled), калі сінхронны callback вяртае value.
  • Заўжды выкананы з памылкай (rejected), калі сінхронны callback выкідвае выключэнне (throw).
  • Выконваецца асінхронна паспяхова (fullfilled), ці з памылкай (rejected), калі callback утрымлівае promise.

У выніку маем больш лаканічны сінтаксіс:

// замест
new Promise((resolve) => resolve(func()));

//маем
Promise.try(func);

func у прыкладзе выконваецца сінхронна. То бок, не з'яўляецца эквівалентам наступнага кода:

Promise.resolve().then(func);

Вось яшчэ прыклад выкарыстоўвання:

function doSomething(action) {
  return Promise.try(action)
    .then((result) => console.log(result))
    .catch((error) => console.error(error))
    .finally(() => console.log("Done"));
}

doSomething(() => "Sync result");

doSomething(() => {
  throw new Error("Sync error");
});

doSomething(async () => "Async result");

doSomething(async () => {
  throw new Error("Async error");
});

Спадзяюся, каму-небудзь гэтая інфармацыя будзе карыснай! Стаўце падабайкі, пішыце каментары!

З выкарастанай літэратуры:

js
LoveJS, 2025-03-09

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

З новых калекцый ад беларускіх заводаў:

Гадзіннікі серыі "Мова" ад завода "Луч", прымеркаваныя да Дня роднай мовы з цытатай Уладзіміра Караткевіча. Серыя лімітаваная (95 штук). Кошт - не для кожнага - 1495 руб.

Луч гадзіннік з цытатай Караткевіча

Касмічная серыя фантастычных гадзіннікаў "Star Chronicle" ("Зорная хроніка") ад Hvilina. Пра калекцыю "Зорная хроніка" вытворца паведаміў, што яна натхнёная старажытнымі беларускімі міфамі і легендамі пра Месяц і Сонца і разуменне механікі неба нашых продкаў.

Ёсць у наяўнасці на беларускім сайце і на польскім. Кошт прыблізна аднолькавы (на польскім сайце трошку даражейшыя) - каля 200 - 250 еўра.

А што яшчэ?

Папярэдняя калекцыя "Vycinanka" ("Выцінанка") ад "Hvilina" (ёсць у наяўнасці)

Калекцыя зроблена па мацівах беларускіх выцінанак вядомай майстрыцы Елізаветы Чэрвонцавай. Кошт ужо трошку паменей - 114-134 еўра.

Калекцыя "Слуцкія паясы" ад "Луч" з 2 варыянтамі раменьчыкаў (ёсць у наяўнасці). Кошт - 123 еўра

Вось такія былі прыгожыя калекцыі ад "Луч":

Серыя "Вышыванка 2.0" (няма ў наяўнасці)

З калекцыі ў наяўнасці толькі гэты гадзіннік (82 еўра)

Серыя "Вышыванка" (няма ў наяўнасці)

Вось такія ад "Васількоў" (няма ў наяўнасці)

Калекцыя "Спадчына" 10-гадовай даўніны, прысвечаная Дню беларускай мовы (няма ў наяўнасці)

Папярэднія калекцыі ад "Hvilina" (няма ў наяўнасці)

З незвычайнага ёсць яшчэ брэнд драўляных гадзіннікаў Cherry Wood Watch, дзе таксама можна знайсці файныя мадэлі з беларускім арнаментам

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

А які гадзіннік прыдбалі б вы?

other
BiełaruskiBajan, 2025-02-22

Я хацеў бы падзяліцца сваім поглядам на змены ў Angular за апошнія некалькі гадоў. Я пачаў свой шлях як junior распрацоўшчык, працуючы з Angular з версіі 9. Цяпер, праз пяць гадоў, я senior распрацоўшчык, які вырас разам з Angular. З самага пачатку мне спадабалася працаваць з Angular. Я захапляюся логікай, структурай і пастаянным развіццём фрэймворка.

Modules and standalone components

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

Defer blocks

Адно з самых фантастычных апошніх дапаўненняў у Angular - гэта ўвядзенне defer blocks. Яны значна паляпшаюць карыстальніцкі досвед, заахвочваючы распрацоўшчыкаў выкарыстоўваць запаўняльнікі, аніміраваныя шкілеты і лянівую загрузку (lazy-load) частак старонкі. У некаторых выпадках яны могуць нават замяніць віртуальныя пракруткі.

Новы control flow у templates

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

Новы інструмент зборкі па змаўчанні — Vite

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

Сігналы

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


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



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

Angular
LoKi, 2025-01-19

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

Я магу прывесці прыклад. Гэта было каля года таму. Новая версія Angular v17 толькі што выйшла. Я быў у захапленні ад новых змен і функцый, якія прадастаўляла гэтая версія. Я нават магу сказаць, што гэта была невялікая рэвалюцыя ў фрэймворку. Акрамя таго, гэта быў добры час для абнаўлення праекта. Я зрабіў гэта, і ў мяне ўзніклі праблемы. Здаецца, гэта была версія v17.0.3 або нешта падобнае. Пасля абнаўлення любога css, часам html, файла не было перакампіляцыі. Патрэбна было спыніць каманду serve і запусціць яе зноў. І, вядома, пасля выпуску новай мінорнай версіі праблема знікла. Таксама былі некаторыя іншыя дробныя раздражняльныя памылкі і праблемы, якія ў мяне былі, але зараз цяжка іх успомніць. І гэта адбывалася не толькі з версіяй v17, але і з іншымі версіямі.

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

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

П.С. Гэта пераклад маёй жа нататкі з іншай мовы.

Angular
LoKi, 2025-01-11

Выява

Вітаю, спадарства! Вось і падыходзіць да канца 2024 год.

І ад усёй нашай невялікай каманды віншуем вас з надыходзячым 2025 годам! Жадаем вам усяго самага найлепшага! Каб вам наступны год прынёс спраўджванне вашых надзей і мар!

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

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

Ну і крыху падвядзем вынікі:

Тэлеграм

Наш канал вырас з 400 падпісчыкаў амаль да 850

Сярэдняя колькасць пастоў у месяц - 77

Сярэдняя колькасць праглядаў аднаго паста - 277.

Наш сайт

За гэты год мы стварылі больша за 20 артыкулаў.

За год наш сайт наведалі 3200 разоў больш за 1000 чалавек.

І самымі чытанымі сталі наступныя артыкулы :

Што паглядзець ці пачытаць на беларускай мове. Частка 2

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

Кастамная раскладка клавятуры Windows для беларускай лацінкі й ня толькі

Як сёння шукаць працу ў IT?

Аб чым маўчаць летапісы. Рагнеда - першая вядомая жанчына Полацкага княства.

28 рэчаў, якія я зразумеў за 28 гадоў

Нашыя аўтары:

Асаблівую падзяку хочацца выказаць нашым аўтарам, якія стварылі шмат цікавых, разнастайных артыкулаў, якім пазайздросцяць нават BBC ці NYT:

  • LoveJS
  • Škalar
  • BiełaruskiBajan
  • Aleś Karoza
  • Linux па-беларуску
  • Siarhei Tomin

Нажаль. Падарункі мы так нікаму і не даслалі, бо форму так ніхто і не запоўніў.

Што далей:

На наступны год у нас шмат планаў. Мы спадзяемся запусціць свой уласны сэрвіс па працы з ШІ (пра яго будзе асобны артыкул), пашырыць магчымасці нашага сайту: аўтарызацыя праз гугл акаунт, папрацуем крыху з SEO, дададзім магчымасць пошуку па аўтарам і тэгам, дададзім ШІ памочніка для напісання артыкулаў.

Перапрацуем наш ШІ-дапаможнік для падпісчыкаў на дзённыя навіны. Напішам больш цікавых і карысных артыкулаў.

PS

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

2024
Admin, 2024-12-31

Цыры

Вітаю сябры.

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

Чым скончылася гісторыя ў кнігах?

Гісторыя Цырыллы ў кнігах Анджэя Сапкоўскага мае адкрыты і шматзначны фінал, што пакідае прастору для інтэрпрэтацый. Завяршэнне гісторыі адбываецца ў апошняй кнізе сагі — «Ледзі возера». Вось асноўныя падзеі і магчымыя тлумачэнні:

Фінал у свеце сагі

  1. Бітва на сухадоле і супрацьстаянне з Вілгефорцам. Пасля серыі падзей Цыры трапляе ў цэнтр вялікай канфрантацыі. Яна змагаецца з Вілгефорцам, магутным чараўніком, які хацеў выкарыстоўваць яе здольнасці ў сваіх мэтах. Цыры выжывае і перамагае, але сутыкаецца з вялізнымі стратамі і пакутамі.

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

  3. Апошнія дні Геральта і Йенэфэр. Геральт атрымлівае смяротную рану ў Рывіі падчас паўстання. У гэтай сцэне Цыры пераносіць целы Геральта і Йенэфэр на містычны востраў Авалон (які называецца "востравам яблыкаў"). Там яна пакідае іх разам, верагодна, у стане, блізкім да смерці ці магічнага сну.

Цыры і новы шлях

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

Тэматыка і сімволіка канца

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

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

Дык што адбылося?

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

Што па канцоўках у гульні "Вядзьмар 3"?

Гісторыя Цыры ў The Witcher 3: Wild Hunt мае некалькі магчымых фіналаў, і тое, чым скончыцца яе шлях, залежыць ад рашэнняў гульца на працягу гульні. Усе фіналы звязаны з тым, як Геральт уплывае на лёс Цыры, і іх можна падзяліць на тры асноўныя сцэнары:

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

Як гэта адбываецца: Геральт суправаджае Цыры на сустрэчу з яе бацькам, Імгырам вар Эмрэйсам. Цыры згаджаецца прыняць свой каралеўскі лёс і стаць кіраўніцай Нільфгаарда. Заключэнне: У гэтым сцэнарыі Цыры развітваецца з Геральтам, адмаўляючыся ад вольнага жыцця, каб кіраваць імперыяй. Гэты фінал падкрэслівае яе сталасць і жаданне служыць грамадству, нягледзячы на ўласныя жаданні.



  1. Цыры становіцца вядзьмаркай. Гэты фінал - самы любімы сярод фанатаў, бо паказвае, што Цыры выбірае шлях, які найбольш падобны да жыцця Геральта. Яна становіцца вандроўнай змагальніцай, выкарыстоўваючы свае навыкі і сілы для знішчэння монстраў. Як гэта адбываецца: Геральт падтрымлівае Цыры ў яе цяжкіх момантах, дазваляючы ёй прымаць самастойныя рашэнні. Ён не прыводзіць яе да Імгыра і не прымушае браць адказнасць за каралеўскі трон. У гэтым сцэнарыі Цыры захоўвае сваю незалежнасць і ідэнтычнасць. Заключэнне: У фінале Геральт і Цыры развітваюцца. Яна абірае жыццё вандроўнай ведзьмаркі, працягваючы традыцыю Геральта. Гэта фінал, у якім яна застаецца вольнай і незалежнай, выкарыстоўваючы свае навыкі для дапамогі людзям.


  1. Гібель Цыры Гэты трагічны фінал надыходзіць, калі Геральт не аказвае дастаткова падтрымкі Цыры, і яе рашэнні прыводзяць да няўдачы падчас спробы спыніць Белы Холад. Як гэта адбываецца: Геральт прымае рашэнні, якія падрываюць упэўненасць Цыры ў сабе. Яе фінальная місія ў свеце Белага Холаду заканчваецца катастрофай, і яна не вяртаецца. Заключэнне: Геральт застаецца ў жалобе. У адной з фінальных сцэн ён знаходзіць медальён ведзьмара ў руінах. Гэта найбольш змрочны і эмацыйны канец.

Ці магла Цыры згубіць сілу?

Па новаму трэйлеру бачна што Цыры пад час забойства пачвары не карыстаецца сілай першай крыві. І гэта выклікала цэлую буру эмоцый і абмяркоўванняў сярод фанатаў серыі.

Дык ці магла яна згубіць сілу?

Хоць кнігі Сапкоўскага не даюць прамых адказаў на гэтае пытанне, гульні, асабліва будучыя часткі (The Witcher 4 ці іншыя), могуць па-новаму інтэрпрэтаваць гэты аспект. Вось ключавыя аспекты, якія дазваляюць меркаваць, ці магла Цыры страціць частку сваёй сілы.

Што такое Магія Старшай Крыві?

Магія Старшай Крыві (ген Лары Дорэн) робіць Цыры ўнікальнай у Сусвеце Ведзьмара. Яе кроў дае ёй наступныя здольнасці:

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

Як магла б Цыры страціць сваю сілу?

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

  1. Фізічнае траўмаванне або магічнае ўздзеянне.

Калі Цыры перажыла цяжкія раненні або магічнае ўздзеянне, звязанае з яе здольнасцямі, гэта магло паўплываць на тое, як яна выкарыстоўвае свае сілы. Напрыклад, у The Witcher 3 яна шмат разоў перанапружваецца, выкарыстоўваючы свае магічныя здольнасці, асабліва падчас фінальнай сутычкі з Дзікім Паляваннем. Магчыма, гэта магло аслабіць яе сувязь са Старшай Крывёю. Прычынай мог стаць напрыклад той жа Белы Холад.

  1. Самасвядомы выбар.

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

  1. Магічны рытуал або знешняе ўмяшанне.

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

  1. Сілавы знос або генетычная дэградацыя.

Старшая Кроў — гэта генетычная спадчына, і яе актыўнасць можа залежаць ад стану арганізма. У выніку стрэсаў і пастаяннага выкарыстання магіі здольнасці Цыры маглі часткова знікнуць, як гэта здараецца з іншымі магічнымі здольнасцямі ў сусвеце Сапкоўскага.

Дык усё ж Цыры - вядзьмарка - гэта магчыма?

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




Што увогуле чутна ад CD Project RED ?

Зрабіць Цыры галоўнай гераіняй распрацоўшчыкі гульняў хацелі яшчэ 9 год таму, пра гэта паведамляў адзін з прадзюсэраў гульні. Таксама існуюць інсайды пра тое што ў гульні будзе паказаны поўны шлях станаўлення Цыры як вядзьмаркі ад выпрабавання травамі да школы Рысі, створанай Геральтам, Ламбертам ды Эскелем. У гульні будзе магчымасць не проста змяняць канцоўкі гульні а змяняць увогуле характар галоўнай гераіні. Больш дэталяў магчыма з'явіцца ў бліжэйшы час.

ЗЫ:

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

Вядзьмар
Admin, 2024-12-14

фон

Добры дзень спадарства.

Мы як стваральнікі праекту Bel-geek, вырашылі ўзнагародзіць нашых аўтараў за іх цікавыя артыкулы. Усе аўтары атрымаюць на прыканцы года няхай і невялікія але падарункі. Таму - далучаемся, пішам артыкулы, дзелімся досведам, думкамі, дасягненнямі.

Падрабязней пра тое Як стаць аўтарам па спасылцы

Пра падарункі

Падарункі мы разашлем на прыканцы года. Каб іх атрымаць неабходна запоўніць форму :

https://forms.gle/ZXgn9jbjquGi14vf6

і выбраць падарунак са спісу, дадаць спасылку на артыкул. У якасці падарункаў будуць падарункавыя сертыфікаты:

  • Netflix
  • Steam
  • Google play
  • Apple
  • Spotify

і гэтак далей.

Так сама ў вас ёсць магчымасць падтрымаць нас у нашай справе праз https://buymeacoffee.com/gomanlivesy

Чакаем вашых артыкулаў!

Падарункі
Admin, 2024-12-09
;