Що захищає твої дані й гроші від хакерів? Асиметричне шифрування та цифровий підпис

  Рет қаралды 15,046

Віктор Турський про програмування

Віктор Турський про програмування

Күн бұрын

Пікірлер: 108
@rkiyanchuk
@rkiyanchuk Ай бұрын
Дякую за відео, мені здається воно гарно висвітлює чимало криптографічних концептів на інтуїтивному рівні! Зроблю кілька важливих уточнень стосовно криптографії: Про 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 Ай бұрын
Про випадкові та псевдовипадкові числа: Числа згенеровані 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 Ай бұрын
Коментар - топ! Дякую! Так, коли вже виклав відео, то спробував реалізувати руками RSA алгоритм на невеликих простих числах. Так, операції комутативні й основна частина публічного ключа це N й цей модуль однаковий для операцій в обидві сторони. Тобто на практиці його не можна зробити приватним. Тобто матиматично операції шифруваня й розшифрування відбувається однаково (тільки в одному випадку e, в другому d), але зробити d публічним не вийде, бо вся складність взлому впирається не в "е" (яка є стандартизованою екпонентою), а в розкладі N на множникі p та q
@AboutProgramming
@AboutProgramming Ай бұрын
@@rkiyanchuk Коментар про випадкові числа просто краса. Ніколи не думав про скічненність послідовності. Думав, що все впирається в генератор (чи можна по послідовності передбачити наступні числа) й криптографічний сід, що джерелом має бути справжеє випадкове число, що базується на якомусь зовнішньому інпуті (з фізичного світу). Відносно ChaCha20, це я наплутав. Можливо через RFC 7539, який від Гугла, й здається Гугл займався додаванням ChaCha20 в OpenSSL. Запінив коментар, має бути корисно для всіх глядачів цього відео. Круті коментарі! Дуже дякую за виправлення та доповнення!
@rkiyanchuk
@rkiyanchuk Ай бұрын
Саме так, і тут ми логічно підходимо до загрози квантового компʼютера 😉😄
@yuriimakarov4832
@yuriimakarov4832 3 ай бұрын
Віктор інженерний Uncle який всім потрібен, допомагає розібратися з будь яким питанням в цьому складному світі програмування!)
@TVV14
@TVV14 2 ай бұрын
Чудове відео, дуже інформативно і корисно! Так тримати, Вікторе!
@vaysberg_
@vaysberg_ 3 ай бұрын
що не відос - то скарбниця знань, дякую, було дуже корисно і не менш цікаво
@olexiy-not-alexey
@olexiy-not-alexey 2 ай бұрын
Тема супер. Дуже подобається, як розклав все по поличках!)
@Naikshy
@Naikshy 3 ай бұрын
Дуже круте відео, як завжди все дуже лаконічно, періодично передивляюся ваші відео щоб згадати базу)
@yyev89
@yyev89 3 ай бұрын
Дуже цікаво й корисно, взагалі тема безпеки сама по собі крута, хотілось би більше відео про це, якщо можна)
@v.ilchenko
@v.ilchenko 3 ай бұрын
Дуже круте відео і максимально зрозуміла подача. Дякую! вже додаю це в наш список must watch для девів 😊
@genkovi4
@genkovi4 3 ай бұрын
дякую за відос, додам в список для перегляду тіммейтів. Те відчуття коли довго хотів зробити щось подібне, але ви впорались швидше і краще 😊
@oleksandrpodustov
@oleksandrpodustov 3 ай бұрын
ох, часом провалював я співбесіди по цій темі, а тут так лаконічно та доступно пояснено, кайф, дякую!
@donutWiggum
@donutWiggum 2 ай бұрын
Дуже круте відео. Тема складна, не згодний що легка, бо якраз кількістю і якістю нюансів визначається складність. Дякую, що допомогли хоча б частково розібратися
@yuriitiunov8803
@yuriitiunov8803 3 ай бұрын
Дуже цікаво розповідаєте, вам варто читати курси. Лайк на підтримку каналу.
@Victor_M_D
@Victor_M_D 3 ай бұрын
Вивчав криптографію два роки... Відео чудове але воно дійсно концептуальне! Для розуміння більшості речей все ж потрібно хоч раз реалізувати ці алгоритми або хоч поглянути як вони працюють (онлайн з візуалізацією) а ще краще знати модульну математику;) в свій час це було для мене цікаво... але для 95% роботи дійсно достатньо 15 рядочків коду з використанням готових рішень;) дякую!
@lymphbizkit4344
@lymphbizkit4344 3 ай бұрын
Це крутяк, ви просто неймовірний, чекаю на нові відео !!!!!
@Vlad-fz8ny
@Vlad-fz8ny 3 ай бұрын
давно ж не було нових відео)
@sashok10s
@sashok10s 3 ай бұрын
Привіт, дякую за чудові відео. Пропоную ідею для наступного: Коли потрібно використовувати jwt а коли звичайні сесії, в чому різниця, також можна розповісти про використання jwt refresh token і refresh token rotation, reuse detection)
@doomor
@doomor 3 ай бұрын
оо, дуже цікава тема, дякую :) буде кльово щось ще на подобну тематику
@akiruaUazammetra
@akiruaUazammetra 3 ай бұрын
дякую за відео, вподобайка та й коментар для популяризації контенту Слава Україні!
@vladcid3938
@vladcid3938 3 ай бұрын
Йой тільки думав де взяти контент з шифрування. Ну це лайк і обов'язково перегляд
@AboutProgramming
@AboutProgramming 3 ай бұрын
@@vladcid3938 дякую за лайк. Але в відео по суті база, тому не очікуй якогось хардкора)
@vladcid3938
@vladcid3938 3 ай бұрын
@@AboutProgramming та все одна не р@снявий же контент дивитися
@serhii-kj6hr
@serhii-kj6hr 3 ай бұрын
@@AboutProgramming ми очікуємо хардкора на цю тему в наступному відео)
@OnenessVoices
@OnenessVoices 3 ай бұрын
Дякуємо за україномовний контент! Між тим, пан би хоч словом обмовився про веселкови таблиці, про FIDO… і взагалі БІЛЬШ ЗВЕРНУВ УВАГУ СОУЗАЧІВ НА БІЛЬШ СУЧАСНИ (стійки) технології, стандарти. Бо саме тому, що використовують це «лайно мамонта», ми щодня бачімо тисячи зламаних сервісів. А в нас на сході ДУЖЕ фаховий ворог, якій не заспокоїться ще десятками років! ---- ПЕРЕМОГА НЕОДМІННО БУДЕ НА БОЦІ УКРАЇНИ ! ВІРТЕ та НАПРЯМУ ДОПОМОГАЙТЕ ЗСУ, ТерОбороні, Волонтерам та родинам наших Украінськіх Захісників та Захісниць!
@AboutProgramming
@AboutProgramming 3 ай бұрын
Дякую! В відео про веселкові таблиці згадував, коли говорив про сіль. Але буде окреме відео про те, як зберігати паролі в базі й там вже в деталях розповім. Дякую за ідею для теми :)
@redlinenorma1
@redlinenorma1 3 ай бұрын
Ох ці українці, тільки б критикувати. Зроби своє відео 😂 а для початківців, щоб взагалі зрозуміти основи основ - все впорядку. Перед тим як літати, треба навчитись ходити 🥴🤓
@МаксимЦимбалюк-и6б
@МаксимЦимбалюк-и6б 3 ай бұрын
Віктор, прошу вас записати відео про електронну пошту, дуже подобається ваша подача матеріалу!
@AboutProgramming
@AboutProgramming 3 ай бұрын
Гарна ідея для теми. Дякую!
@ArtemSinkevychus
@ArtemSinkevychus 3 ай бұрын
Дякую! Було цікаво
@kos-iddqd
@kos-iddqd 3 ай бұрын
Дяка. Як завжди, супер.
@bruteforceglory
@bruteforceglory 3 ай бұрын
Все дуже зрозуміло, супер!
@НиколайСтепанец-г7д
@НиколайСтепанец-г7д 3 ай бұрын
дякую, дуже цікаво!
@Dnonatello
@Dnonatello 3 ай бұрын
Дуууууууже круте і зрозуміле відео. дякс за контент
@Dnonatello
@Dnonatello 3 ай бұрын
особливо шифрування - завжди було дуже цікаво і сама ідея , яка прийшла комусь в голову в минулому просто геніальна(принаймні на сьогоднішній день)
@Богдан-р4ы1э
@Богдан-р4ы1э 3 ай бұрын
Дякую за контент
@AndrewShmorgun
@AndrewShmorgun 3 ай бұрын
Дякую за огляд цікавої теми!
@serhii-kj6hr
@serhii-kj6hr 3 ай бұрын
Дуже жаль, що в мої студентські роки не було цього каналу. Якби мені 10 років тому так пояснювали програмування як це робить Віктор - я б був зовсім іншою людиною зараз 😅
@ops_rv
@ops_rv 3 ай бұрын
Дякую, з цим вже можна починати розбиратись в темі)
@MrZhekaU
@MrZhekaU 3 ай бұрын
Дякую за твою круту роботу❤
@Volodymyr-y1c
@Volodymyr-y1c 3 ай бұрын
Дуже цікава тема, дякую за відео!
@cyber_scripter
@cyber_scripter 2 ай бұрын
Дякую!
@michaelbochkaryov4167
@michaelbochkaryov4167 3 ай бұрын
Класно зроблено. А от пінгвина я ще не бачив :)
@popel_
@popel_ 3 ай бұрын
ура новий відос)
@Virass
@Virass 2 ай бұрын
Коли Віктор заговорив про слона в кімнаті і почав розказувати про доставку публічного ключа, я в цей момент - ну нічого собі, невже мій "казанок" варить як треба...
@maxyablochkin-0505
@maxyablochkin-0505 2 ай бұрын
Привіт з Кривого Рогу 👋
@olegekbondar
@olegekbondar 3 ай бұрын
ще варто додати, що при асиметричному шифруванні ми маємо ліміт на розмір даних - не можна зашифрувати дані довші за сам ключ. З симетричним шифруванням такого ліміту немає і можна шифрувати теоретично не обмежений розмір даних
@mmiro
@mmiro 3 ай бұрын
Шо??)) Що за дурниці ви говорите?
@StrangerSaret
@StrangerSaret 3 ай бұрын
симетричні алгоритми теж працюють з блоками даних фіксованої довжини, а не з усіма даними одночасно. Теоретично, по такій схемі (розбиваючи на блоки) можна шифрувати і за допомогою асиметрії, але самі асиметричні алгоритми просто повільні і тому на практиці таке не використовують.
@liubkkkk0
@liubkkkk0 3 ай бұрын
Чи можна змінивши час і дату на телефоні згенерувати одноразовий пароль який буде валідним у майбутньому(до прикладу за 2 дні у визначений проміжок часу)?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Круте питання) думаю, що має бути можна, але сам ще перевіряв
@rkiyanchuk
@rkiyanchuk 3 ай бұрын
У випадку TOTP можна, і раніше коли автоматична синхронізація часу на пристрої не була поширена, існувала проблема розсинхронізації часу між сервером та клієнтським пристроєм. Як наслідок код з клієнтського пристрою не співпадав з сервером. Тому часто додається вікно свободи: приймається не лише поточний код, але й кілька минулих та наступних (зазвичай таке вікно роблять від 1 до 5 хв), що компенсує можливу розбіжність між часом серверу (який зазвичай завжди синхронізований) з часом клієнтського пристрою. В нинішній час це рідко є проблемою (лише на пристроях, на яких навмисно вимкнено автоматичну синхронізацію). Також знаючи seed яким ініційовано TOTP алгоритм можна згенерувати код для будь-якого моменту в минулому і майбутньому, і для цього не обовʼязково змінювати час на самому пристрої.
@onion8661
@onion8661 3 ай бұрын
Кльове відео в цілому, але як на мене трохи сумбурне для людей, які не дуже в темі)
@AboutProgramming
@AboutProgramming 3 ай бұрын
Так, трохи є, взагалі планував його на 5 хв, а вийшло 37 :)
@b.shpanchuk
@b.shpanchuk 3 ай бұрын
"Якийсь зловмисник, давайте намалюємо чого чорним" 😀
@AboutProgramming
@AboutProgramming 3 ай бұрын
То для контрасту 🙈
@zoryamba
@zoryamba 3 ай бұрын
топчік, дяка
@riendlyf
@riendlyf 3 ай бұрын
Хотілось би побачити реальний приклад з ХТТПС за таким сценарієм. Є вебсайт хттпс з сертифікатом (можна селф сігнед), аналізуємо дані що прийшли по ваершарку, тобто беремо дату, сертифікати у нас є, й декодимо. Це реально?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Тут основна проблема, що приватного ключа недостатньо для розшифровки трафіку, оскільки зараз для обміну симетричним ключем використовується алгоритм діффі хеллмана. Тобто навіть, якщо слухати весь трафік й бачити весь процес конекту, то симетричний ключ не передається. Окрім того на кожну сесію він новий. Подумаю як це правильно зробити, але mitm з подміною сертифікатів точно буде в відео про https
@Hordaric
@Hordaric 3 ай бұрын
❤❤❤
@danyaminakov1501
@danyaminakov1501 3 ай бұрын
в прикладі про гугл аутентифікацію з часом. як один сікрет шариться між клієнтом і сервером?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Так, той самий сікрет
@AboutProgramming
@AboutProgramming 3 ай бұрын
Якщо питання про механізм шарінгу, то це відбувається один раз під час додавання двофакторної аутентифікації. Сайт показує qr код, а з телефона скануєш й в ньому сікрет або можна вручну вести на телефоні сам сікрет, якщо сайт його показує
@shramko-dev
@shramko-dev 3 ай бұрын
А що у вас за камера?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Це відео знімав на Fuji X-E4 + об'єктив XC 15-45mm. Всі відео з минулого року робив на iPhone. Фон зробив через зелений екран
@dmytro9279
@dmytro9279 3 ай бұрын
тема корисна, продовжуй будь ласка
@Techn0man1ac
@Techn0man1ac 3 ай бұрын
Що означає "ксорити"?
@AboutProgramming
@AboutProgramming 3 ай бұрын
"xor" це "exclusive or" ("виключне або"). Тобто для умови "A xor B" він повертає true якщо або А true, або B true. Якщо обидва true, то xor повертає false (в цьому відмінність від or, й тому це exclusive or). Й відповідно є побітова версія цього оператора, коли порівнюємо просто біти. Ми можемо взяти дві строки й побітово порівнювати їх через xor й на виході отримати нову строку з результатами побітового xor. Це такий спосіб накласти на строку іншу рандому строку й отримати зашифровану строку. Якщо потім на зашифровану строку знову накласти одну з вихідних строк, то отримаємо другу вихідну строку
@master.joda987
@master.joda987 3 ай бұрын
Mate Academy дійсно крута школа і раніше це працювало але в наш час є великі сумніви з приводу швидкості знаходження першої роботи
@AboutProgramming
@AboutProgramming 3 ай бұрын
Так, декілька місяців на пошук зараз треба
@master.joda987
@master.joda987 3 ай бұрын
@@AboutProgrammingможе декілька років, як піде 😂 насправді, це добре, тепер курсів буде недостатньо, треба буде вчитись декілька років з постійною практикою і самовдосконаленням щоб зайти в професію відповідно, буде менше "випадкових" людей
@Techn0man1ac
@Techn0man1ac 3 ай бұрын
Як Ви зробили таке боке?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Якійсь ефект в Gimp)
@Techn0man1ac
@Techn0man1ac 3 ай бұрын
@@AboutProgramming А що Gimp дозволяє працювати з відео? Чи це chroma key у Вас?
@AboutProgramming
@AboutProgramming 3 ай бұрын
Так, це chromakey + картинка розмита через Gimp. Gimp для відео не вміє такого
@kamurashev
@kamurashev 3 ай бұрын
👍🤝
@bohdandudka4358
@bohdandudka4358 3 ай бұрын
15:31 - це можна трактувати як расизм?😅
@AboutProgramming
@AboutProgramming 3 ай бұрын
Помилився з вибором кольору маркера й канал закенселили 😅
@TentakliUA
@TentakliUA 29 күн бұрын
В Mate Academy немає C# 😢
@AboutProgramming
@AboutProgramming 29 күн бұрын
Так, на жаль, поки немає
@riendlyf
@riendlyf 3 ай бұрын
0:55 немає посилання на відео, це інформація для автора.
@AboutProgramming
@AboutProgramming 3 ай бұрын
Так поспішав викласти відео, що забув. Дякую! Зараз виправлю
@ВудиВулдбекер
@ВудиВулдбекер 3 ай бұрын
Видео хорошее и правильное. Но есть одно но. Это все работает без вмешательства ресурсов государств. Ну не все в видео, но многое. Во время войны всякие проги типа Дія опасны. Например Китай. Он имеет кучу оборудования в Украине. Это значит что возможна подмена трафа как между объектами коммуникации так и между сертификационными центрами. Последствия сами понимаете. Это почему в США полным ходом меняется оборудование провайдеров на отечественное. У них гос программа на это.
@ВудиВулдбекер
@ВудиВулдбекер 3 ай бұрын
Все варианты где пользователь не получил приватный ключ физически на флешку или сгенерил у себя на компе и не отдал публичный ключ своему контакту опасны во время войны. Да и в этом случае есть варианты и с течением времени все более опасны. Не буду о них.
@AboutProgramming
@AboutProgramming 3 ай бұрын
Дякую. Але не до кінця розумію в якому контексті йде мова про небезпеку програм типу Дія. Відносно підміни трафу, то шифрування якраз й вирішує цю проблему. Щоб заглянути в https трафік треба підмінити сертифікат, а для цього він має бути підписаний кимось, кому браузер буде довіряти, але браузери сьогодні мають власні списки сертифікатів кореневих центрів сертифікації. Тобто, я би сказав, що навпаки, в таких умовах шифрування стає більш критичним
@ВудиВулдбекер
@ВудиВулдбекер 3 ай бұрын
Не все так безопасно как кажется. Если нужны сервера, которые ломают хттпс траф в пределах компании то могу дать контакты. Тут объяснять тяжко.
@AboutProgramming
@AboutProgramming 3 ай бұрын
@@ВудиВулдбекер Так, якщо приватний ключ хтось передав користувачу, то це проблема. Але якщо візьмемо той самий https, то приватний ключ нікому ніколи не передається, підписується лише сертифікат з публічним ключем. Й якщо хтось кудись передає приватний ключ, то це проблема навіть не під час війни. Але згоден, що певні додаткові ризики виникають
@ВудиВулдбекер
@ВудиВулдбекер 3 ай бұрын
Да, приватный передавать нельзя. Это я написал старый метод наших банков. Приходишь с флешкой, они генерят ключи и приватный типа у себя не сохраняют.
@yogalenovo8262
@yogalenovo8262 2 ай бұрын
Мало щось знати, ще треба вміти донести думку... У автора з цим проблеми.
@AboutProgramming
@AboutProgramming 2 ай бұрын
А з розумінням чого саме виникають складнощі? Можливо є конкретно якісь аспекти, де було незрозуміло?
Що не так з Інтернетом в кафе? Розбираємо DHCP
21:26
Віктор Турський про програмування
Рет қаралды 75 М.
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 156 МЛН
Which team will win? Team Joy or Team Gumball?! 🤔
00:29
BigSchool
Рет қаралды 15 МЛН
Хешування, кодування, шифрування. В чому різниця?
8:40
Віктор Турський про програмування
Рет қаралды 10 М.
Як працює Інтернет? Основні питання про DNS
22:58
Віктор Турський про програмування
Рет қаралды 48 М.
Головна проблема мікросервісів, яку часто недооцінюють
8:55
Віктор Турський про програмування
Рет қаралды 11 М.
Як працює Base64 й навіщо він потрібен?
20:00
Віктор Турський про програмування
Рет қаралды 12 М.
Навіщо потрібні індекси в базі даних? Розберемо на прикладі
19:22
Віктор Турський про програмування
Рет қаралды 10 М.
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 156 МЛН