{"id":356955,"date":"2024-05-20T23:40:30","date_gmt":"2024-05-20T23:40:30","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=356955"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=356955","title":{"rendered":"<span>\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e #509 (02 \u2014 08 \u043e\u043a\u0442\u044f\u0431\u0440\u044f)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0412 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Observation \u0432 Swift \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 DI \u043d\u0430 Kotlin, \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b Jetpack Compose \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 UX-\u0442\u0435\u043a\u0441\u0442\u043e\u0432, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u0435\u0436\u044a\u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043c\u043e\u0441\u0442\u043e\u0432, \u0441\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<\/p>\n<p>  <b>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043d\u0430 \u043d\u0430\u0448 Telegram-\u043a\u0430\u043d\u0430\u043b <a href=\"https:\/\/t.me\/apptractor\">Mobile Insights<\/a>, \u0433\u0434\u0435 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0410 \u0432 <a href=\"https:\/\/t.me\/code_insight\">IT Insights<\/a> \u2014 \u043c\u043d\u043e\u0433\u043e \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445.<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/8-\/ph\/u3\/8-phu3u7wuvjeyathzyecjneuvs.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/8-\/ph\/u3\/8-phu3u7wuvjeyathzyecjneuvs.jpeg\" data-blurred=\"true\"\/><a name=\"habracut\"><\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\"\/> <b>iOS<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/osvaivaem-freymvork-observation-v-swift.html\">\u041e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Observation \u0432 Swift<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/761772\/\">\u0412\u044b \u043d\u0435 \u0442\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435 Kingfisher, \u0438\u043b\u0438 \u043a\u0430\u043a \u0441\u0430\u043c\u0443\u0440\u0430\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kak-uskorit-sborku-proekta-i-ne-ostanovit-razrabotku.html\">\u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/zabud-pro-uitableview.html\">\u0417\u0430\u0431\u0443\u0434\u044c \u043f\u0440\u043e UITableView<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/novye-podhody-k-rabote-s-regulyarnymi-vyrazheniyami-v-swift-prosto-o-slozhnom.html\">\u041d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 Swift. \u041f\u0440\u043e\u0441\u0442\u043e \u043e \u0441\u043b\u043e\u0436\u043d\u043e\u043c<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/o-divnyy-novyy-mir-so-swift-concurrency.html\">\u041e \u0434\u0438\u0432\u043d\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u0440 \u0441\u043e Swift Concurrency<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/povarennaya-kniga-swiftui-izobrazheniya-i-knopki.html\">\u041f\u043e\u0432\u0430\u0440\u0435\u043d\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430 SwiftUI: \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u043a\u043d\u043e\u043f\u043a\u0438<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.swift.org\/blog\/whats-new-swift-debugging-5.9\/\">Debugging Improvements in Swift 5.9<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.massicotte.org\/crossing-the-boundary\">Crossing the Boundary<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.kodeco.com\/40950083-creating-shortcuts-with-app-intents\">Creating Shortcuts with App Intents<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/liamnichols.eu\/2023\/10\/02\/taking-your-strings-catalogs-to-the-next-level.html\">Taking your Strings Catalogs to the Next Level<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.manu.show\/2023-09-29-force-update-mechanism\/\">Force Update Mechanism<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@CharlesAE\/recreate-a-dribbble-app-design-with-uikit-715f03b779a8\">Recreate a Dribbble App Design with UIKit<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.runway.team\/blog\/how-to-build-a-tuist-plugin-and-publish-it-using-spm-and-version-control\">How to build a Tuist plugin and publish it using SPM and version control<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/forums.swift.org\/t\/a-new-approach-to-testing-in-swift\/67425\">A New Approach to Testing in Swift<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/itnext.io\/sync-data-in-swiftui-using-nsubiquitouskeyvaluestore-83263b1373cc\">Sync Data in SwiftUI Using NSUbiquitousKeyValueStore<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/mfaani.com\/posts\/devtools\/optimizing-app-size\/how-does-the-linker-help-reduce-app-size-part-one\/\">Optimizing Binaries \u2014 How Does the Linker Help Reduce App Size<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@imsajib333\/the-solid-principles-with-practical-examples-in-ios-swift-12f309a29e7b\">The SOLID principles with practical examples in Swift<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/levelup.gitconnected.com\/abstract-class-vs-protocol-oriented-approach-in-swift-1f5339fe1bc8\">Abstract Class vs. Protocol-Oriented Approach in Swift<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.emergetools.com\/blog\/posts\/comparing-top-analytics-sdks-for-ios\">Comparing the Performance of the Top 6 Analytics SDKs for iOS<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/mobile-app-development-publication\/how-to-optimize-your-ios-app-performance-03d98af77019\">How to Optimize Your iOS App Performance<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@santoshbotre01\/understanding-swiftui-viewmodifiers-a-comprehensive-guide-c5177075f064\">Understanding SwiftUI ViewModifiers: A Comprehensive Guide<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@artemkvasnetcky\/ios-microapp-architecture-part-1-50cd2bcaccd6\">iOS Microapp Architecture<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/betterprogramming.pub\/unveiling-the-data-modeling-principles-of-swiftdata-480c993d2f5c\">Unveiling the Data Modeling Principles of SwiftData<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@CharlesAE\/recreate-a-dribbble-app-design-with-uikit-4fb07a8102c5\">Recreate a Dribbble App Design with UIKit<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/simform-engineering\/siri-intents-for-watchos-b45798950f2c\">Siri Intents for WatchOS<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/techhype.io\/media\/custom-in-app-custom-notifications-xcode-15-swiftui-tutorials\/\">Custom In-App Notification\u2019s \u2013 Xcode 15 \u2013 SwiftUI Tutorials<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/techhype.io\/media\/how-to-get-started-with-swift-concurrency-%f0%9f%a7%b5-beginner-tutorial\/\">How to get started with Swift Concurrency (Beginner Tutorial)<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=UqiNGWpnGbg\">Changing Status Bar Style in 5 Min\u2019s \u2014 SwiftUI<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=_4Np0RhzlD4\">Build an Air Quality Index App with SwiftUI Map &amp; Google AQI API<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=A6_8AIVXNGI\">How to Build a Custom Sheet in SwiftUI<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/techhype.io\/media\/new-and-deprecated-apis-in-ios-17\/\">New and Deprecated APIs in iOS 17<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/papyrus.html\">Papyrus: \u0442\u0438\u043f\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 HTTP \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f Swift<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/metacodable.html\">MetaCodable: \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Codable \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\"\/> <b>Android<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/yandex\/articles\/764920\/\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Scout \u2014 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 DI \u043d\u0430 Kotlin<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/pobochnye-effekty-jetpack-compose-v-podrobnostyah.html\">\u041f\u043e\u0431\u043e\u0447\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b Jetpack Compose \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/ispolzovanie-strokovyh-resursov-v-viewmodel.html\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 ViewModel<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/ppr\/articles\/765544\/\">\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 Groovy \u043d\u0430 Kotlin<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/kak-ustroena-logika-navigatsii-flou-v-prilozhenii-tinkoff.html\">\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0444\u043b\u043e\u0443 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/vvedenie-v-bezopasnost-android-prilozheniy.html\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/udalil-odin-klass-a-slomalsya-ves-proekt-decoupling.html\">\u0423\u0434\u0430\u043b\u0438\u043b \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0441, \u0430 \u0441\u043b\u043e\u043c\u0430\u043b\u0441\u044f \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442: Decoupling<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/korutinnye-zagadki.html\">\u041a\u043e\u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u0430\u0434\u043a\u0438<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/izmeryaem-sequence.html\">\u0418\u0437\u043c\u0435\u0440\u044f\u0435\u043c sequence<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/vyshel-android-14.html\">\u0412\u044b\u0448\u0435\u043b Android 14<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/developer.android.com\/codelabs\/adaptability-codelab#0\">Integrating Adaptability features into your Native Game<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/adambennett.dev\/2023\/09\/a-feature-flag-psa\/\">A feature flag PSA<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/proandroiddev.com\/screenshot-testing-in-compose-f8a7389a7e6\">Screenshot testing in Compose<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/ayousuf.hashnode.dev\/testing-android-pagingsource\">Testing Android PagingSource<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/developer.android.com\/games\/optimize\/adpf\">Optimize thermal and CPU performance with the Android Dynamic Performance Framework<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/img.ly\/blog\/kotlin-code-refactoring-for-peak-performance\/\">Elegant Event Handling in Kotlin \u2014 A Refactoring Walkthrough<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/rezaramesh.medium.com\/unlocking-the-power-of-proguard-in-android-a-comprehensive-guide-78dffddc119e\">Unlocking the Power of ProGuard in Android: A Comprehensive Guide<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.kotlin-academy.com\/building-kotlin-coroutine-framework-from-scratch-part-2-reinventing-dispatchers-bff72b82e42d\">Building Kotlin Coroutine Framework from Scratch: Part 2 -Reinventing Dispatchers<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/towardsdev.com\/understanding-the-difference-between-ksp-and-kaps-in-kotlin-d87e68d86f87\">Understanding the Difference Between KSP and KAPS in Kotlin<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@khush.panchal123\/introducing-rvtimetracker-recyclerview-time-tracker-ad9cae2940f9\">Introducing RVTimeTracker \u2014 RecyclerView Time Tracker<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@muhammetkudur\/android-custom-views-1-matrix-porterduffxfermode-d99d312b2b99\">Android Custom Views \u2014 1 (Matrix &amp; PorterDuffXfermode )<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/img.ly\/blog\/kotlin-code-refactoring-for-peak-performance\/\">Elegant Event Handling in Kotlin \u2014 A Refactoring Walkthrough<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/proandroiddev.com\/rise-of-jetpack-media-3-revolutionising-media-playback-on-android-45686bdb648\">Rise of Jetpack Media 3 \u2014 Revolutionising Media Playback on Android<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/livefront\/migration-gson-to-kotlinx-serialization-ff43cd03631a\">Migration: Gson to Kotlinx.Serialization<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@ahamedjaber8\/scratch-card-in-android-jetpack-compose-ee32a860e82d\">Scratch Card in Android jetpack compose<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.canopas.com\/gestures-in-jetpack-compose-all-you-need-to-know-part-1-9d26570e56bb\">Gestures in Jetpack compose \u2014 All you need to know<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.guardsquare.com\/blog\/hidden-mobile-app-security-risks-in-android-libraries-guardsquare\">Hidden Mobile App Security Risks in Android Libraries<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@kashifahmad\/automating-android-builds-with-github-actions-from-debug-to-release-88e76612740d\">Automating Android Builds with GitHub Actions: From Debug to Release<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@alessandrofarandagancio\/common-android-developer-interview-questions-and-answers-4a592445172e\">Common Android Developer Interview Questions and Answers<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/scalertech\/how-we-built-a-jenkins-powered-cloud-ci-cd-pipeline-for-your-android-app-in-2023-86b61e7d4b8b\">How we built a Jenkins-Powered Cloud CI\/CD Pipeline for our Android App in 2023<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=jpU6hjzOLRE\">Now in Android: 92 \u2014 Studio Bot expansion, Firebase integration, Android Studio, and much more!<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=12_iKwGIP64\">How to Build a Camera App With CameraX \u2014 Taking Photos<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=kFWmL5opJNk\">How to Build a Custom Gradle Plugin to Share Project Config \u2014 Multi-Module Architecture<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/techhype.io\/media\/add-custom-google-fonts-in-your-app\/\">Add Custom Google Fonts in your App<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/techhype.io\/media\/how-to-make-and-use-bom-bill-of-materials-dependencies-in-android-projects\/\">How to make and use BOM (Bill of Materials) dependencies in Android projects<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/notify.html\">Notify: \u0437\u0430\u043c\u0435\u0442\u043a\u0438 \u0441 MVVM, Compose \u0438 Material3<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/composefadingedges.html\">ComposeFadingEdges: \u0438\u0441\u0447\u0435\u0437\u0430\u044e\u0449\u0438\u0435 \u043a\u0440\u0430\u044f \u0434\u043b\u044f Compose<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ma\/lx\/8h\/malx8hbgozt6lee8rmxmg96_s6a.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ma\/lx\/8h\/malx8hbgozt6lee8rmxmg96_s6a.png\"\/> <b>\u041a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/765736\/\">\u041c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0445 API<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/timsneath.medium.com\/a-fond-farewell-to-flutter-and-dart-7a7a8c7c03e2\">A fond farewell to Flutter and Dart<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/dev.to\/maximsaplin\/efficient-dart-optimizing-cpu-bound-load-in-flutter-without-missing-a-frame-5dme\">Efficient Dart: optimizing CPU-bound load in Flutter without missing a frame<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/itnext.io\/flutter-seamless-multi-device-debugging-d0b79260555f\">Flutter: Seamless multi-device debugging<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/carbondesign\/introducing-carbon-for-react-native-6bfa1bc62f94\">Introducing Carbon for React Native<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/lyabs.hashnode.dev\/everything-you-need-to-know-about-enum-with-flutter-and-dart\">Everything you need to know about Enum with Flutter and Dart<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/flutterdude\/supercharge-your-flutter-development-top-plugins-to-boost-productivity-c4af3695f12\">Supercharge Your Flutter Development: Top Plugins to Boost Productivity<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@panuj330\/pushing-flutter-to-the-limit-the-ultimate-guide-to-reducing-flutter-app-size-4eb05c4351d1\">Pushing Flutter to the Limit: The Ultimate Guide to Reducing Flutter App Size<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/devexpress-technical\/7-tips-to-boost-net-maui-mobile-app-performance-2fbaeac4aa7e\">7 Tips to Boost .NET MAUI Mobile App Performance<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/bndkt.com\/blog\/2023\/offline-first-expo-watermelondb-supabase\">Building an offline-first React Native app with Expo, WatermelonDB, and Supabase<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/@niranjanky14\/serializable-vs-parcelable-which-one-to-use-in-kmp-231c00a8528f\">How to use Parcelable in KMP?<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/synaptic-engineering\/react-native-performance-optimization-using-render-locks-b19ea55f0796\">React Native performance optimization using Render Locks<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=qMHs5JUJTdU\">KMP Hopes &amp; Dreamcatchers with Ritesh Gupta<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gt\/u1\/ia\/gtu1iaz0-ajkbqpeq8n6dmql4zq.png\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=KOSvDlFyg20\">Getting Started with Ignite<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\" data-src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"\/> <a href=\"https:\/\/apptractor.ru\/info\/github\/anypass.html\">AnyPass: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f\u043c\u0438 \u043d\u0430 Compose Multiplatform<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/708\/1c6\/34e\/7081c634ec176ab6b953d9d19e82a09a.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/708\/1c6\/34e\/7081c634ec176ab6b953d9d19e82a09a.png\"\/> <b>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/articles\/kak-dizayn-myshlenie-prevratilo-airbnb-iz-neudachnogo-startapa-v-biznes-s-milliardnymi-oborotami.html\">\u041a\u0430\u043a \u0434\u0438\u0437\u0430\u0439\u043d-\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u043e Airbnb \u0438\u0437 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441 \u0441 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043d\u044b\u043c\u0438 \u043e\u0431\u043e\u0440\u043e\u0442\u0430\u043c\u0438<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/ncloudtech\/articles\/765504\/\">\u041a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c UX-\u0442\u0435\u043a\u0441\u0442\u044b: \u0438\u0437\u0443\u0447\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/sbermarket\/articles\/764804\/\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0434\u0438\u0437\u0430\u0439\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c\u0441\u044f \u0441 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/765844\/\">\u0414\u0438\u0437\u0430\u0439\u043d\u0435\u0440 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432: \u043a\u043e\u0433\u043e \u0438\u0449\u0443\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, 10 \u043b\u0435\u0442 \u0441\u043f\u0443\u0441\u0442\u044f<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/webinargroup\/articles\/765258\/\">\u041a\u0430\u043a \u043a\u043e\u0440\u0438\u0434\u043e\u0440\u043d\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u0443\u043d\u0442\u0435\u0440\u044b \u0442\u0440\u0435\u0434\u043e\u0432 \u0432 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0435<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/media\/generator-mezhyazykovyh-mostov-dlya-mobilnyh-prilozheniy-pydjinni.html\">\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u0435\u0436\u044a\u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043c\u043e\u0441\u0442\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 PyDjinni<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/github-innovation-graph-kak-razrabotchiki-vsego-mira-rabotayut-na-github.html\">GitHub Innovation Graph \u2014 \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432\u0441\u0435\u0433\u043e \u043c\u0438\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 GitHub<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/microsoft-obnovila-teams.html\">Microsoft \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0430 Teams<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/beams.html\">Beams \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/analytics\/kolichestvo-vakansiy-v-it-v-rossii-vyroslo-na-10-za-god.html\">\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u0432 IT \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043d\u0430 10% \u0437\u0430 \u0433\u043e\u0434<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/ozon-zapustit-sobstvennuyu-obolochku-dlya-smart-tv-so-vstroennymi-servisami-vk.html\">Ozon \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u0434\u043b\u044f Smart TV \u0441\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 VK<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/analytics\/samye-vysokooplachivaemye-vakansii-sentyabrya-v-oblasti-razrabotki-prilozheniy-2.html\">\u0421\u0430\u043c\u044b\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/google-developer-experts\/how-to-create-a-product-roadmap-8e5c34d76a98\">How To Create A Product Roadmap<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/vadimkravcenko.com\/shorts\/database-migrations\/\">Database Migrations<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/www.theturnsignalblog.com\/blog\/guide-to-prototyping-automotive-interfaces\/\">A Guide to Prototyping Automotive Interfaces<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/uxdesign.cc\/which-open-source-monospaced-font-is-best-for-coding-6bafd8d4b43c\">Which open-source monospaced font is best for coding?<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/medium.com\/pinterest-engineering\/lessons-from-debugging-a-tricky-direct-memory-leak-f638c722d9f2\">Lessons from debugging a tricky direct memory leak<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/blog.samaltman.com\/how-to-hire\">How to hire<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/techhype.io\/news\/database-performance-at-scale-a-free-open-source-book\/\">Database Performance at Scale: A Free, Open Source Book<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\" data-blurred=\"true\"\/> <b>\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430, \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u043c\u043e\u043d\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u044f<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/user-analytics\/samye-skachivaemye-i-zarabatyvayuschie-prilozheniya-v-rossii-v-sentyabre-2023.html\">\u0421\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435 2023<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/pokemon-sleep-revenue.html\">Pok\u00e9mon Sleep \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u043c\u0435\u0441\u044f\u0446 \u043e\u0431\u043e\u0433\u043d\u0430\u043b \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043d\u0430<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/apps\/promova.html\">Promova \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043b\u044e\u0434\u044f\u043c \u0441 \u0434\u0438\u0441\u043b\u0435\u043a\u0441\u0438\u0435\u0439 \u0443\u0447\u0438\u0442\u044c \u044f\u0437\u044b\u043a\u0438<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/zoom-docs.html\">Zoom \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043e\u0444\u0438\u0441\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b Zoom Docs<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/telegram-ispolnilos-10-let-a-dohody-stagniruyut.html\">Telegram \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c 10 \u043b\u0435\u0442, \u0430 \u0434\u043e\u0445\u043e\u0434\u044b \u0441\u0442\u0430\u0433\u043d\u0438\u0440\u0443\u044e\u0442<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/measure\/app-store-analytics\/q3-2023-mobile-market-pulse.html\">\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0432 2023 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043b\u0438 $100 \u043c\u043b\u0440\u0434 \u0432 \u0440\u0435\u043a\u043e\u0440\u0434\u043d\u044b\u0439 \u0441\u0440\u043e\u043a \u2014 \u043e\u0442\u0447\u0435\u0442 Data.ai \u0437\u0430 3 \u043a\u0432\u0430\u0440\u0442\u0430\u043b<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/765382\/\">\u041a\u0430\u043a \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/sud-priznal-zakonnym-reshenie-fas-oshtrafovat-apple-na-1-2-mlrd-rubley.html\">\u0421\u0443\u0434 \u043f\u0440\u0438\u0437\u043d\u0430\u043b \u0437\u0430\u043a\u043e\u043d\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0424\u0410\u0421 \u043e\u0448\u0442\u0440\u0430\u0444\u043e\u0432\u0430\u0442\u044c Apple \u043d\u0430 1.2 \u043c\u043b\u0440\u0434 \u0440\u0443\u0431\u043b\u0435\u0439<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/apps\/prilozhenie-microsoft-lists-stalo-dostupno-vsem-polzovatelyam.html\">\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Microsoft Lists \u0441\u0442\u0430\u043b\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/news\/apple-gotovit-obnovlennyy-poisk-dlya-app-store-i-spotlight.html\">Apple \u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0434\u043b\u044f App Store \u0438 Spotlight<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\" data-blurred=\"true\"\/> <b>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/b><\/p>\n<p>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/yandex\/articles\/763348\/\">\u041d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0441\u043f\u0438\u043b\u043e\u0442\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/wirenboard\/articles\/764778\/\">\u041a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u044e\u0434\u0436\u0435\u0442\u043d\u044b\u0439 \u0443\u043c\u043d\u044b\u0439 \u0434\u043e\u043c. \u041e\u0431\u0449\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 Wiren Board<\/a><br \/>  \u2022 <a href=\"https:\/\/habr.com\/ru\/companies\/whoosh\/articles\/765628\/\">\u041a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043a\u0430 \u043c\u0430\u0433\u043d\u0438\u0442\u043e\u043c\u0435\u0442\u0440\u0430: \u0447\u0435\u0440\u0435\u0437 \u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043a\u043e\u043c\u043f\u0430\u0441\u0443<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/765306\/\">\u041a\u0430\u043a \u044f \u0434\u0435\u043b\u0430\u043b \u0431\u044e\u0434\u0436\u0435\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0440\u0435\u0434\u044b \u0438 \u0447\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0448\u043b\u043e<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/sberdevices\/articles\/763932\/\">SAGE: \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/760396\/\">KC868-ASR: \u043a\u0440\u0435\u0430-\u043d\u043e\u0434\u0430 (\u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0434\u043b\u044f \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u044b\u0445)<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/765430\/\">\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c PCIe \u0432 \u043d\u043e\u0432\u043e\u043c Raspberry Pi 5<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/765198\/\">Starting Electronics: \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c \u043d\u0430 Arduino. \u0427\u0430\u0441\u0442\u044c 17. \u0417\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0438\u0439 \u0443\u0440\u043e\u043a \u0438 \u0438\u0442\u043e\u0433\u0438<\/a><br \/>  \u2022\u00a0<a href=\"https:\/\/apptractor.ru\/info\/devices\/google-predstavil-pixel-8-i-pixel-8-pro.html\">Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b Pixel 8 \u0438 Pixel 8 Pro<\/a><br \/>  \u2022\u00a0<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\" data-src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"\/> <a href=\"https:\/\/ig.ft.com\/generative-ai\/\">How Transformers Work<\/a><\/p>\n<p>  \u2190 <a href=\"https:\/\/habr.com\/ru\/companies\/productivity_inside\/articles\/764666\/\">\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442<\/a>. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438\u043b\u0438 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u2014 \u043f\u0440\u0438\u0448\u043b\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432 <a href=\"mailto:lbogolubov@gmail.com\">\u043f\u043e\u0447\u0442\u0443<\/a>.<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/766116\/\"> https:\/\/habr.com\/ru\/articles\/766116\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0412 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Observation \u0432 Swift \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 DI \u043d\u0430 Kotlin, \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b Jetpack Compose \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 UX-\u0442\u0435\u043a\u0441\u0442\u043e\u0432, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u0435\u0436\u044a\u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043c\u043e\u0441\u0442\u043e\u0432, \u0441\u0430\u043c\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0438 \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<\/p>\n<p>  <b>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043d\u0430 \u043d\u0430\u0448 Telegram-\u043a\u0430\u043d\u0430\u043b <a href=\"https:\/\/t.me\/apptractor\">Mobile Insights<\/a>, \u0433\u0434\u0435 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0410 \u0432 <a href=\"https:\/\/t.me\/code_insight\">IT Insights<\/a> \u2014 \u043c\u043d\u043e\u0433\u043e \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445.<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/8-\/ph\/u3\/8-phu3u7wuvjeyathzyecjneuvs.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/8-\/ph\/u3\/8-phu3u7wuvjeyathzyecjneuvs.jpeg\" data-blurred=\"true\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-356955","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=356955"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356955\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=356955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=356955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=356955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}