LINUX.ORG.RU

Сообщения Camel

 

PHP code beautifier с поддержкой отступов табуляцией и выравнивания пробелами

Форум — Development

Есть такой в природе? Чтоб запускался из командной строки, а не средствами Emacs'а или PHPStorm'а. Вообще, есть бьютифаеры PHP помимо PHP_beatify и phpcf? У первого только две опции "--indent_tabs" и "--indent_spaces".

В описании phpcf говорится, что выравненные выражения остаются выравненными. Что происходит с отступами неясно.

 code beautifier, code formatter, ,

Camel
()

Codeception действительно такое дерьмо каким кажется?

Форум — Development

Закинула меня судьбинушка заниматься тестированием на PHP. В компании уже немного укоренился Codeception. И вот о нём хочу спросить, оно действительно настолько дерьмово или я просто не умею пользоваться этой замечательной программой?

Претензия номер раз. Идея сделать код близким к человеческому языку не так хороша как может показаться. Вот пример из статьи на Хабре:

<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');
Выглядит круто. Но ближе к реальным тестам всё начнёт расползаться. Вот один из первых примеров из документации:
<?php
$I = new FunctionalTester($scenario);
$I->amOnPage('/');
$I->click('Sign Up');
$I->submitForm('#signup', ['username' => 'MilesDavis', 'email' => 'miles@davis.com']);
$I->see('Thank you for Signing Up!');
$I->seeEmailSent('miles@davis.com', 'Thank you for registration');
$I->seeInDatabase('users', ['email' => 'miles@davis.com']);
Уже пошли какие-то словари и массивы. В реальных тестах всё ещё хуже, ещё больше тест напоминает PHP и ещё меньше человеческий язык (на самом деле вообще не напоминает). То есть codeception'овые тесты не могут просматриваться, редактироваться, оцениваться, критиковаться, дополняться и т.п. никем кроме PHP-программистов. Идея теста на человеческом языке в таком виде провалилась.

Понимая это, в Codeception добавили возможность исполнения Gherkin-файлов. То есть сделали Cucumber/Behat (официальная реализация Cucumber'а на PHP), но с неповторимым вкусом говна. Мало того, что Codeception не поддерживает feature-файлы на языке отличном от английского (для менеджеров я бы хотел писать на русском), так ещё и в Codeception позабыли зачем хотели иметь тесты на человеческом языке. При исполнении gherkin-файлов в консоль не выводятся пройденные шаги. Более того даже с -v не выводятся. Step'ы будут выводится начиная с уровня -vv, а в какой строке в них случился exception только на уровне -vvv. То есть вывести в консоль сколько тестов прошло, сколько завалилось — это важно, а что при это делалось, в каких местах тесты падали — это совершенно не важно.

Далее. Я прочёл пару статей в защиту Codeception'а, которые даже размещены на сайте Codeception'а. Первая и вторая. Обе показались каким-то бредом, в котором всё перевёрнуто с ног на голову. Якобы код на codeception'е проще писать, потому что есть автодополнение. Аллё, feature-файлы вообще пишутся на естественном языке. Если вы не можете писать по-английски чего вам надо, то никакой autocomplete вам не поможет. А если вам нужно что-то за рамками стандартных функций Codeception'а, то опять же отсосайтунг, автокомплит не поможет. А нужно это часто. Авторы codeception'а рассчитывают, что стандартные функции покрывают 90% случаев. Хрен-то там, я бы не дал больше 50%. Да и те тривиальны, элементарно и быстро реализуются step'ами Behat'а.

Во второй статье автор тоже попытался всё вывернуть наизнанку

Don’t fall into a marketing trap. You will find yourself writing tests two times: as a feature in plain English and in code with PHP.

Это же и есть самое большое преимущество Behat'а и Cucumber'а! Кто-то, менеджер, product owner, другой программист или тестировщик может написать test case или usage scenario, а потом кто-то другой может это перевести с человеческого на машинный. Другими словами, один человек написал тест на Gherkin'е, и потом может другому объяснить что же в нём происходит. Точнее даже пояснять не придётся. Если написано «Кладу в блендер 1 банан/ Кладу в блендер 5 клубничин/Кладу в блендер стакан йогурта/Вижу в блендере смузи», то это и происходит, это и проверяется. Неподготовленные люди могут писать feature-файлы, но никто не станет писать тест на codeception/PHP. Cucumber позволяет иметь хоть какое-то описание чего же всем этим людям надо, а с codeception'ом тесты это вольная фантазия автора, и всякому ещё нужно будет пояснять что же в этих тестах происходит, проверяется и какой test case покрывает.

Так поясните же мне кто понимает, чем же этот codeception хорош? Кто в здравом уме станет им пользоваться?

 , behat, codeception,

Camel
()

Сообщить в военкомат о смене места работы

Форум — Talks

На новой работе дали «листок сообщения об изменении сведений о гражданах состоящих на воинском учете», сказали отвезти в военкомат, корешок вернуть в отдел кадров.

Кто-нибудь сталкивался с таким? Сколько раньше работу не менял, ничего такого не просили.

Кто-нибудь знает способ сообщить в военкомат эти сведения без личного визита, заказным письмом например? Лень тащиться.

 военкомат

Camel
()

Использование LSP в Emacs'е

Форум — Development

Правильно я понимаю, что идея language server'а в том, чтобы не писать поддержку каждого нового языка для всех редакторов и сред разработки?

Вот вроде бы в Emacs'е есть lsp-mode. Правильно я понимаю, что с этим плагином Emacs выступает клиентом lsp-сервера, информация о подсветке, автодополнении и прочих штуках должна поступать от lsp-сервера, её не должно уже реализовывать в Emacs'е. Так?

Но почему тогда на страние lsp-mode'а написано, что поддерживаются только некоторые языки, а не все поддерживаемые LSP?

Support for programming languages is provided by the following packages:

lsp-rust
lsp-go
lsp-python
lsp-haskell
lsp-java

Как мне через LSP получить CSS, JavaScript, C#?

 ,

Camel
()

Как правильно писать заяву о мошенничестве?

Форум — Talks

На L.o.r.'е есть специалисты по всем вопросам, и уж точно есть юристы. Подскажите как правильно написать и подать заявление о мошенничестве в следующей ситуации: некоторый гражданин А пообещал оказать услугу, предложил оплатить её переводом с карты Сбера на карту Сбера гражданина Б, деньги переведены, услуга не оказана. Чек из сберовского терминала имеется. Где подсмотреть образец заявления и правила его подачи?

 , , ,

Camel
()

Поиск шнура для утюга на aliexpress'е

Форум — Talks

На L.o.r.'е есть специалисты по всем вопросам.

Вот скажите, в какой категории и под каким названием на aliexpress можно найти шнур для утюга, в тканевой оплётке, с «евро»-вилкой?

Примерно такой:

http://www.estateline.ru/files/goods/h0024/1203079/3866009.jpeg
http://хозэлектроторг58.рф/assets/images/goods/1649.JPG

Мне не верится, что там таких не продают, но найти в каталоге не удалось. Пробовал слово braided, выдаёт какие-то браслеты.

При чём здесь Linux? Ну, Linux якобы можно поставить на утюг (с проводом).

 , провод, ,

Camel
()

О Secure Boot, LUKS и безопасности.

Форум — General

Я наверное тупой, но может кто-нибудь ещё раз объяснит пользу от Secure Boot?

В более узком контексте: есть два стула

  • на одном GRUB и шифрование всего носителя. Незашифрованными остаются только MBR либо GPT и раздел bios_grub (1 мегабайт).
  • ну другом UEFI, шифрование всего носителя и Secure Boot. Незашифованным остаётся GPT и раздел EFI с grub-efi (100 мегабайт)

В обоих случаях ядро лежит на шифрованном разделе, без пароля доступа к нему нет. Что мне даст использование EFI и Secure Boot? От каких атак я смогу защититься если подпишу ядро и вставлю свой ключ в хранилище ключей ноутбука?

 , , ,

Camel
()

Печать на немецком

Форум — Desktop

Вопрос к тем кто живёт в Германии, Австрии или много пишет на английском, немецком и русском. Скажите, как вы печатаете на немецком? У вас настроена стандартная раскладка QWERTZ или какой-нибудь способ который может показаться извращенским, например нажатие «u:» печатает «ü», а «ss» выводит «ß»?

Второй вопрос, как вы переключаетесь между тремя раскладками? Одна кнопка переключает по кругу, или три разных сочетания для трёх раскладок, или одна кнопка переключает между английским и каким-то ещё, а другая задаёт которая из раскладок, немецкая или русская, будет этой какой-то ещё?

 eszett, немецкий

Camel
()

O cryptocompress в Reiser4

Форум — General

Где можно почитать документацию о модуле cryptocompress для Reiser4? Как он работает? Какие ограничения? Как им пользоваться?

Что касается сжатия, то в сети можно найти примеры. Но вот что касается шифрования, то я даже примеров не нашёл. Как включить эту опцию? Как задать пароль? Как вводить пароль? Нужно это делать при монтировании файловой системы или отдельной командой? Как работает шифрование? Все ли данные шифруются? Шифруется только содержимое файлов? Или размеры файлов тоже скрыты? А названия файлов? А сам факт существования файлов? А метаданные файловой системы?

А GRUB может грузить с Reiser4 с cryptocompress'ом? Вроде бы поддержку Reiser4 реализовали, но работает ли это всё с cryptocompress?

 cryptocompress,

Camel
()

GRUB с LUKS и LVM на GPT без boot partition

Форум — General

Нашёл руководство по установке GRUB'а на полностью зашифрованный носитель на котором используется LVM.

http://www.pavelkogan.com/2014/05/23/luks-full-disk-encryption/

Но там используется таблица разделов DOS (это та что в связке с MBR)

parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary 2048s 100%

А можно сделать подобную конфигурацию, но с GPT? То есть зашифрован весь диск, кроме таблицы разделов, на нём LVM, на LVM root, home и прочее. Без отдельного незашифрованного загрузочного раздела.

Руководство GRUB'а говорит, насколько я понял, что это не запрещено.

https://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html

With this format (GPT), it is possible to reserve a whole partition for GRUB, called the BIOS Boot Partition. GRUB can then be embedded into that partition without the risk of being overwritten by other software and without being contained in a filesystem which might move its blocks around.

Но у меня grub-install ругается, требует BIOS Boot Partition. Это лечится какими-нибудь опциями и модулями?

 , , ,

Camel
()

Не запускается realgud в Emacs на Windows.

Форум — Development

Волею судеб приходится пользоваться вендой. Хвала Столману, что хоть Emacs на ней работает, хоть и не так хорошо как даже в Ubunt'е.

Ну так вот, проблема в том, что в Emacs'е на венде не работает realgud. В Ubunt'е если я запускаю realgud, то текущий фрейм делится на 2 части, в одной исходник с меткой где сейчас исполнение, в другой командная оболочка отладчика (в моём случае pdb). Ввожу команды, вижу результат.

На венде если я запускаю M-x realgud:pdb, то текущий фрейм не делится надвое, целиком на него открывается отладчик, причём он будто бы не реагирует ни на какие команды. Вводишь r, c или n, жмёшь enter, никакой реакции, только курсор переводится на следующую строку. Но если нажать q, то резко появляется весь текст который должен был бы появится если бы отладик реагировал на команды, а фрейм делится надвое (в другом фрейме как и положено исходник). Но толку от этого мало, потому что отладчик отработал команду q[uit]. Почему так происходит? Кто-то не возвращает управление Emacs'у? Где-то буферизуется вывод и не доходит до Emacs'а? Дело в Emacs'е или венде, или командном интерпретаторе венды? Как это исправить?

Ещё, при запуске M-x realgud:pdb Emacs ищет pdb в PATH, для этого пришлось создать pdb.bat с таким текстом:

python -m pdb %*
Пробовал так же
python C:\Python27\Scrips\Lib\pdb.py %*
результат такой же.

Использую Emacs-25.1-2-x86-w64-mingw32.

 , , , ,

Camel
()

Какое ядро у Radeon M360?

Форум — Linux-hardware

У меня Thinkpad E460 с Radeon'ом M360. Какие бинарные ядерные блобы мне нужны для запуска свободных драйверов?

Правильно я понимаю, что M360 относится к поколению Sea Islands? Тогда, согласно Xorg Radeon Feature это ядра

BONAIRE, KABINI, MULLINS, KAVERI, HAWAII

В директории с Radeon'овскими прошивками есть отдельные файлы для всех этих слов.

Таки какие мне нужны?

 ,

Camel
()

Push'нуть локальную git-ветку в SVN

Форум — Development

На сервер есть SVN. Локально у меня git-svn.
На сервере есть ветки trunk, earth и mars. В какой-то момент я локально создал git'овую ветку moon и сделал в ней несколько коммитов. Как теперь её запушить на svn'овский сервер?

Я понял, что нужно на svn'овском сервере создать ветку командой

git svn branch -m "Create branch moon" moon

Но как теперь засунуть в неё мои коммиты? Если я нахожусь в ветке moon, то git svn dcommit хочет слать изменения в earth

$ git branch
  earth
  mars
  master
* moon

$ git svn dcommit -n
Committing to svn+ssh://server/svn/branches/earth ...
diff-tree 4f2c3da46bc8a53ea65f1814ffb0a297eb8b10de~1 4f2c3da46bc8a53ea65f1814ffb0a297eb8b10de
diff-tree 3174fd7fdd2af3582a57af4c0233d25226c8149e~1 3174fd7fdd2af3582a57af4c0233d25226c8149e
diff-tree 377137dbd5678f1397611f3ae81f8e162b03ebd7~1 377137dbd5678f1397611f3ae81f8e162b03ebd7
diff-tree 6b65f273373f05032877c9a8ad37567482dcfe8f~1 6b65f273373f05032877c9a8ad37567482dcfe8f
diff-tree 09008800796bebe4ea46409dbce91ac56e0bc6e8~1 09008800796bebe4ea46409dbce91ac56e0bc6e8
diff-tree ea2cf0a79fb4f9895586ffb5519bec72cd18deac~1 ea2cf0a79fb4f9895586ffb5519bec72cd18deac
diff-tree 685a3a2e72d12a01fc4106f4a20c81fa24c0fe15~1 685a3a2e72d12a01fc4106f4a20c81fa24c0fe15
diff-tree c67cdaf1a0c3ce4f7bbae216c1996c7b0d48a904~1 c67cdaf1a0c3ce4f7bbae216c1996c7b0d48a904
В интернете полно руководств для ситуации когда сначала создаётся новая ветка, а потом в неё делаются коммиты. Как поступить в моём случае я не разобрался.

 , ,

Camel
()

Об установке Eclim и Java

Форум — General

Захотел поставить Eclim. В репах Ubunt'ы нету (уже минус). Захожу на сайт Eclim'а, пишут, что нужен Eclipse 4.6. В Xenial только 3.8. Нахожу PPA, но пакет eclipse-ide-java, который в нём есть по сути не бинарник, а обёртка вокруг скачивалки jar'а, извращение, короче. Дальше пока не продвинулся, электричка доехала до моей станции.

Вот скажите, с Jav'ой всегда так? Изврат на изврате. Я думал Ubuntu, Java и Eclim достаточно популярны чтобы для них были нормальные общечеловеческие deb'ы, а вот хрен-то там. Чувствую дальше будет ручной пердолинг с прописыванием путей, и всё это будет работать только на моём ноутбуке, а если я захочу перенести на другую машину, то весь пердолинг по новой. Нет, я справлюсь, просто в XXI программы не должны ставиться с такими энергетическими затратами. Или я неправильно ставлю Eclim?

Перемещено tailgunner из development

 , ,

Camel
()

GuixSD 0.12

Новости — GNU's Not Unix
Группа GNU's Not Unix

21 декабря состоялся выпуск Guix и GuixSD 0.12. Прошлая версия вышла чуть более 4 месяцев назад. В разработке приняли участие 76 человек.

Guix — функциональный менеджер пакетов, гарантирующий отсутствие изменений в поведении одних пакетов при установке или обновлении других, а также атомарность установки и обновления пакетов и дающий возможность установки и одновременного использования любого количества версий любых пакетов. Guix может работать с правами обычного пользователя в $HOME в других дистрибутивах GNU/Linux. GuixSD — ОС с Guix в качестве пакетного менеджера.

( читать дальше... )

GuixSD и Guix можно скачать в виде образа USB-накопителя или архива для установки в другой ОС на базе Linux.

>>> Оригинал новости

 , ,

Camel
()

Thinkapad E460 без Windows

Форум — Linux-hardware

Собираюсь в обозримом будущем приобрести Thinkpad E460 (с Radeon'ом). Очень похожая модель одобрена Ubunt'ой. Но возникли вопросы насчёт Windows и EFI.

  1. Если снести венду начисто, то не перестанет ли ноутбук грузиться, в том числе в EFI-режиме?
  2. Как сейчас работает процедура отказа от уплаты Microsoft Tax для Lenovo в России? Кто-нибудь проходил с Windows 10?

 , microsoft tax, , ,

Camel
()

Увольнение перед праздниками. Что с отработкой?

Форум — Talks

На большинстве предприятий действует правило (подкреплённое законами и традициями): после подачи заявления об увольнении надо отработать 2 недели. А что будет если я подам заявление 23 декабря 2016 года? Пять дней я отработаю в 2016 году, а потом длинные выходные. Должна ли бухгалтерия меня рассчитать 30 декабря? Выдаст ли мне отдел кадров трудовую книжку в 2016 году, или могут сказать приходить 9 января? Или даже попросят поработать недельку в 2017 году?

 , , ,

Camel
()

Зарплаты разных ИТ специальностей.

Форум — Talks

В ИТ есть разные специальности, много их: программисты, админы, тестировщики, девопсы, хэккеры, пентестеры. Многие из названных тоже делятся на разные подвиды. А как соотносятся у них зарплаты? Понятно, что хреновые и топовые специалисты есть в каждой из этих областей, их случаи неинтересны, потому что, очевидно, зарплаты крутых специалистов высоки. Но какие у айтишных специальностей медианные зарплаты? Если сферический программист получает в некоторой конторе 100 очков игры «Угадай мелодию», то сколько в той же конторе получают админы и тестировщики?

 

Camel
()

О свободе свободного драйвера Radeon'ов

Форум — Talks

А вот скажите, имея свободный драйвер для Radeon'а и его блобофирмварь можно сделать драйвер для, например, Minoca? Или эта блобофирмварь линуксоспецифична?

 ,

Camel
()

Понизить битрейт ролика

Форум — Mobile

Есть какой-нибудь способ конвертировать видеоролик с понижением битрейта прямо на телефоне? Есть для этого какая-нибудь программа в Google Play? Лучше бесплатная.

 ,

Camel
()

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