- Видео 126
- Просмотров 65 870
Шо по коду?
Украина
Добавлен 21 авг 2022
🇺🇦 Технічно-популярний подкаст «Шо по коду?» про програмну інженерію та технології. Ділимось досвідом, розповідаємо байки та обговорюємо цікаві теми та новини інформаційного світу.
Ведучі:
‣ пан Ігор → fosstodon.org/@ihor
‣ пан Роман → techhub.social/@rpodoliaka
‣ пан Руслан → infosec.exchange/@ruslan
Ведучі:
‣ пан Ігор → fosstodon.org/@ihor
‣ пан Роман → techhub.social/@rpodoliaka
‣ пан Руслан → infosec.exchange/@ruslan
E16 – Системні менеджери в хмарних інфраструктурах
E16 - Системні менеджери в хмарних інфраструктурах
Просмотров: 587
Видео
E12 - Маловживані мови програмування: Clojure
Просмотров 5842 года назад
E12 - Маловживан мови програмування: Clojure
E03 - Фреймворки та патерни не потрібні
Просмотров 5102 года назад
E03 - Фреймворки та патерни не потрібні
E01 - Спонтанні налаштування та балачки про відкрите апаратне забезпечення 😛
Просмотров 5162 года назад
E01 - Спонтанн налаштування та балачки про відкрите апаратне забезпечення 😛
Так це ж уже було) Про безпечний с++ випусків як і про раст. Я не скаржусь, коментар для підтримкі😅
a de v apple podcast this episode ?
На RUclips ми виходимо наживо, і епізоди з'являються одразу. Публікація на подкаст платформи публікує трохи часу, і інколи виникає затримка. Проте все буде, обіцяємо!
Дуже цікаво слухати) побільше давайте філософських випусків.
Чудовий контент! Зробіть, будь ласка, випуск про arch linux
Я теж дуже люблю видаляти код - особливо тести!
Що за демотивуючий випуск! Творити не можна, тільки сиди і тести пиши. Занудство!
12:25 🤣
а я на goodreads ставлю бали книжкам які читав
Якщо у вас відкритий профіль, можете поділитись посиланням. Було би цікаво подивитись. 🙂
Я запізнився на початок, але бачу що план короткий випуск на 45 хвилин перевиконане вдвічі
Кайф.
Потужно! Шарите) Дуже цікаво слухати.
У мене тік 2 питання: -1 ) Пан Святослав пройшов співбесіду чи ні до шо по коду? -2) Й чи надали ви йому фідбек? :)) Дякую за крутий випуск!❤️
А чому цей епізот відсутній у подкасті?
Випадкові затримки пост-продакшину :) Щойно виклали цей епізод вже й на подкаст платформи!
Нарешті пайтон!!
41:10 як це немає цілих чисел? є bigint і typed arrays (наприклад Int8Array, Uint32Array і тд)
Не знав про BigInt в JavaScript, дякую! Але все ж таки це трохи не те. BigInt може зберігати цілі числа довільного розміру, що означає що це не є той самий integer як в інших мовах програмування. BigInt класний і має свої юзкейси, проте він повільніше за справжній integer (бо потребує власної імплементації арифметики) і займає більше місця в пам'яті (бо потребує зберігання додаткової метаінформації). Typed Arrays вміють містити справжні integers 👍
Дякую за цей подкаст
подивідся на embassy-rs async на мікроконтролерах дуже треба
Дякуємо за коментар! Одразу видно, що ми далекі від цієї сфери! :(
Мені синтаксис Rust - ok. На рахунок всі мови були однакові - не згоден. Що однакового у с++, prolog, erlang, haskell, lisp?
Я думаю, пан Ігор мав на увазі більш поширені мови програмування як Java і C# та "гегемонію" ООП і віртуальних машин на початку 2000х. Rust у цьому плані може заходити в сфери, де раніше лише С і С++ використовували. Prolog, Erlang, Haskell і Lisp дійсно дуже відрізняються, але вони нішеві.
@@roman.podoliaka насправді є цікава історія про ерланг - на ньому написаний відеострімінговий сервер erlyvideo. А з'явився він як конкурент wowza і red5, які текли і падали.
Класний випуск, якраз на одному проекті розбирався з генератором і анонімним типом який він генерує. Якщо цікаво як воно працює , то можемо поспілкуватися
Також на Rust і корутінами? Чи на C++?
@@roman.podoliaka на раст, доповідав на українській раст конфі на цю тему, там генератор використовується такий же як для async
Класний випуск. Загалом, можливо це тільки моє відчуття, але здається навіть самим авторам підкасту цікавіше розбирати системне програмування й повʼязані з цим технології.
Дякуємо! Це була наша із паном Ігорем спеціалізація в ХНУРЕ :)
11:40 оп джуніор-шеймер детектед
Ну раз пан Ігор каже, що треба закинути 300 грн Чмуту, то так і зроблю. Дякую за подкаст!
Готово.
Україна в опитування так добре залетіла бо на ДОУ та в соцмережах айтішних блогерів неслося прохання проходити опитування щоб підтримати галузь.
Треба повторювати щороку, мусить бути корисним
А якщо Ubunty стоїть на Mac?
То вже Asahi Linux :)
@@shopokodu :)
Вони без окулярів. Тому й скептично ставляться :)
От, доречі, і шо робить людям, які вже носять окуляри?
@@roman.podoliaka У плівкових фотоапаратах можна було вмонтувати свою лінзу в окуляр видошукача. По цьому принципу можна замовляти із індивідуальними лінзами :) Ще одна послуга в пунктах тех.обслуговування вимальовується :)
@@andriybench4273 Я минулого року купив нові окуляри, так там лінзи і оправа стільки коштували, що можна було і "розумні" взяти :D
BlueSky живий, mastodon живий, навіть Threads живий.
Дуже тихо( Але як завжди цікаво. Кляті акули!
Знов тихо? Ми ж наче вже навалили гучність для стрімів. 🤔
Довго вас не слухав, збираюся переглянути усе, що пропустив)
Що, прямо аж усе?! 😲 Низький 🙇♀
Як завжди, цікавий подкаст. З плюсами більш-менш зрозуміло, а що на рахунок С?
Дякуємо! Треба знайти якусь статтю, бо якщо на С++ хоч трохи останнім часом писали, то на С вже давно ні.
У расті за допомогою процедурних макросів можна реалізувати парсер будь-якого синтаксису. Це можливо саме через те, що на вхід подається просто потік токенів. Щоправда, не знаю, чи це закладалося розробниками з самого початку, чи на те були інші причини. Цікаво, чи можна таке саме зробити засобами С++. 🤔
Насправді сподіваюсь, що не можна, бо я бачив що буває якщо цим захоплюються (а часто якщо щось можна зробити - то це зроблять 🙂) - виходить нова мова-франкенштейн. В одній з моїх попередніх компаній основною мовою був Еліксир і новонайманим програмістам спочатку доводилось вивчати Еліксир, а потім ще місцевий діалект макросів 🙂
Топчик! дякую!
Обідно ламати прикольний набір лайків("123"), але я все ж зламаю) Прикольно розібрали.
А хто сказав, що програмісти не гуманітарії?) От кому в голову прийшло називати "вирішення конфлікту" - "cheery pick"??? (а ще додайте слабку бітність англійської мови) Я голову зламав...
Збої, помилки та відмови.
Усі згадані визначення помилок є детально описані з прикладами в istqb foundation syllabus
Так. Це безтолкова qaшна дроч.
22:58 Монада - це лише моноїд у категорії ендофункторів, у чому ж проблема?
класний вийшов формат епізоду :) дякую що записуєте цей подкаст 🙂
зранку прослухав про проблему автоінкремента, потім прочитав що пише статті. Я не погоджуюсь з тим що пропонує автор. по-перше чому автоінкремент може бути harmful, тому що база зберігає рядки в "сторінках", додавання рядка в "відсортовані таблички" тобто вставка в останній рядок автоматично провокує конкуренцію за цю "останню сторінку". чому це виникає: або у нас просто високе навантаження на бд - залізо не вивозить, може допоміжні сутності, індекси/констрейнти виросли до таких розмірів що не вивозить, але найчастіше це буває що у нас є процеси що роблять bulk-інсерти в табличку, і нам просто дорого це. найчастіше це таблиці з журналами робот, наприклад: "дата-час, юзер, інший контекст, що зроблено". що пропонує автор - це зробити: Please consider the impacts of auto-incremented IDs vs UUIDs on indexing, partitioning and sharding before you decide on what works better for you. я також подумав про uuid-v4, але це переносить проблеми вставки в останній рядок -> вставку в середину таблиці. тут виникають інші проблеми як розпухання btree-індексів, до того ж я впевнений що будуть другорядні індекси в тому числі по даті або інкременту, підтримка яких буде стикатись з тими самими проблемами що і автоінкремент. що іноді робить архітектор: генерація id збоку, може на стороні апки, а в базі лише маленька табличка з поточним значенням лічильника, якщо потрібно bulk, апка отримує у поточного значення лічильника діапазон айдішників, наприклад 1000 штук, і одночасно збільшує поточне значення на цей діапазон, генерує їх на стороні апки, і вставляє тисячу або менше сутностей в бд. шардінг - це вже коли одна залізяка не вивозить. я ніколи не реалізовував саме з цієї причини, але у нас реалізовували з іншої - географія та ненадійна мережа. тоді примарі кей композитний, поруч з інкрементом є поле який саме шард вставив ці дані, і значення цього поля визначає шард який є "джерелом істини". індекс по шард+інкремент. та навіть на одній ноді це зменшує конкуренцію саме за ту сторінку, в яку буде вставлятись дані, переважно кожна нода буде мати свою "гарячу останню сторінку", і іноді буде горіти ж*па коли відбувається перебудова дерева індексу, інформація може реплікуватись на інші ноди, для кешування та доступності. Але це не про availability на випадок якщо нода здохне. а використання uuid-v7 ну думаю це майже теж саме що самостійно згенерований id, який буде вставлятись в останній рядок таблиці або близького до нього.
31:50 оптимістичні локи це винесення транзакційної рутини, атомарності та несуперечності на аплікуху з бази. Причина: довгі транзакції в базі, хвилини або години, під час яких змінюється мало даних, це дуже погано по технічних причинах, розмір вал логів, можливі довгі лочки тощо. Чому оптимістичні, тому що процес проходить в умовні дві фази, читання та запису, і ми оптимістично не вішаємо лочку в надії що ніхто нам не пошкодить наші дані під час транзакції-на-стороні-аплікухи. А стандартна стратегія з транзакцією в бд, песимістично припускає що дані зіпсують, тому вішає лочки щоб того не сталось.
18:20 про рівні ізоляції краще починати з іншого боку. Є деякі аномалії/глюки/феномени при паралельній обробці даних : dirty read nonrepeatable read phantom read serialization anomaly І рівні ізоляції не дозволяють таким феноменам відбуватись. Але в залежності від реалізації бд, наприклад в mvcc у постгреса зроблено так, що dirty read при read uncommited взагалі можливий, але в постгресі він не можливий, теж саме з phantom read при рівні ізоляції repeatable read. Тому здається що різні бази по різному трактують цю матрицю рівнів ізоляції та феноменів. Ну трохи не так. Вони коректно реалізують should not, але там де phenomenon is allowed не завжди означає що воно буде.
Казки про Rust - старі; там і прекомпіляція у ресдистрибутивах crates, і проблеми із керуванням над найважливішими бібліотеками, та філософія Linux яки хоче мати все у базовому репозиторії, тобто у власному gcc
1:16:00 виявляється є 2 вида бидла. Стандартне і висококваліфіковане 😂
О, пан Ігор має нові окуляри)
А де коментарі з трансляції?
Все є, там де і зазвичай. 👌Можливо ви потрапили на той проміжок часу, коли RUclips перекодовує відео і робить «наживо»-чат тимчасово недоступним.
7:50 платформа без принципових рішень. Тепер я знаю як описати свій проект
👋 I just stumbled across this. I wish I understood more of what you were saying, but I'm very flattered by the amount of time and attention you've clearly devoted to the book. It's great to see that it's still engaging readers 10 years (!😱) after I wrote it 😊
Hi, Paul! We are three friends who stream a niche weekly podcast about software engineering and tech in general in the Ukrainian language. Recently, we've been trying this new format where we read and discuss a book together. "Seven Concurrency Models in Seven Weeks" is the first one we picked :) I read a few chapters years ago and really enjoyed the parts on the intricacies of language memory models, the difficulties of programming with locks, and persistent data structures in Clojure. After a long break, recording the podcast gave me the motivation to finish the book and see Elixir actors and data parallelism with OpenCL in action. This particular episode you've stumbled upon is dedicated to chapter 7 of the book, but we basically have an episode per concurrency/parallelism model that you describe. Just one more episode left! :) Thank you for taking the time to leave a comment! It's a great book that I still recommend to people 10 years later! Roman
I’ve been trying to read the automatically generated transcript translated via Google Translate. It *sometimes* makes sense 😂
RUclips has improved substantially at transcribing Ukrainian speech in the past few years, but that is still miles away from what it can do for English! I guess, it also does not help that we keep using English terms prounounced in Ukrainian manner, so I can not really blame Google for not getting that right :)
The fact I can make any sense of it at all is pretty amazing. And lots of parallelism used in doing so 😜
абстрактний фреймворк в вакуумі
нарешті десь трохи elixir зачепили, було цікаво