Template:ProgrammersResorces: Difference between revisions

From DiLab
Jump to navigation Jump to search
Content deleted Content added
 
(11 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 ==
* [http://norvig.com/21-days.html Teach yourself programming in 10 years] by Peter Norvig
* [http://norvig.com/21-days.html Teach yourself programming in 10 years] by Peter Norvig
* [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]
* [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

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

$ 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

Atziņas