Гортаючи сторінки з репозиторіями на GitHub наткнувся на одну дуже цікаву ідею, яка належить Джеймсу Бачіні. Він запропонував слухати стрімом акаунти в Twitter і якщо в твітах цих акаунтів з'явиться згадка про тікери криптовалюти то в цьому випадку це можна розглядати як заклик до дії і купувати попередньо згаданий тікер.
Джеймс розробив приклад цього бота ти виклав його на GitHub. Мені це здалося дуже несподівано і цікаво, через те я записав відео огляд цього бота, попередньо отримавши ключі до елевейтед аксес до Twitter.
Витратив цілий місяць на те, щоб створити Dino Game на kaboomJS.
Що таке KaboomJS? Це Javascript framework, а що таке Dino Game? Це офлайн гра захована в браузер Chrome. Вихідний код гри можна знайти в репозиторії браузера Chromium. Доречі я також створив сторінку у Вікіпедії про цю гру, аж дивно, що гра була випущена в 2014 році, а сторінки у вікі ще не було. Ось посилання на сторінку: Dinosaur game.
Допоки писав статтю на вікі побачив багато цікавих фактів про цю гру. Наприклад, що в неї можна грати 17 млн років, щоб отримати максимальний скор, або що гра спочатку називалася «Project Bolan» у зв’язку з вокалістом Марком Боланом із групи T. Rex 1970-х років.
Заради чого це все? Заради того, щоб отримати досвід в Game Dev та попрактикуватися з новим JS фреймворком, яких вже так багато на світі.
Але трігером цього всього стала моя участь в контесті Kajam від Replit. Ми зробили свою гру за 1 тиждень та задеплоїли її на контест, але нажаль нічого не виграли, але так хотілося виграти 10 000 доларів.
Після оголошення переможців, цікаво було передивитися всіх їх та зрозуміти, в чому сіль перемоги? Або кому насамперед журі віддає перевагу.
Ось невеличкий огляд самих переможців Kajam 2021.
Але не суть. Сенс всього цього полягала в тому, щоб розробити гру з нуля і до релізу. Гра зарелізілась, задеплоїлася на Firebase і вже доступна до перегляду на цьому сайті: https://dino-game.xyz/
Там жеш є посилання на гітхаб, а також великий огляд того, як гра створювалася, та яких пітфолів краще не допускати, коли ви самі будете розробляти цю гру.
Саме огляд знаходиться ось тут:
Я отримав велике задоволення від написання цієї гри і можу сказати, що гра достатньо складна і я б оцінив її рівень як medium.
Пишіть свої враження від гри, цікаво буде послухати.
“Аналіз надійності захисту
веб-сайтів від автоматичного сканування
і розпізнавання символів CAPTCHA”
Актуальність
Захист інформації в веб-просторі
з кожним роком набуває все більшої
актуальності. Зокрема, оберігання
веб-сайтів від проникнення в них роботів,
спамерів та інших автоматичних засобів
відіграє важливу роль в цьому процесі.
Підвищення надійності захисту веб-сайтів
завдяки тесту CAPTCHA покликане створити
межу між вводом даних людиною та
комп'ютером. CAPTCHA зазвичай використовується
в Інтернеті для захисту форм реєстрації
та коментування від спаму. Для того, щоб
зрозуміти потребу в CAPTCHA, потрібно
зрозуміти мету, яка спонукає користувачів
до створення і використання автоматичних
систем введення даних. До цього переліку
входять: реклама, маніпулювання
онлайн-системами опитування, вандалізм
чи знищення цілісності, чистоти сайту
тощо. Актуальність цієї роботи полягає
в отриманні рекомендацій, які дозволять
підвищити надійність CAPTCHA та запобігти
автоматизації вводу даних.
Ціль роботи
Метою даної роботи є формулювання
рекомендацій по підвищенню рівня захисту
веб-сайтів від автоматичного сканування
при використанні різних типів символьної
CAPTCHA.
Задачі, що розв'язуються в
роботі:
аналіз
сучасних засобів захисту веб-сайтів;
дослідження
CAPTCHA як засобу захисту веб-сайтів;
аналіз
принципів побудови декодерів CAPTCHA та
їх можливостей;
розробка
декодера для розпізнавання символьної
CAPTCHA;
отримання
практичних висновків щодо підвищення
рівня захисту веб-сайтів
від автоматичного сканування при
використанні різних типів символьної
CAPTCHA.
Досягнуті
результати
Вирішивши
завдання, поставлені в роботі, автор
захищає:
рекомендацій
по підвищенню рівня захисту веб-сайтів
від автоматичного сканування при
використанні різних типів символьної
CAPTCHA;
напрямки удосконалення
систем захисту веб-сайтів
Наукова новизна роботи
Наукова
новизнавизначається
отриманням рекомендацій по підвищенню
рівня захисту веб-сайтів від автоматичного
сканування.
Практична цінність роботи
Запропоновані
рекомендації по підвищенню рівня захисту
веб-сайтів від автоматичного сканування
можуть бути застосовані при розробці
нових CAPTCHA або при вдосконаленні вже
існуючих для виходу на вищий рівень
безпеки.
Висновки
розглянуто існуючі засоби
захисту веб-сайтів;
визначені та класифіковані
CAPTCHA як засіб захисту веб-сайтів;
проаналізовано сучасні декодери
CAPTCHA;
визначені основні проблеми
автоматичного розпізнавання CAPTCHA;
проведене ретельне тестування
більше 40 CAPTCHA, включаючи CAPTCHA відомих
компаній, таких як Google та Yahoo.
сформульовані практичні висновки
щодо підвищення рівня захисту веб-сайтів
від автоматичного сканування при
використанні різних типів символьної
CAPTCHA.
Загальний обсяг роботи 127 сторінок,
з них основна частина — 70 сторінок, 16
таблиць, 53 рисунки.
Сьогодні на співбесіді в 1 айтішну компанію, мене запитали, чи зможу я вирішити задачу на логіку? Я звісно відповів що зможу, тому що в мене майже 2 вищі освіти (ХАІ та КПІ). Але коли мене спитали я розгубився. Це для мене нормальна річ, я завжди вирішую такі задачі коли я можу спокійно зосередитися над рішенням. Та задача виявилася досить простою.
Ось її опис: Є 1000 пляшок та 10 стаканів, в 1 пляшці є отрута. 10 людей одночасно ковтають з цих стаканів, тобто є лище 1 спроба. Одна людина ковтає лише з 1 стакану. Після того, як хтось загинув (1 чи декілька людей, чи всі відразу), треба визначити де саме отрута (в якій пляшці).
Ось рішення цієї задачі:
Якщо в нас є 1 стакан, то ми можемо визначити 2 пляшки, тобто або людина загине, або ні. Це ми можемо представити як 0,1 (0 - живе, 1 - загинув). Якщо в нас є 2 стакана ми можемо визначити 4 пляшки, це ми можемо представити як таку собі схемку:
1 стакан (2 комбінації (пляшки), або живе, або загинув)
0
1
2 стакана (4 комбінації (пляшки), або всі живі, або лівий загинув, або правий, або всі вмерли)
00
10
01
11
3 стакана (8 комбінацій (пляшок))
000
100
010
001
110
011
101
111
І так далі. Це може представити як 2 в ступені n. Тобто 2 в 0 ступені це 1. 2 в 1 ступені це 2, 2 в 3 ступені це 8, 2 в 4 ступені це 16 ... Тобто щоб визначити вірно де саме отрута нам треба 10 стаканів, тому що 2 в 10 ступені, це 1024.
Ще приведу приклад як можна наглядно продемонструвати як наливається отрута в чашки:
Уявімо, що кружки це пляшки, а квадрати це стакани, з яких п"ють люди. Одна пляшка вважається виключеною (відокремлена квадратом), вона буде з отрутою, якщо всі вип"ють, та залишаться живими. Якщо скажімо ми беремо комбінацію 101, тобчто 1 чашка з отрутою та остання з отрутою, то в якій пляшці отрута? Вірно, в тій яка наливає тільки в 2 крайні стакани. Якщо ми візьмемо комбінацію 100, то в якій пляшці отрута? Вірно в тій, яка наливає тільки в перший стакан, тобто сама ліва крайня.
Тут я буду викладати усі матеріали і те що мені стає відомо в процесі написання моєї магістерської роботи у КПІ. А саме інформацію про OpenCV2. Коди програм, приклади, тощо... Має бути цікаво.