Віктор Турський про програмування
Віктор Турський про програмування
  • 32
  • 326 238
Що захищає твої дані й гроші від хакерів? Асиметричне шифрування та цифровий підпис
Шифрування й цифровий підпис лежить в основі безпеки Інтернету. Базове розуміння цих концепций важливе для кожного інженера.
У відео спробував відповісти на:
✅ Чим відрізняється симетрична й асиметрична криптографія?
✅ Навіщо потрібен вектор ініціалізації?
✅ Як працює аутентифікація по ключу в SSH?
✅ Як працює Дія підпис чи підпис в банківських системах?
✅ Як працює шифрування листів за допомогою PGP. Той самий Proton mail?
✅ Як працює JWT?
✅ Як праюють холодні гаманці в блокчейні?
✅ Як працює двофакторна аутентифікація через Google Authenticator?
3000 грн ЗНИЖКИ на курси Mate Acadamy для підписників:
mate.ac/v-turskyi
Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin
Допоможіть каналу розвиватися й отримуйте доступ до ексклюзивного контенту.
Код на Github: github.com/koorchik/jabascript-materials/tree/main/encryption
Зміст відео:
0:00 - Вступ
2:04 - Симетрична криптографія
2:41 - Асиметрична криптографія
4:35 - Шифруванян публічним ключем
5:00 - Цифровий підпис
8:52 - Гібридні схеми
10:55 - Еліптичні криві
11:45 - Підпис симетричним ключем
12:22 - JWT
13:45 - Основна проблема
16:58 - Холодні гаманці в блокчейн
18:25 - Гугл аунтентифіктор
20:54 - Аутентифікація по ключу в SSH
25:10 - Партнерський блок
27:45 - RSA на NodeJs
31:00 - ECC на NodeJs
31:30 - AES на NodeJs
32:12 - Вектор ініціалізації та ECB пінгвін
32:12 - Вектор ініціалізації та ECB пінгвін
36:05 - Бекдор в алгоритмах
🏠 Мої соцмережі:
Жабаскрипт в телеграмі - t.me/jabascript
Я в Твітер - ViktorTurskyi
Мій Linkedin - www.linkedin.com/in/turskyi/
#програмування #українською #programming #encryption #digitalsignature #privatekey #coldwallet #rsa #https #internet
มุมมอง: 14 006

วีดีโอ

Що не так з Інтернетом в кафе? Розбираємо DHCP
มุมมอง 75K9 หลายเดือนก่อน
Відео з серії, як працює Інтернет. Це відео про те, звідки беруться налаштування Інтернету на ваших пристроях. Також поговоримо трохи про безпеку У відео спробував відповісти на: ✅ Потенційну небезпеку при користуванн Інтернетом в кафе ✅ Концептуально розібрати, як пристрої отримують налаштування мережі ✅ Підміняю адресу сайту в локальній мережі ✅ Розбираємо трафік в деталях Wireshark Станьте с...
Як працює Інтернет? Як працює рекурсивний пошук в DNS?
มุมมอง 11K11 หลายเดือนก่อน
Якщо ти займаєшся веб-розробкою, то маєш розуміти, як працює Інтернет. Це відео друге в серії про DNS з появненням, як працює рекурсивний пошук доменного імені. У відео спробував відповісти на: ✅ Невже кожен DNS сервер зберігає інформацію про вс веб-сайти світу ✅ Розбір рекурсивного пошуку DNS імені ✅ Навіщо потрібн NS записи ✅ Навіщо потрібн коренев DNS сервери ✅ Звідки DNS сервер знає адреси ...
Як працює Інтернет? Основні питання про DNS
มุมมอง 47Kปีที่แล้ว
Якщо ти займаєшся веб-розробкою, то маєш розуміти, як працює Інтернет. Це відео про DNS з відповідями на найбільш стандартн питання. У відео спробував відповісти на: ✅Звідки браузер знає на який з серверів зайти? ✅Звідки операційна система знає до якого DNS серверу звернутися? ✅ Що ми запрошуємо у DNS сервера? ✅ DNS використовує TCP чи UDP? ✅ Чи може DNS повернути декілька ip-адрес одночасно? ✅...
Як підтримати канал (варіанти спонсорства)?
มุมมอง 1.7Kปีที่แล้ว
Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin Допоможіть каналу розвиватися й отримуйте доступ до ексклюзивного контенту. Бери таку, щоб сума в нотифікації про оплату не дратувала тебе щомісяця. А краще, щоб навпаки приносила втіху, що це допомагає каналу розвиватися :). Весь основний контент буде доступний без спонсорства Обирай рівень: ✅Кадер-малюк ✅Архіт...
Як швидкість світла обмежує швидкість твого веб-сайту? Розбираємо на реальному прикладі
มุมมอง 11Kปีที่แล้ว
Якщо ти займаєшся веб-розробкою, то маєш розуміти, як працює Інтернет. Записав перше відео про це й почав з фундаментального обмеження - швидкост світла. У відео спробував відповісти на: ✅Що відбувається, коли ви заходите на сайт? ✅Чи буде колись такий Інтернет, щоб пінг до США був менше 100мс? ✅Як впливає швидкість світла на швидкість твого сайту? ✅Вплив TCP Handshake ✅Вплив TLS Handshake ✅Чом...
Як працює повнотекстовий пошук? Розбираємо на практиці інвертовані індекси
มุมมอง 13Kปีที่แล้ว
Розбір в деталях, як працюють інвертован індекси. Інвертован індекси використовуються для повнотектового пошуку в MySQL, PostgreSQL, Elastic Search та інших базах даних. Спробував відповісти на наступн питання: ✅Навіщо потрібн інвертован індекси й як їх можливості? ✅Чому не працюють звичайн індекси для повнотекстового пошуку? ✅Як влаштован інвертован індекси всередені? ✅Що таке стемінг й лемати...
Як працює Base64 й навіщо він потрібен?
มุมมอง 12Kปีที่แล้ว
Base64 один з самих популярних стандартів кодування бінарних даних у вигляд строки. У відео відповідаємо на питання: Спробував відповісти на наступн питання: ✅Навіщо потрібен Base64? ✅Як працює Base64 й чому об'єм даних зростає? ✅Чи буває Base32 та Base16 й навіщо він потрібен? ✅Що всередин JSON Web Token? ✅Чи передає Basic Auth пароль відкритим текстом? ✅Як закодувати картинку в Base64? ✅UUID ...
Як працюють індекси в базах на прикладі. MySQL vs Postgres. UUID vs Auto Increment.
มุมมอง 15Kปีที่แล้ว
На приклад розберемо роботу індексів в базах даних. Чому це варто знати й що це нам дає? Спробував відповісти на наступн питання: ✅Як працюють індекси? ✅Що таке кластерний індекс? ✅Різниця між MySQL та Postgres при робот з індексами? ✅Пару слів про MVCC й Heap Only Tuple ✅Чому UUID може з'їсти ваш гроші? ✅Що таке covering index? ✅Як OFFSET впливає на виборки? ✅Як індекси впливають на INSERT? Пр...
Хешування, кодування, шифрування. В чому різниця?
มุมมอง 9Kปีที่แล้ว
Хешування, кодування, шифрування - не плутай! Спробував відповісти на наступн питання: ✅Що таке хешування? ✅Що таке кодування? ✅Що таке шифрування? ✅Як ц поняття відрізнаються один від одного Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin Допоможіть каналу розвиватися й отримуйте доступ до ексклюзивного контенту. Зміст відео: 0:00 - Питання для перевірки 1:5...
Дерева. Пошук. Алгоритми. Бази даних
มุมมอง 11Kปีที่แล้ว
Це відео є підготовчим до більш глибокого занурення в бази даних. Спробував відповісти на наступн питання: ✅Що таке індекс в баз даних? ✅Чим відрізняються різн типи дерев? ✅Чому пошук по BST може бути повільним? ✅Чому бази даних не використовують бінарний пошук? ✅B-дерево проти B дерева ✅Індекси Postgres, MySQL Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin ...
3 важливі книги про проектування програмного забезпечення
มุมมอง 6Kปีที่แล้ว
Три книги про проєктування та архітектуру програмного забезпечення. Це т книги, з яких варто почати й як дадуть гарний фундамент. Кожна з книг дає можливість подивитися на розробку програм трохи під іншим кутом. Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin Допоможіть каналу розвиватися й отримуйте доступ до ексклюзивного контенту. Зміст відео: 0:00 - Вступ...
Навіщо потрібні індекси в базі даних? Розберемо на прикладі
มุมมอง 10Kปีที่แล้ว
Запланував серію відео про бази даних. Почнемо з простого🙂: ✅Чому ваш база працює повільно? ✅10 млн рядків в базі, чи це багато? ✅Навіщо потрібн індекси в базах даних? ✅Як працюють індекси в базах даних? Приклади коду з відео - github.com/koorchik/jabascript-materials/tree/main/how-database-indexes-work Станьте спонсором цього каналу: th-cam.com/channels/hhNJ3SmzX_d7kMpSEMDfzg.htmljoin Допоможі...
Чому алгоритми важливі? Розберемо на прикладі
มุมมอง 16Kปีที่แล้ว
Чому алгоритми важливі? Розберемо на прикладі
Головна проблема мікросервісів, яку часто недооцінюють
มุมมอง 11Kปีที่แล้ว
Головна проблема мікросервісів, яку часто недооцінюють
Навіщо глибоко розбиратися в речах й як менше забувати те, що вивчили?
มุมมอง 8Kปีที่แล้ว
Навіщо глибоко розбиратися в речах й як менше забувати те, що вивчили?
Як покращити Code Review? Як це робить Google?
มุมมอง 9Kปีที่แล้ว
Як покращити Code Review? Як це робить Google?
3 речі, що псують програміста
มุมมอง 14Kปีที่แล้ว
3 речі, що псують програміста
3 речі, які роблять програміста кращим
มุมมอง 18Kปีที่แล้ว
3 речі, як роблять програміста кращим

ความคิดเห็น

  • @alex-v7e6v
    @alex-v7e6v 7 ชั่วโมงที่ผ่านมา

    просто бомба, особливо частина з wire shark. дуже, дуже дякую!

  • @rkiyanchuk
    @rkiyanchuk 13 ชั่วโมงที่ผ่านมา

    Дякую за відео, мені здається воно гарно висвітлює чимало криптографічних концептів на інтуїтивному рівні! Зроблю кілька важливих уточнень стосовно криптографії: Про RSA: Не коректно говорити, що ключі RSA є рівнозначними чи що їх можна взаємно заміняти. Це розповсюджене помилкове сприйняття через надмірне спрощення алгоритму RSA. В алгоритмі є відкрита та приватна *експоненти* (не ключі) які зазвичай помічають як `e` та `d`, тоді базове перетворення RSA спрощено можна записати наступним чином:

 C ≡ M^e mod N; M ≡ C^d mod N ≡ M^e^d mod N ≡ M^(e*d) mod N ≡ M (оскільки M^(ϕ(n)) ≡ 1 mod N). І виглядає, як ніби значення e та d можна взаємозаміняти, оскільки операція множення є комутативною. Ці експоненти також часто називають "ключами", хоча це неправильно - вони є лише складовими відкритого та приватного ключа. Відкритий ключ складається зі значень (N, e), тобто модуля та відкритої експоненти, а приватний ключ: мінімум із значень (N, d) (на практиці їх більше). Проте описане вище перетворення є виключно теоретичним і на практиці не використовується в такому виді. Це ще називають "Textbook RSA", бо зазвичай з цього починають пояснення _теорії_ алгоритму RSA в книжках з криптографії. У реальних сучасних системах RSA завжди має доповнення (padding) без якого алгоритм не є надійним, відкрита експонента фіксована наперед і дорівнює 0x10001 (переважно повʼязано з оптимізацією операції шифрування та захисту від різного роду атак), а приватний ключ складається з більшої кількості значень: N, e, d, а також p, q (множники модуля), та ще кілька похідних значень що використовуються для оптимізації обчислень).

У цьому можна переконатись, зберігши згенеровані ключі у форматі PEM, та продивитися їх читабельну репрезентацію через openssl:

 Для відкритого ключа: $ 
openssl rsa -in pub.key -pubin -noout -text Для приватного ключа: $ openssl rsa -in priv.key -noout -text

    • @rkiyanchuk
      @rkiyanchuk 13 ชั่วโมงที่ผ่านมา

      Про випадкові та псевдовипадкові числа: Числа згенеровані math.random() не можна використовувати для шифрування не тому, що вони псевдовипадкові. В псевдовипадкових числах загалом немає нічого поганого, і більшість криптографічних ключів в сучасних системах згенеровані саме з *псевдовипадкових* чисел. Чому ж їх називають *псевдо*-випадковими? Створення випадкових чисел - насправді дуже глибока тема, але спробуємо спростити. Справді випадкові числа (True Random Numbers) - це числа які жодним чином неможливо передбачити і які не відповідають жодному закону чи алгоритму. Скільки б випадкових бітів ви не отримували, ви ніколи не зможете передбачити наступний біт, або віднайти біти що передували їм. Зазвичай такі числа можна отримати лише шляхом спостереження недетермінованих хаотичних фізичних процесів (як Cloudflare це робить з лавалампами: www.cloudflare.com/learning/ssl/lava-lamp-encryption ). Але по-перше, для генерування таких чисел потрібне спеціалізоване апаратне забезпечення, по-друге - інколи нам *потрібно* мати змогу відновити послідовність або детерміновано згенерувати її (інакше для узгодження ключів нам завжди доводилося б передавати розмір ключів що дорівнює розміру повідомлення!). Для цього використовуються *криптографічно стійкі генератори псевдовипадкових чисел* і їх задача - згенерувати числа детермінованим алгоритмом, проте які б в практичному застосуванні ніяк не відрізнялись би від справді випадкових (indistinguishable from true random). Вони не є справді випадковими (бо згенеровані за певним алгоритмом), але виглядають випадковими за всіма ознаками які ми можемо спостерігати, тому вони "псевдовипадкові". Для якісних псевдовипадкових чисел ми так само не можемо ні передбачити майбутні згенеровані числа, ні відновити попередні, скільки б згенерованих чисел ми не спостерігали (лише в практичному сенсі; теоретично для псевдовипадкових чисел насправді завжди є певна кількість, отримавши яку ми змогли б передбачити наступні, та про це далі). Але є одне "але" - звичайно ж псевдовипадкові числа мають якось відрізнятись від "трушних" випадкових, інакше ми б не називали їх "псевдо"-випадковими. І ця відмінність - наявність скінченного періода. Коли ми спостерігаємо за непередбачуваним фізичним процесом - отримані (true) випадкові числа НІКОЛИ не повторяться. Але генератор *псевдо*-випадкових чисел завжди рано чи пізно почне повторювати згенеровану послідовність. Кожний генератор випадкових чисел починає роботу з якогось початкового значення (seed) і теоретичний максимум періоду напряму залежить від нього: для початкового значення розміром в n біт максимальний період згенерованої послідовності буде 2^n, після цього послідовність гарантовано повториться. Цим і відрізняються псевдовипадкові числа від "справді" випадкових. Звичайно для криптографічних застосувань нам потрібно мати великий період щоб впевнитись, що на практиці згенеровані псевдовипадкові числа не повторювались.
 Але що ж тоді не так з math.random() та іншими генераторами випадкових чисел що не є криптографічно стійкими? Такі генератори зазвичай забезпечують лише одну єдину властивість випадкових чисел - рівномірний розподіл. І цього вистачає для більшості застосувань, як то симуляції чи неазартні ігри. Проте такі генератори часто є лінійними, і отримавши певну кількість згенерованих ними чисел ви зможете передбачити всі майбутні та відновити минулі числа, згенеровані з даного початкового значення. Наприклад у випадку генератора Mersenne Twister достатньо отримати 624 значення щоб зуміти передбачити усі наступні згенеровані числа. Також мушу виправити, що ChaCha20 розробив все ж не Google, а незалежний криптограф Деніел Бернштейн. Можливо малося на увазі що Google його застосовує :) Проте цей шифр один з двох, що підтримується в TLS 1.3, тож користується ним насправді багато хто :) Для розробників яким цікаво більше дізнатися про криптографію рекомендую книгу "Serious Cryptography" " від Жана Аумассона, якраз нещодавно вийшла оновлена друга редакція: nostarch.com/serious-cryptography-2nd-edition

    • @AboutProgramming
      @AboutProgramming 6 ชั่วโมงที่ผ่านมา

      Коментар - топ! Дякую! Так, коли вже виклав відео, то спробував реалізувати руками RSA алгоритм на невеликих простих числах. Так, операції комутативні й основна частина публічного ключа це N й цей модуль однаковий для операцій в обидві сторони. Тобто на практиці його не можна зробити приватним. Тобто матиматично операції шифруваня й розшифрування відбувається однаково (тільки в одному випадку e, в другому d), але зробити d публічним не вийде, бо вся складність взлому впирається не в "е" (яка є стандартизованою екпонентою), а в розкладі N на множникі p та q

    • @AboutProgramming
      @AboutProgramming 6 ชั่วโมงที่ผ่านมา

      @@rkiyanchuk Коментар про випадкові числа просто краса. Ніколи не думав про скічненність послідовності. Думав, що все впирається в генератор (чи можна по послідовності передбачити наступні числа) й криптографічний сід, що джерелом має бути справжеє випадкове число, що базується на якомусь зовнішньому інпуті (з фізичного світу). Відносно ChaCha20, це я наплутав. Можливо через RFC 7539, який від Гугла, й здається Гугл займався додаванням ChaCha20 в OpenSSL. Запінив коментар, має бути корисно для всіх глядачів цього відео. Круті коментарі! Дуже дякую за виправлення та доповнення!

    • @rkiyanchuk
      @rkiyanchuk 5 ชั่วโมงที่ผ่านมา

      Саме так, і тут ми логічно підходимо до загрози квантового компʼютера 😉😄

  • @mirooo6243
    @mirooo6243 18 ชั่วโมงที่ผ่านมา

    Дуже цікаво!

  • @nikiforovpizza
    @nikiforovpizza 4 วันที่ผ่านมา

    Хороше відео, дякую за роботу!

  • @oleksiymiyskiy4694
    @oleksiymiyskiy4694 4 วันที่ผ่านมา

    А приклад леметизатора є? Був би вдячний

    • @AboutProgramming
      @AboutProgramming 4 วันที่ผ่านมา

      Був в NLTK наскільки пам'ятаю для англійської. Для української не пам'ятаю чи є щось (стемери точно є), для російської є mystem, який працює по морфологічним правилам. Але я так давно дивився на них, що й не пам'ятаю. В більшості випадків стемер підходить

    • @oleksiymiyskiy4694
      @oleksiymiyskiy4694 4 วันที่ผ่านมา

      @@AboutProgramming а є щось подивитись як для української мови стеммер зробити? Хотілось наш пошук на сайті покращити в рази. Використовуємо базу постгрес. Бо в нас пошук по назві документу і по вмісту документу. Був би дуже вдячний. Або почитати як самому його зробити

    • @AboutProgramming
      @AboutProgramming 3 วันที่ผ่านมา

      @@oleksiymiyskiy4694 знаходив таке github.com/amakukha/stemmers_ukrainian , але щоб конкретне порадити, то складно. Якщо потрібен просто пошук, то ніби є під еластік готове www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-ukrainian.html

  • @bvs-16
    @bvs-16 4 วันที่ผ่านมา

    Не знаю як я пропустив це відео, зазвичай дивлюсь кожне відразу після публікації. Дякую, тепер стало зовсім зрозуміло що воно таке той DNS

    • @AboutProgramming
      @AboutProgramming 4 วันที่ผ่านมา

      Дякую за відгук. Радий, що вийшло корисно)

  • @oleksandrdemchenko482
    @oleksandrdemchenko482 5 วันที่ผ่านมา

    Ти хто взагалі ?таке враження що ти якийсь аферист? дай думаю займусь блогінгом, якась теорія , на кладoчці під під'їздом бабці у мене розмовляють... Дивився попередні про криптографію: а він такий я не спеціаліст в криптографії, але розкажу що це як не дeза?

    • @AboutProgramming
      @AboutProgramming 5 วันที่ผ่านมา

      А що саме деза? Що я не криптограф чи базові концепції криптографії?) Я просто працюю з криптографію зі сторони програмної інженерії й інформаційної безпеки, ніж як криптограф математик. Але уявив собі, як можна було б з бабцями біля під'їзду робити влог для Ютубу)) Відносно мого попереднього досвіду, то трохи тут було th-cam.com/video/JE7mzAVm5bk/w-d-xo.htmlsi=QL9fuJ4bh_NpGktx

    • @oleksandrdemchenko482
      @oleksandrdemchenko482 5 วันที่ผ่านมา

      @@AboutProgramming добре прийнято,якщо шо,то я вибачаюсь...

  • @тимур_атмосферный
    @тимур_атмосферный 8 วันที่ผ่านมา

    Дуже цікава інформація, дякую. Єдино що хотілося б текст трошки більше і розбірливіше

    • @AboutProgramming
      @AboutProgramming 8 วันที่ผ่านมา

      Дякую за відгук. Відносно розбірливості, то це прям мій баг. Але я працюю на цим)

  • @назарійгригоришин
    @назарійгригоришин 8 วันที่ผ่านมา

    Круто розказуєш!👍🔥🔥

  • @yogalenovo8262
    @yogalenovo8262 10 วันที่ผ่านมา

    Мало щось знати, ще треба вміти донести думку... У автора з цим проблеми.

    • @AboutProgramming
      @AboutProgramming 10 วันที่ผ่านมา

      А з розумінням чого саме виникають складнощі? Можливо є конкретно якісь аспекти, де було незрозуміло?

  • @Andrew-nh9he
    @Andrew-nh9he 11 วันที่ผ่านมา

    Асиметричні ключі не працюють в дві сторони, працює тільки в одну сторону

    • @AboutProgramming
      @AboutProgramming 11 วันที่ผ่านมา

      В яку саме?

    • @Andrew-nh9he
      @Andrew-nh9he 11 วันที่ผ่านมา

      Публічний ключ шифрує, а приватний разшифровує - в іншу сторону не працює

    • @AboutProgramming
      @AboutProgramming 11 วันที่ผ่านมา

      Не зовсім так. Аби шифрували тільки публічними ключем, тоді не працював би цифровий підпис, бо будь-хто його змін би підробити (оскільки всі мають публічний ключ)

    • @Andrew-nh9he
      @Andrew-nh9he 11 วันที่ผ่านมา

      @@AboutProgramming Ага, там трошки інакше, у кожного свій приклад просто в голові з'явився У випадку з цифровим підписом приватний ключ використовується для підпису (шифрування хешу), а публічний ключ - для його розшифрування. У передачі даних (наприклад, через HTTPS) асиметричне шифрування використовується дещо по-іншому: Публічний ключ використовується для шифрування даних, Приватний ключ використовується для розшифрування цих даних

    • @AboutProgramming
      @AboutProgramming 10 วันที่ผ่านมา

      Не зовсім так. В https публічний ключ для шифрування даних не використовується, дані шифруються симетричними ключем AES або Chacha20. Раніше публічним ключем шифрували симетричний ключ, але зараз такого теж не роблять, бо це не дає perfect forward secrecy. Тому зараз DHKE для обміну симетричним ключем це стандарт в HTTPS. А от в PGP симетричний ключ шифрується публічним, але самі дані теж шифруються симетричним

  • @maxyablochkin-0505
    @maxyablochkin-0505 12 วันที่ผ่านมา

    Привіт з Кривого Рогу 👋

  • @mari_a9004
    @mari_a9004 15 วันที่ผ่านมา

    Дякую Вам за Ваш труд 👍🏻

  • @Virass
    @Virass 16 วันที่ผ่านมา

    Коли Віктор заговорив про слона в кімнаті і почав розказувати про доставку публічного ключа, я в цей момент - ну нічого собі, невже мій "казанок" варить як треба...

  • @donutWiggum
    @donutWiggum 17 วันที่ผ่านมา

    Дуже круте відео. Тема складна, не згодний що легка, бо якраз кількістю і якістю нюансів визначається складність. Дякую, що допомогли хоча б частково розібратися

  • @ivanovserg8795
    @ivanovserg8795 21 วันที่ผ่านมา

    Після дельта-компресії подумав що можна у чисел перейти з основи 0-9 на основу 0-F, а потім подумав ще, та можна ще більшу основу взяти, щоб само число було представлено меншою кількістю символів.. Ну й по суті отримаємо у чисел основу = 255, а враховуючи що треба зберігати якось кількість потрібних символів з прапором-бітом то й отримаємо ото саме VByteCompression. Начебто все зрозуміло.. Супер, дякую за відео!

  • @cyber_scripter
    @cyber_scripter 27 วันที่ผ่านมา

    Дякую!

  • @TVV14
    @TVV14 29 วันที่ผ่านมา

    Чудове відео, дуже інформативно і корисно! Так тримати, Вікторе!

  • @olexiy-not-alexey
    @olexiy-not-alexey หลายเดือนก่อน

    Тема супер. Дуже подобається, як розклав все по поличках!)

  • @lymphbizkit4344
    @lymphbizkit4344 หลายเดือนก่อน

    Це крутяк, ви просто неймовірний, чекаю на нові відео !!!!!

  • @shramko-dev
    @shramko-dev หลายเดือนก่อน

    А що у вас за камера?

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Це відео знімав на Fuji X-E4 + об'єктив XC 15-45mm. Всі відео з минулого року робив на iPhone. Фон зробив через зелений екран

  • @sashok10s
    @sashok10s หลายเดือนก่อน

    Привіт, дякую за чудові відео. Пропоную ідею для наступного: Коли потрібно використовувати jwt а коли звичайні сесії, в чому різниця, також можна розповісти про використання jwt refresh token і refresh token rotation, reuse detection)

  • @user-ew8ne4iy9b
    @user-ew8ne4iy9b หลายเดือนก่อน

    Топовий контент. Дякую за детальне роз'яснення

  • @kamurashev
    @kamurashev หลายเดือนก่อน

    Цікаво, чому будували цей кастомний солюшн що згадується у відео? Маю на увазі що була за вимога що вирішили не юзати наприклад еластік або вбудований фт індекс існуючих дБ?

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Зазвичай на більшості проектів ми використаємо еластік, але тут були дещо специфічні вимоги й необхідність більшого контролю над форматом. В цілому це сотні терабайт даних, сотні різних індексів й аналітичні запити. Зараз elastic краще став й можливо б використовували б його, але не факт. Подобалася ідея, що не треба тримати дорогої інфраструктури - все просто на S3. Наприклад, Hadoop кластер був на S3, а не HDFS, що дозволяло створювати сервера тільки на момент обробки даних. Аналогічно якщо розбити індекс на два файли - в одному просто слово й зміщення в іншому файлі (по ньому робити бінарний пошук), а в іншому файлі тільки індекс (читаємо тільки зміщення), то можна індекс на сотні терабайт тримати на S3 й обробляти запити невеличким сервісом, а не платити за compute

    • @kamurashev
      @kamurashev หลายเดือนก่อน

      @@AboutProgramming 👍, просто з цікавості спитав. Я працював на одному проекті де треба etl то ми також ранили на on-demand Hadoop (AWS EMR), хоча там такий треш що наврядче це гарний приклад але ідея зрозуміла.

  • @PapaIgor
    @PapaIgor หลายเดือนก่อน

    Дякую. Порада: більш послідовно давайте матеріал, структуровано. Плигати (тут граємо, тут не граємо, тут рибу загорнули...)... Хм... Для знаючих матеріал не потрібен, незнаючім важко зрозуміти. Успіхів. :)

  • @МаксимЦимбалюк-и6б
    @МаксимЦимбалюк-и6б หลายเดือนก่อน

    Віктор, прошу вас записати відео про електронну пошту, дуже подобається ваша подача матеріалу!

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Гарна ідея для теми. Дякую!

  • @serhii-kj6hr
    @serhii-kj6hr หลายเดือนก่อน

    Я просто кайфую з глибини розбору матеріалу. Я на цю тему вже бачив мільйон відео, де просто намалювали діаграмку і все. В той час як Віктор за 45 хвилин показав до деталей що і як працює, ще й написав власну реалізацію) Найжирніший лайк, підписка і дзвіночок. Ваші відео це опіум для мого мозку!

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Дякую за такий позитивний відгук)

  • @vaysberg_
    @vaysberg_ หลายเดือนก่อน

    що не відос - то скарбниця знань, дякую, було дуже корисно і не менш цікаво

  • @IkS1k
    @IkS1k หลายเดือนก่อน

    Віктор, дякую за відео, дуже класно що теоретичну частину Ви одразу підкріплюєте практикою, людям які вперше про це чують, буде неймовірно корисно!

  • @lestyshchenko3023
    @lestyshchenko3023 หลายเดือนก่อน

    дякую за відео, постає питання - нащо uuid потрібен в базах даних , якщо вони самостійно генерують ключ - індекси . одна справа якщо айді потрібно для використання і створюється простий айді як поле , але унікальне.. але нащо 16 байтний ключ додавати замість індексів... чи є якесь ще призначення uuid окрім створення унікального числа ? наприклад для індифівкатора сесії.

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      В розподілених системах може бути корисно. Наприклад, при master master реплікації. Ще варіант, це коли айді генерує клієнт. Часом роблять, щоб не світити кількість записів (хоча краще тоді окремою колонкою). Й відповідно, в якійсь момент розробники вирішують, що це гарний підхід по замовчуванню, бо ніби uuid вміє те саме, що й auto increment, але трохи більше

    • @lestyshchenko3023
      @lestyshchenko3023 หลายเดือนก่อน

      ​@@AboutProgramming дякую за відповідь. корисно як і саме відео! master master реплікації - uuid роблять щоб не було загублених чи не вірно оновлених даних через затримку звязку ? завжди думав, що master master реплікації не мають сенсу в реальному часі, а краще - один записує. інші читають і раз в деякий час, копіюють в резервний (як бінарний масив передає файл потоком - частинами.) Хоча я тут не маю досвіду, тому не бачу всієї картини. мене останє дуже часто дивує - коли, особливо коли, на бекенді ігнорують память і швидкість - головне щоб було модерново. Ладно ще фронт може ігнорувати, бо бере конкретні дані і зазвичай вони обмежені кількістю, але чомусь бекенд ігнорує це частіше. Відео про алкоритми мені сподобалось, хоча я б використовував reduce, але алгоритми цікаві, особливо пошук хешем чи сортування Хоара. Не знав як це корисно міняє мислення, поки не почав цікавитись. Тому дійсно гарні теми ви вибрали для відео. про - не світити кількість записів, трохи дивно звучить, особливо коли у відповіді є довжина. та і не зустрічав я в житті коли айді генерує клієнт. Клієнт не повинен працювати настільки з бізнес логікою, хоча - в світі є різні дивовижні створіння. як фейсбук, який не відправляє повідомлення і є соц мережею )

  • @Богдан-р4ы1э
    @Богдан-р4ы1э หลายเดือนก่อน

    Дякую за контент

  • @ulikkulinyak1126
    @ulikkulinyak1126 หลายเดือนก่อน

    Дякую❤

  • @НиколайСтепанец-г7д
    @НиколайСтепанец-г7д หลายเดือนก่อน

    дякую, дуже цікаво!

  • @vitalyzhynov557
    @vitalyzhynov557 หลายเดือนก่อน

    Супер матеріал, дякую!)

  • @ArtemSinkevychus
    @ArtemSinkevychus หลายเดือนก่อน

    Дякую! Було цікаво

  • @im_fredy
    @im_fredy หลายเดือนก่อน

    ты золото. спасибо

  • @im_fredy
    @im_fredy หลายเดือนก่อน

    про деревья ролик пожалуйста

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Вже був десь на каналі)

    • @im_fredy
      @im_fredy หลายเดือนก่อน

      @@AboutProgramming уже нашел) полнотекстовый индекс еще было бы здоро. Низкий тебе поклон

    • @im_fredy
      @im_fredy หลายเดือนก่อน

      @@AboutProgramming Какие языки программирования вы знаете?

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Про інвертовані індекси відео є теж)

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      12 років писав на Perl й JavaScript. Зараз пишу на Typescript й Java. Робив пару проектів на vb.net колись. Й писав усілякі дрібниці на C та golang

  • @genkovi4
    @genkovi4 หลายเดือนก่อน

    дякую за відос, додам в список для перегляду тіммейтів. Те відчуття коли довго хотів зробити щось подібне, але ви впорались швидше і краще 😊

  • @b.shpanchuk
    @b.shpanchuk หลายเดือนก่อน

    "Якийсь зловмисник, давайте намалюємо чого чорним" 😀

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      То для контрасту 🙈

  • @bruteforceglory
    @bruteforceglory หลายเดือนก่อน

    Все дуже зрозуміло, супер!

  • @yuriitiunov8803
    @yuriitiunov8803 หลายเดือนก่อน

    Дуже цікаво розповідаєте, вам варто читати курси. Лайк на підтримку каналу.

  • @oleksandrpodustov
    @oleksandrpodustov หลายเดือนก่อน

    ох, часом провалював я співбесіди по цій темі, а тут так лаконічно та доступно пояснено, кайф, дякую!

  • @ВудиВулдбекер
    @ВудиВулдбекер หลายเดือนก่อน

    Видео хорошее и правильное. Но есть одно но. Это все работает без вмешательства ресурсов государств. Ну не все в видео, но многое. Во время войны всякие проги типа Дія опасны. Например Китай. Он имеет кучу оборудования в Украине. Это значит что возможна подмена трафа как между объектами коммуникации так и между сертификационными центрами. Последствия сами понимаете. Это почему в США полным ходом меняется оборудование провайдеров на отечественное. У них гос программа на это.

    • @ВудиВулдбекер
      @ВудиВулдбекер หลายเดือนก่อน

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

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Дякую. Але не до кінця розумію в якому контексті йде мова про небезпеку програм типу Дія. Відносно підміни трафу, то шифрування якраз й вирішує цю проблему. Щоб заглянути в https трафік треба підмінити сертифікат, а для цього він має бути підписаний кимось, кому браузер буде довіряти, але браузери сьогодні мають власні списки сертифікатів кореневих центрів сертифікації. Тобто, я би сказав, що навпаки, в таких умовах шифрування стає більш критичним

    • @ВудиВулдбекер
      @ВудиВулдбекер หลายเดือนก่อน

      Не все так безопасно как кажется. Если нужны сервера, которые ломают хттпс траф в пределах компании то могу дать контакты. Тут объяснять тяжко.

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      @@ВудиВулдбекер Так, якщо приватний ключ хтось передав користувачу, то це проблема. Але якщо візьмемо той самий https, то приватний ключ нікому ніколи не передається, підписується лише сертифікат з публічним ключем. Й якщо хтось кудись передає приватний ключ, то це проблема навіть не під час війни. Але згоден, що певні додаткові ризики виникають

    • @ВудиВулдбекер
      @ВудиВулдбекер หลายเดือนก่อน

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

  • @master.joda987
    @master.joda987 หลายเดือนก่อน

    Mate Academy дійсно крута школа і раніше це працювало але в наш час є великі сумніви з приводу швидкості знаходження першої роботи

    • @AboutProgramming
      @AboutProgramming หลายเดือนก่อน

      Так, декілька місяців на пошук зараз треба

    • @master.joda987
      @master.joda987 หลายเดือนก่อน

      @@AboutProgrammingможе декілька років, як піде 😂 насправді, це добре, тепер курсів буде недостатньо, треба буде вчитись декілька років з постійною практикою і самовдосконаленням щоб зайти в професію відповідно, буде менше "випадкових" людей

  • @serhii-kj6hr
    @serhii-kj6hr หลายเดือนก่อน

    Дуже жаль, що в мої студентські роки не було цього каналу. Якби мені 10 років тому так пояснювали програмування як це робить Віктор - я б був зовсім іншою людиною зараз 😅

  • @yuriimakarov4832
    @yuriimakarov4832 หลายเดือนก่อน

    Віктор інженерний Uncle який всім потрібен, допомагає розібратися з будь яким питанням в цьому складному світі програмування!)

  • @kamurashev
    @kamurashev หลายเดือนก่อน

    👍🤝

  • @Naikshy
    @Naikshy หลายเดือนก่อน

    Дуже круте відео, як завжди все дуже лаконічно, періодично передивляюся ваші відео щоб згадати базу)

  • @Dnonatello
    @Dnonatello หลายเดือนก่อน

    Дуууууууже круте і зрозуміле відео. дякс за контент

    • @Dnonatello
      @Dnonatello หลายเดือนก่อน

      особливо шифрування - завжди було дуже цікаво і сама ідея , яка прийшла комусь в голову в минулому просто геніальна(принаймні на сьогоднішній день)