четвер, 23 травня 2019 р.

Середовища для навчання програмування


Алгоритми в Скретч
https://www.youtube.com/watch?v=m8anGNtkmjk
6.       Обчислювальні алгоритми в Скретч
Дев'ять сервісів для навчання програмуванню.

Останнім часом я став часто зустрічати в зарубіжних блогах думку, що абсолютно всі повинні вміти програмувати. Проте це не зовсім так, а точніше зовсім не так.  Завдання стоїть інше: щоб ви зрозуміли, що немає нічого складного в тому, щоб написати макрос для Excel, скрипт для Photoshop, що обробляє за вас тонну фотографій, або дописати код в CMS.

Я перебрав тонну сервісів і вибрав дев'ять найвдаліших, які допоможуть вам освоїти ази програмування. Проекти розташовані в порядку від простих до більш складних, і найостанніші в списку підійдуть тим, хто хоче поглибити свої знання.




Пропоную всім почати саме з цього ресурсу. Він створений спеціально для новачків і орієнтований на навчання школярів, хоча, звичайно, підійде користувачам будь-якого віку і складів розуму. Серед партнерів сайту такі титани, як Apple, Google, Facebook, Amazon. На першому занятті Марк Цукерберг розповідає, навіщо взагалі потрібно вчитися програмувати.

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






Барвиста гра c цікавим і захоплюючим сюжетом. Вам належить стати чарівником, який c допомогою js-коду змінює навколишній світ.

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

Гра буде цікава практично всім. У неї можуть грати і новачки - дуже багато пояснюється у внутрішніх туторіали.




Ось ви освоїли дві простенькі іграшки, і прийшов час застосувати отримані знання з JavaScript і алгоритмам і пройти нетривіальні 14 рівнів.

У грі потрібно буде за допомогою JavaScript-коду управляти біт-Бакет ботом, виконуючи завдання до кожного рівня. Найчастіше завдання - дістатися до виходу з лабіринту, але іноді доводиться битися з ворожим кораблем.

Вам належить розібратися, що таке події, як використовувати функції, і може знадобитися застосувати замикання.

Але залишимо ненадовго гри - їх дуже багато, і вони всі схожі. Звернемося до шкіл програмування, які допоможуть отримати більш фундаментальні і системні знання.




По суті, це скрінкасти з інтерактивом, в якому вам розповідають, як можна за допомогою простих команд в JavaScript почати малювати геометричні фігури в браузері і якось ними навіть управляти.

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




Прекрасний сайт з хорошим вибором можливостей для того, щоб навчитися програмувати для вебу. Наприклад, сервіс пропонує створити сторінку про себе, стверджуючи, що на це ви витратите всього півгодини. За цей час вам поступово пояснюється, як працювати з HTML, CSS і JS. Так на простому прикладі стає ясно, як створюється сайт.

Вибір курсів задовільний: є досить грамотні курси по HTML, CSS, JS, jQuery. Якщо раптом ви замислюєтеся про серверній стороні справи, для вас є заняття по PHP, Ruby, Python. Завжди було цікаво, як працювати з API сервісів? У «Кодакадеміі» теж цьому вчать.





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




Гідний представник онлайн навчання з Росії. Зізнаюся, жодного курсу я там не проходив, але, судячи з відгуків моїх колег, сайт варто уваги.

З представлених курсів варто звернути увагу на курс з математичної логіки, це вам допоможе розвинути мислення в потрібному напрямку.

І, звичайно, розробці на Android можна приділити час, якщо є далекосяжні плани на цю платформу.




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

Рекомендую поглянути на Fundamentals of Computing. За результатами цього курсу, як стверджують автори, ви зможете почати програмувати на Python і вирішувати різні технічні завдання. Для початку навчання не потрібні навички програмування, але курси читаються англійською мовою, і не до всіх з них є російські субтитри.




Сценарій гри: рубай-воїн повинен вбити всіх поганих хлопців і врятувати принцесу-блондинку (насправді немає). Керувати героєм потрібно за допомогою Ruby-коду.

Для проходження потрібно розбиратися в коді, але знань по Ruby буде досить самих базових.

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

Ця гра мені здалася найскладнішою - і найцікавішою. 

неділя, 19 травня 2019 р.

Кібербезпека та Інформаційна безпека

Час від часу бачу як журналісти, різні ІТ спеціалісти чи маркетологи плутають поняття Кібербезпеки та Інформаційної безпеки, підміняючи поняття та вводячи людей в оману, чи то навмисно, чи то по нерозумінню різниці. Спробував розкласти мухи і котлети окремо.
Матчасть
Кібербезпека – це безпека ІТ систем (обладнання та програм).
Інформаційна безпека – це безпека інформації, зазвичай організації чи компанії, у тому числі в ІТ системах. Кібербезпека є частиною Інформаційної безпеки будь-якої організації.
Приклади
Наскільки захищений ваш домашній комп’ютер чи ваш веб-сайт від зламу хакерами – це питання кібербезпеки. Але чи кріпите ви стікер із записаним паролем від комп’ютера чи профайлу у соцмережі на екран свого монітору – це вже питання вашої Інформаційної безпеки.
На сайтах пошуку роботи часто можна зустріти об’яви на кшталт «потрібен спеціаліст з інформаційної безпеки», де в описі задач вказано «адміністрування системи моніторингу», «адміністрування антивірусу», «аналіз наявності вразливостей в системах (пентестер)» – це все вузькі задачі спеціалістів з кібербезпеки. Спеціаліст з інформаційної безпеки має вміти набагато більше, це і організація навчання працівників з питань ІБ, і впровадження проектів ІБ, аналіз ризиків, аналіз компанії на відповідність регуляторним чи законодавчим вимогам і т.п.
Часто продавці різного ІТ обладнання та ІТ продуктів пропонують «рішення з інформаційної безпеки», хоча по факту вони пропонують рішення для кібербезпеки – антивіруси, фаєрволи, мережеві екрани і т.п. Якщо ви купуєте дорогий маршрутизатор з розширеними функціями безпеки чи дорогий програмний продукт, який виявляє та нейтралізує віруси, ви закриваєте одну із задач міжнародного стандарту з інформаційної безпеки ISO 27001 по захисту від зловмисного коду, а в цілому в даному стандарті з ІБ десятки різних задач, які потрібно вирішувати кожній організації, аби її інформація була захищеною.
Хороший приклад правильного використання термінів маємо в назві проекту Закону України «Про основні засади забезпечення кібербезпеки України». Хоча по самому проекту закону є багато зауважень, які детально виклали мої колеги з київського відділення всесвітньої асоціації з розроблення методологій та стандартів у галузі управління, аудиту і безпеки інформаційних технологій ISACA (Information Systems Audit and Control Association), але по своїй суті цей документ якраз і покриває питання саме кібербезпеки.
З іншого боку, маємо не зовсім вдалий приклад використання словосполучення «інформаційна безпека» в документі «Доктрина інформаційної безпеки України». Даний документ описує в основному цілі та дії, які має застосовувати держава щодо протидії Росії в інформаційному полі (телебачення, радіо, інтернет). В документі згадується Державна служба спеціального зв'язку та захисту інформації України (ДССЗІ), але тільки в контексті захисту спеціального зв'язку, захисту інформації, телекомунікацій та користування радіочастотним ресурсом України. Більш вдалою назвою для цього документу була б «Доктрина інформаційної політики України», як на мене. Бо для того, аби цей документ покривав всі питання інформаційної безпеки держави, потрібно також врегулювати не тільки питання забезпечення безпеки інформаційних систем в державі, але також і проведення аналізу цих систем на відповідність (аудит ІТ систем), врегулювати питання освітницької діяльності щодо підвищення і підтримки на належному рівні знань громадян щодо питань інформаційної безпеки, врегулювати питання аналізу та реагування на інциденти ІБ (тим чим займається CERT-UA), питання безперервності роботи державних ІТ систем. Цього всього в поточній «Доктрині інформаційної безпеки» немає, і в цілому ці питання залишаються неврегульованими на державному рівні, тому і по інформаційній безпеці України залишається багато відкритих питань.
Хакери, вони хто?
Всім відомі хакери – це, в основному, спеціалісти з кібербезпеки. Вони вивчають як побудовані різні ІТ системи, щоб знайти в них слабкі місця і використати їх для отримання вигоди, чи то фінансової, чи для інших цілей. Хакерам протидіють не тільки Білі Хакери (White Hats), які також знаходять вразливі місця в наших ІТ системах, але роблять це відкрито, аби допомогти нам закрити наявні проблемні місця, але й спеціалісти з інформаційної безпеки, тому що для проникнення в ту чи іншу організацію можуть використовуватись не тільки прямі методи зламу тієї чи іншої системи, але також і прості людські слабкості – збережені паролі у відкритих місцях, зайва балакучість співробітників, фішинг, спам, прийоми соціальної інженерії по телефону, емейл і т.п.
Як відрізнити спеціаліста кібербезпеки від спеціаліста з ІБ?
Найпростіший і найочевидніший спосіб – по сертифікації. Сертифікацій на тему кібербезпеки та ІБ у світі величезна кількість, але є декілька найпоширеніших та найбільш популярних.
Спеціалісти з Кібер-безпеки:
  • CEH (Certified Ethical Hacker);
  • CISSP (Certified Information System Security Professional);
  • CCSP (Cisco Certified Security Professional).
Спеціалісти з Інформаційної безпеки:
  • CISM (Certified Information Security Manager);
  • CISA (Certified Information Systems Auditor);
  • ISO 27001 Lead Implementer;
  • ISO 27001 Lead Auditor.
З ІТ аудиторами також часто виникає плутанина. Класичний ІТ аудитор чітко знає набір процедур і методологічних практик, які потрібно пройти, аби проаналізувати будь-які ІТ систему згідно поставлених цілей. Також є Пентестери, які інколи позиціонують себе як ІТ аудитори, але виконують зовсім інші задачі. Задача Пентестера – зламати систему, у той час як задача ІТ аудитора проаналізувати систему, наприклад, на відповідність налаштувань до рекомендацій постачальника.
Якщо вам потрібно перевірити вашу систему на міцність – тут в нагоді стане Пентестер, CEH, White Hat. Якщо потрібно просто проаналізувати, наскільки адекватні налаштування ІТ системи, чи порядок з правами користувачів в системі – допоможе ІТ Аудитор, CISA.


Самостійна пошукова аналітична робота з інформацією
Що слід розуміти, на вашу думку, під інформованістю особи, що приймає рішення?
На вашу думку, якими якісними властивостями інформації доцільно оцінювати рівень інфор­мованості особи, що приймає рішення?
На вашу думку, як  би ви визначили особливості вимірювання якісного показника повноти інформованості особи, що приймає рішення?
Що, на вашу думку, слід розуміти під мінімально доцільним обсягом інформації для повного розв’язування проблеми чи задачі?
На вашу думку, які особливості у міри якісного показника своєчасної інформованості особи, що приймає рішення?
На вашу думку, у чому полягає суть часового ресурсу формування рішення і часового ресурсу для повної реалізації ідеї?
На вашу думку, з якою метою множини  позаштатних ситуацій в смартфоні класифікують на  підмножини, у кожній із яких виконується тільки одна з умов своєчасної інформованої?
На вашу думку, які особливості міри якісного показника достовірної інформованої особи, що приймає рішення?
На вашу думку, які особливості класифікації множини форс-мажорних ситуацій в вашому смартфоні  за показниками повноти і досто­вірної вашої поінформованості?
На вашу думку, які властивості та особливості якісних показників інформації потрібно врахову­вати під час формування системного інформування вас: 1)про  ваш стан здоров’я, 2) про ціни на ринку технологічних товарів?
На вашу думку, як визначають кількісні характеристики інформації?
На вашу думку, що є мірою можливості  самостійного аналізу вами множини надзвичайних ситуацій?