Между прочим, идея не нова. Сдача экзаменов на “вендорские” сертификаты (например, от MS, Oracle, и т.п.) именно так и проходит. Идёшь в местный офис какой-либо их авторизованной компании, сдаёшь мобилу, садишься за компьютер и проходишь экзамен :) Я, например, свои все экзамены так в “Софтлайне” когда-то сдавал.
while(true)
{
// здесь код...
if(someCondition)
{
break;
}
// здесь код ...
}
это далеко не “идеально” с точки зрения структурного программирования, но очень распространенный шаблон, который позволяет написать что-то намного короче и понятней, чем в случае “идеального” кода.
Вы, сударь, похоже, не на тот сайт по ошибке статью опубликовали. У нас тут сайт целиком посвященный всемирному торжеству Вайб-Кодинга, а вы тут с каким-то FORTH, конечными автоматами, и машинами Тьюринга :-)))
Наху*й рекрутеров. Я скоро начну искать работу и от собеседования с рекрутерами буду сразу отказываться принципиально. Не нравится - нанимайте вайб-обезьян. Я половину “нулевых” вполне неплохо провел переписывая код за индийскими обезьянами, если что, то подожду пока теперь вайбовые достаточно наговнокодят.
Чтобы транскодинга не было вообще можно заранее сконвертировать видео в “правильный” формат. Для ТВ я не знаю, сам смотрю JF через его собственную веб-морду, в этом случае заклинание для ffmpeg например такое:
В этом случае вызов ffmpeg в логах всё-таки будет виден, но, не пугайтесь - это уже не транскодинг, а просто нарезка на “чанки”, которая не ресурсоемкая.
Если нужны субтитры, то надо найти нужный поток в контейнере и извлечь их в отдельный файл:
<#
.SYNOPSIS
Converts a specified input video file to the Jellyfin-optimized format.
#>
function ConvertTo-JellyfinVideo {
[CmdletBinding()]
param (
# The input media file path.
[Parameter(Mandatory, Position = 0)]
[string]
$Path,
# The output media file path.
[Parameter(Mandatory)]
[string]
$OutFile,
# The list of stream indices to include to the output.
# If empty, all video and audio streams are included.
[Parameter()]
[int[]]
$Stream,
# Subtitle stream to extract in the form like:
# @{"en.srt" = 7}
[Parameter()]
[hashtable]
$Subtitle
)
#
# Video/audio extraction and conversion
#
$mapArgList =
$Stream ?
($Stream | ForEach-Object { "-map", "0:$_" }) :
@('-map', '0:v', '-map', '0:a')
ffmpeg -i $Path `
-c:v libx264 -preset veryfast -crf 23 `
-profile:v high -level 4.1 -pix_fmt yuv420p `
-vf "scale=-2:720" `
-c:a aac -b:a 192k -ac 2 -ar 48000 `
$mapArgList `
$OutFile
#
# Subtitles extraction
#
if($Subtitle) {
foreach($subtitleExtension in $Subtitle.Keys) {
$subtitleOutFile = [System.IO.Path]::ChangeExtension($OutFile, $subtitleExtension)
$subtitleStream = $Subtitle[$subtitleExtension]
ffmpeg -i $Path -c copy -map "0:$subtitleStream" $subtitleOutFile
}
}
}
Set-Alias ctjfv ConvertTo-JellyfinVideo
Номера нужных потоков (для выбора аудиодорожек и субтитров) можно узнать с помощью ffprobe -i myvideo.avi
Чтобы JF нормально находил метаданные видео на TMDB и IMDB следует правильно именовать файл видео: например Title (Year).mp4- работает в 99% процентах случаев. В тех редких случаях когда это не срабатывает можно явно указать id фильма на TMDB или/и на IMDB добавив их к названию: Title (Year) [imdbid-***] [tmdbid-***].mp4 - это всё описано в документации к JF на их сайте. Нужные id ищутся на сайтах IMDB или TMDB - они видны в адресной строке браузера на странице фильма.
Windows ставить для JF совсем не обязательно - он написан на .NET и спокойно работает под Linux или в контейнере Docker. Лично у меня он стоит в докере, на домашнем “сервере” из старого ноутбука под Debian.
Еще насчет transmission - чтобы он не ходил в интернет через VPN/VPS, (за что хостер VPS может вас вые*ать), в случае установки на Linux, его в конфиге можно привязать к отдельному интерфейсу и настроить policy-based routing, но это уже отдельная история :)
С TMDB есть еще один нюанс. Они блокируют российские IP с помощью своего DNS - можно поколдовать с /etc/hosts, но надёжней, всё-таки, ходить к ним через VPN.
Для transmission можно на любую машину поставить “Transmission Qt Client” и управлять им удалённо - нужно только открыть TCP порт 9091 (по умолчанию), ну или настроить в конфиге на свой вкус.
Я давно уже не студент-тоечник (который, в своё время, ни разу летнюю сессию раньше осени не закрывал :))) Но, курс “Теория реляционных БД” у меня был году так в 2002, и я сейчас не смогу дать точное определение НФБК в терминах ФЗ, но на пальцах, наверное, смог бы. Вопрос был бы скорее чтобы понять - есть у человека хоть какое-то образование в данной области (БД) или это “настоящий программист”, “от сохи”, освоивший всё это “в процессе работы”, как сейчас положено - ведь настоящие программисты осваивают всё в процессе работы над продакшеном, без учебников, без книг, без документации - именно такие нам нужны.
Скорее желание помочь опытным специалистам адаптироваться к новым условиям рынка и упростить путь к заветному офферу.
Адаптироваться к HR-долбое*ам, таким же как вы, желания нет никакого. На жизнь себе я и без ИТ худо-бедно заработаю, а вы нанимайте себе LLM-обезьян - воля ваша.
Тест для «сеньора»: в каком типе данных хранить номер паспорта?
Если у вас это "тест для синьора", то затрудняюсь даже представить, какой у вас "тест для джуна". Что он на собеседовании хотя бы не мычит, не ссытся под себя и не пускает слюну изо рта?
В статье много чего-то современно-научного, но, в общем-то любой, кто хоть немного знаком с парусным спортом и так знает, что любая самая обычная гоночная яхта совершенно спокойно идёт против ветра галсом со скоростью быстрее скорости самого ветра :)
Что же. Придется всё-таки найти и прочитать. Потому что тут узнал, что на собеседованиях любят спрашивать про обход бинарного дерева. Как будто я пришел туда диссертацию по кибернетике защищать.
Кто-нибудь может объяснить нахера вообще нужно собеседование с HR?
HR уже выбрал резюме из стопки, показал его команде, команда сказала "добро", вот и приглашайте на собеседование прямо с командой. Нах*й тут еще какое-то звено?
Да-да. Ведь именно в начальной школе еще не знают, что подчеркивание в доменном имени это недопустимый символ (сюрприз?).
Между прочим, идея не нова. Сдача экзаменов на “вендорские” сертификаты (например, от MS, Oracle, и т.п.) именно так и проходит. Идёшь в местный офис какой-либо их авторизованной компании, сдаёшь мобилу, садишься за компьютер и проходишь экзамен :) Я, например, свои все экзамены так в “Софтлайне” когда-то сдавал.
Ну, честно говоря, такая штука как:
это далеко не “идеально” с точки зрения структурного программирования, но очень распространенный шаблон, который позволяет написать что-то намного короче и понятней, чем в случае “идеального” кода.
Не зае*ало еще? :(
Вы, сударь, похоже, не на тот сайт по ошибке статью опубликовали. У нас тут сайт целиком посвященный всемирному торжеству Вайб-Кодинга, а вы тут с каким-то FORTH, конечными автоматами, и машинами Тьюринга :-)))
А я не спешу.
Наху*й рекрутеров. Я скоро начну искать работу и от собеседования с рекрутерами буду сразу отказываться принципиально. Не нравится - нанимайте вайб-обезьян. Я половину “нулевых” вполне неплохо провел переписывая код за индийскими обезьянами, если что, то подожду пока теперь вайбовые достаточно наговнокодят.
Чтобы транскодинга не было вообще можно заранее сконвертировать видео в “правильный” формат. Для ТВ я не знаю, сам смотрю JF через его собственную веб-морду, в этом случае заклинание для
ffmpegнапример такое:В этом случае вызов
ffmpegв логах всё-таки будет виден, но, не пугайтесь - это уже не транскодинг, а просто нарезка на “чанки”, которая не ресурсоемкая.Если нужны субтитры, то надо найти нужный поток в контейнере и извлечь их в отдельный файл:
У меня всё это делается давно созданным скриптом:
Hidden text
Номера нужных потоков (для выбора аудиодорожек и субтитров) можно узнать с помощью
ffprobe -i myvideo.aviЧтобы JF нормально находил метаданные видео на TMDB и IMDB следует правильно именовать файл видео: например
Title (Year).mp4- работает в 99% процентах случаев. В тех редких случаях когда это не срабатывает можно явно указатьidфильма на TMDB или/и на IMDB добавив их к названию:Title (Year) [imdbid-***] [tmdbid-***].mp4- это всё описано в документации к JF на их сайте. Нужныеidищутся на сайтах IMDB или TMDB - они видны в адресной строке браузера на странице фильма.Windows ставить для JF совсем не обязательно - он написан на .NET и спокойно работает под Linux или в контейнере Docker. Лично у меня он стоит в докере, на домашнем “сервере” из старого ноутбука под Debian.
Еще насчет
transmission- чтобы он не ходил в интернет через VPN/VPS, (за что хостер VPS может вас вые*ать), в случае установки на Linux, его в конфиге можно привязать к отдельному интерфейсу и настроить policy-based routing, но это уже отдельная история :)С TMDB есть еще один нюанс. Они блокируют российские IP с помощью своего DNS - можно поколдовать с /etc/hosts, но надёжней, всё-таки, ходить к ним через VPN.
Для transmission можно на любую машину поставить “Transmission Qt Client” и управлять им удалённо - нужно только открыть TCP порт 9091 (по умолчанию), ну или настроить в конфиге на свой вкус.
Я не особо в теме вашей проблемы, но разве нельзя всё то же самое было сделать просто скриптом из нескольких строк с:
Попробуйте пройти какой-нибудь “специализированный” экзамен ЕГЭ, скажем, по физике - весьма удивитесь.
Я давно уже не студент-тоечник (который, в своё время, ни разу летнюю сессию раньше осени не закрывал :))) Но, курс “Теория реляционных БД” у меня был году так в 2002, и я сейчас не смогу дать точное определение НФБК в терминах ФЗ, но на пальцах, наверное, смог бы. Вопрос был бы скорее чтобы понять - есть у человека хоть какое-то образование в данной области (БД) или это “настоящий программист”, “от сохи”, освоивший всё это “в процессе работы”, как сейчас положено - ведь настоящие программисты осваивают всё в процессе работы над продакшеном, без учебников, без книг, без документации - именно такие нам нужны.
Рынок переживает е*анутость.
Адаптироваться к HR-долбое*ам, таким же как вы, желания нет никакого. На жизнь себе я и без ИТ худо-бедно заработаю, а вы нанимайте себе LLM-обезьян - воля ваша.
На сеньора-помидора я бы например спросил чем 3НФ отличается от НФБК..
Если у вас это "тест для синьора", то затрудняюсь даже представить, какой у вас "тест для джуна". Что он на собеседовании хотя бы не мычит, не ссытся под себя и не пускает слюну изо рта?
В статье много чего-то современно-научного, но, в общем-то любой, кто хоть немного знаком с парусным спортом и так знает, что любая самая обычная гоночная яхта совершенно спокойно идёт против ветра галсом со скоростью быстрее скорости самого ветра :)
Что же. Придется всё-таки найти и прочитать. Потому что тут узнал, что на собеседованиях любят спрашивать про обход бинарного дерева. Как будто я пришел туда диссертацию по кибернетике защищать.
А, понял. Там, типа, про бинарные деревья?
Хммм... Про Карпатого я слышу чуть ли не каждый день по нескольку раз, а кто такой Дейкстра?
Кто-нибудь может объяснить нахера вообще нужно собеседование с HR?
HR уже выбрал резюме из стопки, показал его команде, команда сказала "добро", вот и приглашайте на собеседование прямо с командой. Нах*й тут еще какое-то звено?