LINUX.ORG.RU

Сообщения bryak

 

delete

delete

bryak
()

Замена ключей в выборке

 ,

Есть Выборка. Его следующая выборка:

queryset = Person.objects.filter(id=1)
<QuerySet [{'id': 1, 'some_param_id': 1, 'some_param_2': False,}]>

Есть таблица

class SomeTable(models.Model):
    name = models.PositiveSmallIntegerField(
        validators=[MinValueValidator(15), MaxValueValidator(250)],
        verbose_name="some",
        unique=True
    )

в Person поле

some_param_id = models.IntegerField(validators=[MinValueValidator(1)], blank=True)

т.е не ForeignKey, prefetch_related не получится сделать

Мне нужно в первой выборке заменить значение 1 ключа some_param_id на SomeTable__name. Как это сделать?

bryak
()

Как это лучше переписать с lambda?

 ,

param_fields = request.GET.get('fields') or None
if param_fields is not None:
   param_fields = list(param_fields.split(","))

Чтобы два раза не создавать param_field

bryak
()

Сделать ремап caps lock --> ctrl, а сам ctrl отключить

 ,

setxkbmap -layout us,ru -option "grp:shift_toggle,grp_led:scroll",ctrl:nocaps -variant ",winkeys"

Есть еще ctrl:swapcaps, который меняет местами ctrl и caps. А как сделать так, чтобы caps == ctrl, а сам ctrl отключить? Чтобы приучить себя 100% нажимать caps(как ctrl)?

bryak
()

job сервер

 , , ,

Есть задача организовать отложенную запись данных(чтобы endpoint’ы не захлёбывались.

Как пример: Есть chat-data, который имеет апи записи и чтения сообщений. Есть entrypoint chat, который предоставляет клиенту возможность писать другому пользователю сообщения и читать сообщения, которые адресованы этому пользователю.

Если писать и читать сообщения напрямую, есть несколько узких мест:

  1. при большой нагрузке chat-data и chat могут захлёбываться
  2. при отключении chat и\или chat-data сообщения не будут записаны в базу

Это просто пример, это касается всех действий пользователей, которые выполняют какие-то действия(события). Как это пофиксить? Скорей всего, необходим какой-то job-сервер, в который будут прилетать job’ы. Эндпоинт или entrypoint(?) подписывается на rabbitmq очередь, в которой он будет получать события «есть задача». Далее эндпоинт или энтрипоинт идет на job-сервер, блокирует записи, над которыми работает и начинает выполнять job’ы. Допустим в 8 потоков(настраиваемо должно быть). И выполняет их до тех пор, пока их не будет ноль. После выполнения - производится удаление job’ов.

Т.е получается, что chat chat-data могут быть отключены. При этом сообщения падают в job-сервер. Как только chat chat-data включаются, они заходят на job-сервер и начинают оттуда брать job’ы. Это правильно архитектурно? Или как-то по-другому надо делать?

Вопрос по job-серверу. Rabbitmq позволяет изменять messag’и? Т.е я делаю queue, туда прилетают job’ы. В отдельном queue прилетают нотификации о наличие job’ов. Эндпоинт или энтрипоинт выбирает несколько сообщений, блокирует их и начинает выполнять. По окончанию - удаляет их из queue. Rabbitmq позволит так делать? Или делать отдельный job-сервер с апи добавления задач и записи их, скажем, в postgresql?

bryak
()

Вопрос про охлаждение

 

Есть системный блок

https://i.ibb.co/3CpJDt0/IMG-20200702-190542.jpg

https://i.ibb.co/ZX8tWZP/IMG-20200702-190554.jpg

https://i.ibb.co/Ct10Z5H/IMG-20200702-190559.jpg

https://i.ibb.co/gStTtyN/IMG-20200702-190839.jpg

Передняя часть у корпуса - сплошная сетка с фильтрами. Но у боковушки есть вентиляция и тянет воздух оттуда, где сопротивление потоку ниже т.е не с передней части, а с боковой крышки. Я вот думаю, может залепить скотчем вентиляционные отверстия на боковой крышке? Тогда воздух будет тянуть с торца передней части корпуса т.е через фильтры

  1. Меньше пыли
  2. Меньше шума от фана видеокарты и процессора
  3. Прохладный воздух будет проходить через hdd, охлаждая его

Как думаете, стоит закрывать вентиляционные отверстия скотчем на боковой крышке?

PS: сейчас скотч на боковой крышке - резонансы крышки убрал

bryak
()

git submodule after clone

 

Сделал я проект, скажем some-data. Есть отдельная репа common. Мои действия:

1. Создаю репу some-data
2. cd some-data
3. git init
4. change .git/config
5. git clone git@bitbucket.org:some_name/common.git
6 .git submodule add git@bitbucket.org:some_name/common.git;git submodule init
7. git add .;git commit;git push origin master
8. cd ..; rm -rf some-data

Далее я хочу проверить, всё ли ок

1. git clone --recurse-submodules -j8 git@bitbucket.org:some_name/some_data.git
2. cd some-data
ls -a common
.  ..  bash  .git  .gitignore  python

cat common/.git
gitdir: ../.git/modules/common
cd common
touch 1; echo "wefwewwe" > 1
git add .;git commit;git push origin master
error: unable to push to unqualified destination: HEAD
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@bitbucket.org:some_name/common.git'

  1. cd ..
  2. git add .;git commit;git push origin master

коммит проходит, но в репозитории common нет изменений, а в коммите some-data примерно такое:

-Subproject commit f971964634505ed3fd844675da0bd908c7d3a5a1

+Subproject commit 39ca9270f87da8276a8bd7e66f744f9c30e7352a
bryak
()

Хочу поставить gentoo в /home/gentoo

 ,

Как мне правильно примонтировать / в fstab?

UUID=some_uuid /home           ext4    defaults,noatime,commit=60,data=writeback,barrier=0,journal_async_commit          0       2

/home/gentoo /               none    bind,noatime,commit=60,data=writeback,barrier=0,nobh,journal_async_commit,errors=remount-ro 0       1

Вот так, всё верно?

bryak
()

emacs backspace не работает

 ,

По backspace вызывается C-h

bryak
()

как поставить mpv с deb-multimedia.org?

 , , ,

cat /etc/apt/sources.list.d/multimedia.list

# multimedia
deb http://www.deb-multimedia.org buster main non-free

cat /etc/apt/apt.conf.d/99enable-unsecure-repos

# Acquire::Check-Valid-Until "false";
Acquire::AllowInsecureRepositories "true";
# Acquire::AllowDowngradeToInsecureRepositories "true";

apt-get update

apt-get install -t deb-multimedia mpv

Reading package lists... Done
E: The value 'deb-multimedia' is invalid for APT::Default-Release as such a release is not available in the sources
bryak
()

Если генту собрать на виртуалке, ее придется пересобирать на реальной системе?

 

Если я соберу генту в virtualbox’e и перенесу ее в реальную систему, то мне нужно будет ее полностью пересобирать? Т.е она в виртуалке соберется без полного перечня CFLAGS и тд

bryak
()

pomodoro аплекуха

 

Разыскивается pomodoro timer, чтобы умел сворачиваться в трей, ничего лишнего и не был привязан к gnome/kde. Пакет к emacs не предлагать т.к он у меня не daemon и поэтому он может выключаться. Дистрибутив debian. Скрипты на баш с inotify не предлагать :)

bryak
()

bitbucket wokspace project

 ,

Я хочу создать воркспейс, в нем создать два проекта. В двух проектах я хочу создать репозиторий common.

Делаю это и второй репозиторий common не получается создать(пишет, что такой репозиторий уже есть)

  1. По факту можно создать только в разных воркспейсах одинаковые репозитории common. Т.е изоляция происходит не на уровне воркспейс проект, а на уровне воркспейс

  2. реально нельзя при формировании вокспейса указать id типа myname/some_workspace(при создании он формирует вокспейс с id myname-some_workspace)

Они перед тем, как сделать воркспейсы и проекты хорошо подумали? Т.е я не могу создать один воркспейс и создать там два проекта с одинаковым именем репозитория common, т.к изоляция имен не происходит на уровне вокспейс проджект, а только на уровне воркспейс

/me под столом от смеха

bryak
()

mpv vulkan отсос петрович

 , , ,

"[vo/gpu/vulkan] Failed initializing SPIR-V compiler!"

Что ж так-то? Срамота, товарищи. Дистрибуютив debian. В gentoo при включении флага vulkan появляется блокировка от glslang

По мотивам https://github.com/mpv-player/mpv/issues/6124

Заметьте, 2018год

bryak
()

стоит ли менять debian на gentoo?

 ,

Десктоп. Девелоп направленность. В принципе на дебиан всё работает. Ваше мнение. Nixos не предлагать

bryak
()

firefox как смотреть видео в mpv?

 , ,

Какой есть плагин, который реализует просмотр видео(ютуб и всё остальное) в mpv? Т.е чтобы была возможность прописать external command

bryak
()

gentoo без openrc

 , ,

Я просто поинтересоваться. Допустим, я хочу без openrc. Тогда вот такое конфигурирование не работает https://wiki.gentoo.org/wiki/OpenRC, да?

Т.е network уже не настраивается с помощью /etc/conf.d/net, верно? А настраивается systemd-networkd.service

Т.е, в debian есть обёртка, с помощью которой осуществляется настройка network(/etc/network/interfaces), а в gentoo, если избавиться от openrc такой обёртки нет. Верно?

bryak
()

Загрузить fragment по click

 ,

cat FillFormFragment.kt

package com.example.some

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup

class FillFormFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
            inflater.inflate(R.layout.fragment_fillform, container, false)

    companion object {
        fun newInstance(): FillFormFragment = FillFormFragment()
    }
}

Мне надо его загрузить из ProfileFragment. В ProfileFragment есть textview, я делаю обработку на клик

val fill_form: TextView = self?.findViewById(R.id.fill_form) as TextView

fill_form.setOnClickListener {
...
}

Как это сделать?

bryak
()

imagebutton приклеенный к circleimageview

 , ,

Пример: https://www.androidhive.info/wp-content/uploads/2019/02/android-social-profile-like-instagram-min.jpg

кнопка с плюсиком

Это не правильно

<de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/profile_image"
        android:layout_width="192dp"
        android:layout_height="192dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_profile"
        app:civ_border_width="1dp"
        app:civ_border_color="#FF000000"/>
    
    <ImageButton
        android:id="@+id/edit"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginLeft="20dp"
        android:background="@drawable/ic_add_photo_black_24dp"
        android:layout_alignParentRight="true" />
bryak
()

diff на две директории

 , ,

В dwm некоторые патчи не совсем корректные(нужно после patch -p1 < фиксить некоторые моменты). Хочу для себя сделать патчи, после которых не нужно будет ничего фиксить. Итак, делаю две директории

mkdir {old,new}

далее в директорию old закидываю чистый dwm + все патчи в директорию patch

Далее делаю

cp -prf old new
cd old/dwm
patch -p1 < ../patch/1.dwm-autostart-20161205-bb3bd6f.diff
cd ../../

далее выполняю diff на две директории и формирую патч

diff -ur new old > 1.dwm-autostart-20161205-bb3bd6f_my.diff
``

далее удаляю old и беру оригинальное состояние до patch
```bash
cp -prf new old

пробуй накладывать СВОЙ патч

cd old/dwm
patch -p1 < ../../patches/1.dwm-autostart-20161205-bb3bd6f_my.diff
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur new/dwm/dwm.c old/dwm/dwm.c
|--- new/dwm/dwm.c       2020-05-20 20:29:21.000000000 +0300
|+++ old/dwm/dwm.c       2020-05-20 20:51:40.458254267 +0300
--------------------------
File to patch:

Как от этого избавиться, чтобы вручную не указывать файл dwm.c?

bryak
()