LINUX.ORG.RU

Сообщения bryak

 

nixos vs debian+ansible

Форум — Development

Хочется, чтобы можно было дублировать/быстро переразворачивать окружение/возвращать в какое-то состояние oc. Nixos на первый взгляд удобно: декларативное конфигуриривание ос, снепшоты, возможность ядро пересобрать со своими опциями и другие плюшки. Но боюсь, что там стабильности ноль, как у любого роллинг плюс сломанная структура нахождения либ бинарников, что может вызывать всякие лулзы. Кто юзает nixos, как вы там живете, что ломается и насколько часто? Или может debian+ansible?

 ,

bryak
()

Эффективное использование tiling

Форум — Talks

Хотелось бы услышать, как другие используют tiling

У меня есть несколько рабочих станций. Десктоп1 - 24", десктоп2 - 20", ноутбук на работе 15"(новая работа. Временное решение, купят монитор скоро). За 10 лет использования тайлинга вывел для себя некоторую стратегию использования.

  1. тайлинг на маленьких экранах: удобней всего работать с двумя вертикальными тайлами(60\40). Основная идея тайлинга «перемещать в мастер окно то, с чем работаешь» - не прижилась. Сейчас подумал почему. В dwm нет хидера в тайле. Поэтому, если тайлов больше трех - неудобно переключаться между ними т.к не видно визуально что там за тайл(если много терминалов, то не видно где сейчас pwd находится какой-то терминал). А перемещаться по тайлам и следить в титл…легче и быстрей открыть новый терминал и забить туда путь или открыть какую-то тузлу, чем искать ее в 10 тайлах. При монокле есть свои недостатки. Опять же, зная о том, что быстрей открыть терминал и сходить куда-то в нем и что-то сделать, открываешь новый терминал, сделал и…перешел на предыдущий тайл, в котором работаешь. Потом опять терминал или что-то еще, а потом переключаешься в режим tiling, а у тебя 35 терминалов и 10 каких-то открытых окон в тайлах. Берешь и просто их закрываешь без заглядывания что там внутри

  2. тайлинг на больших экранах: думаю, что большие для тайлинга начинаются от 27-30". Потому как на 20-24" можно комфортно работать не с двумя тайлами, а с…тремя =). Если без редактора(которому нужен тайл по вертикали чем больше - тем лучше), то максимум с 4 тайлами. Больше тайлов - опять всё не читабельно, а перемещать в мастер окно, опять же, у меня лично не прижилось. Думаю, что 27+" - там одно мастер окно, - не особо удобно. Там уже лучше два мастер окна по 1\3 экрана, а slave - в остальной 1\3. Вообще, при таком размере экрана было бы не лишним динамически менять кол-во мастер тайлов и иметь возможность их половинить по горизонтали. Но не думаю, что есть такие патчи для dwm, а в awesome, постоянно падающую и тормознутую при накручивании функционала, желания ходить нет. Xmonad же так и отказывается работать с keepassx, не открывая его из трея.

А вы как пользуетесь тайлом? Указывайте сразу размер экрана и кол-во мониторов и как вы всем этим хозяйством управляете. Только не нужно рассказывать про IM и browser в отдельных тегах в монокле, это у всех так. Больше интересно как вы обустраиваете именно кодинг + логи + что-то еще, связанное с девелопом

 ,

bryak
()

вывод в консоли времени

Форум — Desktop

в buster 24h формат был сменен 12h. Как это изменить?

 , ,

bryak
()

annotate в выборку

Форум — Development

djangorest

есть выборка

q = Some.objects.get(id=1).exists()

Есть сериализатор

some = BooleanField()

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

 ,

bryak
()

company и невозможность удалить слово, пока не нажал C-g

Форум — Development
(defun xsel-cut ()
  (interactive)
  (if (display-graphic-p)
      (progn
        (message "Yanked region to x-clipboard!")
        (call-interactively 'syntax-subword-backward-kill)
        )
    (if (region-active-p)
        (progn
          (shell-command-on-region (region-beginning) (region-end) "xsel -i -b")
          (call-interactively 'kill-region)
          (message "Yanked region to clipboard!")
          (deactivate-mark))
      (call-interactively 'syntax-subword-backward-kill))))

Если я напечатал три символа и есть слово для автодополнения, выпадает список слов от company, я нажимаю C-w(бинд xsel-cut и не могу удалить слово, пока не нажму C-g(отмена для company). Как это победить?

 ,

bryak
()

кеширование всей информации таблицы в redis\memcache

Форум — Development

Есть таблицы. Хочу, чтобы при запуске приложения вся информация из таблицы заливалась в memcache\redis, чтобы можно было быстро производить поиск по полям таблицы(много записей, индексы слабо помогают, да и нагрузка при каждом поиске 99%). Как это реализовать?

Есть такой вот пример

https://www.codementor.io/@aakashkumardas/how-do-filter-data-100-x-faster-in-django-using-redis-qp73vq5ip

Но там при каждом save, delete - очищается кеш, что неоптимально, как мне кажется. Как правильно это всё реализовать?

 ,

bryak
()

static пример из книги

Форум — Development
class StaticDemo {
  static int a = 42;
  static int b = 99;

  static void callme() {
    System.out.println("a = " + a);
  }
}

class StaticByName {
  public static void main(String[] args) {
    StaticDemo.callme();
    System.out.println("b = " + StaticDemo.b);
  }
}

class HelloWorld {
  public static void main(String[] args) {
    StaticByName x = new StaticByName();
    // System.out.println(x.main());
  }
}

Два первых класса из книги. Как бы это интегрировать в текущий пример и вообще к чему этот пример?

 

bryak
()

А есть dell модель, такая же по качеству, как m6800, только 15"?

Форум — Talks

сабж

 ,

bryak
()

Как в сериализаторе проверить, что все field пусты?

Форум — Development

Djangorest:

  1. все field в сериализаторе могут быть пустыми. Но надо проверить, если ВСЕ field пустые при сериализации - тогда exception. Как это сделать?

  2. как сделать pop field’a, если он равен '' ?

 ,

bryak
()

Нужен декоратор, который будет дампить аргументы функции и return

Форум — Development

Где-то видел декоратор, который печатает то, что пришло в функцию и то, что она вернула. Никак не могу его найти) типа:

@debug_func
func1(...):
   ...

out

"in: args: a=15, b=14, kwargs={'z': 1} out: 12"

 

bryak
()

bash функции проверки и добавления\изменения строк в файлах

Форум — Development

Делаю на баше деплой системы. Есть два действия, которые я не знаю как реализовать.

  1. Есть темплейты типа ~/myscript/templates/etc/fstab. Внутри темплейта есть строки, которые нужно добавить в fstab. Сейчас это
cat ~/myscript/templates/etc/fstab >> /etc/fstab

Но это не правильно т.к если два раза запустить деплой скрипт, то два раза эти строки добавятся в /etc/fstab. А хотелось бы, чтобы бралась каждая строка из файла темплейта, далее делалась проверка наличия ее в /etc/fstab, если ее нет - тогда добавляем, если есть - игнорим

  1. опять же есть темпейты, как пример: cat ~/myscript/templates/etc/some
SOME_STR = 12

Хотелось бы, чтобы бралась каждая строка из файла темплейта и чекалось, есть ли эта строка в /etc/dest и есть SOME_STR = some, то менялось на SOME_STR = 12, если ее нет - тогда добавление в /etc/dest

 

bryak
()

скрипт бекапа. Не игнорирует директории

Форум — Development
source /etc/PROFILE

ARRAY=()
prefix_exclude="--exclude="
list_exclude=("${PROFILE_USER_HOME}/archives" \
                  "${USER_HOME}/.cabal" \
                  "${USER_HOME}/.cache" \
                  "${USER_HOME}/.ccache"\
                  "${USER_HOME}/.dropbox-dist" \
                  "${USER_HOME}/.dwm" \
                  "${USER_HOME}/.emacs.d" \
                  "${USER_HOME}/.ghc" \
                  "${USER_HOME}/.golang" \
                  "${USER_HOME}/.googleearth" \
                  "${USER_HOME}/.local/share/Steam" \
                  "${USER_HOME}/.local/share/Trash" \
                  "${USER_HOME}/.npm" \
                  "${USER_HOME}/.recoll" \
                  "${USER_HOME}/.sdkman" \
                  "${USER_HOME}/.steam" \
                  "${USER_HOME}/.thumbnails" \
                  "${USER_HOME}/.vim" \
                  "${USER_HOME}/.wine" \
                  "${USER_HOME}/.wine" \
                  "${USER_HOME}/Desktop" \
                  "${USER_HOME}/Downloads" \
                  "${USER_HOME}/docker" \
                  "${USER_HOME}/export" \
                  "${USER_HOME}/game_distr" \
                  "${USER_HOME}/game_server" \
                  "${USER_HOME}/garbage" \
                  "${USER_HOME}/media" \
                  "${USER_HOME}/myconfig" \
                  "${USER_HOME}/myscript" \
                  "${USER_HOME}/node_modules" \
                  "${USER_HOME}/old_home_d" \
                  "${USER_HOME}/skeleton" \
                  "${USER_HOME}/virtualbox vms" \
                  "${USER_HOME}/.gradle" \
                  "${USER_HOME}/Android" \
                  "${USER_HOME}/.AndroidStudio3.5" \
                  "/root/.emacs.d" \
                  "/root/.vim" \
             )

# exclude dead directories
for var in "${list_exclude[@]}"
do
    if [[ -d "${var}" ]]; then
        VAR3="${prefix_exclude}\"${var}\""
        ARRAY+=(${VAR3})

    fi
done

sudo ${HLPR_PRIORITY_LOW} tar cf - \
     ${ARRAY[@]} \
      ${USER_HOME} \
     /etc \
     /root \
    | sudo ${HLPR_PRIORITY_LOW} gzip -7 > "${HLPR_DIR_BAK}/home-backup-$(date '+%Y%m%d_%H%M%S').tgz"

 

bryak
()

как запустить андроид приложение с помощью adb?

Форум — Development

Телефон находится в режиме отладки. Подключен. Запуск в android студио нормально запускает проект. Как запустить проект с помощью adb на телефоне(как это делает android studio)? Мне надо в имаксе писать, хочу по хоткею настроить запуск. Как это через shell adb сделать?

 , androidб, ,

bryak
()

Не могу собрать java android проект

Форум — Development
git clone https://github.com/czak/minimal-android-project
gradle installDebug

out:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/user/media/source_code/kotlin/minimal-android-project/build.gradle' line: 10

* What went wrong:
A problem occurred evaluating root project 'minimal-android-project'.
> Failed to apply plugin [id 'com.android.application']
   > Gradle version 2.2 is required. Current version is 4.4.1. If using the gradle wrapper, try editing the distributionUrl in /home/user/.gradle/daemon/4.4.1/gradle/wrapper/gradle-wrapper.properties to gradle-2.2-all.zip

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

cat gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip

Та же ошибка

 , ,

bryak
()

не могу собрать kotlin проект

Форум — Development

Установил sdk для kotlin

https://www.initworks.com/story/2017:11:6:10:91a03bf0ce47886ef5ea407f587b8be4

Склонировал минимальный проект

git clone https://github.com/csells/min-kotlin-android

создал local.properties с содержимым

sdk.dir=/usr/lib/android-sdk

Запускаю сборку

gradle installDebug

и получаю ошибку

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'min-kotlin-android'.
> Failed to notify project evaluation listener.
   > Could not initialize class com.android.sdklib.repository.AndroidSdkHandler

 , , ,

bryak
()

Универсальный serializer

Форум — Development

Есть много словарей, с одним единственным полем: name. Хочу создать универсальный сериализер, но не получается

class ApiViewSet(mixins.ListModelMixin,
                mixins.CreateModelMixin,
                mixins.DestroyModelMixin,
                viewsets.GenericViewSet):
 queryset = ApiName.objects.all()
 serializer_class = ApiSerializer
class ApiSerializer(serializers.Serializer):
    name = serializers.CharField()

out:

NotImplementedError: `create()` must be implemented.

 ,

bryak
()

Анализ django проекта

Форум — Development

Есть проект. Я хочу как-то логировать вызов функций при каких-то событиях. Сконфигурировал django_pdb, но он в pdb показывает вызов системных функций джанги, а не вызов функций, к примеру, вьюх. Как правильно залогировать вызов функций?

 

bryak
()

сабмодуль как апдейтить?

Форум — Development

создал я репозиторий common

В 1 проекте добавляю сабмодуль

git submodule add git@bitbucket.org:some/common.git
git submodule init

далее делаю:

git add .;git commit;git push origin master

Закоммитил. Далее делаю изменение в common. При коммите вылезает сообщение, что файл в common изменен и сделайте commit -a. Делаю commit -a и ничего не меняется. Как правильно апдейтить сабмодуль? Может какой-то хук нуже или я что-то не правильно делаю?

 

bryak
()

Как производится авторизация по токену в мобильном приложении?

Форум — Development

Есть сервер на djangorest

http post http://127.0.0.1:8000/api-token-auth/ username=vitor password=123

out:

{
    'token': some
}

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

 , , , ,

bryak
()

Как производится авторизация по токену в мобильном приложении?

Форум — Development

Есть сервер на djangorest

http post http://127.0.0.1:8000/api-token-auth/ username=vitor password=123

out:

{
    'token': some
}

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

 , , , ,

bryak
()

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