Easy IT
Easy IT
  • Видео 118
  • Просмотров 135 891
Проверка условий в Linux shall #easyit #linuxcommandline @EasyITChannel
Разбираем как в Linux устроена проверка условий. Три типа проверок - файлы, строки, числа.
Полную документацию по команде test можно получить если воспользоваться командой: man test
Самые часто используемые опции для проверок:
Проверка доступа к файлу:
-d - является ли файл каталогом?
-f - это обычный файл?
-L - это символическая ссылка?
-r - установлены ли права на чтение?
-w - установлены ли права на запись?
-s - файл нулевого размера?
-u - установлен ли SUID флаг?
-x - установлены ли права на запуск?
Проверка строк:
= - строки равны?
!= - строки не равны?
-z - строка пуста?
-n - строка не пуста?
Проверка чисел:
-eq - числа равны?
-ne - числа не равны?
-gt - первое больше второго?
-lt - первое меньше второ...
Просмотров: 52

Видео

React Router. Как открыть саб-роут в модалке? @EasyITChannel #reactjs #reactrouter
Просмотров 49814 дней назад
Отвечаю на вопрос как с использованием "нового" поодхода открывать под-роуты в модальном окне. Предыдущие части по теме React Router: ruclips.net/video/eRt0cIS2PZ0/видео.html Исходник: github.com/easy-linux/reactjs/tree/main/ReactRouterModal Рабочее приложение: easy-linux.github.io/reactrouter_with_modal/ Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html По...
React Router + lazy загрузка компонентов роутов @EasyITChannel #reactjs #reactrouter
Просмотров 22421 день назад
Разбираемся как произвести рефакторинг существующего проекта и добавить поддержку недавно появившегося в библиотеке новые возможности ReactRouter DataAPI плюс Lazy лоадинг для компонентов используемых как обработчики роутов. Предыдущая часть: ruclips.net/video/eRt0cIS2PZ0/видео.html Исходник: github.com/easy-linux/reactjs/tree/main/ReactRouterLazy Рабочее приложение: easy-linux.github.io/reactr...
Переменные в Linux #easyit #linuxcommandline @EasyITChannel
Просмотров 295Месяц назад
Разбираемся какие бывают переменные в ОС Linux. Интересное по тематике Linux: ruclips.net/video/yuYEZCOhukU/видео.html ruclips.net/video/n2peak03KXo/видео.html ruclips.net/video/NEeCkRIitVg/видео.html ruclips.net/video/6sRQQKBE3X8/видео.html ruclips.net/video/GCLjwQ1GCRU/видео.html ruclips.net/video/Q3NJ0-yfZts/видео.html Еще интересное на канале: Сериал "Создание SPA приложения на чистом JS": ...
React Router + новые возможности DataAPI @EasyITChannel #reactjs #reactrouter
Просмотров 286Месяц назад
Разбираемся как произвести рефакторинг существующего проекта и добавить поддержку недавно появившегося в библиотеке новые возможности ReactRouter DataAPI. Исходник: github.com/easy-linux/reactjs/tree/main/ReactRouterFetch Рабочее приложение: easy-linux.github.io/reactrouter_with_data_api/ Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html Полезные видео для ...
Права доступа к файлами и каталогам в Linux #easyit #linuxcommandline @EasyITChannel
Просмотров 104Месяц назад
Разбираем все возможные права доступа к файлами и каталогам в операционной системе Linux. Два способа установки прав доступа - символьный и абсолютный. Интересное по тематике Linux: ruclips.net/video/yuYEZCOhukU/видео.html ruclips.net/video/n2peak03KXo/видео.html ruclips.net/video/NEeCkRIitVg/видео.html ruclips.net/video/6sRQQKBE3X8/видео.html ruclips.net/video/GCLjwQ1GCRU/видео.html Еще интере...
Файловые потоки и каналы в Linux #easyit #linuxcommandline @EasyITChannel
Просмотров 1,6 тыс.2 месяца назад
На простых примерах разбираемся как любая программа Linux взаимодействует со своим окружением, как отдельные программы и команды Linux можно объединять в сложные цепочки обработки данных. Интересное по тематике Linux: ruclips.net/video/yuYEZCOhukU/видео.html ruclips.net/video/n2peak03KXo/видео.html ruclips.net/video/NEeCkRIitVg/видео.html ruclips.net/video/6sRQQKBE3X8/видео.html Еще интересное ...
Screen -знакомство с одной из самых крутых программ #easyit #linuxcommandline @EasyITChannel
Просмотров 1,1 тыс.2 месяца назад
Разбираемся как комфортно и безопасно работать по сети с помощью программы Screen. Интересное по тематике Linux: ruclips.net/video/6sRQQKBE3X8/видео.html ruclips.net/video/yuYEZCOhukU/видео.html ruclips.net/video/NEeCkRIitVg/видео.html ruclips.net/video/n2peak03KXo/видео.html Еще интересное на канале: Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html Полезн...
Знакомимся со всеми возможными типами файлов в Linux #easyit #linuxcommandline @EasyITChannel
Просмотров 3813 месяца назад
На простых примерах знакомимся со всеми возможными типами файлов в операционной системе Linux. Интересное по тематике Linux: ruclips.net/video/yuYEZCOhukU/видео.html ruclips.net/video/n2peak03KXo/видео.html ruclips.net/video/NEeCkRIitVg/видео.html Еще интересное на канале: Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html Полезные видео для лучшего понимани...
Удобная работа с удаленной файловой системой по SSH #easyit #linuxcommandline @EasyITChannel
Просмотров 1,1 тыс.3 месяца назад
Разбираемся как максимально просто работать с удаленной файловой системой по протоколу SSH с помощью файлового менеджера Midnight Commander. Интересное по тематике Linux: ruclips.net/video/yuYEZCOhukU/видео.html Еще интересное на канале: Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html Полезные видео для лучшего понимания JS: Стрелочные функции 1 - ruclips...
HTML Forms, основы, часть 4 #easyit #js #javascript @EasyITChannel ​
Просмотров 633 месяца назад
Полностью динамическое создание запроса по клику. Включая генерацию изображения. Запрос полностью аналогичен тому, который отправляли в предыдущем видео. Исходник: github.com/easy-linux/web-basics/tree/main/6 Сериал "Создание SPA приложения на чистом JS": ruclips.net/video/eqAefmCqA6M/видео.html Полезные видео для лучшего понимания JS: Стрелочные функции 1 - ruclips.net/video/21wNsy72BKg/видео....
HTML Forms, основы, часть 3 #easyit #js #javascript @EasyITChannel ​
Просмотров 643 месяца назад
HTML Forms, основы, часть 3 #easyit #js #javascript @EasyITChannel ​
HTML Forms, основы, часть 2 #easyit #js #javascript @EasyITChannel ​
Просмотров 734 месяца назад
HTML Forms, основы, часть 2 #easyit #js #javascript @EasyITChannel ​
HTML Forms, основы, часть 1 #easyit #js #javascript @EasyITChannel ​
Просмотров 1844 месяца назад
HTML Forms, основы, часть 1 #easyit #js #javascript @EasyITChannel ​
Продвинутое копирование файлов на любой POSIX системе #easyit #linuxcommandline @EasyITChannel ​
Просмотров 7814 месяца назад
Продвинутое копирование файлов на любой POSIX системе #easyit #linuxcommandline @EasyITChannel ​
Текстовый чат с любым пользователем linux сервера #easyit #linuxcommandline @EasyITChannel ​
Просмотров 1,2 тыс.4 месяца назад
Текстовый чат с любым пользователем linux сервера #easyit #linuxcommandline @EasyITChannel ​
Canvas API, простейший способ редактирования картинок #easyit #js #javascript @EasyITChannel ​
Просмотров 2925 месяцев назад
Canvas API, простейший способ редактирования картинок #easyit #js #javascript @EasyITChannel ​
Web Worker & Atomics - работа с разделяемой памятью #easyit #js #javascript @EasyITChannel ​
Просмотров 3225 месяцев назад
Web Worker & Atomics - работа с разделяемой памятью #easyit #js #javascript @EasyITChannel ​
Chrome Extension + Web Clipboard API #easyit #js #javascript #chromeextensions
Просмотров 3366 месяцев назад
Chrome Extension Web Clipboard API #easyit #js #javascript #chromeextensions
10 самых распространенных признаков обмана на IT курсах #easyit #js #javascript @EasyITChannel
Просмотров 9456 месяцев назад
10 самых распространенных признаков обмана на IT курсах #easyit #js #javascript @EasyITChannel
JavaScript Generator - создание, поведение, использование #easyit #js #javascript @EasyITChannel ​
Просмотров 5387 месяцев назад
JavaScript Generator - создание, поведение, использование #easyit #js #javascript @EasyITChannel ​
Установка и базовая настройка контроллера умного дома на OrangePI Zero @EasyITChannel #OrangePI
Просмотров 2438 месяцев назад
Установка и базовая настройка контроллера умного дома на OrangePI Zero @EasyITChannel #OrangePI
Debouncing/Throttling - разгрузка обработчика событий #easyit #js #javascript @EasyITChannel ​
Просмотров 2358 месяцев назад
Debouncing/Throttling - разгрузка обработчика событий #easyit #js #javascript @EasyITChannel ​
Telegram WebApp, часть 3 #easyit #telegrambot #js #javascript #pixi.js @EasyITChannel ​
Просмотров 8169 месяцев назад
Telegram WebApp, часть 3 #easyit #telegrambot #js #javascript #pixi.js @EasyITChannel ​
Основы WEB для разработчиков, часть 2 #easyit #webbasics @EasyITChannel ​
Просмотров 43510 месяцев назад
Основы WEB для разработчиков, часть 2 #easyit #webbasics @EasyITChannel ​
Тестовое задание. 10 правил как повысить шансы #easyit #aboutIT #@EasyITChannel ​
Просмотров 17510 месяцев назад
Тестовое задание. 10 правил как повысить шансы #easyit #aboutIT #@EasyITChannel ​
Основы WEB для разработчиков, часть 1 #easyit #webbasics @EasyITChannel ​
Просмотров 1,3 тыс.11 месяцев назад
Основы WEB для разработчиков, часть 1 #easyit #webbasics @EasyITChannel ​
Telegram WebApp, часть 2 #easyit #telegrambot #js #javascript #pixi.js @EasyITChannel ​
Просмотров 2,3 тыс.11 месяцев назад
Telegram WebApp, часть 2 #easyit #telegrambot #js #javascript #pixi.js @EasyITChannel ​
Оптимизация игры на JavaScript (часть 5) #easyit #js #javascript #pixi.js @EasyITChannel ​
Просмотров 533Год назад
Оптимизация игры на JavaScript (часть 5) #easyit #js #javascript #pixi.js @EasyITChannel ​
Портирование Create React App приложения на Vitejs и публикация в Vercel. @EasyITChannel #reactjs
Просмотров 447Год назад
Портирование Create React App приложения на Vitejs и публикация в Vercel. @EasyITChannel #reactjs

Комментарии

  • @renren2145
    @renren2145 7 часов назад

    в поддержку автора! у вас уникальное музыкальное сопровождение к видео. вы наверное веселый по жизни человек. первое видео очень зашло. посмотрел с удовольствием хоть и пишу приложухи уже 2й год на реакте.

  • @jonyonee
    @jonyonee 19 часов назад

    В react router 6 для lazy роутоа suspense не нужен?

    • @EasyITChannel
      @EasyITChannel 10 часов назад

      Добрый день. Если делать как в ролике - то нет. Компонент загружается до начала рендера и следовательно Suspense не требуется. Сложности могут возникнуть если нужно показать скелетон лоадер или спиннер. Тогда нужно делать немного по-другому и следовательно понадобится и Suspense, и Await.

    • @jonyonee
      @jonyonee 9 часов назад

      @@EasyITChannel При lazy load страниц если загрузилась страница и при последующих переходов к нему уже с кэша будет взята да?

  • @xxxVladislovExxx
    @xxxVladislovExxx 2 дня назад

    Вялікі дзякуй :)

  • @marpusik1277
    @marpusik1277 3 дня назад

    спасибо 😇

  • @mtrkhvch
    @mtrkhvch 5 дней назад

    посмотрел видео и на рабочем проекте сделал так же, все отлично работает, спасибо) еще интересно, как правильно использовать errorBoundary в "новом" подходе (ниже опишу как я использовал) или достаточно к каждой странице добавлять errorElement? так же интерерсует момент по воду lazy, вижу в девтулзах что, когда использую lazy, каждый компонент подгружается отдельным файлом (не одна страница как один отдельный файл, а все компоненты, которые есть на этой странице подгружаются отдельно, dev сборка, пока не собирал билд), так и должно быть? const ErrorBoundaryLayout = () => ( <ErrorBoundary> <Outlet /> </ErrorBoundary> ) export const router = createBrowserRouter([ { element: <ErrorBoundaryLayout />, children: [.......] }])

    • @EasyITChannel
      @EasyITChannel 5 дней назад

      При "новом" подходе это делается по-другому: export const ErrorBoundary = () => { let error = useRouteError() return <div>{JSON.stringify(error)}</div> } export const router = createBrowserRouter([ { element: <RootLayout />, children: [ { path: '...', lazy: async () => { Component: ..., loader: ..., errorElement: <ErrorBoundary /> } } ] }]) Т.е. можно для всех роутов один компонент ошибки использовать, можно для каждого свой.

    • @mtrkhvch
      @mtrkhvch 5 дней назад

      @@EasyITChannel понял, спасибо, сейчас попробую сделать как вы описали)

  • @user-ri8ow3qh7l
    @user-ri8ow3qh7l 5 дней назад

    Почему у вас нет плейлиста для расширений?

    • @EasyITChannel
      @EasyITChannel 5 дней назад

      Так там пару видео всего. Добавил плейлист.

    • @user-ri8ow3qh7l
      @user-ri8ow3qh7l 5 дней назад

      @@EasyITChannel Спасибо

  • @user-wc1ry4ub9m
    @user-wc1ry4ub9m 11 дней назад

    Спасибо большое, а регистрация, аутентификация возможна с данными из аккаунта пользователя?

  • @marpusik1277
    @marpusik1277 13 дней назад

    спасибо 😇

  • @user-wh7kf4ud6b
    @user-wh7kf4ud6b 14 дней назад

    Привет, спасибо за разбор, есть такой вопрос: Не видел ли ты такого, что после загрузки страницы, в фоне подгружались все остальные страницы. Мне это нужно например для анимации переключения страниц, а с lazy load там лоадер и эффекта не видно..

    • @EasyITChannel
      @EasyITChannel 13 дней назад

      Добрый день. Ну подгрузить компоненты в фоне не сложно. Достаточно воспользоваться тем же динамическим импортом, как внутри функции lazy. Другое дело, что там же еще и данные вероятно грузятся? Чтобы страница загрузилась до фактического получения данных нужно использовать defer, компоненты Await и Suspense. Я об этом тоже расскажу, но по плану после SSR.

  • @user-vm2db5cq1g
    @user-vm2db5cq1g 15 дней назад

    Супер, круто, возьму на вооружение))

  • @zndesigner9966
    @zndesigner9966 15 дней назад

    Спасибо за видео, а можно про публикацию расширения в маркете google chrome, я так понимаю что запакованное приложение не получится установить для другого пользователя?

    • @EasyITChannel
      @EasyITChannel 14 дней назад

      Добрый день. Для публикации нужно зарегистрировать аккаунт разработчика стоит 5 долларов. Правильно заполнить манифест, в зависимости от функционала есть и другие условия, загрузить zip, пройти модерацию и всё. Сложного там ничего нет, если очень надо, то не проблема. Но если нужно просто свой код спрятать, то есть способ попроще.

    • @zndesigner9966
      @zndesigner9966 3 дня назад

      @@EasyITChannel спасибо за ответ, по скрытию кода не слышал, а если я опубликую расширение в магазине, далее при обновлении, его новые версии нужно будет заново каждый раз снова грузить и магазин и старую удалять?

    • @EasyITChannel
      @EasyITChannel День назад

      @@zndesigner9966 Нет, нужно только загрузить новую версию. Старая останется. После того как появится новая версия юзеры смогут обновиться. Принцип тот же как в аппсторе или плеймаркете.

  • @mtrkhvch
    @mtrkhvch 16 дней назад

    Привет, спасибо за видео! Интересует один момент, как в таком подходе (createBrowserRouter) реализовать функционал открытия одного поста в модальном окне (модальное окно должно открываться с новым url), при этом на заднем фоне должно быть видно предыдущую страницу? /posts --> click on post with id 1 --> /posts/1 --> открывается модальное окно с данными post with id 1 и на заднем фоне виден список из /posts. P.S. в классическом подходе работает без проблем (передаем location) Thanks!

    • @EasyITChannel
      @EasyITChannel 15 дней назад

      На v6 сделать это еще проще. Причем не важно используется DataAPI или нет, и на классике работает тоже. Даже состояние передавать не нужно :) Запишу ответ на вопрос.

    • @mtrkhvch
      @mtrkhvch 15 дней назад

      @@EasyITChannel Спасибо за ответ! Вижу видео уже на канале, оперативно)

    • @EasyITChannel
      @EasyITChannel 14 дней назад

      @@mtrkhvch Пожалуйста. Повезло, было время на это.

  • @stasostrin47
    @stasostrin47 18 дней назад

    Автор только начинает , так что давай продолжай! Из минусов - нужен сценарий, нужна теоретическая база в видео. Это все для того что бы было понятно что делаешь в принципе, а не на конкретном примере, а то сложно вникать в проект вникая с этого видео. Да и не понятно как понять что наш lazy работает и в чем плюс

    • @EasyITChannel
      @EasyITChannel 18 дней назад

      Спасибо за просмотр и за ценные советы. Сценарий используется, цели рассказать обо всем на свете в одном 10 минутном видео не стояло. Цель большинства видео - на конкретном работающем примере показать решение какой-то задачи. Это отправная точка для собственных исследований по теме. Если Вы не понимаете о чем вообще речь, то возможно эта тема не для Вас.

    • @stasostrin47
      @stasostrin47 18 дней назад

      @@EasyITChannel в том то и дело - что слишком конкретно, конкретный проект с конкретными файлами с конкретным названием ) сделай более общее хоть немного и будет отлично )

    • @EasyITChannel
      @EasyITChannel 17 дней назад

      Ну тут некоторое противоречие в Ваших рассуждениях. Любой проект конкретный. Файлы, названия, данные... Какой бы кусок кода я не придумал, он будет конкретным и для 100% проектов (которые тоже конкретные) не подойдет без осмысления со стороны разработчика. В этом и предыдущем ролике по сабжу рассказывается как с православного, много лет существующего, такого родного для большинства разрабов, подхода перейти на относительно новый. Быстро и с минимумом усилий. Особо хорошо это проявится на следующем шаге, когда SSR добавим. Тут буквально - делай раз, делай два. Это рецепт, такой формат видео. Если очень нужно объяснить что такое лейзи лоадинг, для чего, и почему (желательно) его прикрутить - это надо отдельное видео снимать.

  • @marpusik1277
    @marpusik1277 21 день назад

    спасибо 😇

  • @VLONEHAHA
    @VLONEHAHA 21 день назад

    Спасибо тебе огромное! Лучшее видео по вебапп

    • @EasyITChannel
      @EasyITChannel 21 день назад

      Спасибо за просмотр и поддержку.

  • @marpusik1277
    @marpusik1277 Месяц назад

    спасибо 😇

    • @EasyITChannel
      @EasyITChannel Месяц назад

      И Вам спасибо за поддержку :)

  • @user-pl5ig1te3g
    @user-pl5ig1te3g Месяц назад

    Спасибо за видео, очень круто рассказываешь! Жду новых видео по линуксу

    • @EasyITChannel
      @EasyITChannel Месяц назад

      И Вам спасибо за просмотр и поддержку. Следующее видео как раз по линукс будет.

  • @user-co4nf5vj9h
    @user-co4nf5vj9h Месяц назад

    А можно сделать в боте запуск игры в отдельном окне, а не в чате? Как это было в процессе отладки через botfather

    • @EasyITChannel
      @EasyITChannel Месяц назад

      Можно. Это разные способы запуска.

  • @marpusik1277
    @marpusik1277 Месяц назад

    Спасибо 😇

  • @amat0ru
    @amat0ru Месяц назад

    точно. еще одно непростое занятие это разобраться в собственном коде который написал неделю назад

    • @EasyITChannel
      @EasyITChannel Месяц назад

      Отличное замечание.

  • @user-eb7vj3ee2s
    @user-eb7vj3ee2s Месяц назад

    Если видео претендует на обучающее и для новичков, то хочется отметить один недостаток. Это редактирование package.json в ручную. Для этого следует использовать npm или другой менеджер.

    • @EasyITChannel
      @EasyITChannel Месяц назад

      Недостаток это или достоинство вопрос открытый. В редактировании package.json вручную нет ничего плохого. Правда как и в любом другом деле надо понимать что делаешь. Это относится и к новичкам и к тем, кто думает, что он уже не новичок.

  • @roadsoftheworld5065
    @roadsoftheworld5065 Месяц назад

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

    • @EasyITChannel
      @EasyITChannel Месяц назад

      Добрый день. Надо посмотреть api. Если есть готовый то это легко. Если нет надо делать кастомные данные и их обработку. Я сейчас вообще другим занят, но спасибо за идею. Надо будет покурить мануалы ;)

    • @roadsoftheworld5065
      @roadsoftheworld5065 Месяц назад

      @@EasyITChannel есть готовое решение от гармин но мои часы слишком старые есть такое приложение но оно не выгружает данные в гармин конект

  • @marpusik1277
    @marpusik1277 Месяц назад

    Спасибо 😇

  • @bobomurod
    @bobomurod Месяц назад

    Спасибо большое

    • @EasyITChannel
      @EasyITChannel Месяц назад

      И Вам спасибо за поддержку.

  • @Hanovski14
    @Hanovski14 2 месяца назад

    спасибо выручил!

  • @marpusik1277
    @marpusik1277 2 месяца назад

    Здравствуйте! Возможно ли менторство с вами по React?

  • @ArtiomNeganov
    @ArtiomNeganov 2 месяца назад

    Спасибо за видео. Но я так и не понял нафига нужен этот useSyncExternalStore. Чем это лучше, чем useReducer?

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Смысл в том, что изменения внешнего хранилища (на то оно и внешнее) может происходить не по инициативе React. Вы сможете как-то подключить внешнее хранилище данных, так чтобы изменение в нем приводило к изменению state React компонента только с помощью useReducer? Пример можно глянуть? Всегда держите в уме, что изменения такие могут происходить вне React компонента. И чем тогда useReducer поможет. Хук рассмотренный в видео не для повседневного использования, а для создателей библиотек, чтобы интегрировать их с React.

  • @shshshshhshshshsshhshshs6733
    @shshshshhshshshsshhshshs6733 2 месяца назад

    не вздумайте покупать от мерион академи, та самая, которая на ютубе канал ведёт.

  • @sadkid4660
    @sadkid4660 2 месяца назад

    Это однозначно лайк. Всё четко и понятно.

  • @vik_2743
    @vik_2743 2 месяца назад

    Ещё бы видео с примерами применения итераторов для обработки тех самых сложных кейсов работы с асинхронной логикой

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Познакомьтесь с redux-saga. Там всё на генераторах.

    • @vik_2743
      @vik_2743 2 месяца назад

      @@EasyITChannel я про кейсы, когда самому нужно написать логику, а не использовать библиотеку

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Я не про «использовать библиотеку» а как раз о кейсах. Это отличный пример. Лучший способ обучения - разбираться в исходниках и подходах решения задач в популярных библиотеках.

  • @newalexxx
    @newalexxx 2 месяца назад

    очень интересно и полезно, спасибо. Коммент для поддержки.

  • @newalexxx
    @newalexxx 2 месяца назад

    очень интересно и полезно, спасибо!

  • @newalexxx
    @newalexxx 2 месяца назад

    очень интересно и полезно, спасибо!

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Спасибо за поддержку.

  • @newalexxx
    @newalexxx 2 месяца назад

    спасибо, познавательно! Повторение - мать учения!

  • @sphardegod5451
    @sphardegod5451 2 месяца назад

    следующая запись: const fetch = (...args) => import('node-fetch') и тд - это обход для es6 импортов без type: module?

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Это просто динамический импорт. Его можно использовать внутри кода и именно тогда, когда нужно.

  • @RamaRama-qv3jo
    @RamaRama-qv3jo 2 месяца назад

    Почему отказываются от тестовых, очень просто, работодатель в 90% не то, что обратной связи не дают, а вообще никак не сообщают о результате отбора даже отрицательном. Чертовски жаль потраченного времени и отбивает желание после нескольких таких тестовых.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Да это так. Но проблема в том, что на действительно хорошие вакансии очень много кандидатов и встретиться или даже поговорить по телефону со всеми нет никакой возможности. Усугубляется тем, что 90% из них вообще не соответствуют вакансии и просто тратят время следуя идее «авось прокатит». Тестовое задание для того чтобы отсеять тех, с кем и говорить нет смысла. Поэтому отказавшись от тестового Вы просто не попадете на интервью и всё. То что не отвечают это увы обычная практика, с этим нужно смириться и задуматься о реальном уровне своих решений на эти задания. Это нормально, что работодатель выбирает лучших. Надо не жаловаться на судьбу, а повышать свой скилл. Ничего не поделаешь - это рынок так устроен, никто не хочет платить деньги за неудовлетворительную работу.

    • @RamaRama-qv3jo
      @RamaRama-qv3jo 2 месяца назад

      @@EasyITChannel Работодателям бы нужно побольше уважения к соискателям потративших свое время на тестовое. И давать хотя бы информацию об отказе, а не гробовое молчание. Да и само ТЗ тестовых иногда составлено на "отвали" с ошибками, при том уточнений и комментарии от работодателя не дают. Это не жалоба, а реальность. Действительно очень много соискателей, я понимаю. Даже плюс-минус скилованных и равных, так вот, поставьте себя на место соискателя, когда бы вы перегорели, если потратив кучу времени на действительно сложные тестовые вам будут либо отказ без объяснения, либо вообще ничего.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Я согласен с Вами, поэтому всегда даю развернутый ответ если есть в этом смысл. Если же это очередной пользователь ChatGPT то в чем смысл ответа, если претендент меня не уважает? Задание может быть не корректным или с ошибками. Но это Ваш взгляд, с другой стороны на это могут смотреть по другому. Возможно смысл как раз в том, сможете ли распознать ошибки и некорректности или нет. А может Вы ошибаетесь и ошибок нет. Основной посыл в том, что не стоит лишать себя шанса просто из-за обиды на весь этот несправедливый мир.

    • @RamaRama-qv3jo
      @RamaRama-qv3jo 2 месяца назад

      @@EasyITChannel вы наверное один из немногих исключений, кто дает ответ)) Мое уважение! Что касается ошибок, везде люди, они тоже могут ошибаться или просто делать на "отвали" называя это проверкой. Обиды все же нет, просто время, это ресурс и когда он тратится в пустоту, начинаешь относиться к этому иначе.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Да, я Вас хорошо понимаю. У этого есть очень неприятная причина. Сейчас развелось много псевдо-курсов, которые просто дурят людям головы вместо обучения и убеждают, что они могут чего-то добиться если просто будут спамить любую вакансию. Где-то да сработает. Из-за этого любая вакансия подвергается наплыву претендентов абсолютно не адекватных предложенной позиции, часто даже требования особо не читают. Например, в требованиях написано знание Реакт, в резюме о реакте ни слова. HR созванивается - а я быстро обучаюсь :) Резюме написаны как под копирку, видно, что это просто шаблон полученный на курсах или еще где-то. По резюме понять ничего невозможно, там кроме "я высоко мотивированный работник, пунктуальный, исполнительный, креативный, широко мыслящий, легко решающий сложные задачи" по сути ничего нет. Выслушать всех не реально. Я, например, не могу сразу после первого вопроса прекратить интревью и попросить на выход, как многие коллеги делают. Поэтому трачу минимум полчаса на абсолютно бесперспективное общение. Чтобы человек хоть понял, что от него хотят и хотя бы немного подготовился и подтянул знания. Но ведь и работать надо, тех-интервью это просто помощь компании. Поэтому максимум 2 интервью в день, чаще одно. Если приходит 100+ резюме то как это разрулить без тестового задания? Так 30 процентов откажется, на проверку остальных 60 процентов выполненных заданий потратишь от 10 секунд до 5 минут, вместе с рецензией. А оставшихся 10% попадут на интервью, это уже можно потянуть. Самое смешное, что все понимают, что идеального кандидата не найти и выбирают не по критерию "он знает всё, что нужно", а чаще всего по принципу "остальные еще хуже". Увы, но это факт.

  • @krahmaletskrakmalets7587
    @krahmaletskrakmalets7587 2 месяца назад

    А первая часть видео есть? 😢

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      :) Если заглянуть в описание и найти первую ссылку, то это будет именно она. Там и текст есть, для большей понятности.

    • @krahmaletskrakmalets7587
      @krahmaletskrakmalets7587 2 месяца назад

      @@EasyITChannel действительно)

  • @vasiliyo
    @vasiliyo 2 месяца назад

    Знакомлюсь с Linux, видео оказалось очень полезным! Спасибо!

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      И Вам спасибо за поддержку. Надеюсь продолжите изучать Linux. Не только "фишки", но и основательно. Удачи Вам!

  • @andrei-xe7nu
    @andrei-xe7nu 2 месяца назад

    zellij подходит совсем для новичков

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Так и есть. Что бы Вы хотели увидеть не для совсем новичков?

  • @fofanik
    @fofanik 2 месяца назад

    Хорошо, что я играю на линуксе, и поэтому не боюсь мышей.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Когда-то давно, где-то в 2002-2003, замутили с коллегами выделенный сервачок CS на корпоративном linux сервере. С плагинами, статистикой, записью реплеев и т.д. все как положено. Так вот оказалось, что с линуха даже под wine пинг и картинка были круче чем из-под винды. Мышей никто не боится, просто очень часто, если ты "тракторист" в игре - это недостаток, а если в работе, то наоборот гораздо быстрее получается без мыши некоторые задачи закрывать.

    • @fofanik
      @fofanik 2 месяца назад

      @@EasyITChannel да я в целом согласен, это больше была лёгкая шутка такая.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      @@fofanik Да я понял, что шутка. Спасибо за поддержку.

  • @Crazy-Mihey
    @Crazy-Mihey 2 месяца назад

    Аффтар Пафосу НаГнал столько, что МелкоМягкие, наверное, ОбоСрались! «…Гарантирую: После ПроСмотра ДаннОго Видео, Ваш Мир ИзМенитСя, и НиКогда уже не будет Прежним». Если бы Я умел так Говорить - ПоШёл бы в Политики или Шоу вёл бы по ЗомбоЯщиКу! В Каждом (Втором?) Предложении Слово «Linux», хотя КонСоль, Screen, и всё такое Применимо к гораздо бо́льшему Спектру OSей… Если уж Debian (к тому же «Bionic Beaver»), то, может быть уже «apt» вместо «apt-get»? Много Лет НаЗад пытался Сравнивать ПроИзВодительнОСть Screen и TMux (на Intel® Atom™ N270 1.60GHz) - НиКаких Существенных Различий не ОбНаружил, возможно, Плохо Сравнивал. Но, поскольку TMux «НеМного Удобнее» (Кстати, позволяет ВышеУпомянутой Мышой Панельки/Регионы ПереКлючать :)) и с более «Вменяемым» КонФигом, то остановился на Ней… Я Сам Юзаю Пингвинус достаточно Редко (и не Ведаю Всех ТонКостей), но полагаю, что ИзМерять «среди Linux-Юзеров Крутость Пользователя» Степенью Его «КрысоФобии» - Это Дикая Дичь! За 14:15 Чуть «Диз» не Бахнул Видосу, честно, но «Удержался», т.к. ОбЗор-то в Целом Полезен для Многих… 14:21 На НеДоСягаемой Высоте НаХодятСя Те, у Кого нет не только Мыши с Курсором, но и Монитора с Жёстким Диском! Они Компилируют Софт «в Уме» в Двоичный Код и ПроБивают ПерфоКарты Зубами! Учитесь, Дети ГигаБитных ИнтэрНэтов! Программа на ПерфоКартах, Данные на ПерфоЛентах, Результат на Принтере, ИллюстРация на Плоттере! 16:42 Кстати, после «ПриБития» Сессии с НеЗаВершённым MidNight Commander, что остаётся в Каталоге «ls -lsAFG "/tmp/mc-$(id -n -u "${USER}")"» и Кто будет Вытирать Это?

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Это не пафос, а сарказм и известные линуксоидные мемчики. Если нет чувства юмора Вам вообще, наверное, не легко живется. Вон как пишите странно, не иначе с претензией на «не такой как все». Кстати, каталог tmp в современных дистрибутивах чистится автоматически. Да и места эти файлы занимают ерунду. Даже на сервере шало постараться чтобы хоть мегабайт занять. Но чисто формально - согласен, мусор надо подчищать.

  • @user-px9mp4ct3z
    @user-px9mp4ct3z 2 месяца назад

    tmux же лучше и более гибкий в настройке.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Уже ответил под другим постом. Кратко - зависимость от ncurses не всегда дает положительный эффект. Мне больше нравятся универсальные решения, которые будут работать всегда и везде, а не будут по 10 секунд обновлять скрин по нажатии любой кнопки при подключении на слабом канале или в терминале не поддерживающем ANSI Escape последовательности. Когда появился tmux я уже давно привык к screen, мне уже было удобно и гибко :)

  • @na1k3
    @na1k3 2 месяца назад

    15 лет уже использую. Как и vi. Почему? Потому что эти две мегаудобные штуки есть во ВСЕХ дистрах. Решают кучу проблем. Но многие боятся, потоу что "сложно, много кнопок, ниче не запомнить".. Мощь этих вещей перевешивает неудобство от запоминания кучи комбинаций. Особенно если авария и надо что то быстро поправлять или подключать коллег к решению. Когда нет времени на "а где тут мой любимый nano?", когда на сервере по соображениям ИБ нет интернета и ты ничего не поставишь. В ролике кстати неочевидный момент, на который стоило акцентировать внимание - открытое окно с двух разных терминалов это фишка для двух(трех/пятерых) разных пользователей которые могут удаленно зайти на сервер с разных частей света в одно окно скрина и коллективно решать проблему. Ну или какое-то обучение так проводить можно.

    • @Crazy-Mihey
      @Crazy-Mihey 2 месяца назад

      Да тут вообще можно МногоПользовательскую Игру ЗаМутить: ПодЦепляютСя скажем 100 (ну чем не «КороЛевская Битва»?) Админов на Один НеСчастный Сервант и пытаются Друг Друга Кикнуть в Одном Терминале на ПереГонки́! Последний, «ОставшийСя в Живых», Меняет IP-Адрес и DDшит Винт!

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      Полностью согласен, и что очень важно - освоив программу 15 лет назад, пользуешься и горя не знаешь. Не надо при выходе нового релиза опять с нуля разбираться в больных фантазиях разработчика. Тут он все кнопки поменял и переместил в неведомые места, тут самую важную для меня фичу переделал так, как ему кажется правильно. Я одно время работал в крупной конторе и там корпоративной средой разработки были vi и emacs, а ось - FreeBSD. Vi надо знать на базовом уровне минимум, так как, Вы правы, он есть всегда. И если решать задачи быстро и если нет прав что-то доустанавливать, то выбора особо и нет. По поводу двух терминалов, думал это очевидно. Но Вы правы, если человек еще не понимает, что отдельный терминал это по факту отдельный пользователь подключившийся откуда угодно, то может быть недопонимание этого важного момента.

  • @AloneStroller
    @AloneStroller 2 месяца назад

    Почему не Tmux?

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      По нескольким причинам. 1. Я не пользуюсь tmux 2. Когда появился tmux я уже 7 лет пользовался screen, зачем менять проверенный инструмент на что то еще? 3. tmux (как, к слову, и mc) построен на ncurses. Такие программы не всегда корректно работают на слабых каналах или на некоторых терминалах. Если нужна универсальность и надежность зависимость от ncerses может сыграть злую шутку в самый неожиданный момент.

    • @AloneStroller
      @AloneStroller 2 месяца назад

      @@EasyITChannel что за слабые каналы или некоторые терминалы, которые не справятся с ncurses? Intel 386? А так понятно.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      @@AloneStroller Делал я как-то проект для AT&T. Подробности разглашать не могу, NDA. Так вот там у них "умные коробочки" с линуксом на борту(что-то типа busybox, но screen там был для админских нужд) коннектились к другим коробочкам по крайне медленным модемным соединениям и нужно было на тех удаленных коробочках менять прошивки. И это в пакетном режиме - коробочек этих сотни. Так вот для отладки и отслеживания что происходит ncurses никак не подходил, а с ним и все тулзы на нем основанные. По причинам - канал очень слабый, терминал специфический, нкурсес, даже если извратиться и запустить (я mc прикрутил по недомыслию), отображается как мешанина рандомных символов. Поймите, соединения бывают не только "из дома до офиса" или "из офиса до сервера в клауде". Если законнектиться через цепочку серверов, то нкурсес будет просто жестко бесить. Это проверено многократно. В комфортных условиях - mc и вообще что угодно - ок. Но надежнее иметь хорошо освоенный проверенный инструмент, который не подведет в самый неожиданный момент.

    • @AloneStroller
      @AloneStroller 2 месяца назад

      @@EasyITChannel Коннект через цепочку осуществляется же через SSH -J (раньше -J могло не быть, но тоже возможно было). При чём тут ncurses? Даже для момеда ncurses не медленный. Там же траффик - типа текстовая графика. НО, если надо на многих устройствах сразу установить, то да, медленно может быть. Скачивать. Способ, который вы привели, можно сказать, вырожденный.

    • @EasyITChannel
      @EasyITChannel 2 месяца назад

      ​@@AloneStroller К сожалению, Вы не поняли ничего из того, что я сказал. Это не проблема, просто еще не сталкивались, а "теоретически" не получается понять о чем речь.

  • @my-rules
    @my-rules 2 месяца назад

    хм интересно

  • @romanpr6691
    @romanpr6691 3 месяца назад

    Очень полезно!!!

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Спасибо за обратную связь. Значит не зря....

  • @newalexxx
    @newalexxx 3 месяца назад

    вот это годнота! Спасибо! Очень позновательно

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Спасибо за поддержку. Приятно, что есть польза.

  • @aladin_l
    @aladin_l 3 месяца назад

    Ключ подписи приложения, сгенерированный Google - если сделать сгенерированный ключ от Гугл? это надежный метод?

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      У Вас нет выбора. Подписываете своим ключом, после загрузки Гугл сохраняет этот ключ и подписывает своим. Если этого не сделать, приложение не установится, оно будет проходить по категории «из ненадежных источников». При загрузке новой версии Гугл сравнит ключ подписи и с сохраненным. Если совпадут - ок, если нет то будет ошибка и выложить не выйдет. Так что ключ для прода надо хранить в сейфе ;)

    • @aladin_l
      @aladin_l 3 месяца назад

      @@EasyITChannel или просто сгенерировать ключ от Гугл и не париться со своим верно?

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Со своим придется запариться тоже. Загружать нужно уже подписанное приложение. По-другому никак.

    • @aladin_l
      @aladin_l 3 месяца назад

      @@EasyITChannel значит надо подписать приложение своим ключом Потом этот свой ключ загрузить в Гугл и еще в добавок сгенерировать ключ в Гугл, верно?

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Нет не так. Надо подписать своим ключом. Загрузить приложение в плей маркет. Гугл вытянет ключ из приложения и сохранит у себя. Затем сгенерирует свой ключ, Вам он не доступен. Подпишет им приложение. Это всё. При загрузке следующей версии Гугл опять вытащит ключ, сравнит с сохраненным ранее, если они совпадут, то примет версию. Если не совпадут - будет ошибка. Поэтому первую и все последующие версии необходимо подписывать одним и тем же ключом.

  • @-Critical_Thinking-
    @-Critical_Thinking- 3 месяца назад

    Пытаемся подключиться к FreeBSD и тут же ловим грабли в виде ошибки. Не могу, говорит, "Не лэзе"... Как вариант, на FreeBSD лезем в sshd_config, устанавливаем "PasswordAuthentication" в "yes". Есть какие-то другие решения?

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Конечно есть. Если пассворд авторизация запрещена, то надо через ключи (это супер правильно, любой сервер ssh открытый в интернет пытаются ломать 24/7).

    • @-Critical_Thinking-
      @-Critical_Thinking- 3 месяца назад

      @@EasyITChannelну вот чот не хочет. По ssh всё работает, соединяется по ключам. А mc продолжает запрашивать пароль и отваливается.

    • @-Critical_Thinking-
      @-Critical_Thinking- 3 месяца назад

      @@EasyITChannelну, в общем, заборол и эту проблему. Два способа. 1. создаём ~/.ssh/config, там прописываем алиас. 2. способ более универсальный: ssh-add ~/.ssh/id_rsa

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Это стандартный способ настройки авторизации по ключу. Более универсальный способ первый. Если у Вас много серверов с разными ключами, то второй работать не будет.

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Пример. У Вас два разных рабочих аккаунта на GitHub, два разных ключа. Подключаться к одному репозиторию по ssh надо от одного юзера, а к другому от другого. Вопрос - как Вы это сделаете. Тот способ который сработает и есть более универсальный. Согласны?

  • @Nikitrin
    @Nikitrin 3 месяца назад

    круто! спасибо, отличный контент!)

    • @EasyITChannel
      @EasyITChannel 3 месяца назад

      Спасибо за поддержку!