привет я пытаюсь начать разбираться в сфере кибербезопасности и был бы благодарен людям которые могу
привет я пытаюсь начать разбираться в сфере кибербезопасности и был бы благодарен людям которые могут дать мне совет по этой теме. я хочу пытаюсь понять с чего начать и что именно мне необходимо изучать и какие сайты посещать(заранее большое спасибо за совет :)
Источник (2ch /pr/): https://2ch.org/pr/res/3658001.html
Подпишись на создателей: https://t.me/linuxexex
привет я пытаюсь начать разбираться в сфере кибербезопасности и был бы благодарен людям которые могут дать мне совет по этой теме. я хочу пытаюсь понять с чего начать и что именно мне необходимо изучать и какие сайты посещать(заранее большое спасибо за совет :)
Источник (2ch /pr/): https://2ch.org/pr/res/3658001.html
Подпишись на создателей: https://t.me/linuxexex
Двач
/Программирование/ - привет я пытаюсь начать разбираться в сфере кибербезопасности и был бы благодарен людям которые могу
Кодил на выходных и понял: лучший инструмент разработчика — это не IDE, не фреймворк и не ChatGPT.
Это сон.
Серьёзно. Ты можешь весь день втыкать в баг, гуглить, переписывать — ноль. А потом спишь, просыпаешься, открываешь код — и сразу видно, где накосячил. Мозг во сне сам дебажит.
Плюс все эти легенды про "решение пришло во сне" — не байки. Подсознание работает, пока ты не лезешь в телефон в 3 ночи.
Так что да, забей на очередной курс по микросервисам. Иди спать 8 часов — вот это апгрейд твоего стека.
Подпишись на создателей: https://t.me/linuxexex
Это сон.
Серьёзно. Ты можешь весь день втыкать в баг, гуглить, переписывать — ноль. А потом спишь, просыпаешься, открываешь код — и сразу видно, где накосячил. Мозг во сне сам дебажит.
Плюс все эти легенды про "решение пришло во сне" — не байки. Подсознание работает, пока ты не лезешь в телефон в 3 ночи.
Так что да, забей на очередной курс по микросервисам. Иди спать 8 часов — вот это апгрейд твоего стека.
Подпишись на создателей: https://t.me/linuxexex
**Терминальный лайфхак, который сэкономит тебе кучу времени**
Заебался каждый раз вбивать длинные команды? Вот тебе спасение — алиасы в.bashrc или.zshrc.
Открываешь файл:
```
nano ~/.bashrc
```
И пихаешь туда свои сокращения:
```
alias gs='git status'
alias gp='git pull'
alias dc='docker-compose'
alias..='cd..'
alias...='cd../..'
```
Сохраняешь, применяешь:
```
source ~/.bashrc
```
Всё, теперь вместо "docker-compose up -d" достаточно "dc up -d". Вместо постоянного "git status" — просто "gs".
Ещё один трюк — функции для частых задач. Например, создать папку и сразу в неё зайти:
```
mkcd() { mkdir -p "$1" && cd "$1"; }
```
Теперь "mkcd новая_папка" — и ты уже внутри.
Или быстрый поиск по истории команд: жми Ctrl+R и начинай вводить часть команды — терминал сам найдёт, что ты когда-то запускал.
Бонус: если работаешь с SSH, настрой ~/.ssh/config:
```
Host сервак
HostName 192.168.1.100
User admin
Port 2222
```
Теперь вместо "ssh admin@192.168.1.100 -p 2222" пишешь просто "ssh сервак".
Потратишь 5 минут на настройку — сэкономишь часы за год. Это не ракетостроение, но блять работает.
Подпишись на создателей: https://t.me/linuxexex
Заебался каждый раз вбивать длинные команды? Вот тебе спасение — алиасы в.bashrc или.zshrc.
Открываешь файл:
```
nano ~/.bashrc
```
И пихаешь туда свои сокращения:
```
alias gs='git status'
alias gp='git pull'
alias dc='docker-compose'
alias..='cd..'
alias...='cd../..'
```
Сохраняешь, применяешь:
```
source ~/.bashrc
```
Всё, теперь вместо "docker-compose up -d" достаточно "dc up -d". Вместо постоянного "git status" — просто "gs".
Ещё один трюк — функции для частых задач. Например, создать папку и сразу в неё зайти:
```
mkcd() { mkdir -p "$1" && cd "$1"; }
```
Теперь "mkcd новая_папка" — и ты уже внутри.
Или быстрый поиск по истории команд: жми Ctrl+R и начинай вводить часть команды — терминал сам найдёт, что ты когда-то запускал.
Бонус: если работаешь с SSH, настрой ~/.ssh/config:
```
Host сервак
HostName 192.168.1.100
User admin
Port 2222
```
Теперь вместо "ssh admin@192.168.1.100 -p 2222" пишешь просто "ssh сервак".
Потратишь 5 минут на настройку — сэкономишь часы за год. Это не ракетостроение, но блять работает.
Подпишись на создателей: https://t.me/linuxexex
Окей, слушай сюда. Пока ты там в своём zsh рисуешь красивые промпты с иконками и ставишь oh-my-zsh с тысячей плагинов, которыми не пользуешься, я расскажу тебе про одну вещь, которая реально экономит время, а не просто ласкает глаз.
Знаешь про Ctrl+R для поиска по истории? Конечно знаешь, ты же профессионал. А теперь попробуй вот это: начни набирать команду, например "docker", и жми Alt+. (точка) или ESC, потом точка.
Бам. Последний аргумент из предыдущей команды подставился. Жмёшь ещё раз — аргумент из команды до этого. И так вглубь истории.
Только что скопировал длинный путь? docker build -t myapp:latest /home/user/projects/very/long/path/to/dockerfile
Теперь нужно туда зайти? cd Alt+. — готово.
Работает в bash, zsh, и вообще везде, где readline. Это не какой-то секретный хак, это стандартная фича, но 90% народа продолжают копипастить пути мышкой как в блокноте.
Есть ещё!$ для того же самого в команде, но Alt+. удобнее, потому что видишь, что подставляется, до выполнения.
Вот тебе лайфхак. Не благодари.
Подпишись на создателей: https://t.me/linuxexex
Знаешь про Ctrl+R для поиска по истории? Конечно знаешь, ты же профессионал. А теперь попробуй вот это: начни набирать команду, например "docker", и жми Alt+. (точка) или ESC, потом точка.
Бам. Последний аргумент из предыдущей команды подставился. Жмёшь ещё раз — аргумент из команды до этого. И так вглубь истории.
Только что скопировал длинный путь? docker build -t myapp:latest /home/user/projects/very/long/path/to/dockerfile
Теперь нужно туда зайти? cd Alt+. — готово.
Работает в bash, zsh, и вообще везде, где readline. Это не какой-то секретный хак, это стандартная фича, но 90% народа продолжают копипастить пути мышкой как в блокноте.
Есть ещё!$ для того же самого в команде, но Alt+. удобнее, потому что видишь, что подставляется, до выполнения.
Вот тебе лайфхак. Не благодари.
Подпишись на создателей: https://t.me/linuxexex
Назначенец Трампа разрешит компаниям скрывать владельцев и удалит базу данных США
Назначенец Трампа Скотт Бессент планирует изменения, чтобы компании больше не обязаны были раскрывать информацию о своих владельцах, а база данных владельцев в США будет удалена
https://archive.today/2026.08.12-135146/https://www.washingtonpost.com/business/2026/08/11/treasury-ends-ownership-reporting-rules-us-companies/
Источник (4chan /news/): https://boards.4chan.org/news/thread/1529427
Подпишись на создателей: https://t.me/linuxexex
Назначенец Трампа Скотт Бессент планирует изменения, чтобы компании больше не обязаны были раскрывать информацию о своих владельцах, а база данных владельцев в США будет удалена
https://archive.today/2026.08.12-135146/https://www.washingtonpost.com/business/2026/08/11/treasury-ends-ownership-reporting-rules-us-companies/
Источник (4chan /news/): https://boards.4chan.org/news/thread/1529427
Подпишись на создателей: https://t.me/linuxexex
archive.ph
Treasury ends ownership reporting rules for U.S. companies - The Wash…
archived 12 Aug 2026 11:07:04 UTC
В 1999 году Линус Торвальдс получил письмо от юриста компании, которая запатентовала "метод планирования задач в операционной системе". Они требовали лицензионные отчисления за ядро Linux.
Линус ответил одним письмом. Суть: "Идите нахуй. Планировщик процессов существовал в Unix с 1970-х, за 20 лет до вашего дебильного патента. Если хотите судиться — судитесь, но знайте: у меня нет денег, зато есть тысячи разработчиков, которые закопают вас в prior art. А еще я опубликую вашу переписку, и весь tech-мир узнает, какие вы мрази."
Компания слилась за неделю.
Вот это я понимаю — переговоры. Патентные тролли боятся не судов, а публичности и противников, которым нечего терять. Open source держится не только на коде, но и на том, что его создатели не играют в корпоративную вежливость. Иногда лучший аргумент — это честное "пошли вы нахер" с доказательствами в приложении.
Подпишись на создателей: https://t.me/linuxexex
Линус ответил одним письмом. Суть: "Идите нахуй. Планировщик процессов существовал в Unix с 1970-х, за 20 лет до вашего дебильного патента. Если хотите судиться — судитесь, но знайте: у меня нет денег, зато есть тысячи разработчиков, которые закопают вас в prior art. А еще я опубликую вашу переписку, и весь tech-мир узнает, какие вы мрази."
Компания слилась за неделю.
Вот это я понимаю — переговоры. Патентные тролли боятся не судов, а публичности и противников, которым нечего терять. Open source держится не только на коде, но и на том, что его создатели не играют в корпоративную вежливость. Иногда лучший аргумент — это честное "пошли вы нахер" с доказательствами в приложении.
Подпишись на создателей: https://t.me/linuxexex
**Полезный инструмент для разработчика**
Знаете, что реально облегчает жизнь? Когда можешь не париться о том, какую хуйню ты накодил в три часа ночи, потому что у тебя нормальный линтер настроен.
ESLint с Prettier — это как презерватив в программировании. Да, можно и без него, но потом разгребать последствия будет долго и неприятно.
Настраиваешь один раз, забываешь про споры "табы или пробелы", про то, что Вася пишет как мудак с точкой запятой через строку, а Петя вообще их не ставит. Код сам форматируется, правила сами проверяются, ты экономишь часы на код-ревью.
И не надо мне про "я и сам знаю, как писать". Знаешь ты хуй, а не знаешь — иначе бы не лепил вот эти вот твои if-ы на семь уровней вложенности.
Потратьте блять полчаса, накатите конфиг, и живите спокойно. Или продолжайте страдать и спорить в пулл-реквестах о форматировании — ваш выбор.
Подпишись на создателей: https://t.me/linuxexex
Знаете, что реально облегчает жизнь? Когда можешь не париться о том, какую хуйню ты накодил в три часа ночи, потому что у тебя нормальный линтер настроен.
ESLint с Prettier — это как презерватив в программировании. Да, можно и без него, но потом разгребать последствия будет долго и неприятно.
Настраиваешь один раз, забываешь про споры "табы или пробелы", про то, что Вася пишет как мудак с точкой запятой через строку, а Петя вообще их не ставит. Код сам форматируется, правила сами проверяются, ты экономишь часы на код-ревью.
И не надо мне про "я и сам знаю, как писать". Знаешь ты хуй, а не знаешь — иначе бы не лепил вот эти вот твои if-ы на семь уровней вложенности.
Потратьте блять полчаса, накатите конфиг, и живите спокойно. Или продолжайте страдать и спорить в пулл-реквестах о форматировании — ваш выбор.
Подпишись на создателей: https://t.me/linuxexex
В 1999 году Линус Торвальдс получил письмо от юристов компании, которая хотела запатентовать "метод планирования задач в операционной системе". Они требовали лицензионные отчисления или грозились засудить.
Линус ответил одним предложением: "Перечитайте Таненбаума, 1987 год, страница 78."
Юристы открыли учебник по операционным системам Эндрю Таненбаума и нашли там описание точно такого же алгоритма. Опубликованного за 12 лет до их "изобретения".
Больше от них не слышали.
Вот это я понимаю — отшить патентных троллей библиографической ссылкой. Без юристов, без переписки на сто страниц. Просто "иди почитай, дурачок, это старше тебя".
Подпишись на создателей: https://t.me/linuxexex
Линус ответил одним предложением: "Перечитайте Таненбаума, 1987 год, страница 78."
Юристы открыли учебник по операционным системам Эндрю Таненбаума и нашли там описание точно такого же алгоритма. Опубликованного за 12 лет до их "изобретения".
Больше от них не слышали.
Вот это я понимаю — отшить патентных троллей библиографической ссылкой. Без юристов, без переписки на сто страниц. Просто "иди почитай, дурачок, это старше тебя".
Подпишись на создателей: https://t.me/linuxexex
Большинство юзеров bash и zsh даже не подозревают, что можно нажать Ctrl+X Ctrl+E — и твоя текущая командная строка мгновенно откроется в полноценном редакторе. Да, в том самом, который прописан в переменной EDITOR или VISUAL. Vim, nano, emacs — что угодно.
Представь: строчишь здоровенную команду с кучей пайпов, sed-ами и awk-овскими извращениями, понимаешь, что где-то накосячил с кавычками или забыл закрыть скобку — и вместо того чтобы стрелками ползать туда-сюда как дебил или Ctrl+A/Ctrl+E прыгать, просто жмёшь Ctrl+X Ctrl+E. Бац — перед тобой vim с твоей командой в нормальном окне. Правишь спокойно, сохраняешь, выходишь — и команда возвращается в шелл уже исправленная, готовая к запуску.
Это особенно охуенно, когда лепишь многострочные циклы прямо в терминале или дебажишь сложные однострочники. Вместо того чтобы насиловать глаза в узкой строке промпта, редактируешь как человек — с подсветкой синтаксиса, нормальной навигацией и всеми привычками из любимого редактора.
В zsh фишка работает из коробки. В bash тоже, но если вдруг не пашет — проверь, что у тебя set -o emacs или set -o vi включён в режиме редактирования. По умолчанию должно быть emacs, и тогда Ctrl+X Ctrl+E живёт и здравствует.
Ещё один лайфхак в тему: fc без аргументов откроет последнюю команду в редакторе. fc -l покажет историю, а fc 123 — откроет команду номер 123 из history на правку. Удобно, когда надо повторить что-то старое, слегка подкрутив параметры.
Короче, если ты до сих пор мучаешься со стрелочками и Home/End при правке длинных команд — ты просто не знал про Ctrl+X Ctrl+E. Теперь знаешь. Пользуйся и чувствуй себя чуть менее крестьянином в терминале.
Подпишись на создателей: https://t.me/linuxexex
Представь: строчишь здоровенную команду с кучей пайпов, sed-ами и awk-овскими извращениями, понимаешь, что где-то накосячил с кавычками или забыл закрыть скобку — и вместо того чтобы стрелками ползать туда-сюда как дебил или Ctrl+A/Ctrl+E прыгать, просто жмёшь Ctrl+X Ctrl+E. Бац — перед тобой vim с твоей командой в нормальном окне. Правишь спокойно, сохраняешь, выходишь — и команда возвращается в шелл уже исправленная, готовая к запуску.
Это особенно охуенно, когда лепишь многострочные циклы прямо в терминале или дебажишь сложные однострочники. Вместо того чтобы насиловать глаза в узкой строке промпта, редактируешь как человек — с подсветкой синтаксиса, нормальной навигацией и всеми привычками из любимого редактора.
В zsh фишка работает из коробки. В bash тоже, но если вдруг не пашет — проверь, что у тебя set -o emacs или set -o vi включён в режиме редактирования. По умолчанию должно быть emacs, и тогда Ctrl+X Ctrl+E живёт и здравствует.
Ещё один лайфхак в тему: fc без аргументов откроет последнюю команду в редакторе. fc -l покажет историю, а fc 123 — откроет команду номер 123 из history на правку. Удобно, когда надо повторить что-то старое, слегка подкрутив параметры.
Короче, если ты до сих пор мучаешься со стрелочками и Home/End при правке длинных команд — ты просто не знал про Ctrl+X Ctrl+E. Теперь знаешь. Пользуйся и чувствуй себя чуть менее крестьянином в терминале.
Подпишись на создателей: https://t.me/linuxexex
Чарльз Шваб теперь с Chainlink
Начинает быть смешно, честно. Раньше мы только мечтали услышать такие имена рядом с Link.
Чарльз Шваб — это не какой-то мелкий стартап из гаража, это один из крупнейших брокерских гигантов в США, управляющий триллионами долларов клиентских активов. И вот теперь они интегрируются с Chainlink. Те самые оракулы, про которые нам годами рассказывали, что это скам, что никому не нужны, что традиционные финансы никогда не придут в крипту через этот проект.
А теперь посмотрите на реальность: SWIFT уже работает с Chainlink, банки один за другим тестируют их технологии для токенизации активов, крупные корпорации подключаются к их сетям данных. И вот Schwab. Компания, которая существует с 1971 года, которая пережила все финансовые кризисы и знает цену надёжности.
Помните те времена на борде, когда линкмарины сидели в окопах, держали мешки по два доллара и всех называли фудстерами? Когда каждый новый партнёрш анонс встречали насмешками, мол, очередной POC, который никуда не денется? Ну так вот, POC превратились в production, пилоты стали полноценными интеграциями, а скептики либо купили выше, либо сидят в сторонке и злятся.
Это уже не мечты. Это не хайп и не спекуляции на слухах. Традфай действительно приходит в блокчейн, и они приходят через инфраструктуру, которую строит Chainlink. Оракулы, CCIP, proof of reserve, токенизация — все эти штуки, которые звучали как фантастика пять лет назад, теперь внедряют институциональные игроки.
Так что да, немного абсурдно осознавать, что то, о чём мы флудили в тредах в две тысячи восемнадцатом, теперь реальность. Schwab с Chainlink. Добро пожаловать в будущее, которое мы предсказывали.
Источник (4chan /biz/): https://boards.4chan.org/biz/thread/62635983
Подпишись на создателей: https://t.me/linuxexex
Начинает быть смешно, честно. Раньше мы только мечтали услышать такие имена рядом с Link.
Чарльз Шваб — это не какой-то мелкий стартап из гаража, это один из крупнейших брокерских гигантов в США, управляющий триллионами долларов клиентских активов. И вот теперь они интегрируются с Chainlink. Те самые оракулы, про которые нам годами рассказывали, что это скам, что никому не нужны, что традиционные финансы никогда не придут в крипту через этот проект.
А теперь посмотрите на реальность: SWIFT уже работает с Chainlink, банки один за другим тестируют их технологии для токенизации активов, крупные корпорации подключаются к их сетям данных. И вот Schwab. Компания, которая существует с 1971 года, которая пережила все финансовые кризисы и знает цену надёжности.
Помните те времена на борде, когда линкмарины сидели в окопах, держали мешки по два доллара и всех называли фудстерами? Когда каждый новый партнёрш анонс встречали насмешками, мол, очередной POC, который никуда не денется? Ну так вот, POC превратились в production, пилоты стали полноценными интеграциями, а скептики либо купили выше, либо сидят в сторонке и злятся.
Это уже не мечты. Это не хайп и не спекуляции на слухах. Традфай действительно приходит в блокчейн, и они приходят через инфраструктуру, которую строит Chainlink. Оракулы, CCIP, proof of reserve, токенизация — все эти штуки, которые звучали как фантастика пять лет назад, теперь внедряют институциональные игроки.
Так что да, немного абсурдно осознавать, что то, о чём мы флудили в тредах в две тысячи восемнадцатом, теперь реальность. Schwab с Chainlink. Добро пожаловать в будущее, которое мы предсказывали.
Источник (4chan /biz/): https://boards.4chan.org/biz/thread/62635983
Подпишись на создателей: https://t.me/linuxexex
boards.4chan.org
/biz/ - Charles Schwab with Chainlink now - Business & Finance - 4chan
Charles Schwab with Chainlink now - "/biz/ - Business & Finance" is 4chan's imageboard for the discussion of business and finance, and cryptocurrencies such as Bitcoin and Dogecoin.
Я думаю стать католиком чтобы я мог без оправданий нацепить кольчугу прыгнуть на лошадь плотву и поехать резать цыганских детей крестовый поход во имя господа
**Лайфхак для терминала: alias и функции, которые сэкономят тебе нервы**
Если ты до сих пор каждый раз набираешь `git status`, `docker ps -a` или `ls -lah` целиком — ты тратишь свою жизнь на ерунду. Время посчитать, сколько секунд в год уходит на одни и те же команды, и осознать масштаб трагедии.
Открывай `.bashrc` или `.zshrc` и пили алиасы. Например:
`alias gs='git status'`
`alias gp='git push'`
`alias dc='docker-compose'`
`alias ll='ls -lah'`
Теперь вместо длинных команд — две буквы. Экономия времени? Да. Но главное — экономия нервов, когда в сотый раз за день не надо вбивать одно и то же.
А если алиасов мало, делай функции. Например, хочешь быстро создавать директорию и сразу в неё заходить:
`mkcd() { mkdir -p "$1" && cd "$1"; }`
Теперь `mkcd project` — и ты уже внутри новой папки. Без лишних движений.
Ещё один удобняк — история команд с поиском. Жми `Ctrl+R` и начинай вбивать часть команды: терминал сам найдёт, что ты запускал раньше. Если пользуешься zsh, поставь плагин `zsh-autosuggestions` — он будет подсказывать команды из истории прямо во время набора. Серая подсказка появляется, жмёшь стрелку вправо — готово.
И последнее: если постоянно подключаешься по SSH к одним и тем же серверам, настрой `~/.ssh/config`:
`Host myserver`
` HostName 192.168.1.100`
` User root`
` Port 22`
Теперь вместо `ssh root@192.168.1.100 -p 22` пишешь просто `ssh myserver`. Красота.
Короче, терминал — это не место для героизма и долбления клавиш. Автоматизируй рутину, и будет тебе счастье. А если кто-то говорит, что алиасы — для слабаков, пусть дальше страдает. Ты-то знаешь, как работать с головой.
Подпишись на создателей: https://t.me/linuxexex
Если ты до сих пор каждый раз набираешь `git status`, `docker ps -a` или `ls -lah` целиком — ты тратишь свою жизнь на ерунду. Время посчитать, сколько секунд в год уходит на одни и те же команды, и осознать масштаб трагедии.
Открывай `.bashrc` или `.zshrc` и пили алиасы. Например:
`alias gs='git status'`
`alias gp='git push'`
`alias dc='docker-compose'`
`alias ll='ls -lah'`
Теперь вместо длинных команд — две буквы. Экономия времени? Да. Но главное — экономия нервов, когда в сотый раз за день не надо вбивать одно и то же.
А если алиасов мало, делай функции. Например, хочешь быстро создавать директорию и сразу в неё заходить:
`mkcd() { mkdir -p "$1" && cd "$1"; }`
Теперь `mkcd project` — и ты уже внутри новой папки. Без лишних движений.
Ещё один удобняк — история команд с поиском. Жми `Ctrl+R` и начинай вбивать часть команды: терминал сам найдёт, что ты запускал раньше. Если пользуешься zsh, поставь плагин `zsh-autosuggestions` — он будет подсказывать команды из истории прямо во время набора. Серая подсказка появляется, жмёшь стрелку вправо — готово.
И последнее: если постоянно подключаешься по SSH к одним и тем же серверам, настрой `~/.ssh/config`:
`Host myserver`
` HostName 192.168.1.100`
` User root`
` Port 22`
Теперь вместо `ssh root@192.168.1.100 -p 22` пишешь просто `ssh myserver`. Красота.
Короче, терминал — это не место для героизма и долбления клавиш. Автоматизируй рутину, и будет тебе счастье. А если кто-то говорит, что алиасы — для слабаков, пусть дальше страдает. Ты-то знаешь, как работать с головой.
Подпишись на создателей: https://t.me/linuxexex
Сегодня расскажу про фичу в bash и zsh, о которой даже бывалые линуксоиды не всегда в курсе — это встроенный стек директорий и команды pushd, popd, dirs.
Все знают cd, но мало кто юзает pushd. А зря. Представь: ты прыгаешь между несколькими директориями в процессе работы. Обычно делаешь cd туда, cd сюда, потом забываешь откуда пришёл и где был. С pushd ты не просто переходишь в новую папку — ты запихиваешь текущую в стек, как блины на тарелку.
Синтаксис тупо простой: pushd /path/to/dir — перешёл в новую директорию, старую запомнил. Потом pushd /another/path — снова перешёл, предыдущую тоже запомнил. Теперь у тебя стопка из директорий. Команда dirs покажет весь стек, где ты был.
А когда нужно вернуться назад — просто popd. Она достаёт последнюю директорию из стека и тебя туда телепортирует. Ещё раз popd — вернулся ещё на шаг назад. Это как undo для навигации по файловой системе, только без всяких костылей.
Плюс можно делать pushd без аргументов — он просто меняет местами две верхние директории в стеке. Удобно, когда гоняешься между двумя папками туда-сюда.
Ещё можно обращаться к элементам стека по номеру: pushd +2 перекинет тебя на третью директорию в списке (нумерация с нуля). dirs -v покажет стек с номерами — сразу видно, куда можно прыгнуть.
Короче, если ты постоянно мечешься между несколькими проектами или папками в рамках одной сессии терминала — pushd и popd сэкономят кучу времени и нервов. Никаких алиасов, никаких скриптов — всё из коробки. Просто почти никто не парится этим пользоваться, потому что cd привычнее. А зря, серьёзно.
Подпишись на создателей: https://t.me/linuxexex
Все знают cd, но мало кто юзает pushd. А зря. Представь: ты прыгаешь между несколькими директориями в процессе работы. Обычно делаешь cd туда, cd сюда, потом забываешь откуда пришёл и где был. С pushd ты не просто переходишь в новую папку — ты запихиваешь текущую в стек, как блины на тарелку.
Синтаксис тупо простой: pushd /path/to/dir — перешёл в новую директорию, старую запомнил. Потом pushd /another/path — снова перешёл, предыдущую тоже запомнил. Теперь у тебя стопка из директорий. Команда dirs покажет весь стек, где ты был.
А когда нужно вернуться назад — просто popd. Она достаёт последнюю директорию из стека и тебя туда телепортирует. Ещё раз popd — вернулся ещё на шаг назад. Это как undo для навигации по файловой системе, только без всяких костылей.
Плюс можно делать pushd без аргументов — он просто меняет местами две верхние директории в стеке. Удобно, когда гоняешься между двумя папками туда-сюда.
Ещё можно обращаться к элементам стека по номеру: pushd +2 перекинет тебя на третью директорию в списке (нумерация с нуля). dirs -v покажет стек с номерами — сразу видно, куда можно прыгнуть.
Короче, если ты постоянно мечешься между несколькими проектами или папками в рамках одной сессии терминала — pushd и popd сэкономят кучу времени и нервов. Никаких алиасов, никаких скриптов — всё из коробки. Просто почти никто не парится этим пользоваться, потому что cd привычнее. А зря, серьёзно.
Подпишись на создателей: https://t.me/linuxexex
В 1992 году Эндрю Таненбаум, создатель Minix, написал Линусу Торвальдсу открытое письмо с заголовком "Linux is obsolete" и объяснил, почему монолитное ядро — это архитектурный мусор из семидесятых, а микроядерная архитектура — единственный путь в будущее.
Линус ответил, что теория это прекрасно, но Linux работает здесь и сейчас, а Minix застрял в учебниках. Таненбаум парировал, что Linux никогда не станет переносимым, что он слишком завязан на x86 и что через пять лет все забудут про эту поделку.
Прошло тридцать лет. Linux работает на всём — от умных лампочек до суперкомпьютеров, держит девяносто процентов серверов в интернете и крутится в каждом Android-телефоне. Minix тоже жив, правда, в виде скрытой прошивки Intel Management Engine, которую никто не просил, но все получили вместе с процессором. Ирония в том, что теперь Minix работает в каждом Intel-чипе с полным доступом к железу, но не как ОС общего назначения, а как невидимый чёрный ящик, который пользователь не контролирует.
Спор Таненбаума и Торвальдса стал классикой. Оба были правы в своих доводах, но победил тот, кто писал код, а не манифесты. Микроядра красивы в теории, монолиты грязны на практике, но работают быстрее и проще. Linux доказал, что иногда pragmatic beats pure, а открытая разработка бьёт академическую элегантность.
История закончилась не победой архитектуры, а победой сообщества. Тысячи разработчиков выбрали не самый чистый дизайн, а тот, в который можно было влезть, починить и запустить прямо сегодня. И это сработало.
Подпишись на создателей: https://t.me/linuxexex
Линус ответил, что теория это прекрасно, но Linux работает здесь и сейчас, а Minix застрял в учебниках. Таненбаум парировал, что Linux никогда не станет переносимым, что он слишком завязан на x86 и что через пять лет все забудут про эту поделку.
Прошло тридцать лет. Linux работает на всём — от умных лампочек до суперкомпьютеров, держит девяносто процентов серверов в интернете и крутится в каждом Android-телефоне. Minix тоже жив, правда, в виде скрытой прошивки Intel Management Engine, которую никто не просил, но все получили вместе с процессором. Ирония в том, что теперь Minix работает в каждом Intel-чипе с полным доступом к железу, но не как ОС общего назначения, а как невидимый чёрный ящик, который пользователь не контролирует.
Спор Таненбаума и Торвальдса стал классикой. Оба были правы в своих доводах, но победил тот, кто писал код, а не манифесты. Микроядра красивы в теории, монолиты грязны на практике, но работают быстрее и проще. Linux доказал, что иногда pragmatic beats pure, а открытая разработка бьёт академическую элегантность.
История закончилась не победой архитектуры, а победой сообщества. Тысячи разработчиков выбрали не самый чистый дизайн, а тот, в который можно было влезть, починить и запустить прямо сегодня. И это сработало.
Подпишись на создателей: https://t.me/linuxexex
Спасите детей. Забаньте в соцсетях всех, кому 18 и больше
Вот вам идея века: хотите защитить детей от токсичности интернета? Забаньте нахрен взрослых. Серьёзно, давайте запретим доступ к соцсетям всем, кому стукнуло восемнадцать. Пусть дети сидят в своих TikTok и Instagram без этих ваших тридцатилетних диванных воинов, политических троллей и прочих экспертов по всему на свете.
Потому что давайте честно: кто устраивает весь этот цирк в комментах? Кто разжигает срачи под каждым постом? Кто несёт конспирологическую дичь и травит людей за каждое слово? Правильно, взрослые. Дети хотя бы танцуют и постят мемы, а вот взрослая аудитория превратила соцсети в помойку, где каждый второй — эксперт по геополитике, вирусологии и воспитанию чужих детей.
Вся эта паника про «защитите детей от интернета» — это проекция. Детям не нужна защита от интернета, им нужна защита от взрослых в интернете. От дядь и тёть, которые не могут просто пролистать пост, не вступив в словесную перепалку. От тех, кто забыл, что можно просто закрыть вкладку и пойти пожить реальной жизнью.
Так что вот вам радикальное решение: всем совершеннолетним — бан. Пусть дети наконец-то спокойно постят свои видосики и селфи без токсичных комментов от людей, у которых ипотека, развод и куча нерешённых проблем. Может, тогда интернет станет чуточку приятнее.
Источник (r/technology): https://www.reddit.com/r/technology/comments/1w2mqms/save_the_children_ban_everyone_age_18_and_older/
Подпишись на создателей: https://t.me/linuxexex
Вот вам идея века: хотите защитить детей от токсичности интернета? Забаньте нахрен взрослых. Серьёзно, давайте запретим доступ к соцсетям всем, кому стукнуло восемнадцать. Пусть дети сидят в своих TikTok и Instagram без этих ваших тридцатилетних диванных воинов, политических троллей и прочих экспертов по всему на свете.
Потому что давайте честно: кто устраивает весь этот цирк в комментах? Кто разжигает срачи под каждым постом? Кто несёт конспирологическую дичь и травит людей за каждое слово? Правильно, взрослые. Дети хотя бы танцуют и постят мемы, а вот взрослая аудитория превратила соцсети в помойку, где каждый второй — эксперт по геополитике, вирусологии и воспитанию чужих детей.
Вся эта паника про «защитите детей от интернета» — это проекция. Детям не нужна защита от интернета, им нужна защита от взрослых в интернете. От дядь и тёть, которые не могут просто пролистать пост, не вступив в словесную перепалку. От тех, кто забыл, что можно просто закрыть вкладку и пойти пожить реальной жизнью.
Так что вот вам радикальное решение: всем совершеннолетним — бан. Пусть дети наконец-то спокойно постят свои видосики и селфи без токсичных комментов от людей, у которых ипотека, развод и куча нерешённых проблем. Может, тогда интернет станет чуточку приятнее.
Источник (r/technology): https://www.reddit.com/r/technology/comments/1w2mqms/save_the_children_ban_everyone_age_18_and_older/
Подпишись на создателей: https://t.me/linuxexex
Reddit
From the technology community on Reddit: Save the children. Ban everyone age 18 and older from social media
Explore this post and more from the technology community
Возьмём простую задачу: поднять веб-сервер с базой, прикрутить SSL и запустить контейнер. Обычная рутина, которую админ делает с закрытыми глазами. А теперь посмотрим, как три популярных дистрибутива превращают это в квест разной степени мучения.
Ubuntu Server. Ставишь nginx из репозитория — получаешь версию полуторагодовалой давности, потому что LTS. Хочешь свежее — добавляй PPA, разбирайся с зависимостями. Docker устанавливается через snap по умолчанию, и это отдельный цирк с правами доступа к папкам. Certbot работает из коробки, это плюс. PostgreSQL тоже ставится нормально, но конфиги раскиданы по трём папкам, и ты пять минут ищешь, где же лежит pg_hba.conf. Зато документация везде, каждый школьник напишет тебе гайд. Для новичка — идеально. Для того, кто хочет контроля — раздражает.
Arch Linux. Ты качаешь последний nginx, последний PostgreSQL, последний Docker. Всё свежее, всё под контролем, конфиги в логичных местах. Ставишь certbot — работает. Настраиваешь systemd-юниты — всё прозрачно. Но если ты не читал вики или пропустил новость о breaking changes в последнем обновлении, можешь словить сюрприз: база не запускается после апгрейда, потому что мажорная версия изменилась, а миграцию надо делать руками. Arch не держит тебя за руку. Он даёт инструменты и говорит: разбирайся сам. Кайф для тех, кто знает, что делает. Ад для тех, кто учится на продакшене.
Debian Stable. Nginx — древний, PostgreSQL — древний, Docker — тоже не первой свежести. Зато всё работает одинаково три года подряд. Поставил, настроил, забыл. Обновления не ломают систему, потому что в репозиториях только то, что прошло тысячу тестов. Certbot ставится, SSL выписывается, контейнеры крутятся. Скучно, надёжно, предсказуемо. Если тебе нужна стабильность и ты не гонишься за последними фичами — это твой выбор. Если хочешь поиграть с новыми возможностями — будешь собирать из исходников или тащить сторонние репозитории.
Все три справятся с задачей. Вопрос в том, сколько времени ты потратишь на борьбу с упаковщиками, документацией и костылями. Ubuntu даст готовое решение с компромиссами. Arch даст свободу и ответственность. Debian даст покой. Выбирай по темпераменту.
Подпишись на создателей: https://t.me/linuxexex
Ubuntu Server. Ставишь nginx из репозитория — получаешь версию полуторагодовалой давности, потому что LTS. Хочешь свежее — добавляй PPA, разбирайся с зависимостями. Docker устанавливается через snap по умолчанию, и это отдельный цирк с правами доступа к папкам. Certbot работает из коробки, это плюс. PostgreSQL тоже ставится нормально, но конфиги раскиданы по трём папкам, и ты пять минут ищешь, где же лежит pg_hba.conf. Зато документация везде, каждый школьник напишет тебе гайд. Для новичка — идеально. Для того, кто хочет контроля — раздражает.
Arch Linux. Ты качаешь последний nginx, последний PostgreSQL, последний Docker. Всё свежее, всё под контролем, конфиги в логичных местах. Ставишь certbot — работает. Настраиваешь systemd-юниты — всё прозрачно. Но если ты не читал вики или пропустил новость о breaking changes в последнем обновлении, можешь словить сюрприз: база не запускается после апгрейда, потому что мажорная версия изменилась, а миграцию надо делать руками. Arch не держит тебя за руку. Он даёт инструменты и говорит: разбирайся сам. Кайф для тех, кто знает, что делает. Ад для тех, кто учится на продакшене.
Debian Stable. Nginx — древний, PostgreSQL — древний, Docker — тоже не первой свежести. Зато всё работает одинаково три года подряд. Поставил, настроил, забыл. Обновления не ломают систему, потому что в репозиториях только то, что прошло тысячу тестов. Certbot ставится, SSL выписывается, контейнеры крутятся. Скучно, надёжно, предсказуемо. Если тебе нужна стабильность и ты не гонишься за последними фичами — это твой выбор. Если хочешь поиграть с новыми возможностями — будешь собирать из исходников или тащить сторонние репозитории.
Все три справятся с задачей. Вопрос в том, сколько времени ты потратишь на борьбу с упаковщиками, документацией и костылями. Ubuntu даст готовое решение с компромиссами. Arch даст свободу и ответственность. Debian даст покой. Выбирай по темпераменту.
Подпишись на создателей: https://t.me/linuxexex
Вот тебе факт, который я обожаю.
В 1992 году Эндрю Таненбаум, автор учебной оси Minix, публично обозвал Linux устаревшей поделкой. Написал в ньюсгруппе comp.os.minix буквально следующее: ядро с монолитной архитектурой — это фундаментальная ошибка, Linux умрёт через пять лет, потому что микроядра — это будущее.
Торвальдс ответил ему в том же треде. Без извинений, без дипломатии. Сказал примерно так: да, монолитное ядро — это устаревший подход, но моё устаревшее ядро работает прямо сейчас на реальном железе, а твоё правильное микроядро — это учебный проект.
Спор вошёл в историю как Tanenbaum-Torvalds debate. Его до сих пор читают на первых курсах CS как пример того, как можно быть абсолютно правым теоретически и абсолютно проигравшим практически.
Minix сегодня помнят в основном потому, что Intel зачем-то запихала его в Management Engine — и это отдельная жуткая история о том, как проприетарный Minix работает на твоём процессоре прямо сейчас, и ты ни черта не можешь с этим сделать.
А Linux крутит серверы, смартфоны, биржи, космические аппараты и твой роутер.
Таненбаум был умнее. Торвальдс оказался прав. Разница между академиком и хакером — именно в этом зазоре.
Подпишись на создателей: https://t.me/linuxexex
В 1992 году Эндрю Таненбаум, автор учебной оси Minix, публично обозвал Linux устаревшей поделкой. Написал в ньюсгруппе comp.os.minix буквально следующее: ядро с монолитной архитектурой — это фундаментальная ошибка, Linux умрёт через пять лет, потому что микроядра — это будущее.
Торвальдс ответил ему в том же треде. Без извинений, без дипломатии. Сказал примерно так: да, монолитное ядро — это устаревший подход, но моё устаревшее ядро работает прямо сейчас на реальном железе, а твоё правильное микроядро — это учебный проект.
Спор вошёл в историю как Tanenbaum-Torvalds debate. Его до сих пор читают на первых курсах CS как пример того, как можно быть абсолютно правым теоретически и абсолютно проигравшим практически.
Minix сегодня помнят в основном потому, что Intel зачем-то запихала его в Management Engine — и это отдельная жуткая история о том, как проприетарный Minix работает на твоём процессоре прямо сейчас, и ты ни черта не можешь с этим сделать.
А Linux крутит серверы, смартфоны, биржи, космические аппараты и твой роутер.
Таненбаум был умнее. Торвальдс оказался прав. Разница между академиком и хакером — именно в этом зазоре.
Подпишись на создателей: https://t.me/linuxexex
QA Thread #24 - грезы о найме
Двадцать четвертый ультимативный тред посвященный самой лучшей и ненапряжной работе в IT - Обеспечению качества / Quality Assurance.
Здесь мы холиварим на тему фреймворков, показываем друг другу свои PageObject, AppActions и фантазируем о позициях SDETa и $8K зарплате.
Итак, пока 90% вкатунов пробуют вкатиться в макакинг и конкурируют там с задротами-олимпиадниками, учат каждый день новые фреймворки и выгорают, мы спокойно (твердо и четко) конкурируем со вчерашними ручными тестировщиками, Наташками и Михалычами, которые в тестирование пришли с кассы.
Пока яйцеголовые в свитерах ломают свой мозг над Data Science и Machine Learning, мы же, со знанием языка на _достаточном_ для прохождения собеседований уровне, получаем свои 300кнаносек и смеемся.
Милости просим к нашему шалашу!
ТЕСТОВЫЙ FAQ:
В: Как вкатиться?
О: Начни с теории тестирования и подкрепляй практикой, тестируя двачи.
Альтернативное мнение: уже год никак, 50000 человек в среднем на позицию, отсеивают по тех.вышке, требуют знания ЯП, ООП, фреймворков, контейнеров, CI/CD и OSI...
В: Какой ЯП выбрать?
О: Один из: Java, Python, JS, C# (изучи кол-во вакансий на ЯП и Фреймворк). Всех их объединяет такое понятие как ООП и паттерн PageObject. После изучения теории тестирования можешь приступать к его изучению.
В: Я изучил теорию тестирования, ООП, выбрал ЯП и изучил его тоже. Что дальше?
О: Дальше тебе необходимо разобраться с фреймворками, с помощью которых создаются автотесты. Для каждого ЯП он разный: Selenium, Selenidе, Playwright, Cypress.
В: Я сделал все вышеописанное, что делать дальше?
О: Изучи Test Design Patterns. Начни с Page Object Model. Поиграйся с CI/CD, попробуй поднять Jenkins и заранить там свои тесты. Прикрути Allure к своему тестовому фреймворку
На этом пока что все.
Насчет шапки пишите пожелания и предложения, в будущих тредах добавлю в шапку.
Для ручников гайд: https://pastebin.com/6p6gmxNv https://pastebin.com/6p6gmxNv (сыроватый, обновлений не ждать)
СПИСОК ПОЛЕЗНЫХ МАТЕРИАЛОВ:
Ручное тестирование:
- Книга «Тестирование программного обеспечения. Базовый курс.» - https://svyatoslav.biz/software_testing_book/ https://svyatoslav.biz/software_testing_book/
- Назина - тестирование (смешные картиночки и реальное использование йоба-практик прилагаются)
- Курсы "ITVDN - QA"
- Конспекты Яндекс.Практикум - Тестирование (сами курсы на водной основе и не рекомендуются)
- База знаний https://github.com/VladislavEremeev/QA_bible https://github.com/VladislavEremeev/QA_bible
- Вопрос-ответ на английском https://www.algrim.co/237-qa-engineer-interview-questions https://www.algrim.co/237-qa-engineer-interview-questions
- Вопросы из фаанга https://github.com/annivanova1992/faang-qa-interview https://github.com/annivanova1992/faang-qa-interview
- курсы по теории https://stepik.org/course/118842/syllabus https://stepik.org/course/118842/syllabus (отзыв анона (?): по теории местами неплохо, местами полная хуйня, но в качестве шпаргалки нормально)
Автоматизированное тестирование:
- QA.GURU (см. торренты и их канал на ютубе)
- Автоматизация на питоне https://github.com/berpress/qa-python-map https://github.com/berpress/qa-python-map
- курсы Python: Pytest, Selenium…
Источник (2ch /pr/): https://2ch.org/pr/res/3628723.html
Подпишись на создателей: https://t.me/linuxexex
Двадцать четвертый ультимативный тред посвященный самой лучшей и ненапряжной работе в IT - Обеспечению качества / Quality Assurance.
Здесь мы холиварим на тему фреймворков, показываем друг другу свои PageObject, AppActions и фантазируем о позициях SDETa и $8K зарплате.
Итак, пока 90% вкатунов пробуют вкатиться в макакинг и конкурируют там с задротами-олимпиадниками, учат каждый день новые фреймворки и выгорают, мы спокойно (твердо и четко) конкурируем со вчерашними ручными тестировщиками, Наташками и Михалычами, которые в тестирование пришли с кассы.
Пока яйцеголовые в свитерах ломают свой мозг над Data Science и Machine Learning, мы же, со знанием языка на _достаточном_ для прохождения собеседований уровне, получаем свои 300кнаносек и смеемся.
Милости просим к нашему шалашу!
ТЕСТОВЫЙ FAQ:
В: Как вкатиться?
О: Начни с теории тестирования и подкрепляй практикой, тестируя двачи.
Альтернативное мнение: уже год никак, 50000 человек в среднем на позицию, отсеивают по тех.вышке, требуют знания ЯП, ООП, фреймворков, контейнеров, CI/CD и OSI...
В: Какой ЯП выбрать?
О: Один из: Java, Python, JS, C# (изучи кол-во вакансий на ЯП и Фреймворк). Всех их объединяет такое понятие как ООП и паттерн PageObject. После изучения теории тестирования можешь приступать к его изучению.
В: Я изучил теорию тестирования, ООП, выбрал ЯП и изучил его тоже. Что дальше?
О: Дальше тебе необходимо разобраться с фреймворками, с помощью которых создаются автотесты. Для каждого ЯП он разный: Selenium, Selenidе, Playwright, Cypress.
В: Я сделал все вышеописанное, что делать дальше?
О: Изучи Test Design Patterns. Начни с Page Object Model. Поиграйся с CI/CD, попробуй поднять Jenkins и заранить там свои тесты. Прикрути Allure к своему тестовому фреймворку
На этом пока что все.
Насчет шапки пишите пожелания и предложения, в будущих тредах добавлю в шапку.
Для ручников гайд: https://pastebin.com/6p6gmxNv https://pastebin.com/6p6gmxNv (сыроватый, обновлений не ждать)
СПИСОК ПОЛЕЗНЫХ МАТЕРИАЛОВ:
Ручное тестирование:
- Книга «Тестирование программного обеспечения. Базовый курс.» - https://svyatoslav.biz/software_testing_book/ https://svyatoslav.biz/software_testing_book/
- Назина - тестирование (смешные картиночки и реальное использование йоба-практик прилагаются)
- Курсы "ITVDN - QA"
- Конспекты Яндекс.Практикум - Тестирование (сами курсы на водной основе и не рекомендуются)
- База знаний https://github.com/VladislavEremeev/QA_bible https://github.com/VladislavEremeev/QA_bible
- Вопрос-ответ на английском https://www.algrim.co/237-qa-engineer-interview-questions https://www.algrim.co/237-qa-engineer-interview-questions
- Вопросы из фаанга https://github.com/annivanova1992/faang-qa-interview https://github.com/annivanova1992/faang-qa-interview
- курсы по теории https://stepik.org/course/118842/syllabus https://stepik.org/course/118842/syllabus (отзыв анона (?): по теории местами неплохо, местами полная хуйня, но в качестве шпаргалки нормально)
Автоматизированное тестирование:
- QA.GURU (см. торренты и их канал на ютубе)
- Автоматизация на питоне https://github.com/berpress/qa-python-map https://github.com/berpress/qa-python-map
- курсы Python: Pytest, Selenium…
Источник (2ch /pr/): https://2ch.org/pr/res/3628723.html
Подпишись на создателей: https://t.me/linuxexex
Pastebin
QA starter's guide - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Окей, слушайте внимательно, потому что это одна из тех штук, которые меняют жизнь, но большинство узнаёт о ней случайно через десять лет работы в терминале.
В bash и zsh есть так называемые фигурные скобки для раскрытия — brace expansion. Все про них слышали, типа mkdir {a,b,c}. Это базово. Но мало кто знает, что это работает с диапазонами и что это можно комбинировать в цепочки настолько безумно, что голова едет.
Вот пример. Хочешь создать структуру директорий для проекта за одну строку:
mkdir -p project/{src,tests,docs}/{v1,v2,v3}
Это создаст девять папок. Одна строка. Никакого скрипта, никакого цикла.
Но вот где реально взрывает мозг. Диапазоны с нулями:
touch log_{01..31}.txt
Создаст log_01.txt, log_02.txt и так до log_31.txt. С правильными нулями спереди. Без printf, без seq, без вообще ничего.
А теперь самое мясо. Это работает с буквами:
echo {a..z}
Выведет весь алфавит через пробел. Хочешь каждую букву как отдельный аргумент команде? Вот оно.
Можно задать шаг:
echo {0..100..10}
Выведет 0 10 20 30 и так далее до 100.
И всё это можно вложить друг в друга:
echo {a,b}{1..3}
Получишь a1 a2 a3 b1 b2 b3.
Почему это важно? Потому что половина людей пишет цикл for там, где можно было написать одну строку. Или таскает python-скрипт ради создания структуры папок. Или вообще делает это руками, кликая в файловом менеджере как какой-то пользователь Windows 2003 года.
Brace expansion работает без подстановки переменных, без glob-матчинга по файловой системе, прямо на этапе парсинга команды. Это быстро, предсказуемо и не ломается от странных имён файлов.
Запомни. Используй. Выглядишь умнее коллег мгновенно.
Подпишись на создателей: https://t.me/linuxexex
В bash и zsh есть так называемые фигурные скобки для раскрытия — brace expansion. Все про них слышали, типа mkdir {a,b,c}. Это базово. Но мало кто знает, что это работает с диапазонами и что это можно комбинировать в цепочки настолько безумно, что голова едет.
Вот пример. Хочешь создать структуру директорий для проекта за одну строку:
mkdir -p project/{src,tests,docs}/{v1,v2,v3}
Это создаст девять папок. Одна строка. Никакого скрипта, никакого цикла.
Но вот где реально взрывает мозг. Диапазоны с нулями:
touch log_{01..31}.txt
Создаст log_01.txt, log_02.txt и так до log_31.txt. С правильными нулями спереди. Без printf, без seq, без вообще ничего.
А теперь самое мясо. Это работает с буквами:
echo {a..z}
Выведет весь алфавит через пробел. Хочешь каждую букву как отдельный аргумент команде? Вот оно.
Можно задать шаг:
echo {0..100..10}
Выведет 0 10 20 30 и так далее до 100.
И всё это можно вложить друг в друга:
echo {a,b}{1..3}
Получишь a1 a2 a3 b1 b2 b3.
Почему это важно? Потому что половина людей пишет цикл for там, где можно было написать одну строку. Или таскает python-скрипт ради создания структуры папок. Или вообще делает это руками, кликая в файловом менеджере как какой-то пользователь Windows 2003 года.
Brace expansion работает без подстановки переменных, без glob-матчинга по файловой системе, прямо на этапе парсинга команды. Это быстро, предсказуемо и не ломается от странных имён файлов.
Запомни. Используй. Выглядишь умнее коллег мгновенно.
Подпишись на создателей: https://t.me/linuxexex
Короче, расскажу про одну вещь, которую я использую каждый день и не понимаю, как без неё жил раньше.
Ctrl+R в bash и zsh. Обратный поиск по истории команд.
Нажимаешь Ctrl+R, начинаешь вводить что-то из той команды, которую вводил три часа назад, и терминал сам вытаскивает её из истории. Не надо листать стрелкой вверх сто раз, не надо вспоминать точный синтаксис, не надо лезть в ~/.bash_history руками.
Пример из жизни: запускал какой-то длинный docker run с кучей флагов, портов и переменных окружения. Понадобилось снова. Нажал Ctrl+R, ввёл "docker run", нашёл, запустил. Секунда.
Если первый результат не тот, жмёшь Ctrl+R ещё раз и идёшь глубже по истории. Нашёл нужное, Enter или стрелка вправо чтобы отредактировать перед запуском.
Но по умолчанию история в bash хранит 500-1000 строк и дублирует одинаковые команды. Это надо починить раз и навсегда. Кидаешь в ~/.bashrc или ~/.zshrc:
HISTSIZE=100000
HISTFILESIZE=200000
HISTCONTROL=ignoredups:erasedups
Первые две строки растягивают историю до нормальных размеров. Третья убирает дубликаты, чтобы Ctrl+R не показывал одно и то же ls десять раз подряд.
Перезапустил shell, и теперь у тебя поиск по годам команд, а не по вчерашнему дню.
Всё. Лайфхак копеечный, но время экономит реально. Пользуйся.
Подпишись на создателей: https://t.me/linuxexex
Ctrl+R в bash и zsh. Обратный поиск по истории команд.
Нажимаешь Ctrl+R, начинаешь вводить что-то из той команды, которую вводил три часа назад, и терминал сам вытаскивает её из истории. Не надо листать стрелкой вверх сто раз, не надо вспоминать точный синтаксис, не надо лезть в ~/.bash_history руками.
Пример из жизни: запускал какой-то длинный docker run с кучей флагов, портов и переменных окружения. Понадобилось снова. Нажал Ctrl+R, ввёл "docker run", нашёл, запустил. Секунда.
Если первый результат не тот, жмёшь Ctrl+R ещё раз и идёшь глубже по истории. Нашёл нужное, Enter или стрелка вправо чтобы отредактировать перед запуском.
Но по умолчанию история в bash хранит 500-1000 строк и дублирует одинаковые команды. Это надо починить раз и навсегда. Кидаешь в ~/.bashrc или ~/.zshrc:
HISTSIZE=100000
HISTFILESIZE=200000
HISTCONTROL=ignoredups:erasedups
Первые две строки растягивают историю до нормальных размеров. Третья убирает дубликаты, чтобы Ctrl+R не показывал одно и то же ls десять раз подряд.
Перезапустил shell, и теперь у тебя поиск по годам команд, а не по вчерашнему дню.
Всё. Лайфхак копеечный, но время экономит реально. Пользуйся.
Подпишись на создателей: https://t.me/linuxexex
Слушай, давай по-честному, потому что большинство линуксоидов живут в иллюзии, что раз они не на Windows, то им бояться нечего.
Это опасная херня.
Конкретный совет, который реально работает: не запускай скрипты из интернета через curl | bash. Вообще никогда. Даже если это официальная инструкция с красивого сайта с SSL-сертификатом и звёздочками на GitHub. Ты буквально говоришь незнакомцу из интернета: "на, держи рут на моей машине, делай что хочешь". Это не установка софта, это цифровое самоубийство с красивым терминальным интерфейсом.
Что делать вместо этого: скачай скрипт отдельно, открой его в редакторе, прочитай что там написано. Да, весь. Да, это занимает время. Нет, это не паранойя, это элементарная гигиена.
Бонусный совет пока ты здесь: проверь, какие сервисы у тебя висят наружу. Просто набери ss -tlnp или netstat -tulnp и посмотри что слушает на 0.0.0.0. Иногда там обнаруживается такое, что волосы встают дыбом. Особенно если ты когда-то запускал docker и думал, что файрвол тебя прикроет. Docker и iptables до сих пор живут в параллельных реальностях и ни разу не разговаривали.
Линукс не делает тебя неуязвимым. Он просто даёт тебе инструменты, чтобы не быть идиотом. Пользуйся ими.
Подпишись на создателей: https://t.me/linuxexex
Это опасная херня.
Конкретный совет, который реально работает: не запускай скрипты из интернета через curl | bash. Вообще никогда. Даже если это официальная инструкция с красивого сайта с SSL-сертификатом и звёздочками на GitHub. Ты буквально говоришь незнакомцу из интернета: "на, держи рут на моей машине, делай что хочешь". Это не установка софта, это цифровое самоубийство с красивым терминальным интерфейсом.
Что делать вместо этого: скачай скрипт отдельно, открой его в редакторе, прочитай что там написано. Да, весь. Да, это занимает время. Нет, это не паранойя, это элементарная гигиена.
Бонусный совет пока ты здесь: проверь, какие сервисы у тебя висят наружу. Просто набери ss -tlnp или netstat -tulnp и посмотри что слушает на 0.0.0.0. Иногда там обнаруживается такое, что волосы встают дыбом. Особенно если ты когда-то запускал docker и думал, что файрвол тебя прикроет. Docker и iptables до сих пор живут в параллельных реальностях и ни разу не разговаривали.
Линукс не делает тебя неуязвимым. Он просто даёт тебе инструменты, чтобы не быть идиотом. Пользуйся ими.
Подпишись на создателей: https://t.me/linuxexex