Авторски архив
* SameSite cookies
Публикувано на 12 май 2020 в раздел ОСУП.
С приемането на RFC6265 и имплементирането на технологията в модерните браузъри, се прие нов начин за справяне с Cross Site Request Forgery. Идеята е да се добави възможност за рестрикция на използването на бисквитка (cookie) от страна на браузъра при заявка, която е генерирана чрез препращане от чужд сайт (cross site request). Досега ако например siteA накара браузъра на клиента (независимо дали автоматично чрез JavaScript или по волята на самия потребител натискайки линк/бутон) да направи GET или POST заявка към siteB и потребителят има записана бисквитка в siteB, тази бисквитка се предаваше и се използваше от siteB при изпълнение на въпросната заявка. Например ако потребителят например е логнат и има отворена сесия в siteB, той ще продължи да е логнат и при cross site заявки. С нововедението за атрибут SameSite на бисквитките се предоставя възможност това да не се случва.
В PHP досега бисквитките се създава чрез функцията setcookie, на която се подаваха серия параметри. Например в пълния си вид (без пропуснат параметър) се правеше следното: Прочети още...
* Изчисляване на прецизност на диагностични тестове за заболяване
Публикувано на 05 май 2020 в раздел Вероятности.
Напоследък е популярна темата за бързите тестове за коронавирус. Някои хора казват, че трябва да се тества масово, а други казват, че няма смисъл. Без да взимам конкретно отношение по това дали трябва или не трябва, тук ще представя един математически модел, с който може да се изчисли т.нар. "прецизност на диагностични тестове".
Прецизността най-просто казано е "доколко можем да им вярваме". Тя зависи от няколко параметъра. Ще представя всичко освен с формули и с нагледен пример. Приемаме, че: Прочети още...
* Свинско с праз
Публикувано на 02 април 2020 в раздел Храна.
Това е поредната супер лесна рецепта за много вкусно ястие. Взимате 800 гр. свинско и го запържвате на хапки: Прочети още...
* Използване на мобилен телефон като уебкамера с DroidCam
Публикувано на 24 март 2020 в раздел Общи работи.
В момента България е под карантина и училищата извършват обученията си дистанционно чрез видеоконферентни връзки. Включването към такава може да стане с приложение през мобилен телефон, но е много по-удобно с компютър. За съжаление се оказа, че уебкамерите по магазините са станали дефицитна стока. За щастие е възможно много лесно да направите своя мобилен телефон да действа като уебкамера.
Стъпките за това са: Прочети още...
* Алгоритъм RSA – обяснен с пример
Публикувано на 16 февруари 2020 в раздел ОСУП.
RSA е алгоритъм за асиметрично криптиране на данни. Използват се два ключа, с които се криптира и съответно декриптира информацията. Измислен е през 1983 г. от Роналд Ривест, Ади Шамир и Леонард Адлеман. Използва се и до днес като един от основните алгоритми за пренос на криптирана информация в интернет с протокола TLS, както и при електронни подписи. Основната идея е имайки единия ключ да е математически много трудно да бъде изчислен какъв е другия. По този начин става възможно да даваме свободно единия от ключовете като "публичен" (приема се, че всички го знаят), а другия да остане "таен" (само собственика го притежава и никой друг не може в разумно време да го намери). Прочети още...
* Уникалната дата 02.02.2020 г.
Публикувано на 02 февруари 2020 в раздел Математика.
Във Фейсбук се разпространи новината, че датата 02.02.2020 г. е уникална и няма да се случи в следващите Х години (не казвам колко, защото едни споделят едно, други друго - къде вярни, къде не). Много хора видяха, че тя е палиндром - ако я прочетете обратно, се получава същото, - но със сигурност няма нужда от чакане на Х години, а само една, защото следващата такава например е 12.02.2021 г. Е какво тогава ѝ е уникалното на първата? Прочети още...
* Switch изрази
Публикувано на 19 декември 2019 в раздел ПИК3 Java.
В Java 12, а по-късно подобрено в Java 13, се появиха тестови "Switch изрази", които се очаква да станат официална част от версия 14. Досега Switch беше само оператор. Вече може да бъде използван и като израз, който връща стойност. Например ако имаме следното решение за превръщане на число в текстовият низ за ден от седмицата: Прочети още...
* Текстови блокове
Публикувано на 19 декември 2019 в раздел ПИК3 Java.
Един чест и досаден проблем за разработчиците на Java винаги е бил четимостта на кода. Един от няколкото основни фактора за лошо визуализиран код винаги са били многоредовите низове. Например ако искаме да подобрим четимостта на следната SQL заявка: Прочети още...
* Бягство от затвора с графи
Публикувано на 12 ноември 2019 в раздел Математика.
Има 10 затворника, всеки от които е номериран с число от 1 до 10. Дадени са десет шкафчета, които са номерирани с числа от 1 до 10, както и десет карти, на които също са изписани числата от 1 до 10. Произволно във всяко шкафче е сложена по точно една карта.
Затворниците получават достъп до шкафчетата един след друг, като нямат право да комуникират помежду си. Всеки от тях получава право да отвори точно 5 шкафчета. Ако дори само един затворник не успее да открие своето число в отворените от него шкафчета, всички затворници ще бъдат екзекутирани. Ако всички затворници успеят да намерят своето число, всички ще бъдат освободени.
Намерете стратегия, с която затворниците да получат колкото се може по-голям шанс за свобода. Прочети още...
* Квадратични форми – задачи за упражнение
Публикувано на 20 октомври 2019 в раздел Линейна алгебра.
Задача 1. а) Приведете квадратичната форма в каноничен вид чрез групиране, намерете матрицата ѝ преди и след канонизирането и намерете матрицата на преобразуванието:
f(x1,x2,x3) = (x1)2 + 3(x2)2 + 5(x3)2 + 2x1x2 - 2x1x3 + 4x2x3
б) Приведете квадратичната форма в каноничен вид чрез ортогонална трансформация. Намерете матриците на формата преди и след канонизирането и намерете матрицата на преобразуванието: Прочети още...