uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi πŸ‘‰ Belgini koβ€˜rmoqchi boβ€˜lsangiz, obuna boβ€˜ling

Π­Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π­Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Kanalga Telegram’da oβ€˜tish

Канал ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Ko'proq ko'rsatish
451
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
Π’Π°ΠΊ, Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π·Π°, поэтому Π½Π°Ρ‡Π½Ρƒ:) ΠšΡ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² - ΠΌΡŒΡŽΡ‚ΡŒΡ‚Π΅ΡΡŒ, Π½ΠΎ Π½Π΅ ΠΎΡ‚ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ, это всСго Π½Π° ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ:)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΡ€Ρ‚Π°ΠΆ с JPoint?
Anonymous voting

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! ΠŸΡ€ΠΎΡˆΡƒ прощСния - я Π½Π° радостях ΠΏΠΎΠ±Π΅ΠΆΠ°Π» Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ ΠΏΠ°Ρ€Π°Π²ΠΎΠ·Π° ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π½Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ссылку. Если ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ зарСгСстрировался - ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΉ ссылкС, поТалуйста. Или, ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, просто ΠΏΠΎΠ΄ этим постом ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ любой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π’ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π­ сСгодня ΠΏΡ€ΠΈΠ±ΠΈΠ»ΠΈ послСдниС Π΄Π²Π° микросСрвиса Π½Π° Π΄Π΅Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π² ΠΏΠ½ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΎΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ послСдниС куски Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π°. НСмного статистики: 1) 23,944 строк ΠΊΠΎΠ΄Π° 2) 730 классов 3) 234 тСста (прСимущСствСнно ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ…) 4) 100% ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ эндпоинтов тСстами 5) 93.2% покрытия строк ΠΊΠΎΠ΄Π° тСстами 6) 1:30 ΠΌΠΈΠ½ΡƒΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ врСмя сборки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС тСсты, тСсты Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, detekt, сборку ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ покрытия ΠΊΠΎΠ΄Π° 7) 10 спринтов 8) 154 ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹Ρ… дня Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 9) ~1446.55 часов Π΄ΠΆΡƒΠ½ΠΎΠ² 10) 590.75 часов Π»ΠΈΠ΄Π° (мСня) 11) 55 Π±Π°Π³ΠΎΠ²:) всСго - Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ нашли сами ΠΈ QA

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π£ мСня Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ гостСй Π³ΠΎΡ€ΠΎΠ΄Π° Новосибирск! БовмСстно с Π‘ΠΈΠ±Π΅Ρ€ΠΈΠ°Π½.ΠŸΡ€ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½ ΠΌΠΈΡ‚Π°ΠΏ с тСстовым (ΡƒΠΆΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ) ΠΏΡ€ΠΎΠ³ΠΎΠ½ΠΎΠΌ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° JPoint. Если Π½Π΅ Π΅Π΄Π΅Ρ‚Π΅ Π² ΠœΠΎΡΠΊΠ²Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ кусочСк JPoint-Π° практичСски Π½Π΅ сходя с мСста:) ПослС ΠΏΡ€ΠΎΠ³ΠΎΠ½Π°, Π±ΡƒΠ΄Π΅Ρ‚ нСбольшая тусовка, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹:) ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ участников ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ (Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ офиса), поэтому рСгистрация ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°:) ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно:)

Ну ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ вСсти с ΠΏΠΎΠ»Π΅ΠΉ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π° Π­. На скринС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ послСднСм кусочкС ΠΈ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π΄Ρ€Π°ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΌΠΎΠΉ взгляд
Ну ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ вСсти с ΠΏΠΎΠ»Π΅ΠΉ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π° Π­. На скринС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ послСднСм кусочкС ΠΈ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π΄Ρ€Π°ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΌΠΎΠΉ взгляд, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°) ситуация ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ такая - мСстами Π±Ρ‹Π»ΠΎ нСпросто, Π½ΠΎ судя ΠΏΠΎ всСму Π² этот (10Ρ‹ΠΉ) спринт Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡˆΡƒ пост с Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ удастся это Π΄ΠΎ JPoint-Π° ΠΎΡΠΈΠ»ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! МнС Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΈΡˆΠ»Π° рассылка ΠΎΡ‚ CodeFest (конфСрСнция Π² НовосибирскС). Говорят мСста Π½Π° ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π½ΠΈΠΊΠΈ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ, Π·Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎ
ΠŸΡ€ΠΈΠ²Π΅Ρ‚! МнС Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΈΡˆΠ»Π° рассылка ΠΎΡ‚ CodeFest (конфСрСнция Π² НовосибирскС). Говорят мСста Π½Π° ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π½ΠΈΠΊΠΈ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ, Π·Π°Π·Ρ‹Π²Π°ΡŽΡ‚ провСсти, бСсплатныС Π±ΠΈΠ»Π΅Ρ‚ΠΈΠΊΠΈ (всСм) ΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‚. Но Π½ΡƒΠΆΠ½Π° экспСртная Π³Ρ€ΡƒΠΏΠΏΠ°:) Айда ΠΏΠΎΡ…ΠΎΠ»ΠΈΠ²Π°Ρ€ΠΈΠΌ? Мои прСдлоТСния ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ: 1) Из ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ - ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмы? 2) Π’Ρƒ Тэпэа ΠΎΡ€ Π½ΠΎΡ‚ Ρ‚Ρƒ Тэпэа? 3) Π‘Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ - инкапсуляция ΠΈΠ»ΠΈ фикция? Или Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π» Π²Π²ΠΈΠ΄Ρƒ Алан КСй, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π» ООП? 4) Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅/ΡŽΠ½ΠΈΡ‚ тСсты это скам (Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ) Но Ссли ΠΌΠ½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ - Π³ΠΎΡ‚ΠΎΠ² ΠΈ ΠΊ вашСй Ρ‚Π΅ΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ:) Π”Π° ΠΈ ΠΊ вашСй заявкС:)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! МнС Π²Ρ‹Π΄Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄ Π½Π° скидку 20% Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ»Π΅Ρ‚Ρ‹ Π½Π° JPoint: AZhidkov2023JRGpc:) ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅, развиртуализируСмся:)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! БСгодня Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠ° ΠΈ смСх ΠΈ Π³Ρ€Π΅Ρ…. Π”ΠΈΠ°Π»ΠΎΠ³ со студСнтом (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ): Π‘ - Π° ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ запросы писали? Π― - О_О Π‘ - Π½Ρƒ Ρ‚Π°ΠΌ иСрархичСская модСль, сСтСвая, всё Ρ‚Π°ΠΊΠΎΠ΅ Π― - О_О ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ ΠΌΠ½Π΅ ΠΏΠΎΡ€Π° Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ сСдину πŸ˜‚

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! ΠΠ°ΡˆΡ‘Π» Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, судя ΠΏΠΎ всСму, являСтся надмноТСством Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ эффСктов. Π£ Π½ΠΈΡ… Ρ‚Π°ΠΌ Ρ‚ΠΎΠΆΠ΅ Π³Ρ€Π°Ρ„, Π½ΠΎ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΉ - ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ рСсурсы прСдставлСнны ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, плюс Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ понятиС Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° (Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅). А Π²ΠΎΡ‚ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ 16-ю аспСктами. И Π²ΠΎΡ‚ Ссли ΠΈΠΌ этот Π³Ρ€Π°Ρ„ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ - ΠΎΠ½ΠΈ ΠΌΠΎΠ³Ρƒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΡƒΠ»Π° автоматичСски Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ. Волько с этим Ρ‚ΡƒΠ»ΠΎΠΌ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: 1) ΠΎΠ½ Π½Π°Ρ‡Π°Π» Π³Π½ΠΈΡ‚ΡŒ 2) ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„, ΠΈ ΠΏΡ€ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ характСристики связСй Π½Π°Π΄ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ:)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! По посту с Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ ΠΏΠΎΠΊΠ° особых новостСй Π½Π΅Ρ‚ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎ JPoint-Π°, поэтому ΠΏΠΎΠΊΠ° Π½Π°ΠΊΠ°Ρ‚Π°Π» микропост с описаниСм ΠΎΠΏΡ‹Ρ‚Π° внСдСрния Ρ‚ΡƒΠ»ΠΎΠ² статичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° (Detekt, Kover, ArchUnit) Π² ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π­.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ прислал Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚:) Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ это успСх
ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ прислал Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚:) Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ это успСх

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! ПослСдний мСсяц я занимался Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ эффСктов. Π― Ρ…ΠΎΡ‚Π΅Π» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π²Π°Π» Π±Ρ‹ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ выполняСт. Иииии я это Π½Π΅ осилил. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я Π²ΠΎΠΎΠ±Ρ‰Π΅ отчаялся ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ это Π² Π²ΠΈΠ΄Π΅ руководства ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΈ собрался ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ критСриями ΠΎΡ†Π΅Π½ΠΊΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Однако, ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ JPoint, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ (ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ дСтСрмСнированности) ΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° бСссонная Π½ΠΎΡ‡ΡŒ ΠΈ Ρƒ мСня ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. ВСматичСский Ρ‚ΠΈΠ·Π΅Ρ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:
fun clusterize(diagram: Diagram) {
    var proceed = true
    while (diagram.hasFreeElements() && proceed) {
        proceed = false
        for (r in diagram.freeResources) {
            val tightlyCoupledOperations = r.operations
                .filter { o -> o.resources.size == 1 ||
                               (o.writtenResources.size == 1 && o.writtenResources[0] == r) ||
                               (o.isReadOnly && God.isPrimaryResource(o, r)) }
            diagram.makeCluster(r, tightlyCoupledOperations)
            proceed = tightlyCoupledOperations.isNotEmpty()
        }

        for (e in diagram.freeElements) {
            val adjaсentClusters = e.elements.map { it.cluster }.toSet()
            if (adjecentClusters.size == 1) {
                diagram.extendCluster( adjacentClusters.first(), e)
                proceed = true
            }
        }

        for (r in diagram.freeResources) {
            val possiblePairs = r.operations.flatMap { it.resources }
            val bestMatch = God.findBestMatch(r, possiblePairs)
            if (bestMatch != null) {
                diagram.aggregate(r, bestMatch)
                proceed = true
            }
        }
    }
    if (diagram.hasFreeElements) {
        diagram.finalyzeClusterization()
    }
    diagram.nameClusters()
    diagram.hideSubmodules()
    diagram.groupModules()
}

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΎΠ±Ρ‰ΠΈΠΉ Ρ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ достаточно Ρ‡Ρ‘Ρ‚ΠΊΠΎ:) А Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСйчас ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти, Ρ‚ΠΎ, каТСтся, ΠΎΠ½ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ isPrimaryResource ΠΈ findBestMatch Π½Π΅ ΠΊΠ°ΠΊ боТСнька, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΎ Π½Π΅ Ρ…ΡƒΠΆΠ΅ Π΄ΠΆΡƒΠ½Π° ΡƒΠΆ Ρ‚ΠΎΡ‡Π½ΠΎ. Π’.Π΅. гипотСтичСски, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ автоматичСским. ΠŸΠΎΠ΄Π°Ρ‘ΡˆΡŒ Π½Π° Π²Ρ…ΠΎΠ΄ .drawio Ρ„Π°ΠΉΠ» с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ эффСктов ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΡˆΡŒ .drawio Ρ„Π°ΠΉΠ», с Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ просто ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ. Ну Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ скСлСта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ drawio Ρ„Π°ΠΉΠ»Ρƒ с Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ я прямо сСйчас Π±Π΅Π· всяких Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй Π·Π° Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΊ Π½Π°ΠΏΠΈΡˆΡƒ. А с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти ΡƒΠΆΠ΅ ΡƒΠΌΠ΅ΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠΈΡ… склонностСй ΠΊ ΠΌΠ°Π½ΠΈΠΈ вСличия ΠΈ нарциссизму, Ρƒ мСня Π² ΠΌΠ΅Ρ‡Ρ‚Π°Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° эффСктов ΡƒΠΆΠ΅ стала самым распространённым языком программирования 5-ΠΎΠ³ΠΎ поколСния:) М? ΠœΠΎΡ‰Π½ΠΎ Π·Π°Π΄Π²ΠΈΠ½ΡƒΠ»?:) ΠžΡΡ‚Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самая ΠΌΠ΅Π»ΠΎΡ‡ΡŒ - Π·Π°Π±ΡƒΡ‚ΡΡ‚Ρ€Π°ΠΏΠΈΡ‚ΡŒ систСму ΠΈ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ эффСктов, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ GitHub copilot смоТСт ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ эффСктов:)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π§ΡƒΡΡ‚Π²ΡƒΡŽ сСбя Ρ‚Π΅ΠΌ ΠΌΠ°Π»ΡŒΡ‡ΠΈΠΊΠΎΠΌ ΠΈΠ· ΠΏΡ€ΠΈΡ‚Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‡Π°Π» Π²ΠΎΠ»ΠΊΠΈ. БСгодня Ρƒ мСня настоящая молния, Π½ΠΎ я, каТСтся, обСсцСнил это слово Π² этом ΠΊΠ°Π½Π°Π»Π΅. МСня с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΏΡ€ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° Π±Π°Π·Π΅ эффСктов взяли Π½Π° JPoint!

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Накопал Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ пост, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°Π²Ρ‚ΠΎΡ€ пСрСносит Π²ΠΈΠ΄Ρ‹ сцСплСнности ΠΈΠ· структурного Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½Π° ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. НС совсСм согласСн, Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π£ мСня продолТаСтся маниакальная стадия "ΠΌΠ½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ОРМ" ΠΈ я Π½Π°ΠΊΠΎΠΏΠ°Π» Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€Ρƒ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΎΠΊ. Π›ΠΈΠ±Π° пСрсистСнтных (Π² смыслС ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… процСсс) ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ для Kotlin/Java. Она, каТСтся Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π³Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… Π’Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π² ΠžΠ ΠœΠ°Ρ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ? А ΠΊΠ°ΠΊ насчёт ΠœΠ΅Ρ‚Π°ΠžΠ ΠœΠ°? НаконСц, Π½Π° ΠΎΠ±Π΅ ΡˆΡ‚ΡƒΠΊΠΈ я ΡƒΠΆΠ΅ Π΄Π°Π²Π°Π» ссылки, Π½ΠΎ ΠΈ сСбС ΠΈ Π²Π°ΠΌ напомню, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ идСальной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ пСрсистанса: MicroStream ΠΈ Erlang Mnesia

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π― молния! ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° ΠΏΠΎ Ρ„Ρ€Π΅ΠΉΠ΄Ρƒ Молния! Π― разочаровался Π² Spring Data JDBC. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅, ΠΏΠΎ Ρ‚Ρ€Ρ‘ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: отсутствиС наслСдования, отсутствиС спСцификаций ΠΈ отсутствиС возмоТности автоматичСски ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Ρ€ΠΈΠ΄ΠΎΠ½Π»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚ ΠΏΠΎ ссылкС. ΠŸΠΎΡ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ€Π°ΡΠΏΠΈΡˆΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я снова ΠΏΠΎΠ»Π΅Π· Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ€ΠΌ ΠΈ ΠΎΡ‚ΠΊΠΎΠΏΠ°Π» Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΡƒΡŽ ΡˆΡ‚ΡƒΠΊΡƒ. Он ΠΏΠΎΠΊΠ° Ρƒ мСня особо довСрия Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π½Π° ΠΌΠΎΠΉ Ρƒ Π½Π΅Π³ΠΎ довольно многословноС АПИ, Π½ΠΎ идСя ΠΏΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Π°Ρ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π§Ρ‚ΠΎ-Ρ‚ΠΎ я ΠΏΡ€ΠΎΠΊΡ€Π°ΡΡ‚ΠΈΠ½ΠΈΡ€ΡƒΡŽ пост ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π‘Π°ΠΌΠΎΠ΅ мясо с Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ написал, Π° Π²ΠΎΡ‚ ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° буксуСт - Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Ρƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ спинофф ΠΏΡ€ΠΎ эффСкты, Ρ‚ΠΎ Π΄ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ спинофф "ΠΏΠΎΡ‡Π΅ΠΌΡƒ всё-Ρ‚Π°ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная?", Ρ‚ΠΎ ΠΏΠΈΠ½Π°Ρ‚ΡŒ Spring Data Jdbc, Ρ‚ΠΎ Π±ΠΎΠ»Π΅Ρ‚ΡŒ. Но я Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄ΠΎΠΏΠΈΡˆΡƒ. А ΠΏΠΎΠΊΠ° Π²ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ Π»ΠΈΠ½ΠΊΠ° - Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ массиву прСдствалСниС строк.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ нСизмСняСмых Π΄Π°Π½Π½Ρ‹Ρ…: ΠŸΠΎΡ‡Π΅ΠΌΡƒ Java Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡ‚ΡƒΠΊ нСизмСняСмым? Π’Π›/Π”Π  - ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ нСизмСняСмыС ΡˆΡ‚ΡƒΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎ-бСзопасны ΠΈ благодаря постоянным ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΠΌ JVM созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ старого

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! ΠŸΠΎΡΡ‚ ΠΏΡ€ΠΎ ОО-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вмСняСмый Π²ΠΈΠ΄ - надСюсь Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Ρ‹ нСдСль Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ:) А Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ вас линкопостами:) Π’ΠΎΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ конспСкт/лСкция (?) ΠΈΠ· MIT-Π° ΠΏΡ€ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ/Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ, с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ рисков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСсёт ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ. Если Π²Ρ‹ ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ измСняСмоС состояниС - Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅:) А Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ нСизмСняСмоС состояниС ΠΈ ΠšΠΎΡ‚Π»ΠΈΠ½ - Ρ‚ΠΎ Π²ΠΎΡ‚ нСбольшая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для упрощСния ΠΆΠΈΠ·Π½ΠΈ. Π‘Π°ΠΌ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π΅Ρ‘

Π­Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ - Telegram kanali @ergonomic_code statistikasi va tahlili