Подборка игр для изучения программирования. Часть 2
6. CodinGame
Этот игровой учебный сайт изменил подход к изучению кода.
На сайте представлено более 25 языков программирования, включая JavaScript, Ruby и PHP.
7. CodeCombat
CodeCombat разработан в очень простой манере, чтобы помочь студентам учиться в процессе игры и написания кода.
8. Checkio
Изучайте Python и Typescript с помощью этого игрового сайта.
9. Codewars
В Code Wars вы можете практиковаться, соревнуясь с другими, и развивать свои способности.
Они предоставляют широкий выбор языков, включая Python, JavaScript и другие.
10. Elevator Saga
Elevator Saga проверяет ваши знания JavaScript с помощью 100+ задач.
Часть 1 https://t.iss.one/bookflow/3215
👉@Bookflow
6. CodinGame
Этот игровой учебный сайт изменил подход к изучению кода.
На сайте представлено более 25 языков программирования, включая JavaScript, Ruby и PHP.
7. CodeCombat
CodeCombat разработан в очень простой манере, чтобы помочь студентам учиться в процессе игры и написания кода.
8. Checkio
Изучайте Python и Typescript с помощью этого игрового сайта.
9. Codewars
В Code Wars вы можете практиковаться, соревнуясь с другими, и развивать свои способности.
Они предоставляют широкий выбор языков, включая Python, JavaScript и другие.
10. Elevator Saga
Elevator Saga проверяет ваши знания JavaScript с помощью 100+ задач.
Часть 1 https://t.iss.one/bookflow/3215
👉@Bookflow
👍4⚡2
16-битная операционная система на коленках
В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.
https://habr.com/ru/articles/807459/
👉@Bookflow
В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.
https://habr.com/ru/articles/807459/
👉@Bookflow
👍3
Анатомия Hello World на языке C
Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.
Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
https://habr.com/ru/companies/ruvds/articles/808399/
👉 @bookflow
Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.
Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
https://habr.com/ru/companies/ruvds/articles/808399/
👉 @bookflow
👍4😁1
OWASP API Security Top 10 2023
- Broken Object Level Authorization
- Broken Authentication
- Broken Object Property Level Authorization
- Unrestricted Resource Consumption
- Broken Function Level Authorization
- Unrestricted Access to Sensitive Business Flows
- Server Side Request Forgery
- Security Misconfiguration
- Improper Inventory Management
- Unsafe Consumption of APIs
https://blog.devsecopsguides.com/owasp-api-security-top-10-2023
👉 @bookflow
- Broken Object Level Authorization
- Broken Authentication
- Broken Object Property Level Authorization
- Unrestricted Resource Consumption
- Broken Function Level Authorization
- Unrestricted Access to Sensitive Business Flows
- Server Side Request Forgery
- Security Misconfiguration
- Improper Inventory Management
- Unsafe Consumption of APIs
https://blog.devsecopsguides.com/owasp-api-security-top-10-2023
👉 @bookflow
⚡1👍1
План алгоритмического собеседования: как впечатлить интервьюера и получить работу мечты
При поиске работы программистам часто приходится сталкиваться с алгоритмическим интервью. Вам предлагают лист бумаги или доску, ручку, фломастер и просят продемонстрировать свои навыки программирования без IDE, автодополнения, Google, StackOverflow, ChatGPT и даже возможности легко стереть написанное. К счастью, Covid-19 научил всех проводить собеседования удалённо и сейчас можно пользоваться компьютером и обычным текстовым редактором.
https://habr.com/ru/articles/713404/
👉 @bookflow
При поиске работы программистам часто приходится сталкиваться с алгоритмическим интервью. Вам предлагают лист бумаги или доску, ручку, фломастер и просят продемонстрировать свои навыки программирования без IDE, автодополнения, Google, StackOverflow, ChatGPT и даже возможности легко стереть написанное. К счастью, Covid-19 научил всех проводить собеседования удалённо и сейчас можно пользоваться компьютером и обычным текстовым редактором.
https://habr.com/ru/articles/713404/
👉 @bookflow
⚡5👍3
Популярный вопрос на собеседовании: В чем разница между Process и Thread?
Чтобы лучше понять этот вопрос, давайте сначала разберемся, что такое программа. Программа - это исполняемый файл, содержащий набор инструкций и пассивно хранящийся на диске. Одна программа может иметь несколько процессов. Например, браузер Chrome создает отдельный процесс для каждой отдельной вкладки.
Процесс означает, что программа находится в процессе выполнения. Когда программа загружается в память и становится активной, она превращается в процесс. Процессу требуются некоторые важные ресурсы, такие как регистры, счетчик программ и стек.
Поток - это наименьшая единица выполнения в рамках процесса.
📌 Взаимосвязь между программой, процессом и потоком:
🔹 Программа содержит набор инструкций.
🔹 Программа загружается в память. Она становится одним или несколькими выполняющимися процессами.
🔹 Когда процесс запускается, ему выделяются память и ресурсы. Процесс может иметь один или несколько потоков.
📌 Основные различия между процессом и потоком:
🔹 Процессы обычно независимы, в то время как потоки существуют как подмножества процесса.
🔹 Каждый процесс имеет собственное пространство памяти. Потоки, принадлежащие одному процессу, делят одну и ту же память.
🔹 Процесс — это тяжеловесная операция. На его создание и завершение требуется больше времени.
🔹 Переключение контекста между процессами более дорогостоящее.
👉 @bookflow
Чтобы лучше понять этот вопрос, давайте сначала разберемся, что такое программа. Программа - это исполняемый файл, содержащий набор инструкций и пассивно хранящийся на диске. Одна программа может иметь несколько процессов. Например, браузер Chrome создает отдельный процесс для каждой отдельной вкладки.
Процесс означает, что программа находится в процессе выполнения. Когда программа загружается в память и становится активной, она превращается в процесс. Процессу требуются некоторые важные ресурсы, такие как регистры, счетчик программ и стек.
Поток - это наименьшая единица выполнения в рамках процесса.
📌 Взаимосвязь между программой, процессом и потоком:
🔹 Программа содержит набор инструкций.
🔹 Программа загружается в память. Она становится одним или несколькими выполняющимися процессами.
🔹 Когда процесс запускается, ему выделяются память и ресурсы. Процесс может иметь один или несколько потоков.
📌 Основные различия между процессом и потоком:
🔹 Процессы обычно независимы, в то время как потоки существуют как подмножества процесса.
🔹 Каждый процесс имеет собственное пространство памяти. Потоки, принадлежащие одному процессу, делят одну и ту же память.
🔹 Процесс — это тяжеловесная операция. На его создание и завершение требуется больше времени.
🔹 Переключение контекста между процессами более дорогостоящее.
👉 @bookflow
👍9
Flipper на минималках. Как мы делаем устройство для чтения и эмуляции ключей от домофонов…
Мне понравилась идея Flipper Zero в хранении и эмуляции электронных ключей. Это довольно удобно, можно избавится от половины моей связки со всеми ключами, плюс те ключи, которые я обычно даже не ношу, будут под рукой, в том числе универсальные. Но не понравились его габариты. К тому же, весь остальной функционал хоть мне и интересен, для этой задачи излишен, а за него тоже надо платить. В этот момент появилась идея и, что самое главное, желание самостоятельно реализовать такую штуку.
Я работаю в центре поддержки одаренных школьников, поэтому сначала дал эту тему одному своему самому продвинутому ученику в качестве проекта. Но потом сам погрузился в этот проект :D
Конечная идея была в эмуляции ключей стандартов TouchMemory, Em-Marine и Mifare classic в одном устройстве. Хочется, чтобы это устройство было максимально компактным, в идеале вообще помещалось на связку ключей.
https://habr.com/ru/articles/808553/
👉 @bookflow
Мне понравилась идея Flipper Zero в хранении и эмуляции электронных ключей. Это довольно удобно, можно избавится от половины моей связки со всеми ключами, плюс те ключи, которые я обычно даже не ношу, будут под рукой, в том числе универсальные. Но не понравились его габариты. К тому же, весь остальной функционал хоть мне и интересен, для этой задачи излишен, а за него тоже надо платить. В этот момент появилась идея и, что самое главное, желание самостоятельно реализовать такую штуку.
Я работаю в центре поддержки одаренных школьников, поэтому сначала дал эту тему одному своему самому продвинутому ученику в качестве проекта. Но потом сам погрузился в этот проект :D
Конечная идея была в эмуляции ключей стандартов TouchMemory, Em-Marine и Mifare classic в одном устройстве. Хочется, чтобы это устройство было максимально компактным, в идеале вообще помещалось на связку ключей.
https://habr.com/ru/articles/808553/
👉 @bookflow
👍7❤4
Привлекательные структуры данных
В процессе изучения разных алгоритмов и структур данных приходит понимание, что не все они применимы в прикладных задачах (в отличие от задач про Васю и Петю/Алису и Боба). Но тот факт, что алгоритм/структура данных не является полезной на практике, не означает, что идеи в них содержащиеся не привлекают пытливые умы хотя бы из чистого любопытства. Потому речь пойдёт о красивых (субъективно) и, что важно, простых с точки зрения концепции структурах данных. И помните: если что-то не компилируется, это псевдокод.
https://habr.com/ru/articles/673776/
👉 @bookflow
В процессе изучения разных алгоритмов и структур данных приходит понимание, что не все они применимы в прикладных задачах (в отличие от задач про Васю и Петю/Алису и Боба). Но тот факт, что алгоритм/структура данных не является полезной на практике, не означает, что идеи в них содержащиеся не привлекают пытливые умы хотя бы из чистого любопытства. Потому речь пойдёт о красивых (субъективно) и, что важно, простых с точки зрения концепции структурах данных. И помните: если что-то не компилируется, это псевдокод.
https://habr.com/ru/articles/673776/
👉 @bookflow
👍3
Обратный инжиниринг дешевой мини видеокамеры из семейства А9
В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или iOS.
https://habr.com/ru/articles/810291/
👉 @bookflow
В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или iOS.
https://habr.com/ru/articles/810291/
👉 @bookflow
⚡5👍1