вау. можно на мардауне спокойно и удобно писать не только документацию но и презентации делать
https://marp.app/
https://marp.app/
marp.app
Marp: Markdown Presentation Ecosystem
Marp (also known as the Markdown Presentation Ecosystem) provides an intuitive experience for creating beautiful slide decks. You only have to focus on writing your story in a Markdown document.
== Hardware, характеристики, numbers you should know
https://youtu.be/aOWSJxl4MYc
хорошая лекция про цифры в Computer Science которые надо знать
https://youtu.be/aOWSJxl4MYc
хорошая лекция про цифры в Computer Science которые надо знать
YouTube
Инструменты Промышленной Разработки. Лекция 12. Hardware, характеристики, numbers you should know
Шикарнейшая лекция по LLVM
== Компиляторы, LLVM
https://youtu.be/lgzxifLoY4E
блин. на полке целая книжка про LLVM все никак не доползу почитать
== Компиляторы, LLVM
https://youtu.be/lgzxifLoY4E
блин. на полке целая книжка про LLVM все никак не доползу почитать
YouTube
Инструменты Промышленной Разработки. Лекция 13. Компиляторы, LLVM
минмалистичный доклад про мап редьюс, хадупы и проблемы этого подхода https://youtu.be/aceBLW_cmuQ
YouTube
Приглашенный доклад (Данила Кутенин, 02.11.2020)
== заметки по выбору шифров в тлм 1.3
https://habr.com/ru/post/554070/
https://habr.com/ru/post/554070/
Хабр
Заметки по выбору шифров для TLS 1.3
После дискуссии с коллегами о TLS 1.3 в целом и прикладном использовании идущих в комплекте с ним шифров я решил кратко изложить основы, которые не худо было бы знать любому разработчику. Мне хотелось...
== что такое драйвер устройства ?
https://youtu.be/8yqNfAsKZus
https://youtu.be/8yqNfAsKZus
YouTube
Что такое драйвер устройства?
Рассматривается понятие драйвера и типичный путь прохождения запроса на запись и чтение данных от приложения до устройства.
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-21-draiver-ustroistva…
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-21-draiver-ustroistva…
== Аппаратное прерывание
https://youtu.be/AzXR1IUww7Q
== Программное прерывание
https://youtu.be/UkbXs94fRN0
https://youtu.be/AzXR1IUww7Q
== Программное прерывание
https://youtu.be/UkbXs94fRN0
YouTube
Аппаратное прерывание
Одно из самых важных понятий в понимании операционных систем. После понимания прерываний открыты буквально все двери. Не проходите мимо)
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-19-apparatnoe…
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-19-apparatnoe…
== Адресное пространство
https://youtu.be/P-MRbkePbyE
- логический адрес (для ассемблера)
- адресные регистры (Page Address Register) нужен для вычисления реального адреса =
- регистры атрибутов страниц (говорит о том где именно находится эта страница) = перемещаемость, чтение, запись, выполнение
- регистры присутствия страниц и дескриптор процесса
- привилегированность процесса (можно все, ограничения)
х86:
- биос
- таблицы символов
- видеопамять
- свободная память
- данные биос
- вектора прерываний
== Менеджер памяти
https://youtu.be/_mDAMquAwPY
- динамическое выделение памяти
maloc/free
- фрагментация памяти
== Дисковая подсистема
https://youtu.be/MeRIcJs-pnI
v = bytes * sectors * disks * i
== SSD накопитель
https://youtu.be/-dKku_EfnMk
SLC - одна ячейка = 1 бит
MLC - одна ячейка = 2 бит
TLC - одна ячейка = 3 бит
== Файловая система SSD накопителя.
https://youtu.be/Q7drAKYkj00
FAT: boot, reserv, fat, fat backup, root, data
boot:
- кол-во байт в секторе
- кол-во секторов в кластере
- кол-во секторов в дорожке
- кол-во FAT таблиц
- кол-во секторов всего
- метка тома
- ...
root это список файлов и адрес первого кластера файла в FAT
в FAT лежит уже указатель на следующий кластер в FAT. если больше нет то записано FFFF а если FFF7 то файл поврежден
так же про EXT
так же про F2FS
https://youtu.be/P-MRbkePbyE
- логический адрес (для ассемблера)
- адресные регистры (Page Address Register) нужен для вычисления реального адреса =
- регистры атрибутов страниц (говорит о том где именно находится эта страница) = перемещаемость, чтение, запись, выполнение
- регистры присутствия страниц и дескриптор процесса
- привилегированность процесса (можно все, ограничения)
х86:
- биос
- таблицы символов
- видеопамять
- свободная память
- данные биос
- вектора прерываний
== Менеджер памяти
https://youtu.be/_mDAMquAwPY
- динамическое выделение памяти
maloc/free
- фрагментация памяти
== Дисковая подсистема
https://youtu.be/MeRIcJs-pnI
v = bytes * sectors * disks * i
== SSD накопитель
https://youtu.be/-dKku_EfnMk
SLC - одна ячейка = 1 бит
MLC - одна ячейка = 2 бит
TLC - одна ячейка = 3 бит
== Файловая система SSD накопителя.
https://youtu.be/Q7drAKYkj00
FAT: boot, reserv, fat, fat backup, root, data
boot:
- кол-во байт в секторе
- кол-во секторов в кластере
- кол-во секторов в дорожке
- кол-во FAT таблиц
- кол-во секторов всего
- метка тома
- ...
root это список файлов и адрес первого кластера файла в FAT
в FAT лежит уже указатель на следующий кластер в FAT. если больше нет то записано FFFF а если FFF7 то файл поврежден
так же про EXT
так же про F2FS
YouTube
Адресное пространство
Адресное пространство это одно из основных понятий системного программирования. Описываем регистры и оборудование разработанного ранее учебного компьютера.
Статья - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast…
Статья - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast…
== Строим 16-битный компьютер
https://youtu.be/0SGeL8q6Diw
- архитектура
- инструкции и базовый список команд, дешефратор
* префикс 2 бит
* команда 5бит
* 2-3 регистра
== Процессы. Многозадачность.
https://youtu.be/Xa_LcBLfy6g
сохранение контекста процесса это как заморозить мяса в холодильнике (с) =)
... и так каждый квант времени
== Поток. Многопоточность.
https://youtu.be/-52NxdPgbXE
функция ядра для блокировки
https://youtu.be/0SGeL8q6Diw
- архитектура
- инструкции и базовый список команд, дешефратор
* префикс 2 бит
* команда 5бит
* 2-3 регистра
== Процессы. Многозадачность.
https://youtu.be/Xa_LcBLfy6g
сохранение контекста процесса это как заморозить мяса в холодильнике (с) =)
... и так каждый квант времени
== Поток. Многопоточность.
https://youtu.be/-52NxdPgbXE
функция ядра для блокировки
YouTube
Строим 16-битный компьютер
Перед рассмотрением курса по основам операционных систем ознакомимся с техническими подробностями железа, на котором это все будет работать. Современные компьютеры слишком сложны, поэтому нужно рассмотреть простой учебный компьютер
== UNIX. Творение ученых в недрах лаборатории
https://youtu.be/VFyYWzhdL2c
"все есть файл" и это все поменяло
https://youtu.be/VFyYWzhdL2c
"все есть файл" и это все поменяло
YouTube
UNIX. Творение ученых в недрах лаборатории
Пройдемся по истории и предыстории, затронем массу технических вопросов, посмотрим на схемы
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127
Основы операционных систем: https://www.youtube.com/watch?v=0SGeL8q6Diw&list=PL5NHx3fCeyvvkRU0XgoNMrPksqUneGufJ…
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127
Основы операционных систем: https://www.youtube.com/watch?v=0SGeL8q6Diw&list=PL5NHx3fCeyvvkRU0XgoNMrPksqUneGufJ…
== Функциональные узлы цифровых устройств.
https://youtu.be/M-SNYCgKqZE
1) мультиплексор = N входнов, M управляющих входов, 1 выход
2) демультиплексор = 1 вход, M управляющих входов, N выходов
3) Шифратор - говорит какой вход получил 1.
4) Дешифратор - по адресу входа выводит на конкретный выход 1
5) декодер (кодопреобразователь) - преобразует код входа в код выхода
== АЛУ
https://youtu.be/ded0iOVZhSA
1) полусумматор - 2 входана которые подаются два однобитных числа и выходом суммы и выходом переноса
2) полный сумматор
== Базовый элемент памяти. Триггер.
https://youtu.be/1e2WcPn4cKA
D-триггер
== Память со случайным доступом. Оперативная память. RAM.
https://youtu.be/To6L93LvxtQ
Random Access Memory
Static RAM
Dynamic RAM
более плотная, но при этом полный адрес ячейки определяется двумя адресами за два тата RAS (row address select) и CAS (column address select)
== Как работает процессор
https://youtu.be/deQ7BlznZhE
== Первая программа на ассемблере.
https://youtu.be/sAfajgahNF8
Ассемблер это НЕ ЯЗЫК а программа которая переводит мнемонику в машинный код.
== Цикл https://youtu.be/S4UkoxDayVE
== Массивы https://youtu.be/EDA1G0gu-1M
== Функции. Передача параметров. Возврат результата. ABI.
https://youtu.be/kDTk8Mq3Bn8
стековый фрейм
SP - Stack Pointer
ABI - Application Binary Interface
== Рекурсивные функции
https://youtu.be/OvGwfHWcJ0c
Жестокое надругательство над психикой, но детей от экранов можно не убирать (с)
== Структуры. Первый шаг к объектно-ориентированному программированию.
https://youtu.be/5inZ1T2mEeU
== Указатели в Си. Второй шаг к объектно-ориентированному программированию.
https://youtu.be/uHNw_6TIM_4
https://youtu.be/M-SNYCgKqZE
1) мультиплексор = N входнов, M управляющих входов, 1 выход
2) демультиплексор = 1 вход, M управляющих входов, N выходов
3) Шифратор - говорит какой вход получил 1.
4) Дешифратор - по адресу входа выводит на конкретный выход 1
5) декодер (кодопреобразователь) - преобразует код входа в код выхода
== АЛУ
https://youtu.be/ded0iOVZhSA
1) полусумматор - 2 входана которые подаются два однобитных числа и выходом суммы и выходом переноса
2) полный сумматор
== Базовый элемент памяти. Триггер.
https://youtu.be/1e2WcPn4cKA
D-триггер
== Память со случайным доступом. Оперативная память. RAM.
https://youtu.be/To6L93LvxtQ
Random Access Memory
Static RAM
Dynamic RAM
более плотная, но при этом полный адрес ячейки определяется двумя адресами за два тата RAS (row address select) и CAS (column address select)
== Как работает процессор
https://youtu.be/deQ7BlznZhE
== Первая программа на ассемблере.
https://youtu.be/sAfajgahNF8
Ассемблер это НЕ ЯЗЫК а программа которая переводит мнемонику в машинный код.
== Цикл https://youtu.be/S4UkoxDayVE
== Массивы https://youtu.be/EDA1G0gu-1M
== Функции. Передача параметров. Возврат результата. ABI.
https://youtu.be/kDTk8Mq3Bn8
стековый фрейм
SP - Stack Pointer
ABI - Application Binary Interface
== Рекурсивные функции
https://youtu.be/OvGwfHWcJ0c
Жестокое надругательство над психикой, но детей от экранов можно не убирать (с)
== Структуры. Первый шаг к объектно-ориентированному программированию.
https://youtu.be/5inZ1T2mEeU
== Указатели в Си. Второй шаг к объектно-ориентированному программированию.
https://youtu.be/uHNw_6TIM_4
YouTube
Функциональные узлы цифровых устройств.
Постарайтесь запомнить назначение этих узлов и через пару-тройку видео сможем без особого труда заняться разработкой своего собственного процессора
шикарнейший плейлист про историю и архитектуру старых вычислительных систем.
== Микропроцессоры и архитектуры прошлого
https://www.youtube.com/playlist?list=PL5NHx3fCeyvsHbGENJn6hpij9FrrGb92r
== Микропроцессоры и архитектуры прошлого
https://www.youtube.com/playlist?list=PL5NHx3fCeyvsHbGENJn6hpij9FrrGb92r
YouTube
Микропроцессоры и архитектуры прошлого - YouTube
== How Developers Stop Learning: Rise of the Expert Beginner
https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/
https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/
DaedTech
How Developers Stop Learning: Rise of the Expert Beginner - DaedTech
In this post, I describe the phenomenon of the so-called expert beginner -- someone with mediocre skill who thinks he's an expert.
Forwarded from CyberYozh
Защита от фишинга - разрабочикам на заметку
Многие простые варианты атак уже не представляют такой угрозы, как раньше. HTTPS осложнил MITM-атаки, HSTS позволяет усилить защиту соединения и мешает создавать фишинговые сайты.
В отношении электронной почты и защиты от e-mail спуфинга и фишинга ситуация обстоит похожим образом: подделать почту отправителя так, чтобы она открылась в том же gmail и не срезалась фильтрами становится все труднее.
Но все эти фильтры в какой-то момент могут и не сработать, и периодически разными хитроумными способами их обходят. Именно на такой случай придумали дополнительную прослойку защиты: кодовое слово. Технология реализована на некоторых криптобиржах, и работает максимально просто. Пользователь в личном кабинете указывает произвольный набор символов, который будет добавлен в заголовки и тело писем, которые отправляет легитимный сервис.
Даже если хакер сможет пробиться через спам-фильтры и пришлет письмо, которое будет неотличимо от стандартного письма сервиса, кодовое слово ему никак не узнать. Для пользователя не составит труда завести привычку проверять наличие кодового слова. А для разработчиков внедрение такой функции не составит особого труда, но может спасти данные ваших клиентов.
Многие простые варианты атак уже не представляют такой угрозы, как раньше. HTTPS осложнил MITM-атаки, HSTS позволяет усилить защиту соединения и мешает создавать фишинговые сайты.
В отношении электронной почты и защиты от e-mail спуфинга и фишинга ситуация обстоит похожим образом: подделать почту отправителя так, чтобы она открылась в том же gmail и не срезалась фильтрами становится все труднее.
Но все эти фильтры в какой-то момент могут и не сработать, и периодически разными хитроумными способами их обходят. Именно на такой случай придумали дополнительную прослойку защиты: кодовое слово. Технология реализована на некоторых криптобиржах, и работает максимально просто. Пользователь в личном кабинете указывает произвольный набор символов, который будет добавлен в заголовки и тело писем, которые отправляет легитимный сервис.
Даже если хакер сможет пробиться через спам-фильтры и пришлет письмо, которое будет неотличимо от стандартного письма сервиса, кодовое слово ему никак не узнать. Для пользователя не составит труда завести привычку проверять наличие кодового слова. А для разработчиков внедрение такой функции не составит особого труда, но может спасти данные ваших клиентов.
параллельные салаты, конкурентные бургеры, облачный кофе
https://habr.com/ru/company/wunderfund/blog/581994/
...есть захотелось
== An Intro to Threading in Python
https://realpython.com/intro-to-python-threading/
https://habr.com/ru/company/wunderfund/blog/581994/
...есть захотелось
== An Intro to Threading in Python
https://realpython.com/intro-to-python-threading/
Хабр
Разбираемся с параллельными и конкурентными вычислениями в Python
Я собираюсь рассказать историю о еде, раскрывающую различные возможности конкурентного и параллельного выполнения кода в Python. Прим. Wunder Fund: для задач, где не критичны экстремально низкие...
чот случайно даж задумался заюзать эту CMSку
Wagtail
https://habr.com/ru/post/582898/
https://python-noscripts.com/wagtail
и да по ходу питон превращается в пхп)))) наброс
Wagtail
https://habr.com/ru/post/582898/
https://python-noscripts.com/wagtail
и да по ходу питон превращается в пхп)))) наброс
Хабр
Wagtail — лучшая CMS на python в нашей галактике
Wagtail - это популярная CMS на основе Django. Django предоставляет огромные возможности - с его помощью созданы не только сайты, но и, например, популярный веб-сервис комментариев disqus , веб-сервис...