*
  Мысли   Галерея   Проекты   Тексты  
  Мысли   Галерея   Проекты   Тексты  
Giver: GET CSV  (2016-10-25 13:21:11)

Тестирую тут один REST-серсив, все довольно стандартно: POST, PUT, DELETE, но есть что-то странное — не могу найти поинтов с методом GET.

То есть даже получить список сущностей получить невозможно, но после вдумчивого прочтения документации (а не кода) стало все понятно.

Оказалось что список всех сущностей в деноморализованом виде передается в формате CSV заваренном нотариусом по другому каналу связи, и вот там уже все идишники, так что GET не нужен

Пример такого файлика

TypeNameID
GroupTelevizors100500
SupplierGnusmas13500
SupplierLT13500
ProductLT 312675600
GroupTosters100502
GroupFrying Pans100501
ProductFP 4l13500
SupplierLaiters13500

Giver: камень  (2016-09-12 09:49:33)
Подобно тайфуну, крушащему скалы,
Кулер процессору камень разбил —
Стихия коварна (иль руки кривы?)

Giver: свитчер  (2016-05-05 12:31:11)

Так уж повелось что в моем блоге довольно много записей про клавиатуру в линуксе и ее переключение, Хотя при переходе на шиндошс на работе во многом клавиатура унифициорлвалась, даже использую винкейс и не исползую caps в виде бекспейса, но написать все равно есть о чем. Странно, но за 10 лет в линуксе с переключением раскладки стало все только хуже, теперь она тормозит и вообще ведет себя недостойно. При переходе на гном 3 осенью 2011 она начала тормозить и тормозит до сих пор. И вот наконец найдено решение!.

Причиной этого торможения является винчестер. Дело в том что при каждом переключении перезаписывается файл ~/.config/dconf/user Самое простое решение купить ссд, тогда все будет работать быстрее, но можно и смонтировать туда tmpfs, тогда переключение передачь будет еще быстрее. Так что итоговое решение получаем такое: в /etc/fstab добавляем строчку.

none /home/giver/.config/dconf tmpfs default

Есть и другой вариант, просто сделать каталог dconf симлинкой на tmp, если он тоже в раме, но это может быть несекурно, и кроме того однопользовательски получится. Зато не требует прав рута для реализации.


Giver: оракле  (2016-02-29 11:22:29)

Ну что, теперь я настоящий ынтырпрайзный программист. С ораклем, хибернейтом, ликвибейзом и множеством других интересных штук. Теперь можно писать функции в три строчки, обмазывать их километрами тестов, тестировать "order by" и другие встроенные в базу функции. А еще наконец начались веселые ситуации. так давно их не было. Все коммитят прямо в мастер, хотя это уже гит, а не свн, даже есть мержреквесты и CI, но ломать мастер это никому не мешает. Каждый раз Очень сходные ощущения испытывал когда писал на PHP и MySQL, что было уже целых десять лет назад! То есть через 4 месяца будет 10 лет как я коммерчески занимаюсь программированием!

Так вот. Обновляюсь я значит на последний коммит, пытаюсь запуститься и получаю проблему с миграцией. Сходил к автору, он мне сказал что Оракл 11г, который стоит у меня, больше не поддерживается и нужно накатить 12с. Накатил. Теперь вылетает на другой миграции, свежей и последней. Выглядит она приблизительно так:

Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set 
conf/migrations/tables/table_name.xml::2016.23.02 09:30::Vasiliy_Leonidov:
     Reason:
          conf/migrations/changelog.xml : 
liquibase.precondition.core.TableExistsPrecondition@7a663206 : Found multiple catalogs matching DARKS

        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:517)
        at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:51) 
        at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:73) 
        at liquibase.Liquibase.update(Liquibase.java:210) 
        at liquibase.Liquibase.update(Liquibase.java:190) 
        at liquibase.Liquibase.update(Liquibase.java:186) 
        at liquibase.Liquibase.update(Liquibase.java:179) 
        at com.marks.css.utils.liquibase.impl.LiquibaseServiceImpl.update(LiquibaseServiceImpl.java:41)
        ... 29 common frames omitted
Caused by: liquibase.exception.PreconditionErrorException: Precondition Error
        at liquibase.precondition.core.TableExistsPrecondition.check(TableExistsPrecondition.java:65) 
        at liquibase.precondition.core.NotPrecondition.check(NotPrecondition.java:38)
        at liquibase.precondition.core.AndPrecondition.check(AndPrecondition.java:43)
        at liquibase.precondition.core.PreconditionContainer.check(PreconditionContainer.java:202) 
        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:474)
        ... 36 common frames omitted

Перепробовал уже практически все что можно, сходил к этому Vasiliy_Leonidov, он говорит что бага не у него, а вот в предыдущей перед ним миграции. Сходил и туда. Там говорят все нормально. Начал пробовать уже совсем странные вещи. В конце концов удивительным образом вспомнил что при установке, когда создавал пользователя я создал его в ковычках и не смог подлкючиться. Тогда пересоздав его без ковычек все заработало. Кроме миграции.

Оказалось что оракл создал два пользователя, один маленькими буквами, другой большими. Практически всегда он нормально их раделял, но иногда возникали проблемы. Тогда я начал пытаться его удалить. Но не тут то было. Говорит ORA-28014: cannot drop administrative users!

Исправляется это с помощью такой конструкции:

alter session set “_oracle_script”=true;
drop user "admin" cascade;