Skip to content

Timur Shemsedinov news feed

Notifications You must be signed in to change notification settings

tshemsedinov/feed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 

Repository files navigation

Screening 2023-11-24

πŸ’₯ Π£Π²ΠΎΠ»ΡŒΡ‚Π΅ своих HR Ссли ΠΎΠ½ΠΈ говорят Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями ΠΈ ΡƒΠΆΠ΅ΡΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒ скрининг.
β€” А ΠΊΡ‚ΠΎ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ скрининг?
β€” Π‘Π°ΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρ‹. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅:
ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ большС подробностСй ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ вакансии, ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ опросник для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ оцСнивания уровня ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ². НабросайтС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… issue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρ‹ сами Π² состоянии ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ сСбя, потянут Π»ΠΈ ΠΎΠ½ΠΈ. HR, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, просто искаТаСт ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ спСциалистами, Π½Π΅ давая Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ, Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стоящим ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Ни ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, ΠΎΠ±ΠΌΠ°Π½ΡƒΡ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ смысл ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρƒ Π²Ρ€Π°Ρ‚ΡŒ, Ссли всС выяснится ΠΎΡ‡Π΅Π½ΡŒ быстро. Π”Π°, Π±ΡƒΠ΄ΡƒΡ‚ сбои Π² Ρ‚Π°ΠΊΠΎΠΉ систСмС, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Ρ‹, Π½ΠΎ Ρ€Π°Π·Π²Π΅ ΠΎΠ½ΠΈ Π½Π΅ проходят Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹? А Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв люди способны сСбя ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ.

Metarhia 2023-11-06

ΠšΡƒΠ΄Π° ΠΈΠ΄Π΅Ρ‚ Metarhia: Π’ ΠΌΠΈΡ€Π΅ Java ΠΈ C# всС Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ большиС тСхнологичСскиС стСки Ρ‚ΠΈΠΏΠ°Β hibernate. Π“Π΄Π΅-Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠ΄ΡƒΡ‚ ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ Π±Π΅Π·Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ, Π° Π³Π΄Π΅-Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ основной смысл - Π² Π½ΠΈΡ… всС ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½ΠΎ, Π΅ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для всСго ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ всС систСмныС ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Π’ ΠΌΠΈΡ€Π΅ node.js Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚, Ρ‚ΡƒΡ‚ дСсятки тысяч Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ согласованы друг с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π½ΠΎ ΠΈΡ… Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ вмСстС. Π’ΠΎΡ‚ программисты ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ 80% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚, Π½Π°Π»Π°ΠΆΠΈΠ²Π°ΡŽΡ‚, ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚. Π’ΠΎ Π»ΠΎΠ³Π³Π΅Ρ€ ΠΎΡ‚ΠΏΠ°Π», Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠ·Π½ΡƒΠ»ΡΡ, Ρ‚ΠΎ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ разлСтСлся, Ρ‚ΠΎ валидация ΠΎΡ‚ΠΏΠ°Π»Π°. ВсС это ΠΈΠ·-Π·Π° вСрсий, прСкращСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, появлСния Π½ΠΎΠ²Ρ‹Ρ…, измСнСния Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΡ… ΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎΠ΄ сСбя ΠΈ свои Π½ΡƒΠΆΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Π‘ΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Π·Π»Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½ΠΎΠΆΠ½ΠΈΡ† ΠΈ клСя - такая сСбС затСя, Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° Ρ€Π΅ΡˆΠ°Π΅ΠΌΠ°, Π½ΠΎ всС рассыпаСтся Π² Ρ€ΡƒΠΊΠ°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ это ΠΎΡ‡Π΅Π½ΡŒ слоТно. ΠœΠ΅Ρ‚Π°Ρ€Ρ…ΠΈΡ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ инфраструктуру, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π΄Π°ΠΆΠ΅ Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ Π½ΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚Β Π² дСсятки Ρ€Π°Π· мСньшС, Ρ‡Π΅ΠΌ Π½Π° чистой Π½ΠΎΠ΄Π΅Β ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΏΡ€ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ зависимости. ВсС писало стак, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Но Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ смоТСтС Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π΅Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, для всСго Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΡ… ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π½ΠΎ всС ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ со старта, ΠΈ это составляСт цСлостный инструмСнтарий для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² класса "информационная систСма", Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ Π°ΠΏΠΈ ΠΈ домСнная Π»ΠΎΠ³ΠΈΠΊΠ°. Π’Π°ΠΊΠΈΡ… систСм самоС большоС количСство, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΈΠ³Ρ€Ρ‹ ΠΈ ΠΊΠΎΠ»Π°Π±ΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅Β Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ стриминг ΠΈ Ρ‡Π°Ρ‚Ρ‹ ΠΈ ΡƒΠΆΠ΅ Π΄Π°ΠΆΠ΅ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΅ сдСлано, Π½ΠΎ Π΅ΡΡ‚ΡŒ основноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ 3-4 Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡ… ΡƒΠΆΠ΅ сСйчас ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² 100 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Π½Π°Β Ρ„Ρ€Π΅ΠΉΠ²ΠΎΡ€ΠΊΠ°Ρ…Β Ρ‚ΠΈΠΏΠ° nest.js, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ идСю Ρ†Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡ… Java ΠΈ C#, Π½ΠΎ Π½Π΅ Π±Π΅Ρ€Π΅ΠΌ вСсь ΠΊΡ€ΠΎΠ²Π°Π²Ρ‹ΠΉ энтСрпрайз, Π° Π΄Π΅Π»Π°Π΅ΠΌ всС лСгковСсным, Π΄Π°ΠΆΠ΅ DDD ΠΈ чистая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Ρƒ нас Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ максимально ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΠΈ Π±Π΅Π· ΠΎΠ²Π΅Ρ€ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠ½Π³Π°. Π”ΠΎΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π° 30 ΠΌΠΈΠ½ΡƒΡ‚ всю https://github.com/metarhia/Docs Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° мСсяца Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ достаточно слоТного прилоТСния ΠΈ Π²ΠΈΠ΄Π΅ΠΎ-курс с Ρ€Π°Π·Π±ΠΎΡ€ΠΎΠΌ Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΒ Π·Π° ΠΎΠ΄ΠΈΠ½ дСнь ΠΎΠ΄Π½ΠΈΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.

Metarhia Documentation 2023-10-23

ВСхнологичСский стСк Metarhia Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ готовится курс быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. https://github.com/metarhia/Docs

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Node.js с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° изоляции выполнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ запросами
  • АвтоматичСская ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ API-Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΊ API эндпоинтам (Π½Π΅Ρ‚ нСобходимости Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ)
  • Π’Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹ ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ выполнСния запросов с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ оТидания
  • Π‘Ρ…Π΅ΠΌΡ‹ для ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² API, Π°Π²Ρ‚ΠΎ-валидация структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²: HTTP, HTTPS, WS, WSS
  • Π Π°Π·Π½Ρ‹Π΅ стили API: RPC Ρ‡Π΅Ρ€Π΅Π· AJAX ΠΈ Ρ‡Π΅Ρ€Π΅Π· Websocket, REST ΠΈ Π²Π΅Π±-Ρ…ΡƒΠΊΠΈ
  • ОбновлСниС ΠΊΠΎΠ΄Π° ΠΈ SSL сСртификатов Π½Π° Π»Π΅Ρ‚Ρƒ, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ процСсса
  • Автозагрузчик ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ graceful shutdown с Ρ…ΡƒΠΊΠ°ΠΌΠΈ start ΠΈ stop
  • Авто-гСнСрация пространств ΠΈΠΌΠ΅Π½ для ΠΊΠΎΠ΄Π° ΠΈ зависимостСй
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ΄Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅Ρ‚ зависимостСй
  • БлоСная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°: api, бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°, доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, систСмный ΠΊΠΎΠ΄
  • ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Ρ‹ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΉ бСзопасности ΠΈ изоляции контСкстов выполнСния
  • ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ загрязнСния глобального контСкста, загрязнСния ссылками
  • ВстроСнный балансировщик с ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΡ€Ρ‚Ρ‹ Π²ΠΎΡ€ΠΊΠ΅Ρ€ΠΎΠ²
  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² памяти для API ΠΈ статичСских Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Автозагрузка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ для Ρ€Π°Π·Π½ΠΎΠ³ΠΎ окруТСния
  • Π‘Π»ΠΎΠΉ доступа ΠΊ Π±Π°Π·Π΅, совмСстимый с PostgreSQL, с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ
  • ΠŸΠ΅Ρ€ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½Ρ‹Π΅ сСссии с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ, Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅
  • Π‘ΡƒΡ„Ρ„Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π»ΠΎΠ³ (лСнивая запись) с Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ (Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ N Π΄Π½Π΅ΠΉ)
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ тСст Ρ€Π°Π½Π½Π΅Ρ€ node.js ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ тСстами
  • Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ„Π°ΠΉΠ»ΠΎΠ²: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, скачиваниС, partial-content ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ
  • ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ для Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя

Syntactic garbage 2023-10-16

πŸ™ˆ БинтаксичСский мусор β€” это ΠΊΠ°ΠΊ синтаксичСский сахар, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ мусор, это всС, ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ способствуСт Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌΡƒ синтаксису, всС, Ρ‡Ρ‚ΠΎ Π½Π΅ содСрТит ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π΄ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, лишниС абстракции, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, прослойки, классы, Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ, ΠΈ всС, Ρ‡Ρ‚ΠΎ дублируСтся, ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡ‚ΠΈΡ‚ΡŒ, всС врСмя повторяСтся ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ. БинтаксичСский мусор, это Ρ‚ΠΎ, ΠΈΠ· Ρ‡Π΅Π³ΠΎ Π½Π° 80% состоит шаблон прилоТСния ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ тянСтС ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Beginner's call 2023-10-13

😜 Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ эффСкт, ΠΈ я ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ Π²ΠΈΠ½Ρƒ Π·Π° Π΅Π³ΠΎ распространСниС: Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ осваиваСт язык ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ всС устроСно Π²Π½ΡƒΡ‚Ρ€ΠΈ, ΠΎ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… функциях, оптимизациях, высоконагруТСнных ΠΈ распрСдСлСнных систСмах, многопоточности, сборкС мусора, ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΠ²Π΅Π½Ρ‚Π»ΡƒΠΏΠ΅ ΠΈ Ρ‚.Π΄. ΠΈ Π²ΠΎΡ‚ Π΅ΠΌΡƒ Π΄Π°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡Ρƒ (ΠΈΠ»ΠΈ ΠΎΠ½ сам сСбС Π΅Π΅ ставит) Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Β«ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΏΠΈ для получСния с сСрвСра списка Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ²Β» ΠΈ Ρ‚ΡƒΡ‚ ΠΎΠ½ вспоминаСт ΠΏΡ€ΠΎ асинхронныС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π±Π΅ΠΊΠΏΡ€Π΅ΡˆΠ΅Ρ€ Π² стримах, ΠΏΡ€ΠΎ ΠΈΠ½Π²Π΅Ρ€ΡΠΈΡŽ управлСния ΠΈ начинаСтся... Π½ΡƒΠΆΠ½ΠΎ всС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°ΡƒΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ± ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ 10 Ρ€Π°Π· Π² сСкунду Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сотни тысяч записСй, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π² JSON ΡΠ»Π°Ρ‚ΡŒ, Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅ΠΌ для этого Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ сэкономим Π½Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΈ запятых, Π±ΡƒΠ΄Π΅ΠΌ строки Ρ€Π°Π·Π΄Π΅Π»Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠΌ FF, ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Ρƒ получСния списка ΠΈ Π΄ΠΎΠΊΠ°Ρ‡ΠΊΡƒ, Ссли соСдинСниС Ρ€Π°Π·ΠΎΡ€Π²Π°Π»ΠΎΡΡŒ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ мСста ΠΈ Ρ‡Ρ‚ΠΎΠ± ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Π½ΠΎ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ кСш ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ... А Ссли справочник мСняСтся, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ вСбсокСтами ΠΏΡ€ΠΈΡΡ‹Π»Π°Ρ‚ΡŒ измСнСния, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² памяти, Ρ‡Ρ‚ΠΎ Ссли Π΄ΠΎΠΊΠ°Ρ‡ΠΊΠ° Π½Π΅ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ 5 ΠΌΠΈΠ½ΡƒΡ‚, Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ начнСтся, Π° Ссли соСдинСниС восстановлСно, Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ процСссу ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΡƒ, Π° Ссли сСрвСр пСрСгрузился Π½ΡƒΠΆΠ½ΠΎ ΠΆΠ΅... ΠΈ это бСсконСчно, Ρ‚Π°ΠΊ складываниС Π΄Π²ΡƒΡ… чисСл ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΎΡ‚ влияния космичСских Π»ΡƒΡ‡Π΅ΠΉ... я ΡƒΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΏΡ€ΠΎ микротСсты ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π³ΠΎΠ½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ часов. Ну... всС это... ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ способствуСт освоСнию ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, это интСрСсно ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ экспСримСнтов, Π½ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΉΡ‚Π΅ΡΡŒ сСбС, сколько Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ интСнсивности Ρ‡Π΅Ρ€Π΅Π· Π³ΠΎΠ΄, Π΄Π²Π°, Ρ‚Ρ€ΠΈ, ΠΏΡ€ΠΈΠΊΠΈΠ½ΡŒΡ‚Π΅ Π³Ρ€ΡƒΠ±ΠΎ, Π½Ρƒ Π½Π° 2 ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΈ Π΄Π°Ρ‚ΡŒ сСбС ΠΎΡ‚Ρ‡Ρ‘Ρ‚ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях своСго R&D.

Async timeouts 2023-10-10

Π’ΡƒΡ‚ нСсколько способов добавлСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² ΠΊ асинхронному API (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ fetch), ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ fetch ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ AbortController, Π½ΠΎ Π½Π΅ всС Π·Π½Π°ΡŽΡ‚ ΠΏΡ€ΠΎ AbortSignal.timeout() ΠΈ Π΅ΡΡ‚ΡŒ API Π±Π΅Π· Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ. https://github.com/HowProgrammingWorks/AbortController

WebAssembly loader 2023-08-07

Пока Π΄Π΅Π»Π°Π» Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΏΠΎ WebAssembly для курса ΠΏΠΎ Node.js с использованиСм Rust, C++, WAT, AssemblyScript, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ wasm-pack ΠΈΠΌΠ΅Π΅Ρ‚ нСвмСняСмый ΠΈ Π³Π»ΡŽΡ‡Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π½Π° 3 ΠΊΠΈΠ»Π°, Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π½Π° 10 строк для Π½ΠΎΠ΄Ρ‹ https://github.com/HowProgrammingWorks/WebAssembly Π‘ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡƒΠΆΠ΅ Π² npm, Π»Π΅ΠΆΠΈΡ‚ Ρ‚ΡƒΡ‚: https://github.com/tshemsedinov/wasm-import

Drop Nodejs 14 support 2023-08-02

πŸš€ ВСсной я сдСлал чСклист ΠΏΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π½ΠΎΠ²Ρ‹Π΅ вСрсии #NodeJS β€” ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ 14.x ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ всСх Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй ΠΈΠ· 16.x, 18.x, 20.x β€” https://github.com/tshemsedinov/Drop-Nodejs14 ⚑️ БСйчас ΡƒΠΆΠ΅ Π½Π°Ρ‡Π°Π» Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ 16.x, Ρ‚.Π΅. ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ возмоТности, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π² 18.x ΠΈ 20.x ⚑️ Π—Π°ΠΌΠ΅Ρ‡Ρƒ, Π³Π»Π°Π²Π½Ρ‹ΠΉ ΡƒΠΏΠΎΡ€ Ρ‚ΡƒΡ‚, Π½Π΅ появлСниС Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ старых вСрсий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ мСшали использованию Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй.

SQL templates for JavaScript 2023-07-17

ΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· ΠΌΠ½Π΅ извСстных способов Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ SQL Π² ΠΊΠΎΠ΄ Π½Π° JavaScript с использованиСм ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… строк, подстановкой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ${name} ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ${'name'} ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Код ΠΈ тСсты (ΠΎΠ½ΠΈ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π°) Ρ‚ΡƒΡ‚: https://github.com/metarhia/metasql/pull/273/files

const query = db.sql`
  SELECT * FROM "City"
  WHERE "cityId" < ${5} AND "name" <> 'La Haye-en-Touraine'
  ORDER BY name LIMIT 3
`;
const cityCodes = await query6.dict('name', 'cityId');
// { Alexandria: '3', Athens: '4', Paris: '1' }

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с ΠΏΠ΅Ρ€Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΠ»Π΄Π΅Ρ€Π°. Π›Π΅Π½ΠΈΠ²Ρ‹ΠΉ ΡƒΡ‡ΠΈΡ‚ Π΄Π²Π°ΠΆΠ΄Ρ‹: Ссли ΠΊΡ‚ΠΎ ΡƒΡ‡ΠΈΠ» ORM, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒ SQL, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Query builder concept 2023-07-11

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΈΠ»Π΄Π΅Ρ€Π° запросов с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (Ρ‡Π΅ΠΈΠ½ΠΈΠ½Π³) ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Thenable: https://github.com/HowProgrammingWorks/Thenable/blob/master/JavaScript/a-query.js

const sql = await new Query('cities')
  .where({ country: 10, type: 1 })
  .order('population')
  .limit(10);

Training projects 2023-07-10

Каким Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚? Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈΠ»ΠΈ data-aware (Π° это Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов), систСм Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ взаимодСйствиС ΠΏΠΎ сСти, модСль ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ бизнСс-процСссы. Бюда прСкрасно лоТится ΠΈ Π²Π΅Π± ΠΈ энтСрпрайз. Π’Π°ΠΊ Π²ΠΎΡ‚, ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Ρ‡Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π° послС Π½Π°Ρ‡Π°Π»Π° обучСния ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ слоТный ΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠΉ, Π΄Π΅Π»Π°Ρ‚ΡŒΡΡ нСсколько Π»Π΅Ρ‚, постСпСнно с услоТнСниСм, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΈΠ·: Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, конфигурация, аутСнтификация ΠΈ систСма ΠΏΡ€Π°Π², ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ запросов, гСнСрация ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, ΡŽΠ½ΠΈΡ‚-тСсты, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ систСмныС тСсты, автоматичСская сборка, тСлСмСтрия ΠΈ сбор статистики, ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ Π²Π΅Ρ‰Π°Π½ΠΈΠ΅, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, балансировка ΠΈΠ»ΠΈ оркСстрация, интСграция с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами, интСрнационализация, Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восстановлСниС, распрСдСлСнноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ»Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, парсинг, систСма ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, сСссии, нСсколько Ρ€Π°Π·Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ postgresql ΠΈ redis), кодогСнСрация, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΠΎΡΡ‚ΡŒ, изоляция (запросов, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Ρ‚.Π΄.), мСТпроцСссноС взаимодСйствиС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, рассылка ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π½ΠΎΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ.

Consistent return 2023-07-05

Middleware 2023-07-03

По ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ Middleware Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ, ΠΎΠ½ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ race condition, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈ ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ ΠΏΠΎ control flow, Π½ΠΎ Π΅Ρ‰Π΅ ΠΈ всячСски усиливаСт Π·Π°Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ (coupling) ΠΊΠΎΠ΄Π°:

  • ⚠️ ΠŸΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ примСсСй (mixins), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: res.sessionStarted = true; ΠΈ ΠΏΠΎΡ‚ΠΎΠ² Π² ΠΊΡƒΡ‡Π΅ мСст if res.sessionStartedΒ ΠΈΠ»ΠΈ res.userName = 'idiot';
  • ⚠️ ΠŸΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°Π½ΠΈΠ΅ абстракций - ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Π»Π΅Π·Π°Π΅ΠΌ Π²ΠΎ внутрСнности req ΠΈ res ΠΈ ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΡ… состояниС, Π° такТС состояниС ΠΈΡ… частСй, сокСтов, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ Ρ‚.Π΄. Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· внСшний интСрфСйс, Ρ‚.Π΅. ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ, Π° ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ, ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°ΠΌΠΈ, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ws (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° вСбсокСтов) ΠΏΠ°Ρ‚Ρ‡ΠΈΡ‚ http сСрвСр ΠΈ внСдряСтся Π² Π΅Π³ΠΎ сСрСдину для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Π° Π΄ΠΎ вСбсокСтов. ΠžΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² JavaScript, это позволяСт быстро Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ тСстами, ΠΈ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ развалится всС ΠΆΠ΅ Π²Π΅Π»ΠΈΠΊΠ°. Π’ систСмном ΠΊΠΎΠ΄Π΅ это Π΅Ρ‰Π΅ ΠΎΠΊ, Π° Π²ΠΎΡ‚ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ максимально ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ, см. "Π—Π°ΠΊΠΎΠ½ дырявых абстракций".
  • ⚠️ ΠŸΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ reference pollution ΠΈ использованиС ΡˆΠ°Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ состояния: ссылки Π½Π° req ΠΈ res Ρ€Π°ΡΠΏΠΎΠ»Π·Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ частям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: serviceName.method(req, res, ...); ΠΈΠ»ΠΈ Π½Π° части req ΠΈ res, ΠΏΡ€ΠΈΠΌΠ΅Ρ€: serviceName.method(req.socket, ...); ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ: outside.emit('request', req); ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ способов: const f1 = method.bind(req); ΠΈΠ»ΠΈ const f2 = method(req)(res); ΠΈ Π΅Ρ‰Π΅ сотни.
  • ⚠️ ΠŸΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ состояниС Π³ΠΎΠ½ΠΊΠΈ (race condition): Ρ‡Π΅Ρ€Π΅Π· использованиС структуры Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ middleware ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ использованиС Ρ‚Π°ΠΊΠΎΠΉ структуры Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… middleware сразу ΠΈΠ»ΠΈ Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ссылки Π½Π° req ΠΈ res ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° мСняСтся ΠΈΡ… состояниС ΡƒΠΆΠ΅ Π±Π΅Π· привязки ΠΊ next, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ setTimeout ΠΊΡ‚ΠΎ-Ρ‚ΠΎ сдСлал Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ события ΠΈΠ· стримов req ΠΈ res ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ…Π΅Π°Π΄Π΅Ρ€Ρ‹Β ΠΏΠΈΡˆΠ΅Ρ‚, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΈΠ΄Π»Π²Π°Ρ€ ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Π΅Π°Π΄Π΅Ρ€Ρ‹Β Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС частыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²Ρ‹ Ρ€Π°Π·Π²Π΅ Π½Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΠ΄Π»Π²Π°Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ мСстами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΎΡΡŒ, Ρ‚Π°ΠΊ Π²ΠΎΡ‚ это плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΎΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ скрываСт Π³ΠΎΠ½ΠΊΡƒ, Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π»Π΅Π·Ρ‚ΠΈ.
  • ⚠️ ΠŸΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ толстыС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π² Π½ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ слои, Π½Ρƒ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ всС, Ρ‚Π°ΠΊΠΎΠΉ эндпоинт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС сразу, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с http ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· SQL ΠΈ запись кСша в redis ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, Π΄Π° Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, всС простынСй... Π½Π΅Ρ‚, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΈΠΊΡ‚ΠΎ Ρ‚Π°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ заставляСт, просто Π½Π΅ всС Π² курсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ слои, ΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π°Π·ΠΎΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Ρ‚.Π΄., Ρ‚ΠΎΡ‡Π½Π΅Π΅, Π·Π½Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ.
  • ⚠️ ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π°Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ (code coupling) - всС части ΠΊΠΎΠ΄Π° становятся Π±ΠΎΠ»Π΅Π΅ зависимы Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° благодаря всСму Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡƒ, ΠΈ пошСвСлишь ΠΎΠ΄Π½ΠΎ, Π° ломаСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.

Node.js patterns 2023-07-03

πŸ’‘ Π‘Π°ΠΌΡ‹Π΅ распространСнныС: ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования для JavaScript ΠΈ Node.js

  • 🧩 EventEmitter (ΠΎΠ½ ΠΆΠ΅ Observer), встроСн Π² Π½ΠΎΠ΄Ρƒ, Π° Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ» ΠΈΠ»ΠΈ EventTarget,
  • 🧩 Proxy - встроСн Π² язык, ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ,
  • 🧩 Strategy - Ρƒ нас это просто Object ΠΈΠ»ΠΈ Map - коллСкция Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, классов, ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ ΠΈ Ρ‚.Π΄.,
  • 🧩 Facade - ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ интСрфСйс ΠΊ слоТной систСмС, ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ http2.createSecureServer скрываСт ΠΎΡ‚ нас ΠΊΠ°ΠΊ TLS, Ρ‚Π°ΠΊ ΠΈ HTTP, ΠΏΠΎΡ‚ΠΎΠΊΠΈ, сСссии ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹,
  • 🧩 Adapter - ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ функция-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°, wrapper, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: promisify, callbackify, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ» fetch, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ XMLHttpRequest, это Π±ΡƒΠ΄Π΅Ρ‚ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Π½Π΅ фасад, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π·Π° фасадом скрываСтся Π½Π΅ ΠΎΠ΄ΠΈΠ½ интСрфСйс, Π° нСсколько ΠΈΠ»ΠΈ цСлая подсистСма,
  • 🧩 Factory - Π€Π°Π±Ρ€ΠΈΠΊΠ°, это ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт экзСмпляры класса, Π½ΠΎ Π² JS Ρ„Π°Π±Ρ€ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ экзСмпляры ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ,
  • 🧩 ChainOfResponsibility - ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Π³ΠΎ псСвдо-Π°Π½Π°Π»ΠΎΠ³ Middleware, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ Π·Π° ΡˆΠ°Ρ€Π΅Π½Ρ‹ΠΉ стСйт ΠΈ Ρ‚Π°ΠΊ Π²Π΅Π΄Π΅Ρ‚ нас ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π³ΠΎΠ½ΠΊΠΈ, ΠΏΡ€ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ChainOfResponsibility всСм стоит ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Middleware,
  • 🧩 Decorator - встроСный Π² язык, ΠΏΡ€ΠΈ Ρ‡Π΅ΠΌ Π² JavaScript ΠΈ Π² TypeScript, спСцификации ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, Π½ΠΎ ΡΡƒΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, добавляСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π· наслСдования, Π·Π° счСт ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…,
  • 🧩 Singleton - это Ρƒ нас просто ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для этого Π΄Π°ΠΆΠ΅ класс ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π° глобальная ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ экзСмпляра ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ экспорта ΠΈΠ· модуля,
  • 🧩 Revealing constructor - ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ конструктор, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСдавая ΠΌΠ΅Ρ‚ΠΎΠ΄ write Π² конструктор Writable Ρ‡Π΅Ρ€Π΅Π· options ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Writable с ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±Π΅Π· наслСдования, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² конструктор Promise, ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ этому, Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках это Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· наслСдованиС.

Найм сломан 2023-06-28

Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° людСй:

  1. Научился ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ΄Ρ‹ β€” устроился Ρ„ΠΎΡ€ΠΌΠΎΡˆΠ»Π΅ΠΏΠΎΠΌ.
  2. Научился Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, высоконагруТСнныС распрСдСлСнныС систСмы β€” устроился Ρ„ΠΎΡ€ΠΌΠΎΡˆΠ»Π΅ΠΏΠΎΠΌ.

Π§Ρ‚ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ 2023-06-25

Если Π’Ρ‹ ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ рассчитываСтС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ ΠΈΠ»ΠΈ аутсорсС, Π² стартапС ΠΈΠ»ΠΈ фрилансС, Ρ‚ΠΎ Π²ΠΎΡ‚ Π½Π° Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ. Но это Π½Π΅ касаСтся Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ систСмным программистом ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² тСхнологичСской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’Π°ΠΊ Π²ΠΎΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстрСС ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈ Ρ‡Ρ‚ΠΎ скорСС всСго Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ понадобится Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅:

  1. Алгоритмы ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ с Π»ΠΈΡ‚ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ кодСварс Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Но Π½ΡƒΠΆΠ΅Π½ Π½Π°Π²Ρ‹ΠΊ простого ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΈ ООПшного ΠΊΠΎΠ΄Π° + GRASP ΠΈ SOLID.
  2. ВсякиС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΈΠΏΠ° todo листа, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°, крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ. НуТно Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ комплСксныС Π²Π΅Ρ‰ΠΈ, ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
  3. БСсконСчноС смотрСниС Π²ΠΈΠ΄Π΅ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Π²ΡŒΡŽ ΠΊΠΎΠ΄Π°, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ наставника ΠΈΠ»ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ·Π΅ΠΉ.
  4. Π—Π°Π΄Π°Ρ‡ΠΈ Π½Π° систСмный Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Π­Ρ‚ΠΎ знания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π»ΠΈΠ΄Ρƒ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρƒ ΠΈ CTO ΠΈ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.
  5. ΠœΠΈΠΊΡ€ΠΎΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ, Ρ‚ΠΈΠΏΠ° сравнСния ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ object[key], obejct.key ΠΈ Object.assign. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° - ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.
  6. НС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ (GoF ΠΈ Π΅Ρ‰Π΅ ΡΠΎΡ‚Π½ΡŽ), Π² зависимости ΠΎΡ‚ языка ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π²Π°ΠΌ понадобится всСго 2-3 шаблона проСктирования.
  7. НС ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство event loop, garbage collection, goroutine scheduler, это ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π½Π° собСсах, Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.
  8. НС Π²Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, Ρ‚ΠΈΠΏΠ° высоконагруТСнных, распрСдСлСнных ΠΈ супСр-Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, вас ΠΊ Π½ΠΈΠΌ Π΅Ρ‰Π΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ допустят.
  9. НС Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° языкС, язык Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‚ΡƒΠ»ΠΈΠ½Π³Π°, ΠΏΠΎΠ΄Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° git, github, Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, ide, docker, ci ΠΈ тСстированиС, Ρ‚ΡƒΠ»Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  10. Ничто Ρ‚Π°ΠΊ Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΡ‚ изучСния программирования, ΠΊΠ°ΠΊ Π’Π£Π— ΠΈ Π½Π΅ Π²Π½ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ чувства увСрСнности, ΠΊΠ°ΠΊ ИВ-курсы ΠΎΡ‚ ΠΈΠ½Ρ„ΠΎΠΆΡƒΠ»ΠΈΠΊΠΎΠ².

About

Timur Shemsedinov news feed

Resources

Stars

Watchers

Forks