Просмотр списка установленных пакетов в CentOS
Посмотреть список установленных пакетов, их версий и вендоров в CentOS можно командой:
1 |
rpm -qa --qf '%{NAME} %{VERSION} %{VENDOR}\n' |
Посмотреть список установленных пакетов, их версий и вендоров в CentOS можно командой:
1 |
rpm -qa --qf '%{NAME} %{VERSION} %{VENDOR}\n' |
Представляю Вашему вниманию бандл для Symfony2 Standard Edition, разработанный для облегчения работы с большими наборами данных таблицы. SPS — это аббревиатура для поиска, разбиения на страницы, сортировки, то есть пакет может применять фильтры, обеспечивать пагинацию, сортировку данных. Бандл реализуется как служба, которая получает Doctrine\DBAL\Query\QueryBuilder или Doctrine\ORM\QueryBuilder и возвращает форму фильтров и массива с данными для… Читать далее »
Предлагаю postgresql функцию, позволяющую получить атрибуты всех полей и ключей из любых таблиц сервера. Начну с примера. Допустим надо вывести атрибуты таблицы fos_user:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# select * from return_ro_tables_info() where tab_name='fos_user'; tab_name | attnum | field | type | isnotnull | pri | default_adsrc | comment ----------+--------+-----------------------+-----------+-----------+-----+-----------------------------------+----------------- fos_user | 1 | id | int8 | t | t | | fos_user | 2 | username | varchar | t | | | fos_user | 3 | username_canonical | varchar | t | | | fos_user | 4 | email | varchar | t | | | fos_user | 5 | email_canonical | varchar | t | | | fos_user | 6 | enabled | bool | t | | | fos_user | 7 | salt | varchar | t | | | fos_user | 8 | password | varchar | t | | | fos_user | 9 | last_login | timestamp | f | | NULL::timestamp without time zone | fos_user | 10 | locked | bool | t | | | fos_user | 11 | expired | bool | t | | | fos_user | 12 | expires_at | timestamp | f | | NULL::timestamp without time zone | fos_user | 13 | confirmation_token | varchar | f | | NULL::character varying | fos_user | 14 | password_requested_at | timestamp | f | | NULL::timestamp without time zone | fos_user | 15 | roles | text | t | | | (DC2Type:array) fos_user | 16 | credentials_expired | bool | t | | | fos_user | 17 | credentials_expire_at | timestamp | f | | NULL::timestamp without time zone | (17 rows) |
Названия колонок таблицы говорят сами за себя, описывать не буду Ну и, собственно, сам код функции
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
-- Информация о колонках и ключах таблиц DROP FUNCTION IF EXISTS return_ro_tables_info(); CREATE OR REPLACE FUNCTION return_ro_tables_info() RETURNS TABLE( tab_name varchar, attnum integer, field varchar, type varchar, isnotnull boolean, pri boolean, default_adsrc varchar, comment varchar ) AS $$ SELECT c.relname::varchar AS tab_name, a.attnum::integer, a.attname::varchar AS field, t.typname::varchar AS type, a.attnotnull::boolean AS isnotnull, (SELECT 't'::boolean FROM pg_index WHERE c.oid = pg_index.indrelid AND pg_index.indkey[0] = a.attnum AND pg_index.indisprimary = 't' ) AS pri, (SELECT pg_attrdef.adsrc::varchar FROM pg_attrdef WHERE c.oid = pg_attrdef.adrelid AND pg_attrdef.adnum=a.attnum ) AS default_adsrc, (SELECT pg_description.description::varchar FROM pg_description WHERE pg_description.objoid = c.oid AND a.attnum = pg_description.objsubid ) AS comment FROM pg_attribute a, pg_class c, pg_type t, pg_namespace n WHERE n.nspname = 'public' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid AND n.oid = c.relnamespace ORDER BY c.relname, a.attnum; $$ LANGUAGE sql; |
Для конвертирования djvu в pdf необходимо установить ПО:
1 |
sudo apt-get install libtiff-tools djvulibre-bin djvulibre-desktop |
Затем файл djvu нужно конвертировать в формат tiff, для этого выполняем:
1 |
ddjvu -format=tiff yourfile.djvu yourfile.tiff |
И напоследок осталось конвертировать файл tiff в df, выполнив:
1 |
tiff2pdf -j -o outfile.pdf yourfile.tiff |
P.S. вышеуказанные команды для ОС Debian/Ubuntu. Для Centos apt-get меняем на yum
Довольно часто возникает необходимость в классе формы Symfony2, опциям поля типа «select» добавить HTML атрибуты. Сделать это можно так: расширяем метод
1 |
Symfony\Component\Form\AbstractType::finishView |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/** * @param FormView $view * @param FormInterface $form * @param array $options */ public function finishView(FormView $view, FormInterface $form, array $options) { parent::finishView($view, $form, $options); $additionalAttributes = array(); // myMethod - метод объекта $choice, возвращающий значение, которое надо подставить в атрибут foreach ($view->children['orders']->vars['choices'] as $id => $choice) { $additionalAttributes[$id] = array( 'data-cost' => $this->propertyAccessor->getValue($choice->data, 'myMethod'), 'disabled' => 'disabled', ); } foreach ($view->children['orders']->children as $id => $child) { $child->vars['attr'] = array_replace( isset($child->vars['attr']) ? $child->vars['attr'] : array(), $additionalAttributes[$id] ); } } |
Это руководство шаг за шагом продемонстрирует, как подключиться к WiFi сети в командной строке Linux. Будем использовать: wpa_supplicant iw ip ping iw — основной инструмент для сетевых задач, связанных с WiFi, таких как нахождение имени устройства WiFi, поиска точек доступа. wpa_supplicant — беспроводной инструмент для подключения к сети WPA / WPA2. ip — используется для… Читать далее »
Нередка ситуация, когда в классе формы требуется создать несколько элементов <select>, значения которых зависят друг от друга. Типичный пример — страны-города. На гитхабе есть решения, но они в составе бандлов. Предлагаю своё решение. Сразу, как будет выглядеть класс нашей формы:
1 2 3 4 5 6 7 8 9 10 11 12 |
$builder ->add('country', 'entity', array( 'class' => 'AppBundle:Country', 'empty_value'=> '== Choose country ==', 'required' => false, )) ->add('city', 'my_dependent_entity', array( 'class' => 'AppBundle:City', 'property' => 'name', 'parent_field' => 'country', )) ; |
Два поля — страны и города — список городов будет формироваться в зависимости от… Читать далее »
Возникают ситуации, когда надо привязать зависимую сущность Doctrine, а самой сущности нет, есть только её ID. Конечно, по ID всегда можно получить эту сущность
1 2 3 |
$author = $this->getDoctrine()->getRepository('AcmeDemoBundle:Author')->find($autorId); $post = new Post(); $post->setAuthor($author); |
Но можно избежать лишнее получение объекта. Для это у Doctrine2 есть Reference Proxies.
1 2 3 |
$em = $this->getDoctrine()->getManager(); $post = new Post(); $post->setAuthor($em->getReference('Acme\DemoBundle\Entity\Author', $authorId)); |
Скачивание всех URL, из файла MY_FILE:
1 |
wget -i MY_FILE |
Скачивание в указанный каталог ( -P ):
1 |
wget -P /path/to/save ftp://ftp.example_site.org/some__file.iso |
Использование имя username : password на FTP/HTTP:
1 2 |
wget ftp://username:password@ftp.my_example.org/some__file.iso wget --user=username --password=password ftp://ftp.my_example.org/some__file.iso |
Загрузка в фоновом режиме ( -b ):
1 |
wget -b ftp://ftp.my_example.org/some__file.iso |
Продолжить (-c continue) загрузку ранее не полностью загруженного файла:
1 |
wget -c https://my_example.org/some__file.iso |
Скачать страницы с глубиной следования 15, записывая протокол в файл my_log.log:
1 |
wget -r -l 15 https://my_example.org/ -o my_log.log |
Скачать содержимое каталога https://my_example.org/custom/my-directory/… Читать далее »
Получить размер всех директорий можно командой:
1 |
du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done |