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

------------ Artificial Inteligence ------------
// opensource projekts
http://numenta.org/
© Ēriks Krūze 2016 | mail: erik...@gmail.com