- Zaznaczamy obszar
- Formatowanie warunkowe -> Nowa reguła -> Użyj formuły…
- Formuła:
=WIERSZ()=KOMÓRKA("wiersz")
- Formatuj -> Wypełnienie -> Deseń
- Prawym na arkusz->Wyświetl kod
- Zamiast (General) -> Worksheet
- Wpisujemy w procedurę
Target.Calculate
- Zamykamy okno bez zapisywania
Kategoria: Informatyka i komputery
Tworzenie www, outsourcing IT, administracja linux, praca zdalna, serwis komputerowy.
VS:Code Jupyter – interaktywne wykresy z matplotlib
Automatyka domowa zapis czynności
- Zainstaluj Raspbiana na raspberry PI. Uaktywnij SSH dodając plik
/boot/ssh
. - Przy użyciu raspi-config wyłącz manager okien, aktywuj I2C i 1-Wire.
- Zainstaluj Domoticz:
curl -sSL install.domoticz.com | sudo bash
- Zainstaluj serwer MQTT – mosquitto
- Skonfiguruj urządzenia na ESP8266/ESP32 z zainstalowanym oprogramowaniem Tasmota.
- Skonfiiguruj domoticz.
Pusta wartość “wmic cpu get LoadPercentage”
Z konsoli administratora wydaj polecenie:
lodctr /R
Linux – komendy
Pomoc:
Potrzebujesz dokładnego opisu polecenia? wpisz więc coś takiego: man
hasło. Spowoduje to wyświetlenie jeśli to możliwe, podręcznika do “hasła”.
Oznaczenia:
Polecenia zakończone jednym lub dwoma wykrzyknikami wymagają wysokich
uprawnień (nawet root’a), czasem nawet fizycznego dostępu do komputera.
Mogą więc być niepraktyczne przy zdalnej pracy za pomocą telnet lub ssh.
arch – wyświetla informacje na temat budowy komputera na którym pracujesz
awk – interpreter skryptowego języka programowania
bzip2 (*.bz2) – wysokowydajny kompresor
cal – ustawienia daty cat – przekierowuje strumień danych (np. sklejanie plików cat plik1 plik2 >plik12
cd – zmiana katalogu (bez parametru: przejście do katalogu użytkownika)
chown! – ustawianie właściciela pliku
chmod – ustawianie praw dostępu do pliku tzw. atrybuty
clear – czyści okno terminalu
cmp – porównuje pliki
copy – kopiuje pliki i katalogi
cp – kopiuje pliki
cut –
date – wyświetla lub zmienia datę
dd – konwertuje i kopiuje pliki
diff – porównuje zawartość plików, np. kodu źródłowego programu
du – oblicza zajętość na dysku
df – informuje o wolnych blokach na dysku
dircmp – porównuje katalogi
dmesg!! – podaje wszystkie komunikaty wyświetlane przy uruchamianiu systemu
echo –
egrep – odmiana polecenia grep
elm – program pocztowy
exit – wylogowanie z konsoli
fdisk!! – zarządzanie partycjami dysku
fetchmail! – zarządzanie zewnętrzną pocztą
file – testowanie pliku
find – wyszukiwanie pliku, katalogu
finger! – wyszukuje informacje o użytkowniku
fsconf!! – program do zmian ustawień systemu plików
fsck!! – naprawa systemu plików
ftp – prosty klient ftp
gcc – kompilator języka c
gnus – przeglądarka news
grep – wyszukiwanie linii spełniających wyrażenia
gzip (*.gz) – kompresor
gzip -9v * kompresja z maksymalną skutecznością poszczegolne pliki w katalogu, zastępując stare.
head – wyświetlanie początkowej części pliku
hello – wysylanie krótkiego tekstu na ekran adresata
host – podaje informacje o ‘sieciowych’ danych dotyczączych komputera
hostname! – wyświetlanie lub zmiana nazwy komputera
hwconfig –
ipcalc – program umożliwiający operacje na adresach ip
irc – klient irc
joe – edytor tekstów
join – specjalne sklejanie plików
kernelversion – podaje informacje o wersji używanego kernela
kill – zabijanie procesów
pc – kopiuje plik
ps – zarządzanie procesami
less – przeglądarka tekstów, obustronne przewijanie
lftp – dobry klient ftp
lilo!! – boot manager (Linux Loader)
links – przeglądarka www, świetna obsługa tabel
ln! – tworzy dowiązania symboliczne tzw. linki
loadkeys – ładuje nową mapę klawiatury, np. polską
locate – odpowiednik polecenia where
logout – wylogowanie z konsoli
ls – wyświetla zawartość katalogu
lynx – przeglądarka www
make!! – kompilacja jądra
man – wyświetla podręcznik do programu podanego jako parametr
mesg – włącza i wyłącza reagowanie na wywoływania
mc – menedżer plików: midnight commander
mkdir – tworzy nowy katalog
mkfs!! – formatowanie systemu plików
more – przeglądarka tekstów, przewijanie w dół
mush – program pocztowy
mutt – rozbudowany program pocztowy i news
more – program do wyświetlania pliku na ekranie
mount!! – podłącza (montuje) systemy plików / napędy
mv – zmienia nazwe/przenosi plik
newgrp! – zmiana grupy aktualnego użytkownika
pack – prosty kompresor
passwd! – ustawianie hasła
paste – łączy wiersze pliku
pico – dość przyjazny edytor tekstowy
pine – wygodny program pocztowy
ping – wysyła pakiety testowe
procmail – narzędzie zarządzające pocztą
ps – wyświetla informacje o procesach
pwd – wyświetla ścieżkę bieżącego katalogu
quota – sprawdza/ustawia ograniczenie wielkości konta
rm – usuwa pliki
rmdir – usuwa pusty katalog
rpm!! – instaluje pakiety rpm
scp – kopiowanie zdalne plików szyfrowane
screen – otwiera nowe okna konsoli podczas pracy zdalnej
sed – edytor strumieniowy, umożliwia w zaawansowaną podmianę ciągu
setenv! – ustawia zmienna lokalna/globalna
setterm – ustawienia konsoli
sort – sortuje linie w pliku
split – tworzy jeden lub wiecej plikow z pliku wejsciowego
ssh – bezpieczny telnet tzw. secure shell
startx!! – uruchamia x-window
su!! – umożliwia prace z uprawnieniami roota
slrn – dobry klient news i pocztowy
tail – wyświetlanie końcowej części pliku
talk – wywołuje adresata na wspólną pogawędkę w czasie rzeczywistym
tar – archiwizer plików, poprawia skuteczność kompresji kompresora jak:
gzip, bzip2
np.1: tar -cz ./katalog/ >archiwum.tar.gz
np.2: tar –use-compress-program=bzip2 -c ./katalog/ >archiwum.tar.bz2
telnet – klient telnet
tin – klient poczty i news
top – wyswietla obciazenie procesora przez poszczegolne procesy
touch – uaktualnia datę pliku
tr –
umount!! – odłącza systemy plików / napędy
uniq –
unpack – rozpakowuje pliki spakowane poprzez ‘pack’
unzip – rozpakowuje pliki .zip
np.: unzip -o -u plik.zip rozpakuje do bierzącego katalogu, bez potwierdzania nadpisze stare
uptime – mowi jak dlugo jest uruchomiony komputer
w – wyświetla “kto co robi”
wc – raportuje ilość linii, słów, znaków w wyspecyfikowanych plikach
wget – ściągacz plików, obsluga ftp, http
np.: wget -r -l1 -A gif,jpg http://programy.com/lista.html
where – podaje ścieżke poszukiwanego programu
whereis – inna nazwa polecenia where
which – podaje sciezke do szukanego programu
who – informuje o zalogowanych użytkownikach
whodo – co kto robi
write – wysyłanie jednorazowo wiele linii tekstu na ekran adresata
vi – skomplikowany edytor tekstowy, dostępny w każdej odmianie unixów
Mini stacja czujników online
Spakowany sketch Arduino: Pobierz sketch Mini stacja czujników online
Wymagana biblioteka (z odpowiednimi przeróbkami): EtherCard
Podłączenie:
- Moduł Ethernet pod złącze ICSP na Arduino (MOSI – SI, MISO – SO, SCK – SCK, GND-GND), pin CS do pinu 8, VCC do 3,3V
- DHT11 wyjście pod pin 12
- MQ7 wyjście analogowe pod pin A0
- Fotorezystor pomiędzy VCC a pin A1, który ściągamy do masy rezystorem 1KΩ
- Moduł Ethernet podpięty do routera
Aby odnaleźć IP, pod którym widnieje nasz układ proponuję zalogować się do panelu administracyjnego routera, u mnie była to zakładka/okienko “DHCP Client List”. Odczyt z czujnika tlenku węgla w normalnych warunkach wynosi poniżej 50 (<250mV). Potraktowanie go jakimikolwiek oparami powoduje szybką reakcję i skok napięcia powyżej 1V (przy bliskim rozpyleniu).
Walidacja numerów PESEL, NIP, REGON w Javascript i PHP
Ulepszone funkcje z tego wpisu. Aktualnie funkcje sprawdzają także sumy kontrolne zawarte w tych numerach, na podstawie Wikipedii. Wystarczy przeanalizować kody
Odmiany funkcji w Javascript i PHP są w pełni zgodne, to znaczy że dadzą taką samą odpowiedź.
Aktualizacja 2017-05-02:
- Zamieniłem polskie nazwy zmiennych na angielskie;
- Funkcje od PESEL sprawdzają czy data jest poprawna, tj. miesiąc nie większy niż 12 i dzień miesiąca nie większy niż 31. To rozwiązuje problemy opisane w komentarzach. Dziękuję za zwrócenie uwagi i dziękuję Panu Krzysztofowi Grabania za propozycję rozwiązania problemu.
- Poprawione wcięcia itp.
- Dodane formularze, gdzie można sobie potestować jak działają funkcje w wersji JS. Wersje PHP: http://test.vt0.pl/v/
Oczywiście jeśli użytkownik będzie chciał, to i tak da radę wprowadzić nieprawdziwe dane, ale dzięki tej walidacji uchronimy się przed omyłkowym wpisaniem danych z błędami w formularzu.
1. Walidacja PESEL:
Kod PHP:
function validatepesel($pesel) { $reg = '/^[0-9]{11}$/'; if(preg_match($reg, $pesel)==false) return false; else { $digits = str_split($pesel); if ((intval(substr($pesel, 4, 2)) > 31)||(intval(substr($pesel, 2, 2)) > 12)) return false; $checksum = (1*intval($digits[0]) + 3*intval($digits[1]) + 7*intval($digits[2]) + 9*intval($digits[3]) + 1*intval($digits[4]) + 3*intval($digits[5]) + 7*intval($digits[6]) + 9*intval($digits[7]) + 1*intval($digits[8]) + 3*intval($digits[9]))%10; if($checksum == 0) $checksum = 10; $checksum = 10 - $checksum; return (intval($digits[10]) == $checksum); } }
Kod Javascript:
function validatepesel(pesel) { var reg = /^[0-9]{11}$/; if(reg.test(pesel) == false) return false; else { var digits = (""+pesel).split(""); if ((parseInt(pesel.substring( 4, 6)) > 31)||(parseInt(pesel.substring( 2, 4)) > 12)) return false; var checksum = (1*parseInt(digits[0]) + 3*parseInt(digits[1]) + 7*parseInt(digits[2]) + 9*parseInt(digits[3]) + 1*parseInt(digits[4]) + 3*parseInt(digits[5]) + 7*parseInt(digits[6]) + 9*parseInt(digits[7]) + 1*parseInt(digits[8]) + 3*parseInt(digits[9]))%10; if(checksum==0) checksum = 10; checksum = 10 - checksum; return (parseInt(digits[10])==checksum); } }
Test:
2.Walidacja NIP
Kod PHP:
function validatenip($nip) { $nipWithoutDashes = preg_replace("/-/","",$nip); $reg = '/^[0-9]{10}$/'; if(preg_match($reg, $nipWithoutDashes)==false) return false; else { $digits = str_split($nipWithoutDashes); $checksum = (6*intval($digits[0]) + 5*intval($digits[1]) + 7*intval($digits[2]) + 2*intval($digits[3]) + 3*intval($digits[4]) + 4*intval($digits[5]) + 5*intval($digits[6]) + 6*intval($digits[7]) + 7*intval($digits[8]))%11; return (intval($digits[9]) == $checksum); } }
Kod Javascript:
function validatenip(nip) { var nipWithoutDashes = nip.replace(/-/g,""); var reg = /^[0-9]{10}$/; if(reg.test(nipWithoutDashes) == false) { return false;} else { var digits = (""+nipWithoutDashes).split(""); var checksum = (6*parseInt(digits[0]) + 5*parseInt(digits[1]) + 7*parseInt(digits[2]) + 2*parseInt(digits[3]) + 3*parseInt(digits[4]) + 4*parseInt(digits[5]) + 5*parseInt(digits[6]) + 6*parseInt(digits[7]) + 7*parseInt(digits[8]))%11; return (parseInt(digits[9])==checksum); } }
Test:
3. Walidacja REGON (9-cyfrowy):
Kod PHP:
function validateregon9($regon) { $reg = '/^[0-9]{9}$/'; if(preg_match($reg, $regon)==false) return false; else { $digits = str_split($regon); $checksum = (8*intval($digits[0]) + 9*intval($digits[1]) + 2*intval($digits[2]) + 3*intval($digits[3]) + 4*intval($digits[4]) + 5*intval($digits[5]) + 6*intval($digits[6]) + 7*intval($digits[7]))%11; if($checksum == 10) $checksum = 0; return (intval($digits[8]) == $checksum); } }
Kod Javascript:
function validateregon9(regon) { var reg = /^[0-9]{9}$/; if(!reg.test(regon)) return false; else { var digits = (""+regon).split(""); var checksum = (8*parseInt(digits[0]) + 9*parseInt(digits[1]) + 2*parseInt(digits[2]) + 3*parseInt(digits[3]) + 4*parseInt(digits[4]) + 5*parseInt(digits[5]) + 6*parseInt(digits[6]) + 7*parseInt(digits[7]))%11; if(checksum == 10) checksum = 0; return (parseInt(digits[8])==checksum); } }
Test:
Neverhood na Windows 8.1
Ekran logowania i układ klawiatury
Jeśli na ekranie logowania masz jako domyślny układ klawiatury inny niż preferowany, ta instrukcja jest dla Ciebie. Zaloguj się, wejdź w panel sterowania -> W kategorii “Zegar, język i region” wybierz “Zmień układ klawiatury lub inne metody wprowadzania danych”. W oknie wybierz zakładkę “Administracyjne:
Wybierz “Kopiuj ustawienia”:
W otwartym oknie zaznacz oba checkboxy. Pozatwierdzaj wszystkie okna i gotowe. Pamiętaj, że zwykle prawidłowy układ klawiatury to “Polski (programisty)”.