ERIKS::Knowledge Base -> [ ja, kas piemirsies, iespējams, atradīsi to šeit ]
-------------------PostgreSQL---------------
pieslēgšanās pstgresql datu bāzei:
psql -d [DATABASE_NAME] -U [USERNAME] -W [PASSWORD]
-h // hostname
-f // filename of source
-e // echo queries
-d // dbname
-c // command
-l // all aivailable database
-p // ports
-U // username
-V // print psql verison
-W // password
set client_encoding to 'utf-8' // lai klients izmantotu utf-8 encodingu
vacuum // svarīga funkicja vecākiem par 8.3 prostgresiem. nepieciešams regulāri palaist lai atbrīvotu updeitoto un dzēsto ierakstu atmiņas apgabalu uz diska. 8.4 defaulta konfigurācijā ir uzstādts autovacuum.
select relname, pg_stat_get_last_autovacuum_time(oid) from pg_class; // pēdējais datums kad sistēmas veikusi vacuum funkciju
select relname, pg_stat_get_last_vacuum_time(oid) from pg_class; // pēdējais datums kas lietotājs veicis vacuum funkicju
pg_stat_activity // staitstika par db aktivitātēm, kādi vaicājumi stāv rindā, to izpildes laiki, piersītāja ip adrese
create database DATABASE_NAME with encoding='utf-8'; // jaunas datubāzes izveide
create table x ( id serial, primary key (id)); // jaunas datubāzes tabulas izveide
CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]
[ OWNED BY { table.column | NONE } ] // jaunas sekvences izveide
COMMENT ON COLUMN table_name.column_name IS 'some comment goes here'; // pierakstīt datubāzes tablas kolonnai komentāru, kuru pēctam ar /d+ table_name var apskatīties
INSERT INTO table_name VALUES (nextval('table_name_id'), 'nothing'); // jauna id piešķiršana tabulas ierakstam
currval('table_name_id') // currval padod tekošo id vērtību, bet nextval padod nākamo un tekošai piešķir jaunu vērtību
insert into table (id, name) values (nextval('PK'), 'test') RETURNING id; // ievieto datubāzes tabulā jaunu ierakstu un atgriež id;
drop table TABLE_NAME; // dzēst datubāzes tabulu tabulu
alter table TABLENAME owner to DB_USERNAME; // nomainīt datubāzes tabulas īpašnieku
GRANT all ON tab TO db_urser; // atļaut lietotājam DB_USERNAME darīt visu ar konkrēto datubāzes tabulu.
all vietā var būt arī: select, insert, update, delete, trucate, rule, references, trigger
GRANT create ON database TO db_user // atļaut lietotājam taisīt tabulas
GRANT usage ON sequence_name TO db_user
REVOKE delete ON table_name FROM db_user; // noņemt lietotājam tiesības dzēst tabulas ierakstus
ALTER TABLE tab ADD COLUMN new_col new_data_type; // pievienot datubāzes tabulai jaunu kolonu
ALTER TABLE tab DROP COLUMN old_col; // dzēš datubāzes tabulas kolonu
ALTER TABLE tab RENAME COLUMN old_col TO new_col; // pārsauc datubāzes tabulas kolonu
ALTER TABLE tab ALTER COLUMN col SET TYPE text; // nomainīt tabulas kolonas datu tipu
alter table tab alter column id set default nextval(tab_id'); // pielikt noklusēto vērtību pēc tabulas izveides
ALTER TABLE table_name ADD FOREIGN KEY (table_id) REFERENCES other_table(other_table_id) ON UPDATE CASCADE ON DELETE CASCADE;
// ja mums ir divas tabulas products un orders, tad order tabulai liekam REFERENCES products (product_no)
ALTER TABLE table_name ADD CONSTRAINT constraint_name DEFAULT 0 FOR column_name
// ja vēlaties pēc tabulas izveides pievienot nokusēto kolonas vērtību
UPDATE tab SET new_col = CAST(old_col AS new_data_type); // CAST funkcija veic konvertācju uz citu datu tipu
SELECT user_name FROM table_name WHERE extract(years from age(birthdate))>22 // atlasa cilvēkus kuri vecāki par 22 gadiem
SELECT to_char(current_timestamp, 'YYYY-MM-DD') as date_x FROM table_name;
// no pg timestamp izvelkam mums interesējošās datuma daļas.
// http://www.digipedia.pl/pgsql/8.1/functions-formatting.html
SELECT a.name, b.date FROM a INNER JOIN b ON (a.id = b.id) WHERE b.val > 5 // joinošanas piemērs. inner vietā var būt "left", "right", "natural" atkarībā no vajadzības
SELECT a, CASE WHEN a=1 THEN 'one' WHEN a=2 THEN 'two' ELSE 'other' END FROM test; //case nosacījuma izteiksme
SELECT pg_size_pretty( pg_relation_size('TABLE_NAMe') ); // izvada datubāzes tabulas aizņemto vietu uz diska
\timing // izvada pieprasījuma apstrādes laiku
\d // izvada sql tabulas
\df age
\da [PATTERN] //list aggregate functions
\z [PATTERN] //list table, view, and sequence access privileges
\dp+ TABLE_NAME // izvada tabulas pieejas privilēģijas. skaidrojums izvadam redzams zemāk
=xxxx -- privileges granted to PUBLIC
uname=xxxx -- privileges granted to a user
group gname=xxxx -- privileges granted to a group
r -- SELECT ("read")
w -- UPDATE ("write")
a -- INSERT ("append")
d -- DELETE
D - TRUNCATE
R -- RULE
x -- REFERENCES
t -- TRIGGER
X -- EXECUTE
U -- USAGE
C -- CREATE
T -- TEMPORARY
arwdRxt -- ALL PRIVILEGES (for tables)
/yyyy -- user who granted this privilege
CREATE UNIQUE INDEX title_idx ON films (title); // indexa izveidošana
Ctrl+D //iziet no usera
pg_dump -t TABLE_NAME --inserts DB_NAME > FILE_NAME.txt // tabulas dump
$ pg_dump payroll > payroll.txt // db payroll dumpošana
pg_dumpall > outfile.txt // datubāzes dumpošana
pg_restore -dc newdb db.tar // c karogs nozīmē kā pirms resotrēšanas db tabulas tiks dzēstas
psql -f FILE_NAME.txt DB_NAME // tabulas restoreeshana
psql -d payroll -f payroll.dump.out // payroll db restorēšana
ALTER SEQUENCE sekvences_nosaukums RESTART WITH 520307; // resetojam sekvenici uz jaunu
date '2001-09-28' + interval '1 hour' // pieskaitam šim datumam vienu dienu
now() // laiks pašlaik
// pgsql transakcijas. ar begin norādam bloka sākumu un ar commit norādam bloka beigas un pasakam lai izpilda transakciju.
BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
UPDATE accounts ...
COMMIT;
// pgsql transakciju piemērs. kur pa vidu ar savepoint tiek ielikti atgriešānās punkti un ar rollback komandu atgriežas uz to stāvokli.
BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
SAVEPOINT my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = 'Bob';
-- oops ... forget that and use Wally's account
ROLLBACK TO my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = 'Wally';
COMMIT;
--------------------- MYSQL --------------------------
// cheat sheet
http://www.pantz.org/software/mysql/mysqlcommands.html
mysql -h localhost -u mernajatvnetlv -p mernajatvnetlv // piekonektēties terminālī
show databases; // radīt pieejamās datubāzes
use database_name; // pieslēgties datubāzei
show tables; // radīt visas šīs db tabulas
describe table_name // parādīt tabulas struktūru
SHOW GRANTS FOR CURRENT_USER; // radīt tiesības šim leitotājam
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION // piešķirt privilēģijas
------------------- LINUX / UNIX -----------------------
linux direktorijas:
< / > - saknes direktorija, kura satur visas pārējās direktorijas
< /boot > - vieta kur linux tur informāciju priekš startēšanas. piemēram šeit atrodas ari linux kodols - vmlinuz.
< /etc > - konfigurācijas faili priekš linux sistēmas. lielākā daļa ir teksta failu kurus var labot.
/etc/inittab - teksta fails kurš apraksta kādi procesi tiek palaisti līdz ar sistēmas startēšanos. piemēram šeit norada vai "X window system" palaist automātiski pie sistēmas palaišanas.
/etc/fstab - satur informāciju par failu sistēmām un to piemontēšanas punktiem, kā piemēram cdroms, cietais disks utt.
/etc/passwd - satur informāciju par katru lietotāja kontu.
< /bin, /usr/bin > - šīs divas direktorijas satur daudz programmas (bināros datus), kuras lieto pati sistēma. /bin satur pašas svarigākās programmas, kā piemēram shell, ls, grep utt. /usr/bin satur programmas priekš sistēmas lietoājiem.
< /sbin, /usr/sbin > - šeit artodas sitēmas administrēšanas programmas. lai darbinātu šis programmas jāautorizējas kā root lietotājam.
< /usr > - satur lietāja programmas un daudzas citas lietas, kā piemēram programmu izejas kodus, bildes, dokumentus, konfigurācijas failus. /usr ir linux sistēmas lielākā direktorija un tādēļ šo direktoriju bieži mēdz izvietot uz atsevišķās particijas.
/usr/doc - lietotāju aplikāciju dokumentācijas dažādos formātos.
/usr/share - konfigurācijas un grafiki priekš lietotāju programmam.
/usr/src - izejas kods sistēmas programmatūrai, tai skaitā arī linux kodola.
/usr/include - header faili priekš c kompilatora. apakšdirektorijā ir ari c++ header faili.
/usr/X11R6 - X window system faili: binārie, dokumentācijas, header, konfigurācijas, audio u.c.
< /usr/local > - šī ir vieta kur tu installē savas programmas un citus failus. Šeit parasti tiek instalētas tās programmas kuras nav oficiālas distributīva sastāvdaļas. Tātad bināros failus liekam zem /usr/local/bin. Vēlviena interesanta lieta, ja tavs dators ir tīkla sastāvdaļa, tad visa /usr var patiesība atrasties uz cita datora vai pat sadalīta pa vairākiem un tu attālināti tai piekļūsti. Taču tas kas atrodas tieši /usr/local direktorijā ir pieejams tikai no datora uz kurā šī direktorija atrodas.
< /lib > - vieta kur glabājas shared libraries. linux so faili, tas pats kas windows dll.
< /home > - vieta kur lietotāji tur personālos failus. Katram lietotājam ir sava apakšdirektorija. Parasti šī ir vienīgā vieta kur parastam mirstīgajam lietotājam ļauj rakstīt failus.
< /root > - superlietoāja (root) māju direktorija.
< /var > - satur datus kuri mainās sistēmas darbības laikā.
/var/log - sistēmas log faili.
/var/mail - ienākošā un izejošā e-pasta glabāšanas vieta.
/var/spool - faili kuri nepieciešami drukāšanai
< /tmp > - programmas šeit raksta pagaidu (temp) failus.
< /dev > - iekārtas kuras ir pieejams linux sistēmai. linux visas iekārtas reprezentē kā failus un tu vari tos lasit un rakstit. piemēram /dev/cdrom ir tava kompaktdisku iekārta. /dev/hda ir tavs pirmais IDE cietais disks.
< /mnt > - šī direktorija tiek lietota priekš montēšanas punktiem (mount points). Dažādam fiziskām atmiņas iekārtām (kā piemēram cietie diski, cd-rom, zibatmiņa) ir jābūt piesaistītām kādai direktorijai failu sistēmā lai tās varētu sākt lietot (rakstit, lasit). Un šo piesaisti sauc par montēšanu (mounting) un direktijas kurām tās piesaista par montēšanas punktiem (mount points). /mnt satur dažadus montēšanas punktus, piemēram /mnt/cdrom ir tava kompaktdisku iekārta. Taču tev nav obligāti savus montēšanas punktus jāveido šajā direktorijā, tos var veidot jebkur.
< /proc > - speciāla virtuāla direktorija. Tā satur informāciju par pašu kodolu. šī direktorija satur daudz numurētas apkšdirektorijas, kuras atbilst procesu numuriem, kuri pašlaik tiek darbināti. Kā arī direktorija satur nenumurētas direktorijas, kuras satur sistēmas konfigurācijas informāciju. Daudzi faili no šīm direktorijām ir aplūkojami. Piemēram /proc/cpuinfo satur informāciju par procesoru, cik tam kodlu, kādus funkcijas atbalsta, adreses izmērs, taktsfrekvence utt.
< /lost+found > - glabājas faili kuri tiks restorēti pēc sistēmas kļūmes. Piemēram ja slēdzot arā datoru nav atmontētas visas particijas veiksmīgi.
linux failu tipu apzīmejošie burti:
- regulārs fails
d direktorija
l (mazais L)simboliskais links
s Unix domain socket
p Unix named pipes
c character device file
b block device file.
setxkbmap lva // latviešu izkārtojums ar apastrofu
Ctrl+L notīra ekrānu
Ctrl+S apstādina izvadu un pēctam var izmantot Shift+page_down/page_up
Ctrl+Z apstādina procesu pēctam var izmantot bg vai fg
Ctrl+C kill procesu
Ctrl+A uz komandas sākumu
Ctrl+E uz komandas beigām
Ctrl+W dzēs vārdu pirms kursora komandā
Ctrl+K dzēš visu aiz kursora
Ctrl+Y atcelt
// pievienot PATH environment variable jaunu direktoriju beigās
PATH=$PATH:/data/myscripts
export PATH
$HOME/.bash_profile // vienam lietotājam
/etc/profile // visiem lietotājiem izņemot root
/root/.bash_profile // rootam
file - rīks ar kuru nosaka faila tipu un informāciju par to
ldd some_executable - parāda kādas dinamiskās bibliotēkas ielāde izpildāmais fails
who // izvada sistēmā ielogojošos userus
rwho -a // izvada lietotājus kuri autorizējušies tavā tīklā
finger user_name // paraada informāciju par lietāju
history | more // parādā pēdējās no konkrētā lietāja konta consolē izpildītās komandas
hostname // paraada hostu māšinai uz kuras tu strādā
id user_name // paraada konkrētā lietoāja id
top // pēc procesora noslodzes sakārto procesus
mpstat -P ALL // rāda slodzi katram procesora kodolam atsevišķi
uname -a // informācija par jūsu serveri
free // informācija par atmiņu
df -h // disku izlietojums
set|more // paraadiit visu info par lietotāju
dmesg | less // paraada linux kodola ziņojumus /var/log/dmesg
nice program_name // lai mainītu programmas prioritāti. no -19 līdz 20. noklusēti tiek likts 10. tikkai root var likt negatīvas vērtības.
nice -n 13 pico myfile.txt // izpildīs programmu ar prioritāti 13 // jo lielāka nice vērtība jo zemāka uzdevuma prioritāte. paratais lietājs nevar uzlikt zemāku nice vērtību par vidējo.
ps -el // var apskatīties procesu nice un sheduling priority vērtības.
renice 10 PID // nomainīt esoša procesa prioritāti
lpc // pritnetu kontrolēšana
lpq // printera darbu apskatīšana
lprm qeueu_id // izdēst konkreeto pritera uzdevumu.
adduser user_name // lietotāja pievienošana linuxā
deluser user_name // lietotāja dzēšanā linuxā
/etc/passwd // vieta kur atrodas informācija par lietoājiem
usr/share/fonts/truetype/myfonts // direktorija kur likt jaunos fontus
sudo fc-cache -f -v // refresh font cache
sduo // izpildīt komandu kā root lietotājs
su // lai kļūtu par root
su - eriks // lai iekļutu cita lietotāja profilā
exit // lai izietu no lietotāja
# pkg_add -r -v vim-lite // bsd pakotnes novilkšana
# apt-get install gpm // teksta kopēšana terminālī - ar labo peles taustiņu un iezīmējot, un ar vidējo rituli - ievietot
# /etc/init.d/gpm stop | start // palaist vai apstādināt kopēšanu ar peli
sudo apt-get install application-of-your-choice // instalēt jaunu aplikāciju
sudo apt-get autoclean //Cleaning up of partial package:
sudo apt-get clean //Cleaning up of the apt cache:
sudo apt-get autoremove //Cleaning up of any unused dependencies:
sudo apt-get autoremove application-name //A good practice to avoid any left behind is to use the autoremove command whenever you want to uninstall an application.sudo apt-get -f upgrade // updeito atjauno
apt-get upgrade samba // updatei sambu pret jaunāku versiju
dpkg -i file.deb // nokompilētas un uz diska esošas pakotnes instalēšana (install)
dpkg -i a*.deb // uzinstalē visas pakotnes kuras sākas ar 'a'
dpkg -r pakotnes_nodaukums // nodzēš pakotni atstājot konfigurāciajs failu (remove)
dpkg -P pakotnes_nosaukums // nodzēš pakotni ar visu konfigurācijas failu (purge)
dpkg -l samba // pārbauda vai samba ir uzinstalēta
/etc/apt/sources.list // šajā failā glabājas pakoņu glabātājserveru adreses
apt-get update // ja iepriekšējā failā bija norādīti update tad ar šo komandu tiek veikta sinhronizācija ar serveri. sinhronizācijas laikā tiek savākta informācija par pieejamām pakotnēm
apt-get dist-upgrade // atjaunina uz jaunāku relīzi
gpg --keyserver keyring.debian.org --recv-keys XXXXXXXXXXXXXXXXXX // atsleģas dabūša no keyservera
gpg --export 4D270D06F42584E6 | apt-key add - // atslēgas pieaistīšana
// ja slinkums visas atslēgas piesaistīt var ar šā (novilkt arhivu ar visam populārākajām atslegām):
# apt-get install debian-keyring debian-archive-keyring
# apt-key update
// piemērs pakoņu serveru norādīšanai
deb http://ftp.ee.debian.org/debian/ etch main non-free contrib
deb-src http://ftp.ee.debian.org/bebinan/ etch main non-free contrib
deb http://security.debian.org/ etch/updates man contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
//
sudo fdisk -l // parāda visus diskus un partīcijas un to failu sistēmas
mount // lai izvadītu visas piemontētās partīcijas
sudo mount -t iso9660 /dev/cdrom /mnt/cdrom // piemontēt cdromu
sudo mount /dev/sda5 /mnt/ // piemontē partīciju lai to varētu vēlāk lietot
sudo umount /dev/sda5 // nomontē partīciju
ja izmet kļūdu ka nevar nomontēt jo ierīce tiek lietota, tad noderēs komanda lsof, kas parāda kurš proces lieto to
/etc/fstab // viet kur glabājas visi defaultā piemontējamie diski
// info par montēšanas lietām
http://wiki.linuxquestions.org/wiki/Mount
showkey // programma parāda konkrētā klaviatūras tuastiņa kodu. programma strādā 10s līdz tiek pārtraukta ievade.
ssh -l peter smallfry // pieslēgties attālinātam serverim ar ssl
ssh -p 435 peter@smallfry // pieslēgties attālinātam serverim ar ssl
sftp username@xxx.xxxx.lv //piesleegties xxx.xxxx.lv caur sftp
// ja izmet kļūdu paziņojumu, ka nevar pieslēgties eksistējošo atslēgu dēļ, tad nepieciešams izdzēst norādīto direktoriju
sftp> get filename.txt // lejuplaadeet uz lokaalo mashiinu failu
sftp> put test.txt // uzlaadeet uz attālinātā servera failu
sftp> ls // remotā failu saraskts
sftp> lls // lokaalaa failu saraksts
sftp> lcd // lokaalaa kompja direktorijas maiņa
sftp> cd // remotaa kompja direktorijas maiņa
sftp> pwd // remodaa komja atrashanas vietas izvade
sftp> lpwd // lokaalaa komja atrashanaas vietas izvade
tar -cvpf arhivs.tar -C /direktorija/kuraa/atrodas/vajadzigaa/direktorija/ direktorija // saarhivēt failu, ja lieto -C karogu, tad var norādīt vairākus failus vai direktorijas
tar cf archive.tar -I list.txt // list.txt satur fialus kurus vajag ielikt archive.tar failā
// sameklēja gif failus kuri ir modificēti pēdējo 150 dienu laikā un pectam visus ieliekam tar arhīvā
find /path/to/files -iname "*.gif" -mtime -150 -print > ~/last_file_list.txt
tar cfvz ~/latest_files.tar `cat ~/last_file_list.txt`
tar -xvpf athivs.tar -C /direktorija/kur/tarot/valjaa/ // atarhivēt failu
tar -tvf dokuments.tar // izvada sakompresētā faila saturu
grep -r -e "categoryList.inc" admin //seerchoshana ar regexp
grep '^eriks' -r * // rekursīvi meklē arī apkšdirektorijās
cat /proc/version // linux distributīva versija un cita infa
mkdir 'folder_name';
chmod 777 handler.php // piekļuves tiesību uzstādīšana
find ./xxx/xxx -type d -exec chmod 775 {} \; // uzlikt rekursīvi visām /xxx/xxx/ apakšdirektorijām permicijas
ps -auxf // parāda visus procesus kuri ir palaisti
kill PROCESA_ID // procesa dzēšana
kill -9 PROCESA_ID // proce dzēšana nekavējoties
kill -STOP 7727 // procesa iepauzēšana / apstādināšana
kill -CONT 7727 // procesa turpināšana
php converter.php // ar php interpretatoru izpildīt konkrēto failu
ctrl c
ctrl g
ls -lah // izvada konkrētās direktorijas saturu, datņu izmērus, datnes īpašnieku, piekļuves tiesības
ls -lah | less // ļauj skrolēt uz augšu un leju izvadīto saturu
ls -lah | more // ļauj skrollēt tikai uz leju
Shift+PageUp vai Shift+PageDown // hard scrolling lai skrullētu izmanto pa tiešo videoatmiņu
ls -l | grep ^- | wc -l // failu skaits
ls -l | grep ^d | wc -l // direktoriju skaits
ls -l | grep ^l | wc -l // linku skaits
ls -l | egrep '^d' //izada tikai direktoriju sarakstu
stat filename.txt // apskatīt visu informācijau par failu. mtime, atime, ctime
pwd //atrashanaas vietas izdruka
dir // tas pats kas ls, parāda konkrētās direktorijas saturu
cd // mainiit direktoriju
cd ~/ uz lietotāja home direktoriju
man KOMANDA // komnadas apraksts - palīdzība
nohup php converter.php // atstāt fonaa lai izpildās kāds process vai aplikācija
pico filename //teksta editors
vi filename //teksta editors
ping www.xxxxx.lv // nopingot konkrēto adresi
rm filename //dzēš failu
rm -- filename_with_minus_in_start // dzēs failu kurš sākas ar - zīmi pirms nosaukuma
rm -r * // izdzēsīs rekursīvi visu konkrētās direktorijas saturu
tail -f xxxx-error_log // servera kļūdu ziņojumi lasīshaa online
tail php generate.php & // pieliekot beigās & izsauktā programma tiks izpildīta forgraundā
fg 1 // atdabūt atpakaļ forgroundā programmas izpildi. viennieka vietā jāievada id
jobs // izvada visus backgroundā plaistos procesus
touch file_name.txt //izveido jaunu failu
ln -s [TARGET DIRECTORY OR FILE] ./[SHORTCUT] // izveidot linku uz kādu failu vai direktoriju (tas pats, kas windowsā shortcut)
cat > FILE.txt // izveido jaunu failu un ļauj uzreiz tajā ierakstīt. Lai izietu no rakstīšanas režīma jāspiež Ctrl + D
cat FILE.txt // apskatīt failu bez labošanas iespējām
cat >> FILE.txt // ļauj jau eksistējošam failam pierakstīt klāt
locate 'search string' //atrod visus failus ar konkrēto frāzi
cp -i no_faila_nosaukums uz_direktoriju //kopē failu ar pārjautāšanu ja tāds jau eksiste
cp -r DEST_DIR/* LOCAT_DIR/ //iekopē DEST_DIR saturu LOCAT_DIR direktorijā
cp ir gļuks ar milzīgiem datu apjomiem nešancē
find * | cpio -pamvd /DIR/DIR2/ // ar find padod failu un dir sarakstu un ar cpio iekopē
mv old_folder_name new_folder_name // pārsauc un pārvieto failu direktoriju
top // procesora noslodze
mpstat // procesora noslodze
//http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html
du -sm dir (directory size in MegaBytes)
echo $0 // lai noskaidrotu kādu shell lieto
!$ // izdrukā pēdējās komandas pēdējo argumentu
!:3 // izdrukā pēdējas komandas 3. argumentu
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 // cpu noslodzes top10
whois IP_ADRESE // nosaidro ip adreses īpašnieku
ping www.delfi.lv // nopingo ip adresi
df -h // disku izlietojums procentos un kilobaitos
pushd /DIR/ // pielikt virutālajam stekam jaunu direktoriju klaat lai vēlāk varētu izmantot
popd //izņemt no steka pēdējo direktoiju
dirs // izdrukātt visas viruālaas direktorijas
pushd +1 // pabīdīt stekā direktorijas par vienu vietu pa lab
whoami // noskaidrot kādu useru pašlaik lieto
last // lietotāju saraksts kuri pēdējie autorizējušies sistēmā
awk '{ i = length($0); print i }' FILE.txt // izdrukā teksta garumu failā. awk izpilda perl kodus.
perl perl_script.pl pirmais otrais treshais // perl skripta faila izpildīšana ar parametriem
// perl piemērs
#!/usr/bin/perl
print "My name is $0 \n";
print "First arg is: $ARGV[0] \n";
print "Second arg is: $ARGV[1] \n";
$num = $#ARGV + 1; print "How many args? $num \n";
print "The full argument string was: @ARGV \n";
clear // notīra termināla ekrānu
curl –s http://www.srh.noaa.gov/data/ALY/RWRALY | grep BUFFALO //ar šo komandu var pieprasīt dažāda protokala interneta resursus HTTP, HTTPS, FTP, FTPS, Gopher, DICT, TELNET, LDAP
curl -o archive.tar http://www.somesite.com/archive.tar // lejuplaadēt failu no interneta
// ja aplikaacija nav pieejams binaarais kods, tad kompilējam souce code
suod apt-get update //
sudo apt-get build-dep MyCuteApp // sainstalējam visas aplikācijai nepieciešamās bibliotēkās
tar xvf MyCuteApp.tar //extract the the application from the archive
cd MyCuteApp //navigates to the extracted folder
./configure (may not have this) // instalāciajas konfigurāciaja (ja nav tad nepieciešams uzinstalēt "autoconf" un "m4" pakotnes, citādi bļaus ka nav autoheader u.c. funkcijas.)
make // no souce file izveido objekta failu (nokompilēts uz 1 un 0 tik bibliotēkas linki nav aizvietoti ar kodu) un savu kārt no tā izpildāmo failu (pilnībā 1 un 0 / binārs)
make install // izpildāmo bināro failu ievieto /usr/local/bin direktorijā
make clean // izdzēš tempfailus, kuri radušies kompilēšans un linkošanas laikā.
gcc test.c -o test // nokompilēt C programmu izmantojot gcc kompilatoru. Instalējot gcc kompilatoru būs nepieciešama arī build-essentials pakotne. Tā satur iostrem un citas svarīgas pakotnes utt.
make test // ir tas pats kas cc test.c -o test
// kompilēšana vairāku c failu gadījumā
// -c karogs norāda ka vispirms katram failam uztaisam objekfialus un pēdējā rindā visus objekfailsu salinkojas un izveidojam vienu izpildāmo failu
cc -c main.cc
cc -c a.c
cc -c b.c
cc main.o a.o b.o -o hello_world
// C piemērs priekš testiem
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
// jau uzintaslētas piemēram vairāks versijas ar python, tad lai jaunāko padarīt par systemās defaulto daram šā:
update-alternatives --install /usr/bin/python python /usr/bin/python2.5 20
iconv -f "utf-8" -t "windows-1257" file_name.txt > file_name.txt // failu konvertācija
dircolors -p > ~/.dirSourceJES // vieta kur glabājas krāsu shēmas
DIR 01;38 # directory // direktoriju nomainīt pret šādu lai labāk būtu redzams
vi .bashrc // aliasa uzlikšana. Uzliekot piemerā norādīto aliasu turpmāk izpildot komandu ls tiks aizvietos ar ls -color=auto
# User specific aliases and functions
alias ls='ls --color=auto'
eval "`dircolors -b ~/.dirColorsJES`" // lai ielādē mūsu izveidoto krāsu shēmu
source ~/.bashrc // uzliekam lai uzreiz sāk iegaumēt mūsu izmaiņas
alias test=' echo " ------- test ----------"' // aliasa test pieliksāna kurš izdrukā
unalias test // test aliasa noņemšana
iwlist scan// paraada visus ipeejamos wifi accesspointus
iwcofig eth0// nokonfigurēt wifi
iwconfig wlan0 mode managed // uzliekam ka pieslēdzmies kā klienti accespointam
iwconfig wlan0 essid “ABC-WIFI” // izvēlamies konkrēto pieejas punktu
iwconfig wlan0 key 1111-2222-3333-4444 // ievadam wpa atslēgu ja atslēgas nav tad atslēgas vietā off
iwconfig wlan0 channel auto // ievadam kādu kanālu izvēlēsimies
ethtool eth0 //Show status of ethernet interface eth0
ethtool --change eth0 autoneg off speed 100 duplex full
wget -b http://www.tvnet.lv/index.php // novelkam konkrēto failu no servera. -b nozīmē ka procesu liekam backgroundā
wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/ // rekursīvi novelkam no servera direktorijas ar to saturu dziļumā 2 un visu liekam tmp direktorijā
wget -r -l1 --no-parent -A.gif http://www.server.com/dir/ // rekursīvi no srvera novelkam visaus failus dziļumā 1 ar paplašinājumu GIF
echo 'wget url' | at 01:00 // novelkam konkrēto urli 1:00
sudo crontab -l // parādīt krona / krontab ierakstus
sudo crontab -e // labotu / pabildinātu krona ierakstus
* * * * * /bin/execute/this/script.sh // krona ieraksts kur ar zvaigznītēm aizvietojam laikus kādos izpildīties
minute (from 0 to 59)
hour (from 0 to 23)
day of month (from 1 to 31)
month (from 1 to 12)
day of week (from 0 to 6) (0=Sunday)
date // parāda tekošo laiku un datumu
cal // parāda kalendāru
uptime // paraada cik ilgi esmu ielogojies
free // cik daudz RAM man ir brīvs
whereis APLIKĀCIJAS_NOSAUKUMS // parāda ceļu uz uzinstalēto aplikāciju
sudo shutdown [-h][-r] now // izslēgt un restartēt kompi. lai izsleģtu -h bez kvadrātiekavām, bet lai pārstartētu -r bez iekavām
http://www.corey-m.com/blog/?p=326 // kā uzinstalēt ubuntu uz ms virtual pc 2007
pie instalāciajas vai palaišanas uzbraucam uz atiecīgo izvēli un F6 un pirms -- ierakstam: noreplace-paravirt vga=791
http://tkhere.blogspot.com/2007/11/gos-on-virtual-pc-2007-plus-quick.html
// google perētājsistēmu gOS instalējot uz ms vitual pc jāspiež F6 un beigās pierakstam single only-ubiquity noreplace-paravirt i8042.noloop
// tas nozīmē ka instalācjia tiks palaista "non-graphics single user mode"
sudo fdisk -l // formatēt partīciju
sudo mkfs.ext3 /dev/sdb2 // formātēt un uzlikt ex3
sudo aptitude remove kubuntu-desktop // dzēst gnomu
fbi test.gif // frame bufer image viewer - laba porgramma lai skatītos attēlus terminālī neizmantojot x11 vai kādu citu grafisko interfeisu.
fbgs // programma ar kuras palīdzību var skatīties ps/pdf failus linux consoles framebuferī
http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html // grāmata par linux framebuferi
http://www.sysdesign.ca/guides/linux_kernel.html // kerneļa kompilēšana un insalēšana
// pieslēgties google mailam imap.gmail.com:993
openssl s_client -crlf -quiet -connect imap.gmail.com:993
? LOGIN username password
? SELECT Inbox
? LOGOUT
// grafiskā interfeisa FLUXBOX GUI instalēšana debiānā
apt-get install x-window-system-core
apt-get install fluxbox
pēc instalācijas lai palaistu gui izpildam komandu startx un pēctam startfluxbox
// lai ieliktu vai izņemtu kādas programmas automātisku palaišanos pie os iestartēšanas/boot
/etc/init.d/ šajā direktorijā uztaisam savu bash skriptu
#! /bin/sh
# /etc/init.d/blah
touch /var/lock/blah
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
Tālāk mums vajag pielikt linkus ko visvienkāršāk izdarīt ar šadu debian komandu: update-rc.d blah defaults.
Savukārta, ja vēlaties kādu programmu izņemt no automātiskas palaišanas tad šāda komanda noderēs: update-rc.d -f blah remove.
// ja vēlamies konkrētā faila saturu apskatīties HEXā, tad noderēs šāda programma
xxd -c 12 FAILA_NOSAUKUMS.txt // ar -c un skaitli norāda cik vienā rindā baitus ņemt no faila
batch KOMANDA // izpilda konkrēto kamandu ļaujot tev pēctam izlogoties no sistēmas nepārtraucot komandas izpildi
grep -rl -e 'cellpadding="0" cellpadding="0"' ./ | xargs -i -t sed -i 's/cellpadding="0" cellpadding="0"/cellpadding="0" cellspacing="0"/g' '{}' // rekursīvi izies cauri visiem failiem apakšdirektorijās un veiks stringu aizvietošanu
apt-get install dphys-swapfile // dinamiskā swap faila rīks, kurš atkarībā no operatīvās atmiņas uztaisa divkārši lielu swapfailu.
http://www.debian-administration.org/articles/550
/sbin/swapon -s // komanda lai nočekotu swap faila rezervēto izmēru un brīvo vietu
find ./ -exec touch -t 200905020900 {} \; // nomainīt failu timestampu visai direktorijai rekursīvi
fail2ban - labs mazs tūlis, lai nobanotu paroļu minētāju botu ip-adreses
//https://help.ubuntu.com/community/Fail2ban
// -----------------VIM komandas-------------------
.vimrc // fails kuraa var saglabaat visas konfigurācijas. Piemēram 'set encoding=utf-8 utt'.
:w <file name>: Write the file to disk. If an argument is supplied, the editor attempts to write the data to <file name>.
Note: If you supply an argument and <file name> exists, the editor will not overwrite the existing file's data.
:w! <file name>: Write the file to disk and overwrite any data in the file.
:<x>,<y> w <file name>: Write lines <x> through <y> to <file name>.
:q: Attempt to exit the editor without saving.
Note: If data has been modified, the editor will not exit until the file has been saved or you exit without saving.
:q!: Exit the editor without attempting to write the file to disk.
:n: If editing multiple files, begin editing the next file in the edit list.
:e <file name>: Edit <file name>.
:e#: If editing two files, switch between files.
:s/<str1>/<str2>/: Replace the first occurrence of <str1> with <str2> on the current line.
:1,$ s/<str1>/<str2>/g: Starting at line 1 and continuing throughout the file, replace <str1> with <str2> globally.
:r <file name>: Read <file name> into the current editor session.
:<x>,<y> d: Delete lines <x> through <y>.
:<x>,<y> y: Yank lines <x> through <y>.
Ctrl+Z vai Ctrl+G // norefrešo ekrānu un prāda faila nosaukumu
:set encoding=utf-8 // enkodinga nomaiņa failam
:/meklējamais_vārds // meklēt tekstā vārdus
: set hlsearch // ieslēdzam meklējamo vārdu iekrāsotāju
:syntax on // ieslēgt sintakses izgaismošanu dazādām programmēšanas valdām. Jaunas sintakses pievienošana notiek ar failu piemeeram cpp.vim palīdzību.
:set number // paraada rindas numur
:set list // rāda neredzemās rakstu zīmes (tab, space utt)
:set nolist // lai izslēgtu neredzamo raksta zīmju rādīšanu
10G // lai pārvietotos uz desmito rindu. lieto kad nav insert modē un bez ':'.
:* pārlekt pie nākamā meklējamā vārda
:% // ja esi uzgāji uz if(){ iekavās tad nospiežot procentu taustiņu pārleksi uz beigu iekavām
tabs // paraada visus vim tabus
tabn // pārsledzas uz nākamo tabu
tabp // pārslēdzas uz iepriekšējo tabu
tabc // aizver tabu
tabnew FILENAME.txt // atver jaunu tabu
tabo // aizver visus tabus
# vi /etc/profile un failā jānomiana umask 022 uz kādu nepieciešams // šādi var nomianīt noklusētās permīcijas failiem un mapēm veidojot jaunu failu vai mapi.
umask 0002 // prikeš usera 775 direktorijām un 664 failiem
umask 0022 // root 755 direktorijām un 644 failiem
// Internet explorer uz linux
IEs4Linux
-------------- LINUX Regulārās izteiksmes---
Caret (^) Matches the expression at the start of a line, as in ^A
Question mark (?) Matches the expression at the end of a line, as in A?
Backslash (\) Turns off the special meaning of the next character, as in \^
Brackets ([]) Matches any one of the enclosed characters, as in [aeiou] (Use a hyphen [-] for a range, as in [0-9].)
[^ ] Matches any one character except those enclosed in brackets, as in [^0-9]
Period (.) Matches a single character of any value except end of line
Asterisk (*) Matches zero or more of the preceding characters or expressions
\{x,y\} Matches x to y occurrences of the preceding
\{x\} Matches exactly x occurrences of the preceding
\{x,\} Matches x or more occurrences of the preceding
// Lists your mail
grep '^From: ' /usr/mail/$USER
// Any line with at least one letter
grep '[a-zA-Z]' search-file.txt
// Anything not a letter or number
grep '[^a-zA-Z0-9] search-file.txt
// Find phone numbers in the form 999-9999
grep '[0-9]\{3\}-[0-9]\{4\}' search-file.txt
// Find lines with exactly one character
grep '^.$' search-file.txt
// Find any line that starts with a period "."
grep '^\.' search-file.txt
// Find lines that start with a "." and 2 lowercase letters
grep '^\.[a-z][a-z]' search-file.txt
grep smug files {search files for lines with 'smug'}
grep '^smug' files {'smug' at the start of a line}
grep 'smug$' files {'smug' at the end of a line}
grep '^smug$' files {lines containing only 'smug'}
grep '\^s' files {lines starting with '^s', "" escapes the ^}
grep '[Ss]mug' files {search for 'Smug' or 'smug'}
grep 'B[oO][bB]' files {search for BOB, Bob, BOb or BoB }
grep '^$' files {search for blank lines}
grep '[0-9][0-9]' file {search for pairs of numeric digits}
--------- Linux Screen --------------
laba programma lai terminālī vienlaicīgi darbinātu vairākas programmas. Var pārslēgties starp ekrāniem, gan arī sadalīt ekrānu vairākos ekrānos ar atsevišķiem termināliem katrā.
screen -U // lai palaistu programmu ar utf-8 atbalstu
Key Action Notes
Ctrl+a c new window
Ctrl+a n next window I bind F12 to this
Ctrl+a p previous window I bind F11 to this
Ctrl+a " select window from list I have window list in the status line
Ctrl+a Ctrl+a previous window viewed
Ctrl+a S split terminal horizontally into regions Ctrl+a c to create new window there
Ctrl+a :resize resize region
Ctrl+a :fit fit screen size to new terminal size Ctrl+a F is the same. Do after resizing xterm
Ctrl+a :remove remove region Ctrl+a X is the same
Ctrl+a tab Move to next region
Ctrl+a d detach screen from terminal Start screen with -r option to reattach
Ctrl+a A set window title
Ctrl+a x lock session Enter user password to unlock
Ctrl+a [ enter scrollback/copy mode Enter to start and end copy region. Ctrl+a ] to leave this mode
Ctrl+a ] paste buffer Supports pasting between windows
Ctrl+a > write paste buffer to file useful for copying between screens
Ctrl+a < read paste buffer from file useful for pasting between screens
Ctrl+a ? show key bindings/command names Note unbound commands only in man page
Ctrl+a : goto screen command prompt up shows last command entered
Ctrl+a :utf8 on // lai konkrēto logu dardimātu utf-8 kodējumā
-------------------GIT-------------------------
versiju kontroles rīks
// git manulālis
http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
// git labais tonis ar zariem
http://nvie.com/posts/a-successful-git-branching-model/
git config --global user.name "Your Name Comes Here" // uzstādīt informāciju par sevi kas tik vēlāk izmantota izmaiņu piefiksēšānā. informāciju glabā: $GIT_DIR/config
git config --global user.email you@yourdomain.example.com
git config --global mergetool.keepBackup false // lai pēc konkflikta atrisināšanas neveidotu .orig failus ar backupiem
git config user.name "Test User" // lai tikai šim repozitorijam uzliktu parametrus. informāciju glabā: ~/.gitconfig
git config --system user.name "Test User v2" // informāciju glabā: $(prefix)/etc/gitconfig
git config --list // parādīt git lietotājvārdu
~/.gitconfig // vai arī to var apskatīt šeit
git init // lai izveidotu jaunu repozitoriju
git clone ssh://[user@]host.xz[:port]/path/to/repo.git/ myrepo // nokopē attālināto repositoriju un izveido uz sava datora jaunu mapi myrepo kur to visu ieliek
git clone file:////<host>/<share>/<path> // šādim mēs varam klonēt no cita datora šāres
file:////192.168.10.51/code
git add ./path/to/file // saglabāt īslaicījajā glabātuvē. git to sauc par 'indeksu'
git add . // lai visu ieliktu
git rm --cached ./tath/to/file // lai izņemtu no index failu, ja gadījies nevajadzīgu failu pievienot ar git add . komandu.
git diff --cached // lai redzētu kādi faili tiks iekļauti commit
git diff // parāda visas izmaiņas kuras tu esi veicis bet vēl neesie pievienojis indeksam
git status // ātrs pārskats
git log // lai apskatītos izmaiņu vēsturi
gitk // izmaiņu vēstures grafiskā reprezentācija
git commit // saglābāt pastāvīgājā glabātuvē
šādi var nodefinēt attālināto repositoriju un tam piešķirt segvārdu 'origin' lai katru reizi nebūtu jaraskta viss pilais ssh:...... utt.
$ cat >>.git/config <<EOF
[remote "origin"]
url = ssh://[user@]host.xz[:port]/path/to/repo.git
EOF
git pull origin master // lai novilkut no attālitātā repozitorija master zara jaunumus un apvienotu ar tavu pašlaik atvērto zaru
git pull // ja izmaiņas nepieciešams lejuplādēt no tā pāsā repozitora no kura pirmo reiz tika veiksta klonēšana tad nav jānorādā pērējie parametri
git pull dara to pašu ko git fetch + git merge FETCH_HEAD, tas ir, novelk no repisitorija datus un savieno ar taviem datiem
git show :1:file.txt // base fails, kurš ir pirmsākums abiem failiem, kuros tika veiktas izmaiņas
git show :2:file.txt // tava izmainītā faila versija, jeb HEAD varsija
git show :3:file.txt // orta cilvēka vai otrā zarā esošā faila versija, jeb MERGE_HEAD versija.
git show branch_name:path/to/file // apskatīties failu vai direktoriju kāda tā ir citā zarā
git show HEAD^:path/to/file // apskatīties failu pirms izmaiņu veikšas, tas pats kas git show :1:file.txt
git checkout HEAD^ path/to/file // atgūt iepriekšējo versiju pirms izmaiņu veikšanas
git mergetool --tool tortoisemerge // tortoisemerge - labs rīks lai risinātu merge problēmas
palaižot rīku tiks prasīts base fails, tur jāievada skojoša rinda:
HEAD^:path/to/file
git push <repo> <start-point>:refs/heads/<branch> // lai uzkopētu uz attālinātā repozitorā savas izmaiņas
git push ssh://yourserver.com/~you/proj.git fast_works:master // uzkopēt savu 'fast_works' zaru uz attālināto 'master' zaru
git push origin master // ja ir nodefinēts attālinātais repositorijs ar segvārdu "origin" un no sava māster un attālināto māster nepieciešama kopēšana
git branch // apskatītes kādā zarā pašlaik atrodies
git branch new_branch // izveido jaunu zaru
git branch -d new_branch // dzēš zaru 'new_branch'
git checkout new_branch // pārslēdzas starp zariem atjauninot indeksu
git reset --hard FETCH_HEAD // lai atvertā zara saturam parkopētu pa visu datus kuri ieprikiekš ar fetch komandu iegūti. Pārkopē pilnīgi visu: indeksu, failus utt.
// ja ir veiktas izmaiņas no kurām vēlāmies atteikties un atgriezties kādā noteiktā stāvoklī, tad daram šādi:
git reset --hard b07ed27fe5bf03774dea7385e3c8495f1ce172c1 // atgiežamies atpakāl vajadzīgajā stāvoklī
git clean --force -d // lai notīrītu nepievienotos failus un mapes
git reflog // lai redzētu comitu id
git reset --soft commit_id // esošo zaru atgriežt notrādītajā commit stāvoklī
git gc // dzēš nevajadzīgos failus un optimizē lokālo repozitoriju. Nepieciešams regulāri veikt, lai repizitorijs neaiņemtu daudz vietas uz diska.
-------------------PHP-------------------------
apt-get install php5 // uz debian instalēt php5
apt-get install php5-cli // uz debian lai uzinstalēt command line interpreter. Tb lai varētu no konseles izpildīt php skriptus.
//DBG php debugeru lai izsauktu no pārlūka var izmantot visus trīs variantus GET, POST, COOKIE
// GET variantā tās izskatās šādi, kad url beigās piekabinām sekojošu query string:
?DBGSESSID=1@clienthost:7869;d=1,p=0,c=0 // vienreizējs debugera izsaukums
?DBGSESSID=1@clienthost:7869;d=1,p=0 // uzsāks debug sesiju, kas nozīmēs ka trupmākie visi pieprasījumi ies caur debugeri
?DBGSESSID=-1 // pārtrauks debug sesiju vai arī to var izdarīt izdzēšot DBGSESSID cookie
parametri ar komatu atdalīti:
s=skip - skip number of HTTP requests before actual session should run
d={0|1} - start debuger
p={0|1} - start profiler
c={0|1} - enable/disable session
// vairāk info šeit:
http://www.nusphere.com/kb/technicalfaq/faq_dbg_related.htm
// php comandline fork
http://www.electrictoolbox.com/article/php/process-forking/
spike_phpSecAudit 0.27 // tolis lai nočekotu caurmus php kodā
sudo apt-get install php5-xsl // nepieciešams arī uzinstalēt šo
apache2 stop // pārstartējam apche
apache2 start
// apache bench - rīks slodzes testešanai, kur 'n' kopējais pieprasīju skaits 'c' vienlaicīgi pieprasījumi
ab -n 100 -c 10 http://www.yahoo.com/
php /usr/share/spike_phpSecAudit_0.27/run.php --src ./FAILS/VAI/DIREKTORIJA/KURU/VĒLATIES/PĀRBAUDĪT // šādi palaizām pašu rīku
links /usr/share/spike_phpSecAudit_0.27/output/index.html // šeit testu rezultāti
// php 5 referenču atrdarbība (labāk nelietoto references)
http://lv.php.net/features.gc.refcounting-basics
http://schlueters.de/blog/index.php?url=archives/125-Do-not-use-PHP-references.html&serendipity[csuccess]=true#feedback
// php5 ātrdarbība
http://www.motov.net/php-the-ultimate-tips-for-writing-fast-code-a-must-read.html
php5 koda ātrdarbība ieteikumi:
* labāk for($i...) ar iepriekš aprēķinātu ciklu skaitu, nevis foreach
* labāk === nevis ==
* labāk isset() vai empty() nevis is_array()
* labāk lietot kopiju = nevis referenci &
* labāk ++$i nevis $i++
intval(); // mainīgā tips tiek uzliks par integer
pg_escape_string(); // noņem pēdiņas utt., kas varētu nobrucināt insertu postgers datu bāzē
sleep(30); // timeout
htmlspecialchars($TEKSTS,ENT_QUOTES) // '&', ", ', < , > pārviedo uz html tagiem ent_quotes jāliek lai arī parastās pēdiņas pārveido
error_reporting(E_ALL); // rādiit php errorus
ini_set('display_errors', '1'); // rādīt php kļūdas
// --attela resaizoshana
// File and new size
$filename = $_GET['img'];
$percent = 0.5;
// Content type
header('Content-type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load
$source = imagecreatefromjpeg($filename);
$thumb = imagecreatetruecolor($newwidth, $newheight);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb);
$newline = "A newline is \n";
$return = "A carriage return is \r";
$tab = "A tab is \t";
$dollar = "A dollar sign is \$";
$doublequote = "A double-quote is "";
-- The Bitwise Operators
expr1 & expr2 => and operator Only bits that are set(equal to 1)in both expressions are set. Thus: 4 & 12 = 4 or in bit mode: 0100 & 1100 = 0100
expr1 | expr2 => or operator Bits that are set in either expression are set; otherwise 0.
Thus: 4 | 12 = 12 or in bit mode: 0100 | 1100 = 1100
expr1 ^ expr2 => xor operator Bits that are set in expr1 or expr2 but not both are set.
Thus: 4 ^ 12 = 8 or in bit mode: 0100 ^ 1100 = 1000
~expr1 => not operator Bits are reversed. Thus: ~12 = 3 or in bitmode: ~1100 = 0011
expr1 << n => left shift operator expr1's bit are shifted n positions to the left; this is equivalent to expr1 x 2**n. Thus: 3 << 2 = 12 or in bit mode 0011 << 2 = 1100
expr1 >> n => right shift operator expr1's bit are shifted n positions to the right; this is equivalent to expr1 / 2**n. Thus: 3 >> 2 = 0 or in bit mode 0011 >> 2 = 0000
--- cookies in php
<?php
//setcookie(name, value, expire, path, domain);
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<? // Print a cookie
echo $_COOKIE["user"]; ?>
<?php
// when do you wisht delete cokie - set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
kukija vērtība automātiski ri urlencoded noseiveojot un pieprasot urldecoded
// lai izpildītu pa taisno termināli php skriptu bez rakstīšanas failā
php -r 'echo " izvadam burtu: \xc4\x81 "''
// -- php sesijas ar cookie
http://www.oreillynet.com/pub/a/php/excerpt/webdbapps_8/index.html?page=1
session.gc_maxlifetime = 6666 // iekš php.ini vai ar ini_set komandu uzsetos sesijas maksimālo dīkstāves laiku, pēc kura sesijas tiks dzēsta
Boolean session_start( ) // sāk sesiju
string session_id([string id]) // var lietot divos gadījumos: 1) lai iegūtu sesijas id 2) lai norādītu sesijas id pirms sesija ir sākta. Sesijas Id ir 32 hex simboli.
Boolean session_register(mixed name [, mixed ...]) // saglabā vienu vai vairākus seijas mainīgos. (piem., session_register('count'); $count = 3; )
Boolean session_is_registered(string variable_name) // atgreiž true ja konkrētias mainīgais ir reģistrēts sesijā
session_unregister(string variable_name) // atreģistrē sesijas mainīgo. pretēja darbība session_register();
session_unset( ) // atseto visus sesijas mainīgos
Boolean session_destroy( ) // izdzēš sesiju php sesijas menedžmentā. pēc noklusējuma tas ir ka no /temp direktorijas izdžēs konkrēto failu.
// -- php sesijas bex cookie
http://www.brainbell.com/tutors/php/php_mysql/Session_Management_Without_Cookies.html
// strlen, substr utt funkcijas kuras pareizi spēj strādāt arī ar latviešu specifiskajiem simboliem. Piemēram lai strlen 'š' neieskaita par diviem simboliem.
http://lv.php.net/manual/en/ref.intl.grapheme.php
// php koda jaucējs - obfuscator
http://www.raizlabs.com/software/phpobfuscator/
// smuki grafiki (charts, stocks)
http://pchart.sourceforge.net/screenshots.php
------------------ SEARCH ENGINES -------
liekam robot.txt failu iekš root direktojas ar sekojošu satuur:
User-agent: *
Request-rate: 1/2
Crawl-delay: 10
Allow: /
Disallow: /test
Disallow: */test2
Disallow: */test3/*
vēl linkeim varam likt klāt
<a rel="nofollow" -- lai search engine nepieprasītu šo linku
<a rel="noindex" -- lai neindeksētu šo lapu
otrs variants šos parametrus var norādīt lapas galvenē
<meta name="robots" content="index,follow" />
--------------------JSP------------------------
http://www.roseindia.net/jsp/jsp_date_example.shtml // piemēri
http://www.exampledepot.com/egs/javax.servlet.jsp/getparam.html
http://www.debianadmin.com/how-to-setup-apache-tomcat-55-on-debian-etch.html // JSP Tomcat instalācija uz debian
--------------------CSS-------------------------
A:link // normāls neapmeklēts links
A:visited // apmeklēts links
A:active // links ir aktīvs kad tu noklinkšķini uz tā
A:hover // kad ar peli uzbrauz uz linka tad
border-collapse: collapse; // tabulas cellpadding=0 ar css līdzekļiem
clip:rect(0px,60px,200px,0px); // ja bilde vai flash ir par lielu un vēlies rādīt tikkai daļu no tā, tad ar clip parametru to var izdarīt, tik objektam jābūt absolūti pozicionētam.
table-layout:fixed; width: 100%; // uzlikt lai tabula nestiepjas līdzi kontentam
// stili pa browseriem
.box {
background: #00f; /* all browsers including Mac IE */
background : green\9; /* IE8 and below */
*background: #f00; /* IE 7 and below */
_background: #0f0; /* IE 6 and below */
_bac\kground: #f60; /* IE 6 only */
}
@media all and (min-width: 0px){ /* tikkai opera */
[ Normal CSS rules here ]
}
// caurspīdība krāsai visiem browseriem
background-color: rgb(0,0,0);
opacity:0.5; /* css standard */
filter:alpha(opacity=50); /* IE patch */
// caurstpīdība png bildei ie6
_background: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/muzika/images/titleOverlay.png', sizingMethod='scale') !important;
// krāsas
em { color: rgb(255,0,0) } /* integer range 0 - 255 */
em { color: rgba(255,0,0,1) /* the same, with explicit opacity of 1 */ tikkai moz un ie7
em { color: rgb(100%,0%,0%) } /* float range 0.0% - 100.0% */
em { color: rgba(100%,0%,0%,1) } /* the same, with explicit opacity of 1 */ tikkai moz un ie7
// pozicionēšana
static --- Default. An element with position: static always has the position the normal flow of the page gives it (a static element ignores any top, bottom, left, or right declarations)
relative ---- An element with position: relative moves an element relative to its normal position, so "left:20" adds 20 pixels to the element's LEFT position
absolute ---- An element with position: absolute is positioned at the specified coordinates relative to its containing block. The element's position is specified with the "left", "top", "right", and "bottom" properties
fixed ---- An element with position: fixed is positioned at the specified coordinates relative to the browser window. The element's position is specified with the "left", "top", "right", and "bottom" properties. The element remains at that position regardless of scrolling. Works in IE7 (strict mode)
// uzlikt maksimālo izmeru paragrafam pikseljos. css strādā visiem browseriem
p {
border:1px solid red;
max-width:800px;
width:expression(document.body.clientWidth > 800? "800px": "auto" ); /* ie */
}
// uzlikt maksimālo izmeru paragraafam atkarībā no fonta izmēra. css visiem browseriem -----
p {
border:1px solid red;
max-width:30em;
width:expression(
document.body.clientWidth > (500/12) *
parseInt(document.body.currentStyle.fontSize)?
"30em":
"auto" ); /* ie */
}
<meta name="robots" content="noarchive" /> // lai meklēšanas roboit neviedotu lapai kopiju / arhīvu indeksācija tāpat tiek veidota
<meta name="googlebot" content="noarchive"> // tikkai google bots lai neveido arhīvu. iepriekšējais vija visiem
// caurspīdīgs iframe
// šo liekam lapā kura tiks norādīta iframe sourcē:
<style type="text/css">
Body { Background: transparent; }
</style>
// un pats iframe šads. ALLOWTRANSPARENCY="true" šis ir nepieciešams priekš IE.
<iframe src="Links_uz_musu_lapu.html" width="700" height="280" hspace="0" vspace="0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" ALLOWTRANSPARENCY="true" ></iframe>
//vienu texta rindu vertikāli iecenterēt var norādot line hight atbilstošajā augstumā
// bloka vertikālā centerēšana as css līdzekļiem
http://www.wpdfd.com/editorial/thebox/deadcentre4.html
// bloka vertikāla un horizontāla iecentrēšana
http://www.infinitywebdesign.com/research/cssverticalcentereddiv.htm
----------------- HTML ------------------------
vairāku failu agšuplāde. šādu pierakstu atbalsta tikkai firefox, opera un safari.
<form enctype="multipart/form-data" method="post">
<input type="file" min="1" max="9999" name="file[]" multiple="true" />
<input type="submit" name="submit" />
</form>
// lavtiešu burtu html entities kodi
http://tlt.its.psu.edu/suggestions/international/bylanguage/latvian.html
-----------------JavaScript--------------------
ClickHeat // softs kurš parāda uz kādas vietas cik daudz cilvēku klikšķina
// bez nekādām bibliotēkām dinamiski ielādē saturu tagos
// javascriptu jāizpilda pēc html ielādes, jo savādāk nebūs meklētā objekta
<html>
<head>
<title></title>
<script type="text/javascript">
function load_ek(){
var ul = document.getElementById("list");
var li = document.createElement("li"); // izveido elementu
var litext = document.createTextNode("test"); // izveido teksta elementu
li.appendChild(litext); // ievieto elementā
ul.appendChild(li);
}
</script>
</head>
<body onload="load_ek();">
<h1></h1>
<ul id="list">
</ul>
</body>
</html>
s.setAttribute("width","100"); // uzlikt tagam atribūtu
s.style.visibility = 'visible'; // uzlikt css stilu
s.style.backgroundColor = '#ff0000'; // tik visi nosaukumi nesakrīt ar css kā piemēram šis
// dinamiski piešķirt elementam onclick - strādā uz visiem browseriem
inps[0].onclick = new Function("chooseType("+newRowNo+");");
inps[0].onclick = function() { chooseType(newRowNo); };
// pārrakstīt kāda elementa saturu
document.getElementById('boldStuff').innerHTML = 'Fred Flinstone';
// browser cheking
// convert all characters to lowercase to simplify testing
var agt=navigator.userAgent.toLowerCase();
// *** BROWSER VERSION ***
// Note: On IE5, these return 4, so use is_ie5up to detect IE5.
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
// Note: Opera and WebTV spoof Navigator. We do strict client detection.
// If you want to allow spoofing, take out the tests for opera and webtv.
var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) ||
(agt.indexOf("; nav") != -1)) );
var is_nav6 = (is_nav && (is_major == 5));
var is_nav6up = (is_nav && (is_major >= 5));
var is_gecko = (agt.indexOf('gecko') != -1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3 = (is_ie & (is_major < 4));
var is_ie4 = (is_ie & (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up = (is_ie && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 & !is_ie5_5);
// Noteikt lietotāja operētājsistēmu
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
// javascript image preloder - ielādē bildes jau iepriekš lai vēlāk ātrāk varētu parādīt
http://www.pageresource.com/jscript/jpreload.htm
// labs piemērs attēlu resaizošanai, griešanai un rotešanai ar javascript
http://crop.smally.net/
// Mainīt saturu popup logam
function dirtypop()
{
var generator=window.open('','name','height=400,width=500');
generator.document.write('<html><head><title>Popup</title>');
generator.document.write('<link rel="stylesheet" href="style.css">');
generator.document.write('</head><body>');
generator.document.write('<p>This page was generated by
the main window.</p>');
generator.document.write('<p><a href="javascript:self.close()">
Close</a> the popup.</p>');
generator.document.write('</body></html>');
generator.document.close();
}
<a href="javascript:dirtypop();">Generate!</a>
// Jcrop - javascript bilžu griezējs. Noder admin pusēs utt.
http://deepliquid.com/content/Jcrop.html
// tinyMCE pēc noklusējuma veic spēcilo sibolu aizstāšanau ar html entiiju kodiem, tai skaitā arī latviešu "š", no tā varam tikt vaļā šādi:
tinyMCE.init({
entity_encoding : "raw",
...
-------------------HTTP 1.1-------------------
http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.3
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see appendix 19.3 for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described in section 3.7.
CRLF = CR LF
Clients SHOULD be tolerant in parsing the Status-Line and servers tolerant when parsing the Request-Line. In particular, they SHOULD accept any amount of SP or HT characters between fields, even though only a single SP is required.
The line terminator for message-header fields is the sequence CRLF. However, we recommend that applications, when parsing such headers, recognize a single LF as a line terminator and ignore the leading CR.
--------------------Flash-----------------------
šie liekami embedā
wmode="window" // defaultais eed vismazāk resursu
wmode="Opaque" // flashu kontrolē browseris un kārtojas saturā tāpat kā jebkurš cits html elemets. darbojas z-index utt.
wmode="Transparent" // caurspīidiigias režīms labs, ja flashā izmanto caurspīdību
quality parameters:
low - favors playback speed over appearance and never uses anti-aliasing.
autolow - emphasizes speed at first but improves appearance whenever possible. Playback begins with anti-aliasing turned off. If Flash Player detects that the processor can handle it, anti-aliasing is turned on.
autohigh - emphasizes playback speed and appearance equally at first, but sacrifices appearance for playback speed if necessary. Playback begins with anti-aliasing turned on. If the actual frame rate drops below the specified frame rate, anti-aliasing is turned off to improve playback speed. Use this setting to emulate the View > Antialias setting in Flash.
medium - setting applies some anti-aliasing and does not smooth bitmaps.
high - favors appearance over playback speed and always applies anti-aliasing.
best - provides the best display quality and does not consider playback speed. All output is anti-aliased and all bitmaps are smoothed.
// ar AS2 izsauc lapas javascript funkciju
getUrl("javascript:function_name(1)","")
// konekcijai flasham savā starpā ar citu swf
localConnection()
// embeda paraugs
// object tags ir priekš IE un embed priekš Netscape un tamlīdzīgiem.
// classid is an attribute to the <object> tag. It tells Internet Explorer to load the ActiveX plug-in if it is not installed
// pluginspage is an attribute to the <embed> tag. It displays a link to the Shockwave download page if Netscape does not have it
<object
height="280"
width="280"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
hspace="0"
vspace="0"
border="0"
>
<param name="movie" value="PATH_TO_SWF_FILE" />
<param name="quality" value="high" />
<param name="bgcolor" value="" />
<param name="loop" value="true"/>
<param name="menu" value="true" />
<param name="play" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="flashvars" value="clickTAG=http%3A%2F%2Fwww.tvnet.lv=text2">
<embed
src="PATH_TO_SWF_FILE"
quality="high"
pluginspace="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash"
height="280"
width="280"
hspace="0"
vspace="0"
border="0"
wmode="opaque"
allowscriptaccess="always"
play="true"
loop="true"
bgcolor=""
menu="true"
flashvars="clickTAG=http%3A%2F%2Fwww.tvnet.lv=text2"
/>
</object>
// embedotam flasham opera prasa lai uzklikšķina un tad tikkai sāk ļauj noklausīties kursora kordinātas
// apakšējā linkā ir aprakstīts kā no tā izvairīties utt.
http://www.howtocreate.co.uk/noclicktoactivate.html
// as2 clickTAG kods piekš dažādām flash versijām
http://www.flashclicktag.com/
Flash 8 and 9
on (release) {
if (_root.clickTAG.substr(0,5) == "http:") {
getURL(_root.clickTAG, "_blank");
}
}
Flash 4, 5, 6, and 7
on (release) {
if (clickTAG.substr(0,5) == "http:") {
getURL(clickTAG, "_top");
}
}
// opensource flash
F4L // flash priekš linux. spēj atvērt fl failus un editēt.
http://forums.debian.net/viewtopic.php?f=6&t=11835&sid=c14eb2fe2c7150c97371868da0e8cf5d // pamācība kā uzinstalēt
FlashDevelop // flash programmēšanas IDE
// labs spraudnis (plugin) FlashDevelopam ir Visual FlashDevelop. Atarhivējot jāiekopē FlashDevelopa pluginu direktorijā. spraudni pielietot var izveidojot jaunu failu ar paplašinājumu *.vfd. Spraudnis nodrošina iespēju ar peles palīdzību veidot objektus: apli, četrstūri un bildi.
Adobe Flex 3 SDK // bezmaksas adobe flex kompilators, nepieciešams piejūgt flashdevelopam
// tools -> program settings -> AS3Context -> Flex SDK location -> norādam atarhivētā flex sdk direktoriju
RED5 // atvērtā koda flash serveris. nodrošina: * video/audio streemingu (FLV, h264, AAC, and MP3) * ieraksta klienta streemus (FLV tikai) * shārētie objekti * Live Stream publicēšana * Remoting (AMF)
http://osflash.org/red5
Wowza // maksas flash streaming serveris ar visādām fīčām tai skaitā serverpuses skripti utt.
http://www.wowzamedia.com/
// portu fall back secība, kādu lieto jw un citi flash streemingu atbalstošie playeri
rtmp:1935, rtmp:443, rtmpt:80, rtmps:443.
AMFPHP // php bibliotēka kas nodrošina php un actionscript kumunikācijai izmantojot amf protokolu
http://www.amfphp.org/docs2/installing_amfphp.html
palaižot pirmo reizi amfphp no webservera man meta erroru "NetConnection.Call.Failed ... utt". Ar to galā tiku iekš php.ini atkomentējot date.timezone un norādot vērtību (manā gadījumā: "Europe/Riga" ).
laba lieta ir pieejamais debugeris kurš pieejams šādi: http:TAVS_HOSTS/browser
// amf uzrakstīts c valodā kā php extensions, bet tas neaizstāj amfphp. Tas nodrošina ātrāku parkodēšanu un atkodēšanu uz amf0 un amf3 formātu.
http://www.teslacore.it/wiki/index.php?title=AMFEXT
// amf iekš zend frameworka
http://framework.zend.com/manual/en/zend.amf.server.html
// bibliotēka lai as3 varētu izmantot ssl/tls
http://code.google.com/p/as3crypto/
// Strings v2.41 rīks ar kuru atvērt FLA failus un netikai. Ver vaļā vēl daudzus citus binārus failus kuri sevī iekļauj ascii un unicode stringus.
http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx // lejuplādēt programmu
strings.exe -n 10 tvnet_ad_as3_balcony.fla > sting.txt // piemērs kā konvertēt FLA failu uz txt failu. -n 10 karogs norāda ka mūs interesē rindas kurās ir vairāk par 10 zīmēm.
muSprite //vizuālais as3 editors. var zīmēt flash animācijas un rezultātā iegūst as3 kodu kuru var pēctam nokompilēt ar flex 3 sdk un iegūt swf
http://musprite.sourceforge.net/assets/muSprite.html // online aplikācija
http://sourceforge.net/project/platformdownload.php?group_id=199207 // lejuplādes vieta
// as3 programmēšanas valodas pamācība
http://www.gamedev.net/reference/programming/features/flex/
http://www.flasherdot.org/T/
// as3 galvenā lietoāja interfeisa clase
http://livedocs.adobe.com/flex/201/langref/mx/core/UIComponent.html
MTASC: first ActionScript 2 Open Source free compiler
Openlaszlo: OpenSource Server for building Flash Websites
// daudz dažādi ar bezmaksas flash saistīti rīki
http://osflash.org/open_source_flash_projects
PaperVision3d and Box2dFlash // flash bibliotekas
FlashEff2 - bibliotēkas ar dažādiem flash efektiem gan tekstam, gan simboliem, gan paterni. Tik ne visi efekti ir veiksmīig realizēti - daudzi pēctam ļoti noslogo procesoru.
http://www.flasheff.com/patternsshowcase/
FlintPartcle system - vēl viena bibliotēka ar flash efektiem. daļiņu sprādzieni, zāles augšana utt. Slogo procesoru.
http://flintparticles.org/examples/grass
Sandy 3D flash engine. bibliotēkas lai atvieglotu 3d telpas un objektu izveidi flashā. tik slogo procesoru. Pirmā flash 3d engine. (opensource)
http://www.flashsandy.org/tutorials/3.0
Papervision 3D - labāka performāce par sandy 3d. (opensource)
Away 3D - būvēts uz papervison bāzes, bet ir vairāksas papildus funcijas. (opensource)
http://www.flashmagazine.com/tutorials/detail/away3d_basics_4_-_manipulating_3d_objects/
Blender to ActionScript 3 exporter.
http://www.rozengain.com/blog/2008/01/02/export-your-blender-objects-straight-to-away3d-papervision3d-and-sandy/
------------ Photoshop Elemement 6 -------
// Pārejas uztaisināšana starp diviem slāņiem
1) izveidojam jaunu slaņi starp šiem abiem
2) nospiežam "D" taustiņu lai noresetotu 'foreground" un ''background" krāsas
3) labajā pusē no iespējam ievēlāmies "gradient tool". Ikona ir apzīmēta ar krāsu pāreju. Vai nospiežam "G" taustiņu.
4) augšā labājā pusē pardīsies izvēlne. tur izvēlamies pāreju "no melnas uz caurspīdīgu".
5) ar peli jaunajā slānī novelkām vietu, kur nepieciešama pāreja.
6) noklikšķinam uz augšējo slāni lai aktivizētu to un nospiežam "Ctrl+G" lai sagrupētu to ar apakšā atrodošos gradienta slāni.
7) viss gatavs.
--------------------FFMPEG--------------------
ffmpeg -i source.avi -ar 44100 -ab 32 -f flv result.flv // konvertēšana no avi uz flash
avconv -i source.HDTV.x264-LOL.\[VTV\].mp4 -vcodec mpeg4 -vb 500k -s 480x320 -acodec libvo_aacenc -ar 22050 -ab 64k -f mp4 result.mp4 // konvertēšana uz 480x320 izšķirtspēju
ffplay [options] `input_file' // failu atskaņotājs
ffmpeg -formats // izdrukā kādus formātus suportē
mplayer -vo aa movie.avi // video izmantojot ascii simbolus
------------------ WINDOWX XP --------------
ipconfig /all // parada visu info (ip adreses, mac adreses utt) par tīkla kartes interfeisiem
ipconfig /displaydns // parāda os dns cache
ipconfig /flushdns // dzēš dns cache
ipconfig /release // pārtrauc visus tcp/ip savienojumus. lietojams dhcp gadījumā.
ipconfig /release "Local Area Connection 1" // tas pats tik priekš konkrēta interfeisa. lietojams dhcp gadījumā.
ipconfig /renew // atjauno tcp/ip savienojumus. lietojams dhcp gadījumā.
ipconfig /renew "Local Area Connection 1"
ipconfig /registerdns // atjaunina dns ierakstus
netsh interface ip show config // parāda tcp/ip uzstādījumus
netsh interface ip set address name="Local Area Connection" static 192.168.0.100 255.255.255.0 192.168.0.1 1 // vienam interfeisam uzliekam statisko adresi, subnet masku un gateway
netsh interface ip set address "Local Area Connection" dhcp // uzliekam lai interfeiss izmanto dhcp konfigurāciju
netsh interface ip set dns "Local Area Connection" static 192.168.0.200 // norādam dns servera adresi
netsh interface ip set wins "Local Area Connection" static 192.168.0.200 // norādam WINS adresi
---------------------CITI------------------------
http://www.nforce.nl/
// google android mobile os howto install on pc
Android SDK jāatarhivē un no tools direktorijas ar cmd jāpalaiž emulator.exe -datadir C:\android_swap_data_directory
lai uzinstalētu jāunu programmu no cmd jāpalaiž adb install programname.apk komanda. apk datnei jābūt tools direktorijā.
Pirmstam būtu vēlams windowsam uzlikt windows user variables path uz android sdk mapi.
http://en.onsoftware.com/try-googles-android-mobile-os-on-your-pc-2/ // kā uzinstalēt androidu
http://code.google.com/android/ // api būvēšana androidam
http://www.youtube.com/watch?v=I6ObTqIiYfE // api būvēšana izmantojot eclipse
linux 2.6
-----libraryies-------
opengl/es
sql
ssl
sqllite
webkit
-----runtime------
dex failus palaiž
// video konvertators gan no video uz swf, flv utt gan audio
Free Studio Manager v3.1.1.2 www.dvdvideosoft.com
// par os izstrādi
http://www.nondot.org/sabre/os/articles
http://www.osdever.net/tutorials/lba.php
http://www.emu8086.com/ //8086 assemblers
// linuxā assamblers un c lai izstrādātu os
http://linuxgazette.net/issue77/krishnakumar.html
http://siyobik.info/index.php?document=x86_32bit_asm // x86 assemblera pamati
http://www.starspace.lv
http://neblogs.lasi.lv/post/53441089/k-pievienot-gudro-lasi-lv-pogu-savam-blogam
http://torvalds-family.blogspot.com/
http://www.moolenaar.net/habits.html // labas lietas par vim
http://video.mail.ru/cgi-bin/photo/search?tag=spiderman // kur var filmas skatīties
http://electronics.howstuffworks.com/diode.htm // kā pusvadītāji darbojas
www.dimdim.com // web konferences kur var visiem useriem rādīt desktopu un white boardā zīmēt shēmas. iespējams arī webcamu un mikrofonu pieslēgt.
-------------- ELEKTROMAGNĒTISKIE VIĻŅI -------------------
http://science.hq.nasa.gov/kids/imagers/ems/visible.html // par redzamo gaismu
additive - pieskaitāmās krāsas: estrades pržektori utt: RGB. red - 700nm - blue - 400nm
subtractive - atņemamais krāsas: tinte utt: CMY cyan magena yellow. tintes pirnterim ir CMYK kur K ir key black.
http://uw.physics.wisc.edu/~timbie/P325/Payne_blue_diode_lasers.pdf
http://www.colorado.edu/physics/2000/waves_particles/wavpart2.html //elektromagnētiskie viļņ
frekvence (f) - cik pilnus periodus veic vienā sekundē.
periods (T) - cik ilgā laikā vilnis veic pilnu svārstību.
distance (D) - vienāda ar viļņa garumu. cik lietlu aatālumu noiet vilnis lai veikut pilni vienu svārstību.
gaismas ātrums (c) - 300 000 km/s
c=D/T
f=1/T
c=dxf
vienāda viļņa garuma viņiem gaišāks ir tas, kuram ir lielāks viņa augstums
gaišāks ir otrais
spektroskopija - zinātne, kur nosaka atomus pēc to radītiem elektormagnētisko viļņu garumiem.
x-ray metodes: 1) Bremsstrahlung un 2) K-Shell Knockout
http://www.dzm.lv/fiz/index.shtml // fizika un citi materiāli latviešu valodā
// ------------- BLENDER -----------
Basic Commands for reference -
--Files
F1 = Open File
F2 or Ctrl+W = Save File
F3 = Save rendered Image
Ctrl+O = Recent Files
--3D Viewport
Zoom = mouse wheel or num pad + - keys
Rotate = middle mouse button or alt+ left mouse button
Pan = shift + middle mouse button or shift + alt + left muse button
Different view ( Front , right , top ) shortcuts = numpad 1,3,7. (Opposite view with Ctrl key)
Perspective mode on/off = Numpad 5
Local View = Numpad /
Center Object = Numpad . (del)
Toolbar = Space key
To select = Right click
Multiple select = hold shift button while right click
To select all = A
To deselect all = A
To drag select �B
Basic Transformations:
R = Rotate
S = scale
G = grab and move
Shift D = duplicate
Z key = view mode
Del key to delete any thing.
--Edit Mode
Tab = switches between edit and object mode
To select = Right click
Multiple select = hold shift button while right click
To select all = A
To deselect all = A
To drag select = B
Transform -
R = Rotate
R, X - rotē ap x asi
R, Y - rotē ap y asi
R, Z - rotē ap z asi
R, [X,Y,Z], N - lai norādītu precīzu leņķi pa cik pagriezt objektu. un pēctam jānospiež enter.
S = scale
G = grab and move
Shift D = duplicate
Z key = view mode
Del key to delete any thing.
O = Proportional Editing / Soft Selection
E = Extrude
K = Knife Tool
Ctrl+R = LoopCup
Alt+M = Merge Vertices
F = Make edge / Face
Shift F = Fill / Make Face
Ctrl+T = Triangulate the Mesh
Alt+J = make quads
W = Edit Special Menu zem tā apakšā ir smooth, hide, reveal, bevel u.c. noderīgas lietas
H = Hide
Alt+H = Reveal
-Armature
1) object modē uztaisam cubu
2) nosiežam s, pēctam turam alt un padaram gubu par garenstūri
3) edit modē nospiežam k un izvēlamies loop cut un tā vairākas reizes lai cubs būtu sadalīts sīkā locījuma vietā
4) object modē nospiežam space -> new -> armature
5) edit modē ieliekam kubam pa vidu armatūru vismas divus kaulus. ar e var dabūt jaunu kaulu.
6) object modē ieselektējam kubu un armatūru un spiežam Ctrl + p un izvēlamies Armature -> without group.
7) ja nedabīgi locās varam nospiest uz kauliem tad edit modē nospiest uz envelped un tad s un ap kauliem palielināt/samazināt daļu kura nelokās
8) pose modē izmēģinam kā strādā
---Buttons Window
F4 = Game Logic
F5 = Shaders
F6 = Texture
F7 = Object
F8 = World Settings
F9 = Editing
F10 = Render Settings
F11 = Previous Rendered image
F12 = Render current frame
+ = Zoom in
- = Zoom out
User Preference
Drag Down the File Menu Bar = User Prefernce Options
Ctrl+u = Saving User options as Defaults.
http://cgtuts.s3.amazonaws.com/046_Blender_Overview/tutorial.htm
http://download.blender.org/documentation/BlenderHotkeyReference.pdf
// bender video pamācība 30min
http://cg.tutsplus.com/tutorials/blender/a-detailed-overview-of-the-blender-interface/
//--------------------- ANSI-C --------------------------
gcc un linux shared libraries:
1) jābūt trim failiem my_lib.h, my_lib.c, main.c
2) piemēram my_lib.h:
char do_something(char);
3) piemēram my_lib.c:
char do_something(char input){return 'A';}
4) piemēram main.c:
#include <stdio.h>
#include <stdlib.h>
#include "my_lib.h"
int main(void){printf("%c", do_something('B'));};
5) tālāk kompilējam:
gcc -c -fPIC my_lib.c -o my_lib.o
gcc -shared -o libmy_lib.so my_lib.o
gcc -o main main.c -L. -lmy_lib
6) tālāk lai palaistu testam nepārvietojot shared library uz tam paredzeto direktoriju varam darit šā:
export LD_LIBRARY_PATH=~/my_lib_path
./main
microsoft visual studio cl dll kompilēšana:
cl.exe /D_USRDLL /D_WINDLL <files-to-compile> <files-to-link> /link /DLL /OUT:<desired-dll-name>.dll
// programmas kura izmanto gtk kompilēšana
gcc -Wall -g gtk_helloworld-1.c $(pkg-config --cflags gtk+-2.0) -o gtk_helloworld-1 $(pkg-config --libs gtk+-2.0)
// c grafu zīmēšana
http://zaher14.blogspot.com/2007/01/graphicsh-in-linux.html
// linux šhārēto bibliotēku pievienošana
http://blog.andrewbeacock.com/2007/10/how-to-add-shared-libraries-to-linuxs.html
// c piekļuve vga atmiņai
http://www.brackeen.com/vga/basics.html
// c programmēšanas valoda
http://www.ifp.tuwien.ac.at/institut/skripten/134.121%20Datenverarbeitung%20fuer%20Physiker%20I/C%20Programming%20Language.pdf
http://aelinik.free.fr/c/ch03.htm -- 3
// ansi-c programmas lai butu portējamas starp 32 bit un 64 bit sistēmām
http://docs.hp.com/en/5966-9887/ch04s03.html
http://www.codeproject.com/KB/cpp/size_t-and-ptrdiff_t.aspx
// gcc karogi dažāda veida bridinājumu izvadei kompilācijas laikā
http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
// ansi-c kā noteikt vai sitēma ir big-endian vai little-endian izmantojot union
http://stackoverflow.com/questions/4250837/c-program-to-determine-if-machine-uses-big-endian-or-little-endian-byte-order
// c bibliotēka priekš live face recognition u.c. lietām
//--------------------------------------
Dec Hexl Bin
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Privātajam tīklam rezervētās adreses:
192.168.x.x,
172.16.x.x līdz 172.31.x.x
10.x.x.x
http://www.kalkulatorsocta.lv/octa/aprekinat.html?auto_num=NR&apl_num=NR&periods=12 //izdevīgākā octa
http://www.1car1.com/cars.aspx // auto īre anglijā
tzap // tv adatpera softs uz linux (DVB-T)
http://bakery.cakephp.org/articles/view/quickly-translate-ip-to-geo-coordinates // pēc ip adreses notiekt atrašanās vietu
http://www.maxmind.com/app/locate_my_ip
// sms sūtīšana
http://www.smsbox.lv/smsbox/smsbox.htm
//googlemaps no google docs spreadsheet tabulas
http://gmaps-samples.googlecode.com/svn/trunk/spreadsheetsmapwizard/makecustommap.htm
// domxml php4 -> php5
http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/index.en.html
// atrašanās vieta kartē pēc ip adreses
http://tools.abacin.com/iplookup.php?ip=121.54.92.37
// lai pievienotu objektu pēc nosaukuma un googlemapā sērčojot to atrastu pēc tava dotā nosaukuma
http://wikimapia.org
// links kur ir pāris vārdos paskaidrotas atšķirības flickr.com attēlu autortiesībās:
http://weblogs.about.com/od/bloggingethics/p/CreativeCommons.htm
// visbrīvākais not tiem ir "Attribution" kurš nozimē, ka bildi var lietot gan komerciāli, gan nekomerciāli kā arī drīkst to mainīt. Tāču bildi tu drīksti lietot tik ilgi kamēr tu esi ielicis
// atsauci uz autoru.
// vieta kur meklēt flickr.com bildes, kur autori ir izvēlējušies "Attribution" autortiesību variantu:
http://weblogs.about.com/gi/dynamic/offsite.htm?zi=1/XJ&sdn=weblogs&cdn=compute&tm=112&f=00&tt=13&bt=0&bts=0&zu=http%3A//www.flickr.com/creativecommons/
// ubuntu 8.10 pieslēgties windows vpn
http://www.splatdot.com/2008/11/19/ubuntu-810-how-connect-microsoft-vpn
// 3d bildes
http://www.ranum.com/fun/lens_work/tutorials/3d_composite/index.html
http://www.youtube.com/watch?v=9j-uRTsHC9k
zabbix // tīkla monitorēšanas rīks (bez maksas).
// Word Viewer lai atvērtu docx un citus MS Office failus, kurus nevar atvērt ar OpenOffice un tamlīdzīgiem opensource.
http://www.microsoft.com/downloads/details.aspx?FamilyID=3657ce88-7cfa-457a-9aec-f4f827f20cac&displaylang=en
// fizika - temperatūra un siltums
http://www.chelationtherapyonline.com/technical/p18.htm
// squid - softs priekš proxy cachingam un filtrēšanai utt.
X:\squid\bin\squidclient.exe -h 127.0.0.1 -m PURGE http://www.yourtargetwebsite.com/ // iztīrīt no proxy nevēlamu iekešotu failu
// rsync - softs priekš failu un direktoriju sinhronizēšanas no vietas vietas uz otru
http://en.wikipedia.org/wiki/Rsync
tcpdump // soft lai skatītos interneta trafiku pa portiem
tcpdump -w file.tcpdump -s 0 -i eth0 // dumpu ieseivojam iekš file.tcpdump
tcpdump -A -n -s 0 -r file.tcpdump | less // un pēctam izvadam dumpu tekstuālā formātā uz ekrāna
// veids kā nodumpotu rtmp streamingu, kad rtmp pilnais path nav redzems ne iekš html source, nedz caur tcpdump:
nepieciešams uzinstalēt rtmpdump
iptables -t nat -A OUTPUT -p tcp --dport 1935 -j REDIRECT // forvardējam rtmp uz lokālo neīsot rtmp serveri
rtmpsrv // palaižam neīsot rtmp serveri
palaižam no browsera mums interesējošo flash aplikāciju
apstādinam rtmpsrv ar ctrl+c
rtmpsuck // palaižam transparento proxy
pailažam no browsera mums interesējošo flash aplikāciju
apstādinam rtmpsuck
iptables -t nat -D OUTPUT -p tcp --dport 1935 -j REDIRECT // novācam redirektu
// vairāk par to visu šeit:
http://pxnh.wordpress.com/2010/08/21/rtmp-retrieval-with-rtmpdump-and-tcpdump/
wireshark // softs lai sniffotu lokālo tīklu
http://www.wireshark.org/docs/
nmap - softs lai nočkeotu lokālajā tīklā pieslēgtos hostus un to atvērtos/aizvērtos portus
nmap -sV 192.168.0.1 // parāda atvērtos portus un portu apkalpojošās aplikācijas nosaukumu un versiju
// http://en.wikipedia.org/wiki/Nmap
iptables - ugunsmūris linuksam (portu bloķēšana utt)
// http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#PREREQUISITES
ufw - palīgs darbam ar iptables. ļauj vienkāršākā veidā konfigurēt iptables
// http://man.he.net/man8/ufw
// update dir-300
http://www.gargoyle-router.com/wiki/doku.php?id=install_guide
// audacity - laba open source programma priekš audio toršņu filtrēšanas.
http://library.thinkquest.org/C0110291/tricks/external.php // paratmiņas metodēm
http://www.iecc.com/linker/linker01.html
http://www.zlib.net/zlib_how.html
// source dokumentācija doxygen
http://www.stack.nl/~dimitri/doxygen/
pmap -x 1724 // linux parādīt konkrētā procesa virtuālas atmiņas izlitojuma tabulu
// prorammēšanas zināšanu pārbaude
http://codility.com/
// usb tv adapteris darbojās ari uz ubuntu
avermedia volar x
http://odo.lv/forum/posts/list/48.page
// failu uploads un downloads ar as3
http://livedocs.adobe.com/flex/3/html/help.html?content=17_Networking_and_communications_7.html
// uz gnome aizverot portatīvā vāku lai neizslēdz ari otru monitoru ja tāds pieslēgts.
gconftool-2 --type string --set /apps/gnome-power-manager/buttons/lid_ac "nothing"
// click tracking third party extra parameters
http://www.adspeed.com/Knowledges/254/Banner_Richmedia_Text/howto_track_clicks_HTML_RichMedia_ads.html
macron - garumzīme kā uz ā, ē utt.
caron - mīkstinājumzīme kā uz č, š utt.
cedilla - mīkstinājumzīme kā zem ņ, ķ utt.
// uz 32bit procesora emulēt 64bit procesoru
http://en.wikibooks.org/wiki/QEMU/Images
// PGP prakstītu failu pārbaude
1) For example we have email from user: seb@debian.org
2) to get its fingerprint:
finger seb@db.debian.org
-----
uid=seb,ou=users,dc=debian,dc=org
First name: Sebastien
Last name: Delafond
Email: Sebastien Delafond <seb@debian.org>
IRC nickname: Seb
Fingerprint: E40F 8DC4 0800 ACA5 2562 BBE4 91AD 581A DAF6 CE93
Key block: finger seb/key@db.debian.org
-----
3) to imoprt public key of seb@debian.org:
gpg --keyserver keyring.debian.org --recv-keys 0x91AD581ADAF6CE93
-----
gpg: keyring `/home/eriks/.gnupg/secring.gpg' created
gpg: requesting key DAF6CE93 from hkp server keyring.debian.org
gpg: /home/eriks/.gnupg/trustdb.gpg: trustdb created
gpg: key DAF6CE93: public key "Sebastien Delafond <sdelafond@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
-----
4) To verify that e-mail is signed by seb@debian.org:
gpg --verify signed_message.txt
-----
gpg: Signature made Thu 25 Oct 2018 10:11:34 AM EEST using RSA key ID F3D59D64
gpg: Good signature from "Sebastien Delafond <sdelafond@gmail.com>"
gpg: aka "Sebastien Delafond <seb@debian.org>"
gpg: aka "Sebastien Delafond <sdelafond@gmx.net>"
gpg: aka "Sebastien Delafond <sebastien.delafond@enst-bretagne.fr>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: E40F 8DC4 0800 ACA5 2562 BBE4 91AD 581A DAF6 CE93
Subkey fingerprint: 02A4 A46D 5B6B 5CFE 3124 C877 10BE 8983 F3D5 9D64
-----
Debian LDAP search (returns PGP as well)
https://db.debian.org/
------------ Artificial Inteligence ------------
// opensource projekts
http://numenta.org/