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

по всем вопросам @bush_v
Download Telegram
Привет всем, кто по странным причинам все еще остался на канале.
Здесь давно ничего не выходило, пора бы это исправить. Мне нравится рассказывать о не самых простых темах в 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
Как раньше считали время? Зачем нам високосный год? Когда в минуте 61 секунда? Как правильно хранить время? Какие есть форматы представления времени? Почему работать с временем и датами так сложно и как устроен модуль datetime языка python? Разбираемся вместе в видео.

https://www.youtube.com/watch?v=FoXWc3YsUQo
1🤔1
Разбираемся с самым нижнем уровнем абстракции сетевого мира - сокетами. Что представляет из себя API сокетов? Как сервер может обрабатывать большое количество клиентов одновременно. Что не так с блокирующими вызовами? Почему асинхронность на сервере - это хорошо? Все это и не только в видео.

https://www.youtube.com/watch?v=7SbLfIIZYGY
6🔥3🤔1
☀️ Доброе утро всем, для кого оно доброе.

На ютуб-канале появилось 4-е видео. Знаю что еще есть много над чем работать в плане качества, но интересно мнение других людей по поводу этих видео: напишите в комментариях что нравится/не нравится, пожелания, замечания, предложения, конструктивную критику. Сложно оценивать свою работу объективно.

Принципиально формат видео не изменится, это будут +- часовые видео обо всем, что так или связано с computer science, с детальным разбором чуть глубже чем у большинства авторов на ютуб.

С этого момента я постараюсь анонсировать следующие видео и время от времени выпускать небольшие интересные посты в процессе написания сценария, чтобы не создавать иллюзию мертвого канала.

Следующее видео будет про Obsidian (https://obsidian.md/), ведение заметок (zettelkästen), конспектов, дневника, структурирование знаний и прочего, например затронем тему плагинов и технологии electron.

Вы можете предложить свои идеи для видео. Вероятность, что я сделаю видео именно на эту тему примерно 50% т.к. в заметках у меня десятки идей для видео с небольшими набросками. Но вероятность того, что я прислушаюсь к мнению - примерно 100%.

Всем продуктивной недели 📈!
👍72🔥1🤔1
Mermaid

Хотел написать небольшую статью про mermaid (а заодно самому узнать побольше), но в процессе понял что просто переписываю документацию.

Как написано на официальном сайте:
mermaid - это основанный на javascript инструмент для построения диаграмм и схем, использующий для визуализации похожий на markdown язык разметки, созданный для динамического обновления диаграмм.

Говоря простым языком - вы описываете граф/диаграмму/схему с помощью специального синтаксиса в виде обычного текста, а этот текст затем рендерится в изображение.

Mermaid интегрирован во многие инструменты, включая GitHub, notion, obsidian (тема следующего видео), VS code и многие другие (Но не все виды диаграмм работают в них хорошо). Попробовать создать диаграмму можно в онлайн редакторе и в случае необходимости скачать изображение (кнопка actions внизу слева).

Чтобы не повторять документацию (она тут, слева выбираете Diagram Syntax и смотрите примеры), вот просто несколько примеров в виде код->изображение, глядя на которые можно понять основную суть и при необходимости узнать про этот инструмент подробнее.
🔥2🤔1