en
Feedback
Code Mining

Code Mining

Open in Telegram

ML4Code Π²ΠΎ всСй красС, Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ²: Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, уязвимости, процСссы. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ новостям, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, эпизодичСский авторский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, мСмасики. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅: ods.ai, @codescoring По вопросам β€” @alsmirn

Show more
838
Subscribers
No data24 hours
+17 days
+230 days
Posts Archive
Code2Code @AI Journey Contest 2021 Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… AIJ с 7 ΠΏΠΎ 31 октября проводится Fusion Brain Challenge. Участникам прСдлагаСтся
Code2Code @AI Journey Contest 2021 Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… AIJ с 7 ΠΏΠΎ 31 октября проводится Fusion Brain Challenge. Участникам прСдлагаСтся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ 4 Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π±ΠΎΡ€ΡŒΠ±Π΅ Π·Π° ΠΏΡ€ΠΈΠ·ΠΎΠ²Ρ‹Π΅ Π² β‚½6.5 ΠΌΠ»Π½ (ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто - Π΄ΠΎ β‚½3 ΠΌΠ»Π½). Π§Π΅ΠΌ это интСрСсно Π½Π°ΠΌ? А Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ стоит Code2code Translation, Π³Π΄Π΅ прСдлагаСтся ΠΏΠΎΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Java<->Python. Участникам прСдлагаСтся датасСт для обучСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится 6ΠΊ Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· языков, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ языкС ΠΎΡ‚ 1 Π΄ΠΎ 5 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ описания Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ Π±Ρ€Π°Ρ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ ΠΊΡƒΡ€ΠΈΡ‚ΡŒ Π½Π° страницС Ρ‡Π΅Π»Π»Π΅Π½Π΄ΠΆΠ°. ОписаниС ΠΈ сорцы Ρ‚Π°ΠΊΠΆΠ΅ доступны Π½Π° Π½Π° Github. ЛицСнзия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π½Π΅ выставлСна 😱, Π½ΠΎ ΠΏΠΎ части C2C сорцы ΠΏΠΎΠ΄ Apache 2.0 & MIT. Π—Π° Π½Π°Π²ΠΎΠ΄ΠΊΡƒ Π½Π° сорСвы спасибо: @lovedeathtransformers.

Semgrep. ЛСгковСсный статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² исходниках, для исслСдований ΠΈΠ»ΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… CI
Semgrep. ЛСгковСсный статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² исходниках, для исслСдований ΠΈΠ»ΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… CI/CD-процСссов, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³Π»ΡΠ½ΡƒΡ‚ΡŒΡΡ Semgrep. Π£Π΄ΠΎΠ±Π½ΠΎΠ΅ написаниС ΠΏΡ€Π°Π²ΠΈΠ», Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ свободноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС (Ρ€Π΅ΠΏΠ°, LGPL-2.1). Π•ΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ рССстр ΠΏΡ€Π°Π²ΠΈΠ», Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ-ΠΏΠΎΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ, xss, xxe, ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Турналирования ΠΈ Ρ‚. ΠΏ. согласно OWASP-классификации. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ 20 языков. Π₯ΠΎΡ€ΠΎΡˆΠΈΡ… Π³Ρ€Π΅ΠΏΠΎΠ² ΠΌΠ°Π»ΠΎ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚.

Аналитика ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π’ΠΈΠ΄Π΅ΠΎ: https://www.youtube.com/watch?v=BiLew55dxho ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡŽ #видоснавыходныС, Π² этот Ρ€Π°Π· ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠ΄-Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (SDLC, Software Development Lifecycle). Π”ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ Π’Π°Π΄ΠΈΠΌ ΠœΠ°Ρ€ΠΊΠΎΠ²Ρ†Π΅Π², ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Π°ΠΊ нСкисло причастный ΠΊ Ρ†Π΅Π»ΠΎΠΉ грядкС ΠΊΡ€ΡƒΡ‚Π΅ΠΉΡˆΠΈΡ… инструмСнтов Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² open source компаниями source{d} ΠΈ Athenian. ΠŸΡ€ΠΎ Π½ΠΈΡ… ΠΌΡ‹ Π΅Ρ‰Ρ‘ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ напишСм. ВСзисы ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°:
Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ стартапС Athenian Π² качСстС Head of Analytics ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ бэкСнда SaaS ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠœΡ‹ ΠΏΡ€ΠΎΠ΄Π°Π΅ΠΌ Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹ΠΌ компаниям ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΡƒΠ·ΠΊΠΈΠ΅ мСста процСссов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Π΄Π΅ΠΏΠ»ΠΎΠ΅Π², ΠΈ JIRA. ΠŸΡ€ΠΈ этом стараСмся ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² blameless ΠΈ non-personal, ΠΈΠ½Π°Ρ‡Π΅ говоря, Π΄Π΅Π»Π°Π΅ΠΌ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΠΈΠ΄Ρ‹-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ стали ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ пиписьки рядовых Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Одна ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Athenian - ΠΌΡ‹ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊ событий GitHub ΠΈ JIRA ΠΈ обновляСм всС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ прСдсказания Π½Π° Π»Π΅Ρ‚Ρƒ. Π­Ρ‚ΠΎ оказалось слоТно, ΠΈ я расскаТу ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ошибки ΠΌΡ‹ допустили, ΠΊΠ°ΠΊ ΠΈΡ… исправляли ΠΈ добились Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΈ Ρ‡Π΅Π³ΠΎ Π½Π°ΠΌ это стоило Π² $$$.
Π›Π°ΠΉΠΊΠΈ, рСпосты, всС Π΄Π΅Π»Π° 😏.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Software Bill of Materials (SBOM) ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΡƒ #ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠΊΠΎΠ΄ΠΌΠ°ΠΉΠ½Π΅Ρ€Π°. ΠœΡ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΆΠΈΠ²Ρ‘ΠΌ Π² своём ΠΏΡƒΠ·Ρ‹Ρ€Π΅, Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ нСлСпая Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° SBOM Π·Π° послСдний Π³ΠΎΠ΄ стала Π²ΡΠΏΠ»Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Ρ‹ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅. Π”Π°ΠΆΠ΅ Π‘Π°ΠΉΠ΄Π΅Π½ ΠΏΡ€ΠΎ Π½Π΅Ρ‘ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС IT ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для госорганов БША Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ этот самый SBOM, это ΡƒΠΆΠ΅ Π½Π΅ ΡˆΡƒΡ‚ΠΊΠΈ. Software Bill of Materials β€” это список всСх open source ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сторонних ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. По ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ SBOM минимально содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΈ, вСрсии ΠΈ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ. НСкоторыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΅Ρ‰Ρ‘ ΠΈ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΒ» ΠΈΠ»ΠΈ Β«Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Β»). Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ SBOM ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ уязвимостям, подлинности, Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ зависимостям ΠΈ ΠΊΡƒΡ‡Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… контСкстных Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ SBOM Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ всСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π·Π° ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком зависимостСй с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ слСдит, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎΠ± ΠΈΡ… качСствС, пСрспСктивах ΠΈ ТизнСспособности. Π•Ρ‰Ρ‘ мСньшС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ программистов ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΈ ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. К уязвимостям внимания Ρ‡ΡƒΡ‚ΡŒ большС, ΠΊΠ°ΠΊ ΠΈ инструмСнтов для ΠΈΡ… обнаруТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ GitHub ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ…. Π‘Π°ΠΌΡ‹Π΅ извСстных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ SBOM это: - CycloneDX https://cyclonedx.org/ - SPDX https://spdx.dev/ - SWID https://csrc.nist.gov/projects/Software-Identification-SWID - Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ° Π² Excel 🀭 Иногда SBOM ΠΏΠΈΡˆΡƒΡ‚ BOM, BoM, SBoM, ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ ΡƒΠ³ΠΎΡ€Π°ΡŽΡ‚. Π’ΠΎΠΎΠ±Ρ‰Π΅ BOM ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΈΠ· производства, Π³Π΄Π΅ прСдставляСт собой опись всСх Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ SBOM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π° основных источника ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: 1. манифСсты ΠΈ lock-Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² 2. нСпосрСдствСнный поиск скопированных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ частСй ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠŸΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌΠΈ инструмСнтами Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SBOM ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΡ‹ расскаТСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ SBOM совСтуСм Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° сайтС National Telecommunications and Information Administration: https://www.ntia.gov/SBOM

ODS Licensing Course - пСрСнос Π½Π° 21 октября! По слСдам Moscow Python Conf ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎ
ODS Licensing Course - пСрСнос Π½Π° 21 октября! По слСдам Moscow Python Conf ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΡŽΡ€ΠΈΡΡ‚ΠΎΠ². Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всё это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ раскрыто Π² курсС, Π² связи с этим, Π±Π΅Ρ€Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы ΠΏΡ€ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Open Source, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² наш свободный курс 😊. А ΠΏΠΎΠΊΠ°, слСдитС Π·Π° новостями, ΠΌΡ‹ ΠΈΡ… Ρ‚ΡƒΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ.

npm install

Π’Ρ€ΡƒΡŠ. Π‘ΠΎΠ»ΡŒ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ JS сорцы 😭

Hacktoberfest 2021 Π’ пятницу, 1 октября, стартовал ΡƒΠΆΠ΅ восьмой Hacktoberfest. Π­Ρ‚ΠΎ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎΠ΅ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ длится Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго октября, ΠΏΡ€ΠΈΠ·Π²Π°Π½ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ большС внимания ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, большС ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ΠΎΠ² Π² open source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π—Π° 4 Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… принятых ΠΏΡƒΠ»Π» рСквСста Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ октября ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π·Π΄Π°Π΄ΡƒΡ‚ 50 000 Ρ„ΡƒΡ‚Π±ΠΎΠ»ΠΎΠΊ с символикой ΠΈΠ»ΠΈ Π½Π° Π²Ρ‹Π±ΠΎΡ€ участника ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ°Π΄ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ. Π’ мСроприятии ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хостятся Π½Π° GitHub ΠΈΠ»ΠΈ GitLab ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠΏΠΈΠΊ β€œhacktoberfest”. Π‘ΠΎ спамом ΠΈ мусорными ΠΏΡƒΠ»Π» рСквСстами Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ, ΠΆΡƒΠ»ΠΈΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ. Вся Π΄Π²ΠΈΠΆΡƒΡ…Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ DigitalOcean ΠΈ поддСрТиваСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΡ€ΡƒΡ‚Ρ‹ΠΌΠΈ рСбятами. Если Π²Ρ‹ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ½Π°Ρ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· GitHub Sponsors. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ информация ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: https://hacktoberfest.digitalocean.com/

Text2Bash ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡŽ #видоснавыходныС, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ с ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Π² этом Π³ΠΎΠ΄Ρƒ Ρ‚Ρ€Π΅ΠΊΠ° CodeMining, ΠΏΡ€ΠΎ Π°Π²Ρ‚ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° Π½Π° bash ΠΏΠΎ запросам Π½Π° СстСствСнном языкС. Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π“Π»Π΅Π± ΠœΠΎΡ€Π³Π°Ρ‡Π΅Π² ΠΈΠ· JetBrains дСлится сокровСнным ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ рассказываСт, Π½Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ способны Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ сСгодня ;). ВСзисы: Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ NeurIPS 2020 ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΎ сорСвнованиС ΠΏΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ bash ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ запросам Π½Π° СстСствСнном языкС. Π― расскаТу ΠΎΠ± ΠΎΠΏΡ‹Ρ‚Π΅ участия нашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² этом сорСвновании, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… ΠΈ способах получСния ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΄Π°ΠΌ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΊΠ°Π·Π°Π²ΡˆΠΈΡ… Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π’ΠΈΠ΄Π΅ΠΎ: https://www.youtube.com/watch?v=NPfYDDbprtw Π›Π°ΠΉΠΊΠΈ, рСпосты, всС Π΄Π΅Π»Π°.

А Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, нас стало ΠΎΠ²Π΅Ρ€ 100 подписчиков ΠΈ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π»ΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ наш ΡƒΡŽΡ‚Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»ΡŒΡ‡ΠΈΠΊ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ всё-Ρ€Π°Π²Π½ΠΎ стоит ;).

Благодарности псто TL;DR: ВсСм спасибо! НСмного ΠΎΡΠΌΡ‹ΡΠ»ΠΈΠ»ΠΈΡΡŒ послС Moscow Python Conf++ ΠΈ хочСтся Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ вдохновитСлям ΠΈΠ· сообщСства Moscow Python. Бпасибо Π’Π°Π»Π΅ Домбровскому ΠΈ КолС ΠœΠ°Ρ€ΠΊΠΎΠ²Ρƒ Π·Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅! ΠšΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ Π΄ΡƒΡˆΠ΅Π²Π½Π°Ρ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ общСния ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСбят, Π° с Π½ΠΈΠΌΠΈ ΠΈΠ΄Π΅ΠΉ ΠΈ ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Π΄Π²ΠΈΠΆΡƒΡ…ΠΈ. Бпасибо ΠŸΠ΅Ρ‚Π΅ Π•Ρ€ΠΌΠ°ΠΊΠΎΠ²Ρƒ ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ΅ Π₯Π°ΠΏΠ°Π΅Π²ΠΎΠΉ, ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΏΠΎ ods.ai Π·Π° интСрСсный ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΉ стол, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ обсудили взаимодСйствиС Data Science/Python сообщСств. Бпасибо ΠœΠΈΡ…Π°ΠΈΠ»Ρƒ ΠšΠΎΡ€Π½Π΅Π΅Π²Ρƒ, ΠœΠΈΡ…Π°ΠΈΠ»Ρƒ ΠšΠΎΠ»ΡŒΡ†ΠΎΠ²Ρƒ ΠΈ Π‘Π΅Ρ€Π³Π΅ΡŽ Π‘ΡƒΡ‚ΠΊΠΈΠ½Ρƒ Π·Π° Ρ€Π΅Π²ΡŒΡŽ ΠΊΠΎΠ΄Π° участников ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΆΠΈΠ²ΠΎ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Наша ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΠΎΠ³Π½Π°Π»Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, рСбята сдСлали супСрский Ρ€Π°Π·Π±ΠΎΡ€. Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· ΠΏΠΎΠΊΠ°Π·Π°Π½Π° наглядная польза измСрСния цикломатичСской слоТности Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠ². Бпасибо участникам ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π°Ρ„Ρ‚Π΅ΠΏΠ°Ρ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ дня ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π·Π° Ρ†Π΅Π½Π½Π΅ΠΉΡˆΠΈΠ΅ вопросы ΠΏΡ€ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ open source, Ρ‡Ρ‚ΠΎ заставило нас Π² Π½ΠΎΡ‡ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ requests ;). Π£Ρ€Π°!

Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠŸΠΈΡ‚ΠΎΠ½-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π’ блиТайший Π²Ρ‚ΠΎΡ€Π½ΠΈΠΊ (28 сСнтября Π² 11:25), @alsmirn выступит Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ Moscow Python Conf++ ΠΈ расскаТСт ΠΏΡ€ΠΎ сабТ. Π’ΠΈΠ·Π΅Ρ€ выступлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² записях Moscow Python Podcast, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»Π°ΡΡŒΡ Π² ΡƒΡŽΡ‚Π½ΠΎΠΉ атмосфСрС ΠΊΡƒΡ…Π½ΠΈ Григория ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²Π° ;). ВСзисы. - Рассмотрим ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ примСнСния Open Source-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ Π² PyPI: ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, нисходящиС ΠΈ восходящиС Ρ‚Ρ€Π΅Π½Π΄Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π° Π½ΠΎΠ²ΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ случаи Π΅Ρ‘ смСны. - ΠžΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π½Π° частныС вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… областях ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ: ΠΎΡ‚ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π² областях машинного обучСния (ML) ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ СстСствСнного языка (NLP). - C ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ CodeScoring ΠΈΠ·ΡƒΡ‡ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Ρ‹ нСсовмСстимости Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ, Ссли ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ лицСнзирования собствСнного ΠΊΠΎΠ΄Π° Ρ…Π°Π»Π°Ρ‚Π½ΠΎ. И Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΏΠΎΠΉΠΌΠ΅ΠΌ, ΠΊΠ°ΠΊ всСго этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ CI/CD Π² части отслСТивания Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΉ чистоты. Π—Π«: говорят, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ трансляция.

Criticality Score Одна ΠΈΠ· Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ β€” трагСдия ΠΎΠ±Ρ‰ΠΈΡ… рСсурсов (tragedy of the commons). ΠŸΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ OSS Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ всё большС ΠΈ большС, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ занимаСтся довольно узкая Π³Ρ€ΡƒΠΏΠΏΠ° людСй, Ρ‡Π΅ΠΉ рСсурс рискуСт ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π² зависимом комСрчСском ΠΊΠΎΠ΄Π΅. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. И ΠΎΠ΄ΠΈΠ½ ΠΈΠ· интСрСсных Ρ…ΠΎΠ΄ΠΎΠ² Π² эту сторону сдСлал Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ Π“ΡƒΠ³Π», выпустив ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Criticality Score β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΡ†Π΅Π½ΠΊΠΈ open source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ ΠΈΡ… критичности для всСй экосистСмы. Π›ΠΎΠ³ΠΈΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ Π½Π° основС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ внимания спонсоров ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ΠΎΠ². Алгоритм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» нСбСзызвСстный Π ΠΎΠ± Пайк, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· создатСлСй Ρ‚Π°ΠΊΠΈΡ… ΡˆΡ‚ΡƒΠΊ ΠΊΠ°ΠΊ UTF-8, Unix ΠΈ языка программирования Go, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Google. На Π²Ρ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΊΠΎΠ΄ΠΎΠΌ, Ρ€Π°Π½ΠΆΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎ Π½Π°Π±ΠΎΡ€Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ всё, подставляя Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (ΠΈ это Π½Π΅ просто взвСшСнная сумма) ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 0 (Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) Π΄ΠΎ 1 (самый критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚). Π‘Ρ€Π΅Π΄ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΎΡ†Π΅Π½ΠΊΠ΅: - Π΄Π°Ρ‚Ρ‹ создания ΠΈ послСднСго обновлСния - число ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ относятся - частоты ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² - число зависимых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ github ΠΈ Π²Ρ‹Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΠΏΡ‹ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ языку ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ. Π’Π°ΠΊ ΠΏΠ΅Ρ€Π²ΡƒΡŽ дСсятку ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ Node.js, Kubernetes (K8s) ΠΈ язык программирования Rust, Π° Π·Π°ΠΌΡ‹ΠΊΠ°Π΅Ρ‚ Π΅Ρ‘ Git, ΠΎΠ±ΠΎΠ³Π½Π°Π² Linux Π½Π° 10 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ. РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° python: https://github.com/ossf/criticality_score Π‘Ρ‚Π°Ρ‚ΡŒΡ Π ΠΎΠ±Π° Пайка ΠΏΡ€ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ: https://github.com/ossf/criticality_score/blob/main/Quantifying_criticality_algorithm.pdf Бписки критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ языкам: https://commondatastorage.googleapis.com/ossf-criticality-score/index.html

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Ρ‹ Π² лицСнзиях ;). ClickHouse Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·Π°, Π½ΠΎ ΠΈ Inc. Upd: Π”Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°
ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Ρ‹ Π² лицСнзиях ;). ClickHouse Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·Π°, Π½ΠΎ ΠΈ Inc. Upd: Π”Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π’ΠΈΠ³Ρ€Π°Π½ Π₯удавСрдян, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΈ Ρ‡Π»Π΅Π½ совСта Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ «ЯндСкс». РСгистрация для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. МилСнько.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Software Composition Analysis (SCA) ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π² этом ΠΊΠ°Π½Π°Π»Π΅ ΠΏΡ€ΠΎ open source, Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΈ Ρ€Π°Π·Π½ΠΎΠ΅ Π²ΠΎΠΊΡ€ΡƒΠ³ Π½ΠΈΡ…. БСгодня Ρ…ΠΎΡ‚ΠΈΠΌ Π΄Π°Ρ‚ΡŒ максимально Ρ‘ΠΌΠΊΠΎΠ΅ ΠΈ ΠΏΠΎ возмоТности ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ это всё ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ β€” SCA, ΠΎΠ½ ΠΆΠ΅ Software Composition Analysis, ΠΎΠ½ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ/ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ/ΠΊΠΎΠ΄Π°/софта/ПО. SCA β€” это процСсс, Π³Π΄Π΅: 1. Π½Π° Π²Ρ…ΠΎΠ΄ подаётся ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, дирСктория с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Docker-ΠΎΠ±Ρ€Π°Π·, Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ ΠΈ Ρ‚.ΠΏ.); 2. этот ΠΊΠΎΠ΄ сканируСтся Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… open source ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· поиск Ρ„Π°ΠΉΠ»ΠΎΠ² манифСстов (Ρ‚ΠΈΠΏΠ° package.json, poetry.lock, Dockerfile ΠΈ Ρ‚.ΠΏ.) ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΌΠ½ΠΎΠ΅ сравнСниС Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ с ΠΏΡ€ΠΈΠΌΠ΅ΡΡŒΡŽ всякой ΠΌΠ°Π³ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π½Π΅Ρ‡Ρ‘Ρ‚ΠΊΠΈΡ… Ρ…ΡΡˆΠ΅ΠΉ; 3. ΠΏΠΎ списку этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΈ ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с заявлСнной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ самого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ собой; 4. ΠΈ вишСнкой Π½Π° Ρ‚ΠΎΡ€Ρ‚Π΅ ΠΏΠΎ списку этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ищутся извСстныС уязвимости ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π±Π°Π·Π°ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, National Vulnerability Database, Github Advisory ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ). На Π²ΠΈΠ΄ просто, Π½ΠΎ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ мноТСство особСнностСй ΠΈ нюансов. НапримСр, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ шага формируСтся Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° β€” SBoM, Software Bill of Materials, ΠΏΡ€ΠΎ Π΅Π³ΠΎ ΡΡƒΡ‚ΡŒ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈ Ρ‡Ρ‘ΠΌ Ρ‚ΡƒΡ‚ Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ ΠΏΡ€ΠΈΠΊΠ°Π· Π‘Π°ΠΉΠ΄Π΅Π½Π° ΠΎ кибСрбСзопасности ΠΌΡ‹ расскаТСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ расскаТСм, ΠΏΠΎΡ‡Π΅ΠΌΡƒ поиск уязвимостСй ΠΏΠΎ ΡƒΠΆΠ΅ извСстной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΉ Π±Π°Π·Π΅ (ΡΡŽΡ€ΠΏΡ€ΠΈΠ·-ΡΡŽΡ€ΠΏΡ€ΠΈΠ·) совсСм Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°. SCA Π½Π΅ Ρ‚Π°ΠΊ извСстСн срСди русскоязычных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠ°ΠΊ SAST (статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°) ΠΈΠ»ΠΈ DAST (динамичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°), Π½ΠΎ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΡ‡ΠΊΠΈ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ историСй Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ уязвимости Π² распространённой open source Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ мноТСство SCA-like инструмСнтов Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ стСпСни ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² экосистСмах ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², IDE, систСм контроля вСрсий ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов. К соТалСнию, Π½Π΅ всС ΠΎΠ½ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹, Ρ‚ΠΎΡ‡Π½Ρ‹ ΠΈΠ»ΠΈ просты Π² использовании. But we're getting there. Ну ΠΈ Ссли ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ описаниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΎΠΆΠ³Π»ΠΎ вашС Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²ΠΎ, посмотритС ΠΎΠ±Π·ΠΎΡ€Π½Ρ‹ΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΏΡ€ΠΎ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡŽ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² SCA с ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Data Fest Online v2: https://www.youtube.com/watch?v=9fydREfnKb4. ΠšΡ€Π°ΡΠΎΡ‡Π½Ρ‹Π΅ слайды ΠΈ висящая Π³ΠΎΠ»ΠΎΠ²Π° Π½Π° Π±Π΅Π»ΠΎΠΌ Ρ„ΠΎΠ½Π΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅. #видоснавыходныС #ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠΊΠΎΠ΄ΠΌΠ°ΠΉΠ½Π΅Ρ€Π°

Moscow Python Conf++ 2021 ΠΈ автоматичСски Π°Π½Π°Π»ΠΈΠ· цикломатичСской слоТности Π’Ρ‡Π΅Ρ€Π° рассказали Π²Π°ΠΌ ΠΏΡ€ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π° сСгодня ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² нашСй совмСстной активности с Moscow Python Conf++ 2021 ΠΏΠΎ Ρ€Π΅Π²ΡŒΡŽ исходного ΠΊΠΎΠ΄Π° Ρ‚Π΅Ρ… участников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°ΠΆΡƒΡ‚ самыС слоТныС авторскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этого ΠΌΡ‹ совмСстно с ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ нСбольшой сСрвис, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° автоматичСский Π°Π½Π°Π»ΠΈΠ· цикломатичСской слоТности. По ΠΈΡ‚ΠΎΠ³Π°ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° выводится срСдняя цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΈ Ρ‚ΠΎΠΏ-5 самых «слоТных» Ρ„Π°ΠΉΠ»ΠΎΠ². РСвью ΠΊΠΎΠ΄Π° рСкордсмСнов слоТности Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ 27 сСнтября Π² Π»Π°ΠΉΠ²-Ρ€Π΅ΠΆΠΈΠΌΠ΅. Участник ПК ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ MoscowPython ΠœΠΈΡ…Π°ΠΈΠ» ΠšΠΎΡ€Π½Π΅Π΅Π² Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚ самыС вСсСлыС кСйсы, ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ совсСм, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ссли Π½Π° Ρ‚ΠΎ Π½Π΅Ρ‚ острой нСобходимости ;). Π‘Π°ΠΉΡ‚ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ: https://conf.python.ru/moscow/2021 ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π°Π½Π°Π»ΠΈΠ· цикломатичСской слоТности ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС: https://mpccomplexity.codescoring.com/

А Π²ΠΎΡ‚ ΠΈ опрос ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ посту.
Anonymous voting

ЦикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠœΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ читатСля с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ понятиями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. БСгодня ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (cyclomatic complexity). Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ, Ρ‚ΠΎ это ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ†Π΅Π½ΠΊΠΈ слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ разработанная Π² 1976 Π³ΠΎΠ΄Ρƒ Вомасом МакКСйбом (Thomas J. McCabe). По сути, цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (Π¦Π‘) части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β€” количСство Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ нСзависимых ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Если Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ, Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: M = E βˆ’ N + 2P, Π³Π΄Π΅: M β€” цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (Π¦Π‘), E β€” количСство Ρ€Ρ‘Π±Π΅Ρ€ Π² Π³Ρ€Π°Ρ„Π΅, N β€” количСство ΡƒΠ·Π»ΠΎΠ² Π² Π³Ρ€Π°Ρ„Π΅, P β€” количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ связности. А Ρ‡Π΅ΠΌ ΠΆΠ΅ это всё ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ? 1. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ значСния Π¦Π‘ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° пСрСуслоТнСнныС участки вашСго ΠΊΠΎΠ΄Π°. 2. КомплСксноС отслСТиваниС Π¦Π‘ спасаСт вас ΠΎΡ‚ влСтания Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ!). πŸ“ˆ 3. ИзлишнС высокиС значСния Π¦Π‘ Π½Π°ΠΌΠ΅ΠΊΠ°ΡŽΡ‚ Π½Π° слоТности сопровоТдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. О ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²Ρ‹Ρ… значСниях ЦикломатичСской слоТности ΠΈ Π΅Ρ‘ отличиях ΠΎΡ‚ ΠšΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… постах. А ΠΏΠΎΠΊΠ° простая Π·Π°Π΄Π°Ρ‡ΠΊΠ°, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, какая Π¦Π‘ Ρƒ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅?
void foo(void)
{
    if (a)
        if (b) 
            x=1;
    else
        x=2;
}

Π’Ρ‹ΡˆΠ»Π° JDK 17 LTS ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ Java-ΠΌΠΈΡ€ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ вСрсии JDK 17! Π Π΅Π»ΠΈΠ· Ρ‚ΡƒΡ‚. Π‘Π²Π΅ΠΆΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ„ΠΈΡ‡ ΠΏΠΎ-английски Ρ‚ΡƒΡ‚. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎ-русски здСсь. Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ: - строгая инкапсуляция Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… элСмСнтов JDK Π²ΠΎ имя ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости; - ΠΏΠΎΠΏΡ€Π°Π²Π»Π΅Π½Π° сСмантика с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой; - Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс ΠΈ рСализация Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² псСвдослучайных чисСл; - Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ исполнСниС Java ΠΊΠΎΠ΄Π° Π½Π° AArch64; - Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π΄Π΅ΠΏΡ€Π΅ΠΊΠ΅ΠΉΡ‚Π΅Π΄! - ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΌΠ°Ρ‚Ρ‡ΠΈΠ½Π³, Π·Π°Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ;) - ahead-of-time (AoT) compilation, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅; - колдовня с дСсСриализациСй.

Одна ΠΈΠ· самых ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ ΠΏΡ€ΠΎ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° MSR объявила ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½. Π’ этом Π³ΠΎΠ΄Ρƒ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Ρ‡Π΅Ρ‚ΠΊΠΈΡ… Ρ‚Π΅ΠΌ Π½Π΅Ρ‚, Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, нСсколько Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ: Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΎΠ½Π±ΠΎΡ€Π΄ΠΈΠ½Π³Π΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² коммуникациях ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΈ описаниС Ρ‚ΡƒΡ‚ ΠŸΡ€ΠΈ этом для исслСдований прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GrimoirLab, ΠΎ Π½Π΅ΠΌ ΠΌΡ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ напишСм ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. РСгистрация Π΄ΠΎ 18 октября.