Agar pancake pertama tidak keluar kental. Kiat untuk pengembang layanan pemula

Selamat siang, para pembaca yang budiman! Artikel ini ditujukan untuk semua data scientist yang memutuskan untuk membuat aplikasi web pertama mereka. Dalam publikasi ini, saya tidak akan memposting daftar kode. Di Internet, ada banyak contoh praktis layanan bangunan yang ditulis dalam kerangka kerja yang berbeda. Tetapi ada sangat sedikit artikel teoritis tentang logika proses, arsitektur solusi, dan, yang paling penting, kesulitan yang akan dihadapi oleh seorang spesialis pertama kali. Saya memutuskan untuk mengisi ceruk ini dan menjelaskan pengalaman pribadi saya, yang mungkin berguna bagi seseorang.





 Khusus untuk artikelnya, saya menyiapkan dua contoh identik di Flask dan Dash dan mempostingnya di GitHub. Mereka mengilustrasikan perhitungan dan keluaran indikator ekonomi unit untuk pasar TI abstrak yang disebut Habr (dan mengapa tidak, karena sekarang semua perusahaan sudah mulai terlibat dalam e-commerce :).





Saya mengusulkan untuk membangun percakapan dalam bentuk ringkasan langkah demi langkah dari materi terlampir, dalam prosesnya saya akan memusatkan perhatian Anda pada momen-momen yang menurut saya pribadi paling sulit atau menarik. Dan, tentu saja, kami pasti akan fokus pada kesalahan yang saya buat sebagai pengembang backend.





"OPP: jika Anda tidak tahu bagaimana - jangan menerimanya!" Ketika datang ke OPP, untuk beberapa alasan saya secara otomatis memikirkan Django dengan kelasnya. Tetapi jika Anda melihat karya ilmuwan data atau analis data pemula, kita melihat gambaran yang sama sekali berbeda. Kelas digunakan untuk kepentingan kelas itu sendiri. Semua kode digabungkan dengan struktur bahasa ini. Untuk apa "monster" ini bertanggung jawab? Untuk semua! Bagaimana mencari kesalahan atau menulis ulang kode tidak jelas. Secara pribadi, saya memiliki pendapat seperti itu tentang masalah ini. Jika Anda tidak tahu kapan, bagaimana dan mengapa menggunakan OPP, maka lebih baik menggunakan gaya fungsional-prosedural untuk pengembangan kecil.





β€œ , . , . , -, , , -, , .





β€œ, .” GitHub , . , . , .





β€œ .” ? , . , PHP, Ruby, C#:





  • Flask – HTML+CSS





  • Django – HTML+CSS





  • Flask Rest API/FastAPI/Django Rest Framework – HTML+CSS+ Javascript (Vue, React, Angular)





  • Dash ( Flask) – Dask ( React)





, .





  • , , – Dash





  • . , - – Flask





  • , . , , - – FastAPI – Vue.js





Flask Dash .





, , 6 -, -. , . , .





Flask , , html css . Bootstrap4 , , .





Dash , app.py. , . . asset. - . , , .





β€œ .” . . , , , . . . etl- .





β€œ .” . - . etl-, , . , . , , .





β€œ SQL- , .” . sql. . . . SQLite.





β€œPandas , .” , , . Python.





β€œ , YAML-.” yaml - data scientist- Youtube. . .





β€œ Docker.β€œ . Windows, Docker. Windows 10 , Docker Toolbox. , - Docker GitHub. Windows 8.1, , . , . Debian 10. , . , Apache Airflow, .





. , . , . . , Linux. . , Dash docker-, . , , , .





β€œ , .” . , , . , , , , .





. Dash, . . , app.py 127.0.0.1, 0.0.0.0.





. . .





Itu saja. Semua kesehatan, semoga sukses dan kesuksesan profesional!








All Articles