{"id":321646,"date":"2021-04-18T15:00:28","date_gmt":"2021-04-18T15:00:28","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=321646"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=321646","title":{"rendered":"\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 #390 (12 \u2014 18 \u0430\u043f\u0440\u0435\u043b\u044f)"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 \u044d\u0442\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0441\u043f\u0438\u0441\u043a\u0430\u043c \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u0443\u0437\u044b\u043a\u0438 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u044b\u0445 unit-\u0442\u0435\u0441\u0442\u043e\u0432, \u0441\u043f\u0438\u043d\u043d\u0435\u0440\u044b \u0438 \u0438\u043a\u043e\u043d\u043a\u0438, \u0440\u043e\u0441\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440\u044b, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0438\u0434\u0435\u044f \u0434\u043b\u044f \u0438\u0433\u0440 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/p2\/il\/i2\/p2ili29egaevpm1ijutqbhtbn_w.jpeg\"><a name=\"habracut\"><\/a><\/p>\n<p>  <b>\u042d\u0442\u043e\u0442 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0432\u0438\u0434\u0435 \u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0439 <a href=\"http:\/\/apptractor.us3.list-manage2.com\/subscribe?u=fbdb52f18301080a3cc983f4b&amp;id=bb7bc0a9c0\">\u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438<\/a>. \u0410 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0435\u043c \u0432 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5e\/k7\/bf\/5ek7bfhjzilma-pbharuioaa7lw.png\"><a href=\"https:\/\/t.me\/apptractor\">Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/a>.<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f19\/30a\/c49\/f1930ac4945596eb9707bc7a01bc5bdc.png\"> <b>iOS<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552286\/\">\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u044f\u0432\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 Swift 5.4<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/vivid_money\/blog\/552418\/\">\u041f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0441\u043f\u0438\u0441\u043a\u0430\u043c \u043d\u0430 UICollectionView<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/v-app-store-obnaruzhili-kazino-kotorye-pritvoryayutsya-detskimi-igrami.html\">\u0412 App Store \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043a\u0430\u0437\u0438\u043d\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0442\u0432\u043e\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u0435\u0442\u0441\u043a\u0438\u043c\u0438 \u0438\u0433\u0440\u0430\u043c\u0438<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/conferences\/apple-anonsirovala-konferentsiyu-spring-loaded-20-aprelya.html\">Apple \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e Spring Loaded 20 \u0430\u043f\u0440\u0435\u043b\u044f<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/devices\/apple-rabotaet-nad-kombinatsiey-apple-tv-i-homepod.html\">Apple \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u0434 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0435\u0439 Apple TV \u0438 HomePod<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/news\/apple-ne-vypuskaet-imessage-na-android-chtoby-polzovateli-ne-uhodili-s-iphone.html\">Apple \u043d\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u0442 iMessage \u043d\u0430 Android, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u043b\u0438 \u0441 iPhone<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/christianselig.com\/2021\/04\/efficient-average-color\/\">\u0411\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439\/\u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0446\u0432\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/swift.org\/blog\/swift-collections\/\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 Swift<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/okcupid-tech-blog\/migrating-your-app-to-swift-packages-54abdb203a01\">\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Swift Package Modules<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/how-to-nest-a-uitableview-inside-a-uicollectionviewcell-like-trello-eeec0ea6f097\">\u041a\u0430\u043a \u0432\u043b\u043e\u0436\u0438\u0442\u044c UITableView \u0432 UICollectionViewCell \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u0443 Trello<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/create-animate-and-customise-circles-in-swift-84419881c597\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u0440\u0443\u0433\u043e\u0432 \u0432 Swift<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/5-tips-to-write-clean-swift-code-2ef287a11500\">5 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0447\u0438\u0441\u0442\u043e\u0433\u043e Swift-\u043a\u043e\u0434\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/codex\/xcodes-built-in-refactoring-tool-is-awesome-21492b236ab6\">\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Xcode \u0432\u0435\u043b\u0438\u043a\u043e\u043b\u0435\u043f\u0435\u043d<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/www.fivestars.blog\/articles\/swiftui-protocols\/\">\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 SwiftUI<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/brontoxx.medium.com\/uikit-live-preview-for-uiviewcontroller-and-uiview-f978fcc62a66\">UIKit Live Preview \u0434\u043b\u044f UIViewController \u0438 UIView<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/bobbyphtr.medium.com\/mvvm-coordinators-ios-architecture-tutorial-fb27eaa36470\">\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e iOS-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 MVVM+Coordinators<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/firebase-developers\/create-a-native-firebase-in-app-messaging-experience-on-ios-with-swiftui-84d3aa7bcd07\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 Firebase \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SwiftUI<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/collectionviewpaginglayout.html\">CollectionViewPagingLayout: \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 UICollectionView<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/fdwaveformview.html\">FDWaveformView: \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u0434\u043b\u044f iOS<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/3d-flip-menu.html\">3D Flip menu: \u0442\u0440\u0435\u0445\u043c\u0435\u0440\u043d\u043e\u0435 \u043c\u0435\u043d\u044e<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e1a\/3cf\/2a8\/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png\"> <b>Android<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552588\/\">\u041a\u0430\u043a \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c SDK Flutter \u043d\u0430 \u0422\u0412-\u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0443 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Android TV<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/551808\/\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u0443\u0437\u044b\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/koshelek\/blog\/552468\/\">In-App-Review. \u0424\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u043c \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043e\u0442\u0437\u044b\u0432\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cft\/blog\/551596\/\">\u041f\u0438\u0448\u0435\u043c unit \u0442\u0435\u0441\u0442\u044b \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u043c\u0443\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u043d\u043e<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552486\/\">\u0421\u0442\u0438\u043b\u0438\u0437\u0443\u044f \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/551856\/\">\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Undo \u0432 Snackbar \u043d\u0430 Jetpack Compose<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/coroutines-haotichnoe-izuchenie.html\">Coroutines: \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/mobile-app-development-publication\/android-jetpack-compose-animation-spec-made-easy-6e7990aef203\">Android Jetpack Compose: \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/huawei-developers\/stateful-android-apps-with-mvi-architecture-model-view-intent-d106b09bd967\">Stateful Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 MVI (MODEL \u2014 VIEW \u2014 INTENT)<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/saumyesrivastava.medium.com\/how-in-depth-can-you-answer-these-as-an-android-engineer-f61a7c2d736c\">\u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a Android-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/compose-camerax-on-android-58578f37e6df\">Compose CameraX \u0432 Android<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/androiddevelopers\/using-datastore-with-kotlin-serialization-6552502c5345\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 DataStore \u0441 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 Kotlin<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/caching-in-the-android-build-process-a52641a66b31\">\u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 Android-\u0441\u0431\u043e\u0440\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/dev.to\/feresr\/a-case-against-the-mvi-architecture-pattern-1add\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0442\u0438\u0432 MVI \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/proandroiddev.com\/the-modern-way-to-pass-data-between-fragments-b305cabbf2f2\">\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u043c\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/android-tool.html\">Android Tool: \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 adb \u0438 fastboot<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/967\/16b\/cb9\/96716bcb926741e79bb1c284a88083ca.png\"> <a href=\"https:\/\/apptractor.ru\/info\/github\/blurshadowimageview.html\">BlurShadowImageView: \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 \u0442\u0435\u043d\u0438 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/a><\/p>\n<p>  <img decoding=\"async\" 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 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/wrike\/blog\/552012\/\">\u041f\u043e\u0432\u044b\u0448\u0430\u0435\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 \u0441 Dart Code Metrics<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/pixonic\/blog\/552532\/\">\u041f\u0440\u0435\u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u043a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u0440\u0430\u0431\u043e\u0442 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u0438 \u043d\u0435 \u0441\u0433\u043e\u0440\u0435\u0442\u044c \u043a \u0434\u0435\u0434\u043b\u0430\u0439\u043d\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/551880\/\">Cordova. \u041e\u043f\u044b\u0442 Enterprise-\u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/551924\/\">\u0423\u0440\u043e\u0434\u043b\u0438\u0432\u044b\u0439 API<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552834\/\">\u0421\u0443\u0434\u043d\u043e \u043d\u0430 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0439 \u043f\u043e\u0434\u0443\u0448\u043a\u0435 \u043d\u0430 Unity 3D<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/sbermarket\/blog\/552174\/\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433 \u043d\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c 15 000 \u043a\u0443\u0440\u044c\u0435\u0440\u043e\u0432 \u0438 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u043e\u0432 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u0435\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552840\/\">\u0420\u0435\u0433\u0434\u043e\u043b\u043b\u044b \u043d\u0430 Unity 3D<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552904\/\">\u0420\u0443\u0441\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u043d\u0435 \u0441\u0434\u0430\u044e\u0442\u0441\u044f<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/media\/podlodka-211.html\">Podlodka #211: Haskell<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/rabochiy-den-razrabotchika-giper-kazualnyh-igr.html\">\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0434\u0435\u043d\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0433\u0438\u043f\u0435\u0440-\u043a\u0430\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u0433\u0440<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/app-design-40.html\">\u0414\u0438\u0437\u0430\u0439\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439: \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043b\u044f \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u044f #40<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/learn\/google-zapustil-besplatnyy-kurs-po-python-na-coursera.html\">Google \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Python \u043d\u0430 Coursera<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/articles\/name-it.html\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/develop\/design\/prekratite-ispolzovat-spinneryi-est-koe-chto-poluchshe.html\">\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u043d\u043d\u0435\u0440\u044b \u2014 \u0435\u0441\u0442\u044c \u043a\u043e\u0435 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0448\u0435<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/proektirovanie-tsiferblata-casio-dlya-apple-watch\/\">\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0446\u0438\u0444\u0435\u0440\u0431\u043b\u0430\u0442\u0430 CASIO \u0434\u043b\u044f Apple Watch<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/sovety-po-dizaynu-luchshih-interfeysnyh-ikonok\/\">\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0443 \u043b\u0443\u0447\u0448\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043d\u044b\u0445 \u0438\u043a\u043e\u043d\u043e\u043a<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/kak-uluchshit-navyki-dizayna-s-pomoschyu-nasmotrennosti\/\">\u041a\u0430\u043a \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u043d\u0430\u0432\u044b\u043a\u0438 \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/swlh\/the-5-essential-product-frameworks-40156f3ffc5e\">5 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/swlh\/lessons-learned-from-building-an-app-8c39f66a75d0\">3 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0443\u0440\u043e\u043a\u0430, \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/the-engineers-complete-guide-to-code-quality-dfa8d490c05e?gi=2837c6f319dc\">\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u043a\u043e\u0434\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/young-coder\/programming-books-that-dont-exist-but-we-ve-all-read-a503ce75d240\">\u041a\u043d\u0438\u0433\u0438 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 (\u043d\u043e \u043c\u044b \u0432\u0441\u0435 \u0447\u0438\u0442\u0430\u043b\u0438)<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/lajeshds2007.medium.com\/clean-architecture-for-enterprise-mobile-application-bf73ec4fbe80\">\u0427\u0438\u0441\u0442\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/an-app-developers-guide-to-mobile-system-design-interviews-74cd552bd963\">\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u0434\u0438\u0437\u0430\u0439\u043d\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/techhype.io\/?story=how-i-made-a-game-in-35-hours-without-breaking-a-sweat\">\u041a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0438\u0433\u0440\u0443 \u0437\u0430 35 \u0447\u0430\u0441\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/towardsdatascience.com\/five-things-i-have-learned-after-solving-500-leetcode-questions-b794c152f7a1\">\u041f\u044f\u0442\u044c \u0432\u0435\u0449\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0443\u0437\u043d\u0430\u043b \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 500 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 Leetcode<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/javascript.plainenglish.io\/10-free-tools-to-save-time-when-building-user-interfaces-e8406c58ba6c\">10 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/googleplaydev\/tips-for-building-a-quality-app-with-firebase-dd21cbbb7b99\">\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 Firebase<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/flutter-community\/why-is-the-protocol-a-game-changer-for-flutter-developers-5253be031743\">\u041f\u043e\u0447\u0435\u043c\u0443 @protocol \u0432\u0441\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u0434\u043b\u044f Flutter-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432?<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/experience-and-confidence-128a6a4812cd\">\u041a\u0430\u043a \u0441\u0438\u043d\u0434\u0440\u043e\u043c \u0441\u0430\u043c\u043e\u0437\u0432\u0430\u043d\u0446\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0441\u0442\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/techhype.io\/?story=the-making-of-age-of-empires-ii-1999\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Age of Empires II<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/www.fastcompany.com\/90623905\/ios-web-apps\">\u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438\u0437\u0431\u0435\u0433\u0430\u044e\u0442 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u0431\u043e\u043b\u0438 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043e\u0441\u0442\u0430\u0432\u0430\u044f\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/blog.prototypr.io\/how-to-design-better-icons-869d067fddbf\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0435 \u0438\u043a\u043e\u043d\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/failing-one-tech-interview-taught-me-more-than-cracking-three-9ec1870519da\">\u041f\u0440\u043e\u0432\u0430\u043b \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u043d\u0430\u0443\u0447\u0438\u043b \u043c\u0435\u043d\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u043c\u0443, \u0447\u0435\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/uxdesign.cc\/psychological-principles-every-product-designer-should-know-ddf051e8f6d8\">\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/top-7-dart-tips-and-tricks-for-cleaner-flutter-apps-562664a15826\">7 \u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Dart \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0441\u0442\u044b\u0445 Flutter-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/rite2riddhi.medium.com\/the-resume-that-got-me-into-faang-ca168ac15df2\">\u0420\u0435\u0437\u044e\u043c\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043c\u0435\u043d\u044f \u0432 FAANG<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/betterprogramming.pub\/19-realistic-habits-to-improve-software-development-594ce1e85e19\">19 \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u044b\u0447\u0435\u043a \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/techhype.io\/?story=replacing-react-native-with-kotlin-multiplatform-at-wantedly\">\u0417\u0430\u043c\u0435\u043d\u0430 React Native \u043d\u0430 Kotlin Multiplatform \u0432 Wantedly<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/509\/dc9\/bde\/509dc9bde69347ecbe0c21ff2973d7e7.jpg\"> <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 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/alconost\/blog\/552056\/\">\u041a\u0430\u043a \u043c\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 1 \u043c\u043b\u043d \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0439 \u0441 \u043d\u0443\u043b\u0435\u0432\u044b\u043c \u0431\u044e\u0434\u0436\u0435\u0442\u043e\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/alconost\/blog\/552648\/\">\u041d\u0430 \u043a\u0430\u043a\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 \u0441\u0442\u043e\u0438\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0438\u0433\u0440\u0443 \u0432 2021: \u043e\u0431\u0437\u043e\u0440 \u043e\u0442 Alconost<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/marketing-monetization\/rost-mobilnyh-prilozheniy-2020-otchet-adjust-i-facebook.html\">\u0420\u043e\u0441\u0442 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 2020 \u2014 \u041e\u0442\u0447\u0435\u0442 Adjust \u0438 Facebook<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/analytics\/litoff-i-app-annie-zagruzki-finansovyh-prilozheniy-v-2020-vyrosli-na-15.html\">Litoff \u0438 App Annie: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 2020 \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043d\u0430 15%<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/analytics\/issledovanie-appsflyer-protsent-att-soglasiya.html\">\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 AppsFlyer: \u043f\u0440\u043e\u0446\u0435\u043d\u0442 ATT-\u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435, \u0447\u0435\u043c \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/apps\/mighty-doom.html\">Bethesda \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0442 Mighty DOOM<\/a><br \/>  \u2022 <a href=\"https:\/\/apptractor.ru\/info\/techhype\/canvas-medical-horoshiy-ui-dlya-meditsiny.html\">Canvas Medical: \u0445\u043e\u0440\u043e\u0448\u0438\u0439 UI \u0434\u043b\u044f \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u044b<\/a><br \/>  \u2022 <a href=\"https:\/\/vc.ru\/marketing\/231872-7-prostyh-sposobov-ranzhirovatsya-v-store-vyshe\">7 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u043e\u0440\u0435 \u0432\u044b\u0448\u0435<\/a><br \/>  \u2022 <a href=\"https:\/\/ux.pub\/izmenite-svoy-dizayn-dlya-globalnoy-auditorii-issledovanie-kross-kulturnogo-ux-dizayn\/\">\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d \u0434\u043b\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438: \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441-\u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043d\u043e\u0433\u043e UX-\u0434\u0438\u0437\u0430\u0439\u043d<\/a><br \/>  <a href=\"https:\/\/vc.ru\/marketing\/233928-kak-prodat-mobilnoe-prilozhenie\">\u041a\u0430\u043a \u043f\u0440\u043e\u0434\u0430\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435?<\/a><br \/>  <a href=\"https:\/\/vc.ru\/services\/233551-evropeyskie-shpili-kak-nashe-prilozhenie-doehalo-do-germanii-i-polshi\">\u0415\u0432\u0440\u043e\u043f\u0435\u0439\u0441\u043a\u0438\u0435 \u0448\u043f\u0438\u043b\u0438: \u043a\u0430\u043a \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u0435\u0445\u0430\u043b\u043e \u0434\u043e \u0413\u0435\u0440\u043c\u0430\u043d\u0438\u0438 \u0438 \u041f\u043e\u043b\u044c\u0448\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/medium.com\/agileinsider\/the-5-best-product-analytics-tools-in-2021-bc9e27d2b6bc\">5 \u043b\u0443\u0447\u0448\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 2021<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/377\/ae0\/333\/377ae0333d0f4b7b97307c9eea5ee21a.gif\"> <a href=\"https:\/\/productcoalition.com\/mastering-user-retention-like-amazon-spotify-and-co-5d2bd2931717\">\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u0430\u043a Amazon, Spotify \u0438 \u0434\u0440.<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/853\/812\/9f5\/8538129f5e7b404a720121cb9c3814db.jpg\"> <b>AI, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, IoT<\/b><\/p>\n<p>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552308\/\">\u0417\u0430\u0447\u0435\u043c \u0432\u0441\u0435 \u0441\u0442\u0430\u0432\u044f\u0442 \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0432 \u0442\u0443\u0430\u043b\u0435\u0442 \u0438\u043b\u0438 \u043a\u0430\u043a \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0443\u043c\u043d\u044b\u0439 \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440, \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043e DIY<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/recognitor\/blog\/551552\/\">Edge \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e Computer Vision<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/552016\/\">\u0427\u0435\u043c Tarantool \u043a\u0440\u0443\u0447\u0435 Redis&#8217;\u0430 \u0434\u043b\u044f IoT-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/552678\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0439 \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\">\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/534096\/\">\u0412\u043e\u0439\u043d\u0430 \u043c\u0438\u0440\u043e\u0432 \u0432\u043e \u0432\u0441\u0435\u043b\u0435\u043d\u043d\u043e\u0439 IoT\/IoE \u2014 \u0434\u043e\u043a\u043e\u043b\u0435?<\/a><br \/>  <a href=\"https:\/\/apptractor.ru\/info\/news\/ii-platforma-generatsii-idey-dlya-igr-ludo-vyshla-iz-beta-versii.html\">\u0418\u0418-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0434\u0435\u0439 \u0434\u043b\u044f \u0438\u0433\u0440 Ludo \u0432\u044b\u0448\u043b\u0430 \u0438\u0437 \u0431\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u0438<\/a><br \/>  <a href=\"https:\/\/apptractor.ru\/info\/news\/nvidia-vypustila-dialogovyy-freymvork-jarvis.html\">NVIDIA \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Jarvis<\/a><\/p>\n<p>  \u2190 <a href=\"https:\/\/habr.com\/ru\/company\/productivity_inside\/blog\/551810\/\">\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<p> \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\/company\/productivity_inside\/blog\/553020\/\"> https:\/\/habr.com\/ru\/company\/productivity_inside\/blog\/553020\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 \u044d\u0442\u043e\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0441\u043f\u0438\u0441\u043a\u0430\u043c \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u0443\u0437\u044b\u043a\u0438 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u044b\u0445 unit-\u0442\u0435\u0441\u0442\u043e\u0432, \u0441\u043f\u0438\u043d\u043d\u0435\u0440\u044b \u0438 \u0438\u043a\u043e\u043d\u043a\u0438, \u0440\u043e\u0441\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440\u044b, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0438\u0434\u0435\u044f \u0434\u043b\u044f \u0438\u0433\u0440 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/p2\/il\/i2\/p2ili29egaevpm1ijutqbhtbn_w.jpeg\"><\/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-321646","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/321646","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=321646"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/321646\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=321646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=321646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}