Как отключить enter в st?
В st можно отключить Enter? Хочу себя приучить к C-m
В st можно отключить Enter? Хочу себя приучить к C-m
PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
Как добавить в этот PS1 вот это?
$(__git_ps1 '(%s)')
Что-то я растерялся из-за обилия [
┌─[user@debian-home]─[~/media/source_project/dj/work/some/auth]
└──╼
Надо сделать
┌─[user@debian-home]─[git_branch_name]-[~/media/source_project/dj/work/some/auth]
└──╼
А то неудобно, иногда сабмодули перескакивают на HEAD-some с мастера, нужно видеть в каком бренче нахожусь
Что есть готовое? Нужна стандартная схема: Централизованный сервер auth, который выдает jwt. А сервисы привязываются к auth и чекается этот jwt. Конечно, можно это всё и самому написать, но у меня не 10 рук. Хотелось бы что-то готовое, чтобы можно было сразу это имплементировать. Можно и не jwt, а обычные токены
Я, чтобы не раздражать анонимуса, решил почитать документацию :) https://firebase.google.com/docs/auth/android/custom-auth
auth = Firebase.auth
val currentUser = auth.currentUser
там вот такие импорты:
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.auth.ktx.auth
import com.google.firebase.ktx.Firebase
вот это не хочет импортироваться
import com.google.firebase.ktx.Firebase
или Firebase лежит где-то в другом месте?
Task :app:compileDebugKotlin FAILED
Unresolved reference: Firebase
Есть блок питания cooler master 500w. В работе больше 5 лет. Работа в день около 8-10 часов. Без игр. i5 + 1050(3 мес до этого на встроенной видео). Думаю, может отнести в СЦ пусть поганяют его, может там кандеры уже высохли? Или не стоит?
Вы давно заглядывали в этот рейтинг? Там уже половина фильмов из MARVEL. Такие фильмы, как Deja Vu (2006) оттуда исчезли. Что есть на замену imdb? Чтобы можно было взять список вменяемых фильмов и налить их с торентов
в bash.nix
PATH="/run/wrappers/bin:/home/user/.nix-profile/bin:/etc/profiles/per-user/user/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:${pkgs.android-studio}/jre/bin"
export |grep -i path
declare -x PATH="/run/wrappers/bin:/home/user/.nix-profile/bin:/etc/profiles/per-user/user/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/nix/store/97rj36ghpmc8z0g246vq3bqarvxycibj-android-studio-stable-3.5.3.0/jre/bin"
[user@nixos:~]$ ls /nix/store/97rj36ghpmc8z0g246vq3bqarvxycibj-android-studio-stable-3.5.3.0/
bin share
там нет jre
а в debian’e есть
ls /opt/android-studio/
bin build.txt Install-Linux-tar.txt jre lib license LICENSE.txt NOTICE.txt plugins product-info.json
Окей, есть бекенд и мобильная аплека.
А вот тут возникает несколько вопросов:
Допустим, у пользователя закончился срок действия токена. Окей, он стучится на сервер auth со своим просроченным token’он, auth смотрит, что есть старый токен, окей, старый меняем на новый. Всё верно или есть какой-то другой механизм?
Токен перехватили. Как определить что тот, кто дает этот токен - это владелец токена? Допустим, человек поменял телефон или данные с телефона утекли другому человеку. Этот человек можно юзать этот токен. Как этого избежать и какие есть механизмы? Может внутри токена нужно класть какой-то hardware id телефона?
В теме Firefox 79 присутствует дезинформация о том, что при апдейте ff стал иметь кодовую базу nightly и у него слетели addon’ы. Это не правда. Аддоны на месте и бразуер летает, по сравнению со старой кодовой базой
cat docker-compose.yml
version: '2'
services:
python:
build: docker/python
container_name: ${PYTHON_CONTAINER}
volumes:
- ./app:/var/www/html
- ./common/python:/var/www/html/common
working_dir: /var/www/html
networks:
- some-back
depends_on:
- db
environment:
SERVICE_NAME: ${CONTAINER}
POSTGRES_HOST: ${POSTGRES_HOST}
POSTGRES_PORT: ${POSTGRES_PORT}
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
db:
build: docker/postgis
container_name: ${DB_CONTAINER}
volumes:
- ${POSTGRES_DATA}:/${POSTGRES_DATA}
networks:
- some-back
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
PGDATA: /${POSTGRES_DATA}
VER_POSTGRES: ${VER_POSTGRES}
networks:
some-back:
external: true
cat docker-compose.dev.yml
version: '2'
services:
python:
tty: true
ports:
- "${WEB_PORT_EXT}:${WEB_PORT_INT}"
environment:
ENV: dev
CONTAINER: ${CONTAINER}
При запуске docker-compose
ERROR: Duplicate mount points: [/home/user/auth/dbdata:/dbdata:rw, /home/user/auth/dbdata:/dbdata:rw]
В debian более старая версия docker-compose, в nixos по-свежей. В дебиан всё работает, в nixos - нет
надо заменить /lib/systemd/system/docker.service
from:
ExecStart=/usr/bin/dockerd -H unix://
to:
ExecStart=/usr/bin/dockerd -g /home/user/docker -H unix://
Как это сделать?
Есть endpoint’ы и entrypoint’ы. Есть мобильное приложение. Нужно сделать централизованную аутентификацию(по типу mama-cas) + мобильное приложение в firebase. Как это всё по логической цепочке делается?
Мобильное приложение авторизуется в firebase, потом обращается к микросервису auth, на котором mama-cas, все эндпоинты и энтрипоинты привязываются к сервису auth, и когда от мобильного приложения поступает запрос к API, в теле запроса должен быть token, который отдал auth мобильному приложению? При этом в auth еще нужно создать юзера с правами(и где его создавать или в auth или в endpoint-data, где лежит профиль юзера?), чтобы потом можно было рулить пермишенами
схема авторизации. Вообще, как лучше ее делать? Сейчас предполагается использования только номера мобильного телефона. Но, скорей всего username делать именем телефона нельзя, т.к сегодня это номер телефона, а завтра авторизация через социалки. Что брать за основу username при регистрации? Стандартный метод username:password тут не получится использовать. В качестве username может использовать какой-то hardware-id телефона?
Может ну ёё, эту django-cas-ng\mama-cas? На DRF сделать регу юзера и авторизацию с выдачей токена. А все endpoint’ы ? entrypoint’ы будут стучаться на auth по какому-то апи и чекать на наличие токена?
Есть что-то готовое? Нужно пройтись по проекту и прочекать файлы, в которых есть n комментарий. Чтобы можно было:
Что-то у меня не получается настроить https://github.com/rycee/home-manager
home-manager удобно использовать, когда конфиг из одного файла. А если конфиг с директориями и там много файлов как быть? Может легче выполнить cp -prf template/some_config ~/.config?
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.system.custom.fonts;
in {
options.system.custom.fonts = {
enable = mkEnableOption "enable fonts";
dpi = mkOption {
type = types.int;
default = 141;
description = ''
dpi of the monitor
'';
};
};
config = mkIf cfg.enable {
fonts = {
enableFontDir = true;
enableGhostscriptFonts = true;
fontconfig = {
dpi = cfg.dpi;
subpixel = {
lcdfilter = "none";
rgba = "rgb";
};
hinting = {
enable = true;
autohint = true;
style = "hintmedium";
};
enable = true;
antialias = true;
# defaultFonts = { monospace = [ "inconsolata" ]; };
};
Не получается убрать «разноцветные шрифты»
Есть endpointA, endpointB, endpointC. Нужно ли для каждого endpoint’a делать свой entrypoint?
Т.е на endpoint’ах всё-равно доступ к API происходит на основании разрешений. Скажем, юзеры могут только обращаться к методу list, retrieve, а delete не могут делать. Какая принципиальная польза делать entrypoint, если внутрь него пробрасываются API из entrypoint’a?
Делаю nixos-rebuild test и у меня собирается gcc из сорсов. Можно этого избежать?
Сабж
Можно ли использовать celery без rabbitmq и redis? Чтобы работало исключительно с базой данных. celery-beats
Есть endpointA, приходит запрос на добавление записи. В таблице есть hook на post_save
@receiver(post_save, sender=Some)
def some_create(sender, instance, created, **kwargs):
...
В этом хуке some_create вызывает API endpointB. Допустим, endpointB лежит. Что делать? Нужно же куда-то записать эти данные, а потом, когда endpointB поднимется, сделать call API –> endpointB. Как правильно это организовывается? Чтобы я какой-нибудь велосипед не изобретал:)
← назад | следующие → |