Zamiast tworzyć odrębną metodę obsługi eksportu można przełączać kontekst za pomocą rozszerzenia .csv
Czytaj dalej CSV – CsvView Plugin – 3.x – przełączanie klasy
Zamiast tworzyć odrębną metodę obsługi eksportu można przełączać kontekst za pomocą rozszerzenia .csv
Czytaj dalej CSV – CsvView Plugin – 3.x – przełączanie klasy
Rodzaje: Basic, Digest, Bearer (OAuth 2.0), HOBA (HTTP Origin-Bound Authentication), Mutual, AWS4-HMAC-SHA256
Inicjalizacja silnika szablonów
Obsługa req.body
Przydatne metody
Usuwa domyślny nagłówek http o serwerze
app.disable('x-powered-by')
Usunięcie z nagłówków HTTP nazwy serwera Apache 2
/etc/apache2/apache2.conf
ServerSignature Off ServerTokens Prod
Usuwanie slash’y, query string, wszystkie małe litery
const path = req.url.replace(/\/?(?:\?.*)?$/, '').toLowerCase()
integrity – atrybut kontrolek script i link – skrót zawartości pliki (sha256, sha384, sha512) kodowany w base64
<script src="https://example.com/myscript.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous"></script>
Wyliczenie skrótu dla zawartości pliku myscript.js
# cat myscript.js | openssl dgst -sha384 -binary | openssl base64 -A oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC
# nmcli d # nmcli device show # nmcli c # nmcli connection show
# ip a # ip route show
# routel - tablica routingu
Instalacja skryptu
Uruchomienie na lokalnej maszynie
# cd prysm/ # ./prysm.sh beacon-chain --http-web3provider=/home/john/snap/geth/477/.ethereum/geth.ipc gpg: klucz 72E33E4DF1A5036E: klucz publiczny ,,Preston Van Loon <preston@prysmaticlabs.com>'' wczytano do zbioru gpg: Ogółem przetworzonych kluczy: 1 gpg: dołączono do zbioru: 1 beacon-chain-v1.0.3-linux-amd64: OK gpg: Podpisano w wto, 1 gru 2020, 15:43:14 CET gpg: przy użyciu klucza RSA 0AE0051D647BA3C1A917AF4072E33E4DF1A5036E gpg: Poprawny podpis złożony przez ,,Preston Van Loon <preston@prysmaticlabs.com>'' [nieznany] gpg: OSTRZEŻENIE: Ten klucz nie jest poświadczony zaufanym podpisem! gpg: Nie ma pewności co do tożsamości osoby która złożyła podpis. Odcisk klucza głównego: 0AE0 051D 647B A3C1 A917 AF40 72E3 3E4D F1A5 036E Verified /home/john/prysm/dist/beacon-chain-v1.0.3-linux-amd64 has been signed by Prysmatic Labs. Starting Prysm beacon-chain --http-web3provider=/home/john/snap/geth/477/.ethereum/geth.ipc
Domyślny katalog danych
# datadir=/home/user/.ethereum
# datadir=/home/user/snap/geth/477/.ethereum - dla snap'a
// pobrać pakiet # tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz # export PATH=$PATH:/usr/local/go/bin # export GOPATH=/usr/local/go/bin # source /etc/profile
# go version
go version go1.15.5 linux/amd64
Go-ethereum
// jasko zwykły user - utworzy podkatalog go w katalogu roboczym
# go get -d github.com/ethereum/go-ethereum
# export GO111MODULE=on
# source /etc/profile
# go install github.com/ethereum/go-ethereum/cmd/geth
Bitbucket: git@bitbucket.org:john/repo_name.git
# git remote add origin git@bitbucket.org:john/repo_name.git
Co potrzeba:
Jeśli brak uprawnień wysyła do strony początkowej
Dołącza podzbiór zdarzeń na kliencie i znajduje ostatnie zdarzenie, zaraportowane, starsze niż obecna data (przyszłe zdarzenia nie miały miejsca to tylko plany). Jeśli ostatnie zdarzenie jest starsze niż 3 miesiące ustawia alarm.
public function findLastEvent($query, $options) { $query = $query->contain([ 'Events' => function($q){ return $q->select([ 'id', 'company_id', 'last_visit' => 'MAX(start_date)', 'alarm' => $q->newExpr()->addCase( [ $q->newExpr()->lt('MAX(start_date)', $q->func()->dateAdd('CURRENT_DATE', -3, 'MONTH')) ], [1,0], ['integer', 'integer'] ) // addCase ]) // select ->where(['report <>' => '']) // Zaraportowane ->where(['start_date <=' => new \DateTime('now')]) ->order(['start_date' => 'DESC']) ->group(['Events.id']); }]); return $query; }
Wybieramy gałąź bazową (zwykle master) do której chcemy włączyć inną
# git checkout master # git merge patch01 # git log --graph --decorate # git push origin master // wysłanie do repo zdalnego
Nowa gałąź obejmuje całe repozytorium rodzica
# git branch patch01 # git checkout patch01 # git branch -b patch01 // tworzy i od razu wybiera (przełącza się) gałąź # git branch patch02 patch01 // tworzy branch patch02 na podstawie patch01 (zamiast master)
# git log # git log -- nazwa_pliku.txt # git log --oneline // poszcz. zatw. w jednej linii # git log --oneline nazwa_pliku.txt # git log -p // szczegółowe info # git log -p -- nazwa_pliku.txt # git log --graph --decorate
Po dodaniu zdalnego repozytorium (zakłada katalog: MyProjectName)
# git clone git@github.com:my_username/MyProjectName.git
możemy aktualizować zmiany i wysyłać (push) do zdalnego repo GITHUB bez konfiguracji
# git push origin
Po zmianach wykonanych w zdalnym repo (GitHub) aktualizujemy lokalne repo
# git pull
Wyszukanie plików nowszych niż 21 dni w katalogu projekty/
# find projekty/ -type f -mtime -21 > pliki_find_pl_20201013.txt
Utworzenie archiwum skompresowanego znalezionych plików
# tar -zcvf projekty_PL_20201013.tgz --files-from=pliki_find_pl_20201013.txt
Odtworzenie archiwum – wgrywa pliki z archiwum do podkatalogu ./projekty/
# cd /katalog/projektu/webroot # ls projekty/ # tar -zxvf projekty_PL_20201013.tgz
Lokalny katalog projektu
# git clone project/ clone-of-project -- kopiuje śledzone pliki z projektu project/ w nowym katalogu clone-of...
Pierwsze operacje na nowym projekcie
# git status # git add nazwa_pliku # git add . // dodaje wszystko w katalogu # git add -A // dodaje wszystko # git commit -m "komentarz" # git commit -a -m "komentarz" // zatwierdza wszystko # git log
Linux:
# git config --system core.editor nano # git config --global user.name "myname" # git config --global user.email "myname@o2.pl"
Kolejne kroki
Generowanie kluczy w Linux:
# ssh-keygen -t rsa -b 4096 -f ./my_proj_key -C "Nazwa klucza"
- nie podawać hasła
# ls -l my_proj_key // klucz prywatny my_proj_key.pub // klucz publiczny
Windows Store
Ubuntu – download – Install
PowerShell as Administrator
# Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Restart? Y
# ssh-keygen -t rsa -b 4096 -f ./klucz_dell -C "JO DELL"
Ręczna baza danych w przypadku zgubienia hasła administratora
Ustawienie rekordu odwrotnego domeny PTR w przypadku problemów z pocztą dla: tea-tec.domena.pl dla IP 81.177.4.24. Rekord wprowadza dostawca adresu IP.
Zapytanie dig w formie PTR
# dig 24.4.177.81.in-addr.arpa PTR
;; ANSWER SECTION: 24.4.177.81.in-addr.arpa. 86400 IN PTR tea-tec.domena.pl. ;; AUTHORITY SECTION: 4.177.81.in-addr.arpa. 86400 IN NS dns3.exatel.pl.
W filtrowaniu treści – wybieramy z listy opcję – wybrane ID, nazwy przekazujemy jako parametery query string. Pozwala to na filtrowanie po wielu parametrach niezależnie.
let url = new URL(location.href); let onChangePostion = function(){ url.searchParams.delete('page'); // 1 strona var position_name = $(this).find(':selected').text().trim(); // Nazwa var position_id = $(this).val(); // id if(position_id) { url.searchParams.set('position_id', position_id); } else { url.searchParams.delete('position_id'); } location.href = url.toString(); return false; }; $("#filter-position").on('change', onChangePostion);
Czytaj dalej Przełączanie URL – query string – filtrowanie po wielu parametrach