Template:ProgrammersResorces: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
| (9 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
* [http://www.lysator.liu.se/c/bwk-tutor.html Programming in C: A Tutorial] (by Brian W. Kernighan) |
* [http://www.lysator.liu.se/c/bwk-tutor.html Programming in C: A Tutorial] (by Brian W. Kernighan) |
||
* [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html GCC and make] - par gcc kompilatoru no NTU |
|||
* [http://www.gnu.org/software/make/manual/make.html Gnu make] dokumentācija |
* [http://www.gnu.org/software/make/manual/make.html Gnu make] dokumentācija |
||
* [https://www.gnu.org/software/make/manual/make.html#Makefile-Names makefile vai Makefile]? |
|||
* [http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Tipiskas unix direktoriju hierarhijas] īss apraksts. |
* [http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Tipiskas unix direktoriju hierarhijas] īss apraksts. |
||
| Line 30: | Line 32: | ||
* [http://www.linuxprogrammingblog.com/io-profiling IO profiling] at Linux programming blog |
* [http://www.linuxprogrammingblog.com/io-profiling IO profiling] at Linux programming blog |
||
* [https://www.linux.com/learn/tutorials/470979-who-and-what-is-on-my-network-probing-your-network-with-linux Tīkla analīze] |
* [https://www.linux.com/learn/tutorials/470979-who-and-what-is-on-my-network-probing-your-network-with-linux Tīkla analīze] |
||
** Tīkla caurplūdes testi |
|||
$ yes | pv | ssh user@example.com "cat > /dev/null" |
|||
97,3MiB 0:01:36 [1,28MiB/s][ <=> ] |
|||
$ mtr -rw -c 100 <server_ip> |
|||
HOST: <myhost> Loss% Snt Last Avg Best Wrst StDev |
|||
1.|-- _gateway 0.0% 100 0.7 0.6 0.3 2.4 0.2 |
|||
2.|-- <server_ip> 1.0% 100 1.0 4.3 0.9 26.6 5.7 |
|||
$ iperf3 -s # startē serveri vienā galā |
|||
Server listening on 5201 |
|||
$ iperf3 -c <server_ip> # startē klientu otrā galā |
|||
Connecting to host <server_ip>, port 5201 |
|||
[ 5] local 192.168.1.123 port 51846 connected to <server_ip> port 5201 |
|||
[ ID] Interval Transfer Bitrate Retr Cwnd |
|||
[ 5] 0.00-1.00 sec 1.42 MBytes 11.9 Mbits/sec 0 89.1 KBytes |
|||
[ 5] 1.00-2.00 sec 1.62 MBytes 13.6 Mbits/sec 0 147 KBytes |
|||
... |
|||
[ 5] 9.00-10.00 sec 2.30 MBytes 19.3 Mbits/sec 0 595 KBytes |
|||
- - - - - - - - - - - - - - - - - - - - - - - - - |
|||
[ ID] Interval Transfer Bitrate Retr |
|||
[ 5] 0.00-10.00 sec 14.2 MBytes 11.9 Mbits/sec 0 sender |
|||
[ 5] 0.00-10.42 sec 11.6 MBytes 9.36 Mbits/sec receiver |
|||
$ nstat -az | grep -Ei "drop|overflow|retrans" |
|||
TcpRetransSegs 127923 0.0 |
|||
TcpExtLockDroppedIcmps 0 0.0 |
|||
TcpExtListenDrops 1 0.0 |
|||
TcpExtTCPLostRetransmit 11837 0.0 |
|||
... |
|||
$ ethtool eth0 |
|||
Settings for eth0: |
|||
Supported ports: [ TP ] |
|||
Supported link modes: 10baseT/Half 10baseT/Full |
|||
100baseT/Half 100baseT/Full |
|||
1000baseT/Full |
|||
... |
|||
$ sudo ethtool -S eth0 | grep -E "errors|dropped|fifo|collision" |
|||
collisions: 0 |
|||
rx_crc_errors: 0 |
|||
rx_missed_errors: 0 |
|||
tx_aborted_errors: 0 |
|||
tx_carrier_errors: 0 |
|||
... |
|||
* "bashtop" rīks veiktspējas analīzei |
|||
== Āķīgi uzdevumi un pieredze == |
== Āķīgi uzdevumi un pieredze == |
||
* [https://www.geeksforgeeks.org/c-cpp-tricky-programs/ C/C++ Tricky Programs] |
* [https://www.geeksforgeeks.org/c-cpp-tricky-programs/ C/C++ Tricky Programs] |
||
* [https://qr.ae/TiJLgg Computers are exact, precise, and logical machines, until they aren’t.] |
* [https://qr.ae/TiJLgg Computers are exact, precise, and logical machines, until they aren’t.] |
||
* [https://adventofcode.com Advent of Code] |
|||
== Atziņas == |
== Atziņas == |
||
| Line 39: | Line 90: | ||
* [https://rhodecode.com/blog/code-review-learn-nasa-codes/ Code review: Learn how NASA codes (blog)], and [http://cacm.acm.org/magazines/2014/2/171689-mars-code/fulltext Mars Code (ACM article)] |
* [https://rhodecode.com/blog/code-review-learn-nasa-codes/ Code review: Learn how NASA codes (blog)], and [http://cacm.acm.org/magazines/2014/2/171689-mars-code/fulltext Mars Code (ACM article)] |
||
* [http://www.catb.org/esr/faqs/things-every-hacker-once-knew/ Things Every Hacker Once Knew] |
* [http://www.catb.org/esr/faqs/things-every-hacker-once-knew/ Things Every Hacker Once Knew] |
||
* [https://qr.ae/pG0Mez Kāpēc CR+LF?] - Par to kāpēc Windows sistēmās teksta rindas beigās ir CR+LF, kamēr Unix sistēmā tikai LF |
* [https://qr.ae/pG0Mez Kāpēc CR+LF?] - Par to kāpēc vēsturisku iemeslu dēļ Windows sistēmās teksta rindas beigās ir CR+LF, kamēr Unix sistēmā tikai LF |
||
* [https://github.com/FabioLolix/LinuxTimeline/releases Linux Timeline] - Linux distributīvu vēstures diagramma. |
|||
* [https://youtu.be/mfv0V1SxbNA?si=VNmUNOkyzbG0du03 Linus ar Linus par Linux] un ne tikai, kamēr būvē datoru priekš Linus (2025). |
|||
* [http://selavo.lv/kursi/lsp/Linux_Distribution_Timeline_v2024.png Linux Distribution Timeline] (2024) - liels attēls ar Linux distributīvu savstarpējo saikni un vēsturi. |
|||
Latest revision as of 20:23, 25 June 2026
Programmētāja resursi
- Noderīgas Linux komandas
- Bash by Example @ibm/developerworks
- Intro to Linux kernel
- Programming in C: A Tutorial (by Brian W. Kernighan)
- GCC and make - par gcc kompilatoru no NTU
- Gnu make dokumentācija
- makefile vai Makefile?
- Tipiskas unix direktoriju hierarhijas īss apraksts.
- Sockets:
- Programming IP Sockets on Linux (tutorial @ gnosis.cx)
- Sockets Tutorial @ Linux Howtos
- Berkeley sockets (Wikipēdija)
- http://www.hiraeth.com/alan/tutorials/courses/unixprog.html
- http://lkml.org/
- The Linux Kernel Module Programming Guide
Programmēšanas analīzes rīki
- PMD - scans source code and looks for bugs, dead code, suboptimal code, overcomplicated expressions, duplicate code.
Linux veiktspējas analīze
- Top 20 Linux monitoring tools @cyberciti
- 20 rīki Linux veikstpējas monitoringam (IPTraf u.c.) @tecmint
- CPU analīze
- Disku I/O analīze
- IO profiling at Linux programming blog
- Tīkla analīze
- Tīkla caurplūdes testi
$ yes | pv | ssh user@example.com "cat > /dev/null"
97,3MiB 0:01:36 [1,28MiB/s][ <=> ]
$ mtr -rw -c 100 <server_ip>
HOST: <myhost> Loss% Snt Last Avg Best Wrst StDev
1.|-- _gateway 0.0% 100 0.7 0.6 0.3 2.4 0.2
2.|-- <server_ip> 1.0% 100 1.0 4.3 0.9 26.6 5.7
$ iperf3 -s # startē serveri vienā galā
Server listening on 5201
$ iperf3 -c <server_ip> # startē klientu otrā galā
Connecting to host <server_ip>, port 5201
[ 5] local 192.168.1.123 port 51846 connected to <server_ip> port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.42 MBytes 11.9 Mbits/sec 0 89.1 KBytes
[ 5] 1.00-2.00 sec 1.62 MBytes 13.6 Mbits/sec 0 147 KBytes
...
[ 5] 9.00-10.00 sec 2.30 MBytes 19.3 Mbits/sec 0 595 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 14.2 MBytes 11.9 Mbits/sec 0 sender
[ 5] 0.00-10.42 sec 11.6 MBytes 9.36 Mbits/sec receiver
$ nstat -az | grep -Ei "drop|overflow|retrans"
TcpRetransSegs 127923 0.0
TcpExtLockDroppedIcmps 0 0.0
TcpExtListenDrops 1 0.0
TcpExtTCPLostRetransmit 11837 0.0
...
$ ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
...
$ sudo ethtool -S eth0 | grep -E "errors|dropped|fifo|collision"
collisions: 0
rx_crc_errors: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
...
- "bashtop" rīks veiktspējas analīzei
Āķīgi uzdevumi un pieredze
- C/C++ Tricky Programs
- Computers are exact, precise, and logical machines, until they aren’t.
- Advent of Code
Atziņas
- Teach yourself programming in 10 years by Peter Norvig
- Code review: Learn how NASA codes (blog), and Mars Code (ACM article)
- Things Every Hacker Once Knew
- Kāpēc CR+LF? - Par to kāpēc vēsturisku iemeslu dēļ Windows sistēmās teksta rindas beigās ir CR+LF, kamēr Unix sistēmā tikai LF
- Linux Timeline - Linux distributīvu vēstures diagramma.
- Linus ar Linus par Linux un ne tikai, kamēr būvē datoru priekš Linus (2025).
- Linux Distribution Timeline (2024) - liels attēls ar Linux distributīvu savstarpējo saikni un vēsturi.