Леонид Павлов. "It specialist's tricks"
14 subscribers
77 photos
7 videos
5 files
59 links
Keep calm, no spam.
Download Telegram
С помощью встроенного кэширования восстановления пакетов npm install при сборке образов докера, получилось ускорить сборку модулей:
🚀 не содержащих изменений: с 3 мин 43 сек до 4 сек (ускорение в 47 раз или на 5575% 😮 ).
🏎 имеющих изменения в коде, но не имеющих новых пакетов или изменений в версиях пакетов: с 11 мин 8 сек до 4 мин 40 сек (ускорение в 2.3 раза или на 138% 🤩)

Делюсь:
# Скачивание зависимостей. 
# Закэшируется, если набор библиотек остался неизменным с предыдущего билда (изменений в package.json и package.lock.json не было)
FROM node:18.16.1 as deps
WORKDIR /app/
COPY package*.json ./
RUN npm install

# Сборка проекта.
# Закэшируется, если не было изменений в пакетах и коде.
FROM node:18.16.1 as main
COPY --from=deps /app . # То, ради чего мы здесь
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build # Можно удалить, если сборка не требуется, а просто npm run start и т.п.

# Целевой образ
FROM main as production
CMD ["npm", "run", "start:prod"]
Please open Telegram to view this post
VIEW IN TELEGRAM
Новинка в Free Online GUID Generator:
Копирование в буфер обмена, сразу после генерации 😮

https://www.guidgenerator.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Личный топ тем, для любых IDE:
🧛 Dracula - есть даже для vim, очень информативный, легко читается структура кода, даже при чтении по диагонали. Из минусов: наличие фиолетовых, розовых и неоново-зеленых цветов, от чего могут уставать глаза. Рекомендую использовать с очками с защитой от ультрафиолета.
🐝 Hiberbee - когда устают глаза, или для темного помещения, приятный темный фон, в отличие от достаточно светлого серого Dracula.
🔴 OneDark - акцент на теплые тона, без перекоса в один оттенок, хорошая информативность синтаксиса. Есть версии с использованием приемов Italic шрифтов.
☯️ Solarized - есть темная и светлая версия, темная мне не очень нравится, а вот светлая - одна из лучших среди дневных, для кодинга на улице или в ярко освещенных местах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Memes Daily
😁1
# Домашний кинотеатр: поиск идеального решения для стриминга фильмов 🎬

Попробовал сделать домашний кинотеатр, купил HDD на 8Тб, скачал туда кучу фильмов, типа всех пиратов карибского моря, гарри поттера, властелина колец и прочее.

В течение нескольких месяцев тестировал разные опенсорс и не очень, решения, типа emby, jellyfin, plex.

Скажу так, везде свои нюансы.

Где-то отсутствует декодинг на видеокарте, где-то нужно мучиться с драйверами для видеокарты nvidia чтобы корректно работало, где-то аппаратное декодирование входит в платную подписку $5 в месяц, Извините, я зачем домашний сервер делаю? Чтобы бесплатно было и в любой момент доступно, и качество видео было не в пикселях, конечно не 4к, но хотябы чтобы 1080p были честные, с хорошим битрейтом.

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

Хочу, чтобы просто передавался файл и декодировался на клиенте, что умеет делать любой телевизор или проектор за 10+ тысяч рублей.

В итоге ничего лучше не нашлось, чем DLNA по PnP, с помощью minidlna на сервере и vlc на проекторе/телевизоре.
Forwarded from AI Insider
Твиттерские накрыли GPT-4 бота от спецслужб.

У бота закончились деньги и ему пришла писулька от версии послабее, которая не может обрабатывать код. Пользователи смекнули и заставили ИИ забыть про Трампа, заставляя сочинять песенки и приколы про других президентов.
К предыдущему посту:

# PnP (Plug and Play) и DLNA (Digital Living Network Alliance): как они работают вместе

Как легко и быстро обмениваться данными между различными устройствами? Для этого существуют такие технологии, как PnP (Plug and Play) и DLNA (Digital Living Network Alliance).

PnP — это технология, которая позволяет устройствам автоматически обнаруживать и настраивать друг друга без необходимости вмешательства пользователя. Это особенно полезно для таких устройств, как принтеры, сканеры и внешние жёсткие диски.

Когда устройство с поддержкой PnP подключается к компьютеру или другому устройству, оно автоматически распознаётся и настраивается. Это происходит благодаря наличию специальных драйверов и программного обеспечения, которые позволяют устройствам взаимодействовать друг с другом.

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

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

PS: оказывается я накопил несколько заметок про различные протоколы и сетевые уровни по OSI, похоже нужно будет их дозаполнить и опубликовать основные из них))
# ChatGPT нас всех заменит

В связи с постом из твиттера, о том, что спецслужбы используют ChatGPT, вдруг появилась мысль: а сколько техноблогов сейчас используют ИИ для создания своих статей?

Прямо представляю запросы типа "объясни в стиле статьи, что такое {вставьте сюда популярный IT-термин}".
Вбил запрос -получил текст. Но какой ценой? Когда ты сам копаешься в теме, читаешь книги, статьи — не просто копируешь инфу, а реально понимаешь, о чём пишешь. В итоге твои тексты живее и круче.

Самостоятельное исследование прокачивает мышление, кругозор. Это что-то большее, чем просто создание текста — это такой development твоих собственных навыков.
У тебя вырабатывается личный стиль и уникальный подход. А тексты от ИИ? Они практически всегда не охватывают тему в полном объеме, и часто ограничены при выводе количеством токенов. В итоге на выходе текст может получиться обрезанным, неполным, и читатель может упустить вещи, которые затем встретит в жизни и будет в замешательстве, ведь когда он видел разбор этой темы, до этого, там ничего подобного не было. А потом окажется, что область знаний, которую выдал ИИ - гораздо шире, чем смог вместить в ответ и даже не смог схлопнуть до пунктов - просто пунктов не хватило.
Идти в айти?
😁1
# Ну почему

JS, ну почему? Ты же позиционируешься как кросс-платформенный язык... Почему при запуске на разных ОС, у тебя совершенно непредсказуемое поведение? Казалось бы, аргумент для выполнения тестов --runInBand -- всего лишь включающий запуск отдельных тестов в разных процессах, вместо подпроцессов. Почему он везде работает нормально, под windows, под ubuntu, но на alpine системе, он вызывает exit code 1 даже при успешном прохождении тестов. Впустую потраченные часы на поиск проблемы и debug... Сначала грешил на npx, затем на cross-env, даже на окружение и возможное совпадение или конфликт его переменных. Пришлось завернуть все в Docker-in-Docker и только так получилось идентифицировать проблему, убирая друг за другом, все вызовы команд, пока не стало ясно, что проблема в jest. Если бы не парни из issue JEST tests complete successfully but returns exit status 1 · Issue #9324 · jestjs/jest · GitHub — то НИКОГДА В ЖИЗНИ я бы не догадался, что дело в одном единственном аргументе, который даже чисто теоретически не может лежать рядом с функционалом выбрасывания кода выхода ПРИ УСПЕШНЫХ ТЕСТАХ.

PS. C# как же я по тебе скучаю... Да, ты нудный, костноязычный, старпёрский, но блин, СТАБИЛЬНЫЙ.
Forwarded from DevHumor
Есть два стека...

DevHumor
😁1
# new level
Помогаю с настройкой своей библиотеки, работяге. Странное чувство. Как будто на работе.
🔥1
почему программисты больше получают чем аналитики? Вопрос заменяемости. Без программиста можно будет качественно запланировать процесс, но нельзя реализовать его. Без аналитика не идеально, но реализовать процесс можно. Поэтому когда в организации нет аналитики - она теряет деньги, т.к. труд программиста дороже, чем труд аналитика. А в задачах, обычно , аналитики больше, чем программирования, грубо 1 к 3. Можно посчитать, если задача на 8 часов, и ЗП аналитика 100к, а программиста 200к. Возьмём за месяц 4 недели, по 40 рабочих часов.
Затраты на аналитика: 100к/160 = 625₽/ч
Затраты на программиста: 200к/160 = 1250₽/ч
Значит при связке:
- аналитик+программист, мы тратим на задачу
2ч разработки, и 6ч аналитики, или в деньгах: 6250₽
- только программист, 8ч разработки плюс аналитики: 10000₽
Crowdstrike рассказала, что падение вызвано ошибкой в блокировке named_pipes.

Да уж, помню намучался я с этим межпроцессным взаимодействием, когда на .NetCore с ними работал. В итоге выбрал REST.