LINUX.ORG.RU

Сообщения ex3me

 

Синхронихая shell команд?

Приветствую!

Есть множество комманд которые я выполняю на рабочем linux компе (и хотелось бы иметь актуальную копию команд на домашнем macbook) такие как:

1. Поднять докер проекта X или Y
2. зайти в шелл докера и сделать дамп/очистить кеш/еще что то
3. запустить unit tests
4. запустить какую то команду в шеле и посмотреть результат

К примеру хранить команды можно в evernote и копировать их оттуда в консоль. Но это не совсем удобно.

Ищу программу которая бы могла показывать список команд и выбрав одну, запускался бы терминал с выполнением.

Я уверен что кто то из вас точно использует что то подобное.

Кто что подскажет?

 

ex3me
()

Git workflow для cherry-pick релизов

Приветствую!

Есть крупный проект в котором есть ветка основная dev в которую мы пилим весь функционал. А когда у нас случается релиз (1-5 раз в месяц), мы создаем ветку релиза к примеру 18.02.01 и туда мы сливаем (с помощью cherry-pick) только тот функционал который требует заказчик. Обычно 50% функционала не входит в релиз и так и валяется мертвым грузом на dev. Когда нужно посмотреть какие комиты отстались в dev и не вошли в релиз можно использовать `git cherry -v`, но из за конфликтов эта команда бесполезна.

Прошу совета у бывалых git юзеров, как лучше сделать git workflow для нашего случая

 , ,

ex3me
()

Doctrine many-many производительность

Есть 2 энтити которые соеденены через таблицу «flags_to_menus» Использую аннотацию многие ко многим. Все работает, всё вытягивает.

    /**
     * Many menus have Many flags.
     * @Serializer\Groups({«API_tree»})
     * @Serializer\SerializedName(«flags»)
     * @ORM\ManyToMany(targetEntity=«FlagLibrary»)
     * @ORM\JoinTable(name=«flags_to_menus»,
     *      joinColumns={@ORM\JoinColumn(name=«menu_id», referencedColumnName=«menu_id»)},
     *      inverseJoinColumns={@ORM\JoinColumn(name=«flag_id», referencedColumnName=«id»)}
     *      )
     */
    private $flags = [];

Но есть проблема - генерируется куча SQL такого вида:

SELECT t0.id AS id_1, t0.entity_type AS entity_type_2, t0.entity_id AS entity_id_3, t0.title AS title_4, t0.storage_name AS storage_name_5 FROM master_flag_library t0 INNER JOIN master_flags_to_menus ON t0.id = master_flags_to_menus.flag_id WHERE master_flags_to_menus.menu_id = 22054

Соответсвтенно на каждую запись из энтити Menu генерится такой запрос. 10000 тыс записей - столько же и запросов.

В доках, на форумах уже все что можно перерыл и не нашел решения.

Есть идеи как это справить?

 

ex3me
()

Bluetooth наушники + USB адаптер и постоянная необходимость спаривать

Есть китайские наушники ausdom и есть китайский usb bluetooth адаптер который торчит в компе. У этой комбинации есть проблема - при подключении наушников нужно каждый раз делать PAIR: включать наушники в режим спаривания и делать поиск устройства на компе и подключаться вручную. Перестают наушники и адаптер быть парой после нескольких часов в вкл состоянии. До конца алогоритм распаривания не выяснил :(

Данная проблема есть в Ubuntu и Win 10. Проблемы такой нет на Macbook(нативный блютуз) и смартфоне на android.

Прошу помощи у знающих, проблема железа или всетаки можно решить програмно? Кто сталкивался с таким?

 ,

ex3me
()

SIGSTOP SIGCONT группе процессов

Приветствую.

Есть процесс который порождает дерево процессов. Чтобы остановить их использую SIGSTOP для дерева по TPGID

Узнаем наш tpgid

/bin/ps ax -O tpgid | /bin/grep bash

и шлем сигнал такой командой

/bin/kill -19 -- -12345

далее хотим воскресить процесс и узнаем его tpgid снова

/bin/ps ax -O tpgid | /bin/grep bash

И наш tpgid уже поменялся! Если использовать его, то не все процессы просыпаются.

Если использовать tpgid которому был послан SIGSTOP то все ок.

Кто то может в курсе, почему меняется tpgid и что с этим делать?

 

ex3me
()

Шифорваный диск с паролем монтировать автоматически?

Приветствую!

Есть системный SSD 250 гб, большой диск 3 тб для /home , 1 гб для бекапов.

SSD это системный и он зашифрован. При запуске системы (ubuntu) необходимо вводить пароль.

Я считаю, что если ввел пароль на системный, то значит есть доступ ко всем 3м дискам.

Хотелось бы 2 остальных диска зашифровать и поставить пароль, который бы хранился на системном диске и монтировал раздел /home и /backup автоматически, без ввода пароля.

Есть идеи?

 

ex3me
()

iMac + ubuntu = broken iMac?

Приветствую господа.

Решил установить на iMac ubuntu, для проверки работоспособности запустил livecd (flash). Запустилось все удачно, но когда начал завершать работу, начались артефакты по всему экрану. Ссылка на видео с артефактами https://www.youtube.com/watch?v=pEiQxnIzdmM

Что удивительно, после перезагрузок, хард резетов, и втыкания в другие розетки, мак до сих пор помнит последний скрин ubuntu (присмотритесь на видео).

Не пойму как такое возможно вообще... Гугл не помог, даже не знаю в какую сторону смотреть.

Что подскажите?

 

ex3me
()

Nginx прокси и header location

Делаю специфичный прокси сервер на Nginx. Когда прокси сервер получает заголовок Location, то заголовок отдается клиенту и клиент редиректится на этот адрес.

Собственно я разрешаю доступ к прокси серверу по ключу myproxy.com/secretkey=123?url=http://yandex.ru/

Моя цель одна - получить контент определенной странички/файла. Но иногда адрес может отдать заголовок location, и клиент сам редиректится вместо того чтобы сервер обработал.

Кто подскажет, как быть в моем случае?

 ,

ex3me
()

ffmpeg и прожорливый trim

Есть файл, с котоого выдергивается скрин. Столкнулся с проблемой, при установке trim (или ключа -ss) долго идет обработка. Чем дальше указан trim тем дольше жду результат.

Пример

ffmpeg -y -i Le.Magnifique.1973.720p.BluRay.4xRus.2xFre.HDCLUB.mkv  -filter_complex "[0:0] trim=5:6, colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3  [v1]" -map "[v1]"  -f image2 -vframes 1 1.jpg

Вот такая команда исполняется менее чем за 1 сек. Если trim указать 3600, т.е. выдернуть кадр ближе к концу фильма, то это уже занимает больше минуты.

Сам видео файл:

8 GB
1 hour 33 minutes 57 seconds
Matroska
1196 x 720
H.264
24 frames per second
8746 kbps

Стоит учесть, что для чистоты эксперемента был примонтирован раздел который находится в ОЗУ. С него и ведется чтение видео файла. + 2 процессора Xeon E5-2670 v2. Задействуется в момент обработки все 40 потоков (20 ядер).

Если использовать -ss вместо trim, в данном случае время обработки увеличилось в несколько раз и было задействовано только одно ядро.

В какую сторону мне копать, чтобы увеличить скорость обработки?

P.S. Другие файлы размером 2 гб (mpeg4 xvid) обрабатываются 10 сек.

 

ex3me
()

ls группировка по паттерну

Есть примерно такой каталог с бекапами



2015-03-03_01-50-01.sql.rar
2015-03-03_20-38-01.sql.rar
2015-03-03_19-20-01.sql.rar
2015-03-04_22-59-01.sql.rar
2015-03-07_05-54-01.sql.rar
2015-03-07_09-02-01.sql.rar
2015-03-09_16-04-01.sql.rar
2015-03-09_12-26-01.sql.rar


Хотелось бы копировать файлы каждого дня, по одному, т.е:



2015-03-03_01-50-01.sql.rar
2015-03-04_22-59-01.sql.rar
2015-03-07_09-02-01.sql.rar
2015-03-09_16-04-01.sql.rar


Нужна группировка по определенному паттерну

Есть ли возможность реализовать такое, кто сталкивался?

 , ,

ex3me
()

ffmpeg неправильный trim видео потока с конкатинацией

Резать видео можно так:

ffmpeg -i video.mp4 -ss 00:00:03 -t 2 out.avi

Или так

ffmpeg -i video.mp4 -vf trim=3:5 out.avi

Второй варинт лучше, если нужно создать одно видео из двух кусочков другого

ffmpeg -y -i video.avi  -filter_complex «[0:0]trim=3:5[part1];[0:0]trim=9:11[part2];[part1][part2]concat=n=2:v=1:a=0[vout]» -map "[vout]"  out.avi

Казалось бы, должно резать с 3 по 5 и с 9 по 10 сек а потом их склеть, но любой исходник получается неккоректным, с фризами

Результат склейки такихм тримом https://www.youtube.com/watch?v=mpMp_cVFkPU&feature=youtu.be

Кто разбирается в этом, подскажите, что я делаю не так?

Помоему результат не логичен

 ,

ex3me
()

ssh ключ с passphrase

Ключи настроены, все работает. Только для ввода passphrase выскакивает гуёвая софтина из /usr/lib/gcr/gcr-prompter и просит пароль. Как мне обойти её и вводить passphrase в консоль?

 ssh passphrase prompter

ex3me
()

Баг alsa, прыгает звук.

На видео всё видно и слышно (осторожно трафик, youtube). Ранее я переключал звук на «аналоговый объемный 4.0» и это помогало, но видимо после очередного апдейта как всегда нахимичили. Слушать музыку и смотреть видео просто невозможно.

http://www.youtube.com/watch?v=pEY1J_BemI4

 ,

ex3me
()

Чем плоха Ubuntu?

Что не топик - то говнят убунту. А между прочим я на ней сижу уже несколько лет.

Хотелось бы услышать минусы по сравнению с другими дистрибутивами linux. Может быть идеология дистрибутива не правильная?

К примеру, говорят, Debian это отличный дистр, а Ubuntu это полный шлак. Как для меня они похожи сильно.

 

ex3me
()

ffmpeg индекс в начало файла (Перемотка видео на сайте)

Возможно ли в ffmpeg собрать файл с индексом в начале?

p.s. нужно для возможности перематывать flv не дожидаясь полной загрузки контента при просмотре онлайн на сайте.

 ,

ex3me
()

десктоп программа для запуска шелл скриптов

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

К примеру команды могут быть: mount ... , unmount, очистка кеша оперативы, ребут в другую систему...

Посоветуйте пожалуйста.

ex3me
()

Fixtures

Использую фикстуры в php фреймверке yii. Фикстура срабатывает на каждый метод заново. Не могу понять концепции фикстур вообще. Как правильно пользоваться?

Есть к примеру тестировочные методы

testCreate: создание и проверка того что все создается.

testEdit: Проверка этих все что изменяется как нужно.

Но при testEdit идет сброс данных, и то что создалось в testCreate заменилось на данные их фикстур.

Может все работает правильно и я чего то не понял? Помогите любой информацией, буду благодарен.

 fixtures, , phpunit,

ex3me
()

видеокарты nvidia vs redeon

Знаю что не лучшее место для таких вопросов, но все же мне кажется на лоре есть люди знающие.

За $300 можно купить в среднем:

- Nvidia 256 bit 2gb GDDR5
- Nvidia 384 bit 3gb GDDR5

Да, там есть и другие параметры. Но все же, почему такая разница!? Ведь пропускная способность и память карты наиболее важные параметры.

На форумах пишут разница в совместимости. Но мне нужен более мощный графический процессор за $300.

 ,

ex3me
()

Ajax PHP - Как лучше возвращать результат?

Был послан запрос. По запросу был вызван метод

public static function method($a,$b,$c)
{
if (empty($a)) throw new Exception('param A is empty',1);
return $b+$c;
}
как его лучше обработать чтобы получить json?

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

Пока на ум приходит только что то подобное, которые при большом количестве подобных методов становится проблематичным.

try{

$result = Class::method('something',6,7);

return json_decode(array('error'=>0,'summ'=>$result));

} catch (Exception $e)
{
return json_decode(array('error'=>$e->getCode(),'message'=>$e->getMessage()));
}

 , ,

ex3me
()

TDD для одного разраба

Нужно или ненужно? Какие плюсы и минусы если я один работаю по TDD.

 

ex3me
()

RSS подписка на новые темы