domingo, 29 de setembro de 2024

Comandos LINUX

PROCURAR

• apropos: Localiza comandos pesquisando palavra-chave cp

• find: Localizar arquivos ex: find -name *.txt

• info: Abre o explorador de informações (precisa instalar o pacote info)

• whatis: Descreve o que um determinado comando faz

• whereis: Localizar a página de ajuda (man page), código fonte, ou arquivos binários, de um determinado programa

• grep: Procura um arquivo por um padrão, sendo um filtro muito útil e usado

# cat a.txt | grep ola

// irá mostrar-nos apenas as linhas do arquivo a.txt que contenham a palavra “ola”

PERMISSÕES

• chown: Mudar o dono ou grupo de um arquivo ou diretório, vem de change owner

• chgrp: Mudar o grupo de um arquivo ou diretório

GESTÃO DE ARQUIVOS/DIRETÓRIOS

• awk: procurar em um ou mais arquivos por linhas que contenham um determinado padrão e, quando encontrar, executar uma

determinada ação. Por padrão, o awk lê a partir de um arquivo e mostra o resultado na saída padrão.

• sort: Ordena, une ou compara texto, podendo ser usado para extrair informações dos arquivos de texto ou mesmo para ordenar

dados de outros comandos como por exemplo listar arquivos ordenados pelo nome

• # awk -F: '$3 > 999' /etc/passwd | sort -nt: -k 3 > /tmp/passwd.new

• wc: Conta numero de linhas, palavras e bytes do arquivo

 INFORMAÇÃO DE ESTADO

• df: Exibe um resumo do espaço livre em disco

# df -H

• du: Exibe um resumo do uso do espaço em disco de cada arquivo

• Free: Verificar a utilização da memória RAM

# free -m

    

quinta-feira, 29 de agosto de 2024

Docker: comandos

docker kill $(docker ps -q) 

derruba todos os containers ativos

----------------------------------------


sexta-feira, 19 de julho de 2024

Erro de decode ao usar dumpdata do django

 Qdo acontecer tem que instalar a lib:

pip install django-dump-load-utf8

 configurar no INSTALLED_APPS e rodar o comando:

python manage.py core > core.json

que vai estar todos os dados com o acento e não dará erro de encoder quando usar o loaddata

terça-feira, 18 de junho de 2024

Selecionar conteúdo na vertical e colocar na horizontal no Pcharm

 Primeiro "ativar" o modo SELEÇÃO DE COLUNAS:

- Teclado(Alt+Shift+Insert)

- Mouse(Edit->Column Selection Mode)


Depois de ATIVADO a opção acima pressionar Shift+Arrows Down para marcar as linhas desejadas 


Por fim apertar Ctrl+Shift+J que as linhas antes em colunas ficarão em uma linha só.


Por fim desativar o modo de seleção apertando novamente

- Teclado(Alt+Shift+Insert)

- Mouse(Edit->Column Selection Mode)


quarta-feira, 29 de maio de 2024

Editando uma função criada dentro do supabase

 Para editar uma função criada anteriormente, primeiro é preciso apagar a mesma.

DROP FUNCTION get_users_without_profiles()

após isso só recriá-la como no passo anterior

Criando uma SQL raw dentro do supabase

Você pode criar a função no SQL Editor do Supabase ou através de um script. Aqui está o SQL para criar a função:

quinta-feira, 16 de maio de 2024

Permitir acessar a table USER do supabase de fora do supabase

add security definer to your function definition so that the function doesn't use the invoking user's permissions (security invoker is the default).

If you define your function with security definer privileges it will work. I used this for a while before switching to get the email from the JWT instead:

-- check if the passed user id is registered and return the email if registered or null if not registered

create or replace function "public"."get_user_email"(p_user_id uuid) returns text

    language "plpgsql"

    security definer

    as $$ 

    begin

        return (

            select email from "auth"."users" where id = p_user_id

        );

    end;

$$;

alter function "public"."get_user_email"(uuid) owner to "postgres"; 

Acessar os USERS da table User do supabase através de uma FUNCTION

Supabase provides several options for creating database functions. You can use the Dashboard or create them directly using SQL.

We provide a SQL editor within the Dashboard, or you can connect to your database

and run the SQL queries yourself.


Go to the "SQL editor" section.

Click "New Query".

Enter the SQL to create or replace your Database function.

Click "Run" or cmd+enter (ctrl+enter).

Após entrar criar a function seguindo o exemplo

create or replace function get_planets()

returns setof planets

language sql

as $$

  select * from planets;

$$;

Para chamar no code:

const { data, error } = supabase.rpc('get_planets')

const { data, error } = supabase.rpc('get_planets').eq('id', 1)

Pode-se passar argumentos ou não