529 subscribers
46 photos
9 files
88 links
Programming as an art.

по всем вопросам @bush_v
Download Telegram
Cron

Посмотрим на планировщик cron в unix-подобных системах, как его можно использовать для автоматизации рутинных задач и какие есть альтернативы.

подробнее
👍1🤔1
#AaDS
Система непересекающихся множеств

Разберем структуру данных для быстрого поиска принадлежности элемента множеству и быстрого объединения множеств, разберем как эвристики сжатия путей и поиска по рангу позволяют прийти к константному времени.

подробнее
🔥3🤔1
#mini

Разбираем алгоритм генерации простого лабиринта с помощью СНМ.

подробнее
👍1🤔1
Аутентификация

Разберем понятия, которые часто путают - идентификация, аутентификация, авторизация. Посмотрим на факторы и виды аутентификации, cookie, токены, JWT и выясним как же понять что вы - это вы.

подробнее
👍4🤔1
#HIW
Telegram bots

Разберем как устроены библиотеки для телеграм ботов, api запросов, клавиатуры, отправку сообщений и файлов, взаимодействие с каналами и т.д.

подробнее
👍12🤔1
Архитектура приложений (часть 1/3)

На практическом примере приложения для учета покупок посмотрим на основные критерии хорошей архитектуры, такие как SRP, DI, unit tests и другие.

подробнее
11🔥3👍2🤔1
Архитектура приложений (часть 2/3)

Переписываем приложение для учета покупок из 1-й части в ООП стиле и продолжаем изучать принципы хорошей архитектуры.

подробнее
6👍1🔥1🤔1
Архитектура приложений (Часть 3/3)

Заключительная часть об архитектуре приложений, в которой разберем ошибку прошлых частей и на примере увидим как легко изменить тип приложения при наличии domain слоя.

подробнее
👍9🔥1🤔1
Указатели (часть 1/2)

Поговорим о крайне важной теме в любой программе - указатели. Что это такое, как устроена память, какие виды памяти есть в исполняемом файле, как работать с указателями в языке си.

подробнее
👍101🤔1
указатели (часть 2/2)

Рассмотрим более сложные темы, связанные с указателями, такие как: указатели на структуры, объекты, heap, указатели на функции и полиморфное выполнение функций, сборка мусора, утечки памяти и др.

подробнее
6👍2🤔1
Привет всем, кто по странным причинам все еще остался на канале.
Здесь давно ничего не выходило, пора бы это исправить. Мне нравится рассказывать о не самых простых темах в computer science и теперь выпуски будут появляться на ютуб, вы можете посмотреть первое видео по ссылке ниже. Он про терминалы, оболочку и командную строку. Здесь также время от времени будет появляться что-то интересное.
P.S. Никогда не делал видео для youtube, поэтому конструктивная критика приветствуется.

https://www.youtube.com/watch?v=Af62XNhFnnQ
22👍4🤔1
: () { :|:& };: - 11 символов, которые способны вывести любой linux дистрибутив (до перезагрузки компьютера). И вот как это работает

Мы можем объявлять свои функции в bash, как и в любом другом языке. Синтаксис следующий:
function name () {
<commands>
}
или
name () {
<commands>
}
В выражении выше символ : - имя фунции, т.е.
: () {

}
Символ : внутри функции - рекурсивный вызов функции, т.е. вызов внутри функции самой функции. Символ | - pipe. Символ & указывает на то, что эти оберации нужно запустить в фоне, т.е. оболочка запускает функцию, а сама продолжает работать, не дожидаясь результата работы функции. Каждый вызов функции порождает еще 2 вызова функции, связанные с помощью pipe. Каждый такой вызов приводит к порождению 2-х новых процессов (для чтения и записи в pipe). Таким образом число процессов в системе растет очень быстро, и очень скоро ОС не сможет нормально функционировать.
Символ ; завершает одну команду, т.е. определение функции, а последний символ : - вызывает определенную функцию
Что-то похожее можно реализовать почти на любом языке и носит общее название fork bomb (fork бомба - википедия).
Защититься от fork бомбы можно если мы ограничим общее число процессов, которые способен создать пользователь. В Linux это можно сделать с помощью ulimit -u <количество процессов>.
5🤔1
Какие конструкции языка python позволяют ему быть одним из лучших языков нашего времени и как эти конструкции работают.
https://www.youtube.com/watch?v=Gdv7wdqlOZ0
👍6👎2🤔1
Очень интересный, небольшой и качественный курс, покрывающий почти все темы computer science. Курс состоит из 40 видео примерно по 10 минут, в которых рассказывается о том как появились компьютеры, как он устроен, криптографии, 3-D графике, машинном обучении и еще много о чем другом.

Очень рекомендую, чтобы было представление о том, что вообще есть в CS. Правда видео на английском.

https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
👍5🤔1
Вот несколько скриншотов, чтобы заинтересовать вас.
🔥1🤔1