Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Π―Π½Π΄Π΅ΠΊΡ Go ΠΈ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠΎΠΊΠ»Π°Π΄ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π»ΡΠ΄ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΊΠΎΡΡΡΠΈΠ½ΠΎΠ²ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅:β¦
Π§ΡΠΎ: ΠΈΠ½ΡΠ΅ΡΠΎΠΏ ΠΌΠ΅ΠΆΠ΄Ρ Java ΠΈ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°ΡΠ΅ΠΌ: Π·Π°ΡΠ΅ΠΌ, ΡΡΠΎ Π·Π°ΡΠ°ΡΡΡΡ managed ΠΊΠΎΠ΄Π° Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ (Π² Π»ΡΡΡΠ΅ ΡΠ»ΡΡΠ°Π΅) Π½Π° C. ΠΠ°ΠΊ: ΡΠ°ΠΊ ΠΏΡΠΎ ΡΡΠΎ ΠΈ Π²Π΅Ρβ¦
ΠΠΎΠ΄ ΡΠ·ΡΠΊΠ° C++ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΌΠΈΠ½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ code-review ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΡΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ»ΡΡΡΠΈΡ Π²Π°ΡΠΈ Π½Π°Π²ΡΠΊΠΈ Π² ΡΡΠΎΠΌ Π½Π΅Π»ΡΠ³ΠΊΠΎΠΌ Π΄Π΅Π»Π΅. ΠΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎ ΠΊΠΎβ¦
ΠΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΡΠΎΠ²ΠΈΡ Π·Π°ΡΠ²ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π±ΡΡΡΡΠ΅Π΅, Π½Π°Π΄ΡΠΆΠ½Π΅Π΅ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π»ΡΡΡΠ΅ C++
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π°Π±Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. ΠΠ½ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠΌΠΎΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΎ β¦
ClickHouse β column-oriented DBMS. ΠΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ClickHouse ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΠΊΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² β ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ»ΠΎ β¦
Π Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Π½Π°Π΄ Π½ΠΈΠΌΠΈ: ΠΎΡ single compilation unit, link time optimization ΠΈ static initialization Π΄ΠΎ constevaβ¦
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΠ, ΠΌΡ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΡΠ΅ Π±ΡΡΠ΅ΡΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡΠΊΡΡΡ, ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² C++. Π Π°ΡΡΠΊΠ°Π· ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° PostgreSQβ¦
ΠΠΎΠΊΠ»Π°Π΄ ΠΏΠΎΡΠ²ΡΡΡΠ½ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠ°ΠΊΠ»Π°ΡΡΠΎΠ² (ΠΏΡΠΎΠΏΠΎΠ·Π°Π» p0707 rev3 β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ) Π΄Π»Ρ ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅β¦
What do threads, atomic variables, mutexes, and conditional variables have in common? They are the basic building blocks of any concurrent application in C++, which are a big challenge even for the eβ¦
Too often, C++ developers tend to ignore ABI compatibility problems and think that incompatibilities are limited to changes in the interface of the library motivated by new features or bugs. However,β¦
Initialisation semantics is widely regarded as one of the most difficult aspects of the C++ language. We have many different kinds of initialisation and many different syntaxes for it, and they interβ¦
ΠΠ»Ρ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ±Π°Π·Ρ Π½Π° 2Π ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΠΎΡ 80 ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (Π²ΠΊΠ»ΡΡΠ°Ρ MFC) ΠΌΡ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π‘++11 Π² Visual Studio 2013 (ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ Windows), Π° ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π‘++17 Π² Viβ¦
C++17 is a huge combination of small new features both in the language and the library. These features have more poser but also more traps than you might expect. These traps are not theoretical. Theyβ¦
ΠΠ»ΡΠ±ΠΎΠΊΠΈΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΠΎ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅. ΠΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π² ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ ΡΠΏΠΈΡΠΊΠ°ΠΌ ΡΠΈΠΏΠΎΠ². ΠΠΎ ΡΠ°Π³Π°ΠΌ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Ρβ¦
A modern CPU is a combination of many sophisticated features. Among them, the memory hierarchy probably has the most impact on the performance of your programs. Understanding how it works is essentiaβ¦