خانواده شما یک برنامه رایانه ای است

خانواده شما یک برنامه رایانه ای است

MyHeritage ادعا می کند که ابزار DeepNostalgia راهی برای تجربه سابقه خانوادگی شما است. برای چه؟ در توییتر. آنها از گذشته بیرون آمدند ، لبخند می زدند و سرشان را تکان می دادند ، بی سر و صدا سرشان را کج می کردند ، برای اولین بار در چند دهه ، گاهی صد سال یا بیشتر حرکت کردند. آنها دوستان ، بستگان ، تاریخی ...

بودند

بینایی رایانه ای در iOS: بهترین حالت چهره را در عکس های زنده تعیین کنید

بینایی رایانه ای در iOS: بهترین حالت چهره را در عکس های زنده تعیین کنید

پیاده سازی iOS درخواست جدید کیفیت تصویربرداری چارچوب ویژن

عکس توسط نیکولا پرانتونی در Unsplash

اپل در WWDC 2019 پیشرفتهای جدید و هیجان انگیزی را در چارچوب Vision خود به ارمغان آورد. آنها فقط ردیابی چهره و طبقه بندی تصویر را بهبود بخشیده اند ، اما ویژگی های جالب جدیدی مانند Saliency ، مدلهای طبقه بندی حیوانات داخلی و API های پیشرفته برای کار با مدلهای طبقه بندی Core ML را معرفی کرده اند. در میان نسخه های جدیدتر ، قابلیت مقایسه کیفیت عکس گرفتن در مجموعه ای از تصاویر یکی از امیدوارکننده ترین ویژگی هایی است که امسال منتشر شده است. تقویت این نشان می دهد که چقدر اپل در زمینه بینایی کامپیوتر سرمایه گذاری کرده است تا عکاسی و پردازش عکس ها را هوشمندتر و راحت تر از گذشته انجام دهد. تصاویر (نوردهی های مختلف ، نور ، حالات چهره و غیره). درخواست Vision تصویر را در یک عکس تجزیه و تحلیل کرده و به آن نمره متریک می دهد. نمره به حالات چهره بستگی دارد (منفی ها نمره کمتری می گیرند) ، نور ، فوکوس و تار شدن تصویر.

با استفاده از این نمرات متریک ، می توانیم تصاویر مختلف را برای پیدا کردن تصویری که در آن است پیدا کنیم. بهترین به نظر می رسد این چیزی است که به زودی در بسیاری از برنامه های سفارشی مبتنی بر سلفی وارد می شود.

کیفیت تصویربرداری از چهره نه تنها به ساخت برنامه های هوشمندتر مبتنی بر دوربین کمک می کند ، همانطور که در اسناد نشان داده شده است ، بلکه به آوردن دستگاه نیز کمک می کند یادگیری هوش پردازش ویدئو هدف از این مقاله این است که با استفاده از کیفیت تصویربرداری از چهره در برنامه های iOS خود ، عکس های زنده (بیشتر در این مورد بعداً) هوشمندتر شود.

عکس های زنده در iOS با iPhone 6s معرفی شد و یکی از آنهاست. حالت های دوست داشتنی دوربین با ارائه جلوه متحرک زنده ، نحوه نگاه ما به تصاویر ثابت را دوباره تعریف کرد.

محدوده

ایده این است که بهترین قاب را از یک عکس زنده که چهره انسان دارد پیدا کنیم. ما از کلاس جدید VNDetectFaceCaptureQualityRequest استفاده می کنیم تا درخواست های Vision خود را روی تعدادی از عکس های زنده که عمداً در حالت بد/تار گرفته شده اند اجرا کنیم تا بهترین فریم را از آن استخراج کنیم.

با این حال ، همچنین می توانید همان کد و مفهوم را به فیلم ها نیز بسط دهید. عکسهای زنده اساساً حاوی ویدئوها هستند ، همانطور که در ادامه خواهیم دید.

عکسهای زنده: زیر پوشش

عکس های زنده از یک تصویر و یک نوار ویدئویی حاوی اقدامات انجام شده در هنگام ضبط تصویر تشکیل شده است. این باعث می شود هنگام مشاهده آنها در لحظه حضور داشته باشید.

در زیر جلد ، عکس های زنده شامل یک عکس کلیدی است که با فایل دارایی منبع ویدیو مرتبط شده است. ما می توانیم با انتخاب هر یک از فریم های ویدئویی از حالت ویرایش پیش نمایش در برنامه Photos ، عکس اصلی را تغییر دهیم.

برای دسترسی به عکس اصلی یا فیلم موجود در کد خود ، باید از کلاس PHAssetResourceManager استفاده کنید که منابع دارایی را در اختیار دارد. ما از این مورد در برنامه خود استفاده خواهیم کردپیاده سازی در چند بخش بعدی.

آیا می دانید: یادگیری ماشین می تواند به افزودن جلوه های تصویری شگفت انگیز به برنامه های تلفن همراه کمک کند. از حذف زمینه ها ، افزودن سبک های هنری و موارد دیگر ، Fritz AI ساخت ابزارهای ویرایش عکس با استفاده از ML را آسان می کند. ، بیایید طرح کلی را ارائه دهیم. ما در مراحل مختلف برنامه خود از کلاس ها و اجزای زیر استفاده خواهیم کرد:

یک ImagePickerController برای انتخاب عکس های زنده از دوربین یا کتابخانه عکس. منابع را ذخیره کرده و آن را در فهرست موقت FileManager ذخیره کنید. استفاده از CollectionView برای نمایش فریم های ویدئویی به همراه ارزش معیار کیفیت چهره از درخواست Vision. در نهایت ، قاب با بالاترین کیفیت عکسبرداری از چهره در یک UIImageView.

تصویر زیر نمای کلی سطح بالایی از نحوه پیاده سازی را نشان می دهد-از گرفتن عکس زنده گرفته تا استخراج ویدئو تا درخواست کیفیت تصویربرداری از چشم انداز: < /p> اتصال نقاط

اکنون که تعیین کردیم برنامه های عملی ما ، بیایید پیاده سازی را با راه اندازی رابط کاربری شروع کنیم.

راه اندازی رابط کاربری

کد زیر به عنوان دکمه ها و ImageViews موجود در فایل ViewController.swift ما:

اگر کد بالا بزرگ به نظر می رسد ، به این دلیل است که به جای استفاده از استوری بورد ، UI را به صورت برنامه نویسی ساخته ام.

تنظیمات Up Image Image Picker

یکی از دکمه های ذکر شده مسئول راه اندازی انتخابگر تصویر است ، در حالی که دکمه دیگر درخواست Vision را تکمیل می کند ، که بعداً آن را خواهیم دید.

objc func onButtonClick (فرستنده: UIButton) {
 اجازه دهید imagePicker = UIImagePickerController () 
 imagePicker.sourceType = .photoLibrary 
 imagePicker.mediaTypes = [kUTTypeImage، kUTTypeLivePhoto] رشته] 
 imagePicker.delegate = خود 
 در حال حاضر (imagePicker ، متحرک: درست ، تکمیل: صفر) 
} 

در کد بالا ، ما ImagePickerController را برای دسترسی به عکس های زنده از کتابخانه Photos تنظیم کرده ایم. برای اینکه ImagePicker به درستی کار کند ، اطمینان حاصل کنید که شرح استفاده از حریم خصوصی برای "استفاده از عکس" را در فایل info.plist خود اضافه کرده اید.

استخراج و پردازش ویدئو از عکس زنده

عکس های زنده از نوع PHLivePhoto هستند. از کد زیر برای مدیریت عکس زنده انتخاب شده از انتخاب کننده تصویر استفاده می شود:

در کد بالا ، ما نتایج انتخاب کننده تصویر را فیلتر می کنیم تا با بررسی اینکه آیا نتایج برگشت داده شده است ، عکس های زنده عکس را برگردانیم. حاوی یک نمونه aPHLivePhoto در فرهنگ لغت اطلاعات. ویدئو.

PHAssetResourceManager.default (). writeData مسئول نوشتن بافرهای ویدئویی در URL است. هنگامی که منبع در videoUrl نوشته می شود ، تابع imagesFromVideos به لطف ناظران ویژگی فعال می شود:

 var videoUrl: URL؟ {
        didSet {
            DispatchQueue.global (qos:. background) .async {
                نگهبان اجازه می دهد videoURL = self.videoUrl else {return}
                self.imagesFromVideo (url: videoURL)
            }
        }
} 

استخراج فریم از ویدیو

کد زیر تعداد مشخصی فریم (بر اساس مدت زمان ویدیو) استخراج کرده و قرار می دهدآنها را در یک آرایه: فاصله زمانی بین هر فریمی که استخراج شده است. در حال حاضر ، numberOfFrames روی 12 تنظیم شده است تا تعداد درخواست های Vision را که انجام می دهیم محدود کند. به نظر می رسد این برای عکس های زنده ، که بیش از 3 ثانیه نیستند ، خوب باشد ، اگرچه در صورت پردازش ویدیو می توانید با این شماره بازی کنید.

چند ویژگی وجود دارد که ما در ابتدای آن تعریف کرده ایم قطعه کد بالا setCustomData برای پر کردن CollectionView ما استفاده می شود. برای این کار ، ابتدا باید CollectionView خود را راه اندازی کنیم.

قبل از شروع به ساخت CollectionView ، در اینجا نیم نگاهی به برنامه در نیمه راه داریم:

خواب آلودگی من را نادیده بگیرید. رفتن به CollectionView.

البته نمای مجموعه افقی که در ضبط صفحه بالا دیده می شود هنوز اجرا نمی شود.

از بررسی موارد استفاده معمول تا چالش های فنی تبدیل مدل و همه چیز در بین دیگر - خبرنامه هوش مصنوعی Fritz همه آنچه را که باید در مورد یادگیری ماشین همراه بدانید را پوشش می دهد.

راه اندازی CollectionView

هنگام تنظیم دیگر رابط کاربری ، از عملکرد setupCollectionView صرف نظر کرده بودیم. اجزاء در ابتدا زمان پیاده سازی آن فرا رسیده است. سلول ، منبع داده و روشهای تفویض

کد زیر سلول نمای مجموعه را با افزودن UIImageView و برچسب به آن تنظیم می کند.

کلاس CustomData داده های هر سلول را نگه می دارد به این منبع داده برای CollectionView ما است. کد زیر آن را تعریف می کند:

در مرحله بعد ، ما باید روشهای نمایندگی CollectionView خود را تعریف کنیم:

اکنون زمان رسیدگی به درخواست Vision فرا رسیده است.

تنظیم درخواست چشم انداز < /h1>

کنترل کننده ویژن ما هر یک از تصاویر را از CollectionView گرفته و VNDetectFaceCaptureQualityRequest را برای دریافت معیار نمره faceCaptureQuality روی آنها اجرا می کند. ما به سادگی تصویر را با بالاترین کیفیت عکسبرداری از چهره در UIImageView نمایش می دهیم.

وقتی دکمه (یکی با نماد چشم) برای فعال کردن روش انتخاب کننده فشار داده می شود ، کد زیر درخواست Vision را اجرا می کند:

من درخواست Vision بالا را روی چند عکس سلفی زنده (عمداً تار ، با ژست ها و عبارات عجیب و غریب) برای تعیین بهترین قاب اجرا کردم. نتایج اینجاست: چگونه Vision به طور خودکار بهترین چهره گرفته شده از مجموعه تصاویر معین (یعنی فریم های ویدئویی) را تعیین می کند. درخواست تصویری با کیفیت تصویربرداری بسیار سریع و دقیق برای ویدیوهای کوتاه مدت ، مانند عکس های زنده.

نتیجه گیری

بنابراین ما تغییرات جدید ارائه شده در فناوری چهره چهره ویژن با iOS 13 و macOS 15 (به طور خاص کیفیت عکسبرداری از چهره) و ایجاد یک برنامه کامل iOS از ابتدا که از این ویژگی جدید در Live Photo استفاده می کند. کد منبع کامل در این مخزن GitHub موجود است.

کیفیت عکسبرداری از ویژگی های هیجان انگیز با موارد مختلف استفاده است - از ویرایش عکس گرفته تا تشخیص ناهنجاری (دریابید که آیا عکس ویدئویی/زنده دارایصورت انسان است یا نه).

فقط زمان نشان می دهد که آیا اپل تصمیم دارد این ویژگی را در ویژگی Live Photo داخلی خود برای ویرایش هوشمند معرفی کند یا خیر. تا آن زمان ، می توانید با برنامه فوق بداهه نوازی کنید ، شاید با ذخیره بهترین قاب به عنوان قاب اصلی (که در کتابخانه Photos نمایش داده می شود) عکس زنده.

این قسمت را کامل می کند. امیدوارم از خواندن لذت برده باشید.

توجه ویراستار: ضربان قلب یک نشریه آنلاین آنلاین و مشارکت کننده است که به کاوش در تقاطع نوظهور توسعه برنامه تلفن همراه و یادگیری ماشین اختصاص داده شده است. ما متعهد هستیم که از توسعه دهندگان و مهندسان از هر قشری حمایت و الهام می گیریم.

مستقل از نظر ویرایش ، Heartbeat توسط Fritz AI ، پلت فرم یادگیری ماشینی که به توسعه دهندگان کمک می کند تا دستگاه ها را ببینند ، بشنوند ، حمایت و منتشر می شود. حس کنید و فکر کنید ما به مشارکت کنندگان خود پرداخت می کنیم و تبلیغات نمی فروشیم.

اگر می خواهید مشارکت داشته باشید ، به تماس ما برای مشارکت کنندگان سر بزنید. همچنین می توانید برای دریافت خبرنامه های هفتگی ما (هفته نامه یادگیری عمیق و خبرنامه هوش مصنوعی Fritz) ثبت نام کنید ، در Slack به ما بپیوندید و Fritz AI را در توییتر دنبال کنید تا آخرین یادگیری ماشین تلفن همراه را مشاهده کنید.

چگونه می توان مانند یک دانشمند کامپیوتر فکر کرد

چگونه می توان مانند یک دانشمند کامپیوتر فکر کرد

هنر تفکر انتقادی.

عکس توسط جاشوا سورتینو در Unsplash

ممکن است فکر کنید که علوم کامپیوتر هیچ ارتباطی با رشد شخصی و نحوه موفقیت آمیز زندگی ندارد. به راحتی می توان باور کرد که دانش در چنین حوزه فنی به دلیل ارزش مهندسی خارج از خطوط کد (یعنی برنامه نویسی) جدا شده است. در حقیقت ، علوم رایانه بسیار بیشتر از روان انسان به انسان ارائه می دهد ...

گزارش حوزه علوم کامپیوتر K-12 و نقشه بازار: سپتامبر 2017

گزارش حوزه علوم کامپیوتر K-12 و نقشه بازار: سپتامبر 2017

توسط جن وو

تیم Reach مدتهاست که ارزش آموزش علوم کامپیوتر K12 را تشخیص داده است. از سال 2013 ، در حالی که صندوق بذر NewSchools را مدیریت می کردیم ، ما روی Tynker و CodeHS ، توسعه دهندگان برنامه درسی علوم کامپیوتر K12 سرمایه گذاری کردیم که برای معلمان با سابقه کامپیوتر محدود قابل دسترسی است. از آن زمان ، ما با استفاده از سرمایه گذاری در Piper ، Gradescope ، Holberton School و Repl.it که همه آنها در K12 حضور دارند ، رد پای CS خود را در بازارهای مصرف کننده ، توسعه حرفه ای و یادگیری مادام العمر گسترش داده ایم.

با توجه به انفجار فعالیت در این فضا در سال های اخیر ، ما تصمیم گرفتیم عقب نشینی کنیم و در مورد چگونگی تکامل چشم انداز تأمل کنیم. در حالی که گزینه های یادگیری نحوه برنامه نویسی در حال حاضر بی حد و حصر به نظر می رسد ، اما چرا هنوز مدارس بسیار کمی وجود دارد که علوم کامپیوتر را ارائه دهند؟ چه چیزی مانع از این می شود که همه کودکان را در سنین پایین در معرض مفاهیم علوم کامپیوتر قرار دهیم و علوم کامپیوتر را به عنوان یک زمینه تحصیلی یا شغلی به عنوان یک گزینه واقع بینانه تبدیل کنیم؟ این پیاده روی از K12 برای دسترسی عادلانه به فرصتهای اقتصادی در آینده بسیار مهم است.

گزارش میدانی در زمینه علوم کامپیوتر K12

برای روشن ساختن این سوالات ، ما تحقیقات دیگر را جمع آوری کردیم سازمانها ، با مربیان خط مقدم مصاحبه کردند و یافته های ما را در گزارش میدانی Reach's on K12 Computer Science ترکیب کردند. این گزارش اطلاعات قانع کننده ای در مورد اینکه چرا این onramp برای ما بسیار مهم است ارائه می دهد. علاوه بر این ، ما عمیق تر بررسی می کنیم تا بفهمیم علم کامپیوتر امروز در مدارس ما چگونه است. در حالی که موانع آموزش علوم رایانه زیاد است - از جمله فقدان معلمان واجد شرایط و نداشتن زمان کافی برای آموزش موضوعی که مدارس مسئولیت آن را ندارند - مدارس راه های خلاقانه ای را برای ارائه علوم رایانه در ترکیب دوره های خود پیدا می کنند. در مورد نحوه عملکرد آنها ، افرادی که در خط مقدم این امر واقع شده اند و چالش هایی که با آن روبرو هستند آشنا شوید.

گزارش میدانی Reach در زمینه K12 Computer Science

نقشه بازار K12 Computer را بخوانید راه حل های علمی

ما نیز توجه خود را به مجموعه ای از راه حل های موجود برای کمک به آموزش علوم کامپیوتر در مدارس معطوف می کنیم. ما این راه حل ها را در نقشه ای ارائه می دهیم که بر اساس سطح پایه - ابتدایی ، راهنمایی یا دبیرستان - و بر اساس طبقه بندی شده است که بر اساس هدف تعریف شده است: /uli> ادغام مفاهیم علوم رایانه در سایر رشته ها یا به عنوان بخشی از برنامه درسی یادگیری پروژه محور آموزش دانش آموزان به کد نویسی با استفاده از یک برنامه درسی آنلاین ارائه ابزار یا بسترهایی که آموزش برنامه نویسی را در محیط کلاس تسهیل می کند

ملاحظات

علیرغم راه حل های فراوان در دسترس دانش آموزان و مربیان علوم رایانه ، بینش تحقیق ما به چالش هایی اشاره می کند که مانع پذیرش گسترده این راه حل ها در مدارس می شود. اینها هم برای کارآفرینانی که راه حل ها را توسعه می دهند و هم برای مربیانی که سعی در پیاده سازی آنها دارند ، ملاحظاتی است.

برای راه حل هایی که مدارس ابتدایی و راهنمایی را مورد هدف قرار می دهند

در روز مدرسه کمبود وقت برای افراد غیر شاغل وجود دارد. موضوعات مورد آزمایش مانند علوم کامپیوتر و هنر. از آنجا که علوم کامپیوتر در مقایسه با موضوعات آزمایش شده مانند ریاضی و هنرهای زبان انگلیسی در اولویت پایین تری قرار دارد ، مدارس به ابتکار خود معلمان تکیه می کنندبرای وقت گذاشتن و آموزش علوم کامپیوتر p> توسعه و تسهیل این نوع تجربیات یادگیری برای معلمان طاقت فرسا است و نیاز به محدوده بالایی برای انگیزه و تخصص دارد. ارزیابی این نوع تجربیات یادگیری می تواند چالش برانگیز باشد.

برای راه حل های مبتنی بر پروژه و بین رشته ای

از آنجا که پروژه ها می توانند زمان بر و موضوعی متقابل باشند ، تطبیق آنها با برنامه های سنتی مدارس می تواند چالش برانگیز باشد. ارزیابی پروژه ها می تواند چالش برانگیز و زمان بر باشد. -مصرف کننده.

برای برنامه های درسی برنامه نویسی آنلاین

در حالی که بسیاری از برنامه های درسی به چالش عدم وجود معلمان مجرب علوم رایانه می پردازند ، اما اغلب با سهولت استفاده سهولت مواجه می شوند. و تجربیات محدود یادگیری انعطاف پذیری معلم و خلاقیت دانش آموزان

برای پلتفرم ها و ابزارهای برنامه نویسی

این راه حل ها را نمی توان در خارج از جعبه برای آموزش علوم کامپیوتر استفاده کرد. آنها فقط بخشی از یک راه حل کلی را ارائه می دهند. استفاده از این ابزارها نیاز به یک محدوده بالا برای معلمان دارد تا هم ابزار و هم برنامه درسی را با هم ترکیب کنند.

دسترسی مشتاق دیدن تغییرات سیاست و سرمایه انسانی است راه حل هایی که می توانند توانایی ما را در گسترش دسترسی به آموزش علوم کامپیوتر تسریع کنند. ما به راه حل هایی امیدواریم که بتوانند مواجهه زودهنگام ، تجربیات یادگیری باز و مرتبط و مسیرهای منسجم برای ادامه یادگیری را امکان پذیر کنند. در حالی که هنوز چالش های مهمی باقی مانده است ، ما هم از آموزگاران راه گشا و هم از کارآفرینانی که در حال توسعه راه حل هایی برای توانمندسازی مربیان و دانش آموزان هستند ، قدردانی می کنیم. از زحمات شما سپاسگزاریم ، و این هم پیشرفت مداوم ما!

*اطلاعات مربوط به نقشه های دسترسی به بازار را می توانید در اینجا پیدا کنید.

تشکر ویژه از کارآموزان دستیار Heejin Hahn ، Nicole اورساک ، رایلی کارولان و اولیویا دانر بخاطر مشارکت متفکرانه و ارزشمندشان در این کار!

SQL

SQL

راهی آسان برای شروع پایگاه های داده در رایانه شخصی خود

مقدمه ای بر نحوه استفاده از مرورگر SQLite و مدیریت پایگاه داده خود.

بردار فناوری ایجاد شده توسط djvstock

SQL سوم است بر اساس نظرسنجی توسعه دهندگان StackOverflow 2020 ، محبوب ترین زبان برای توسعه دهندگان. همه می دانند که شما باید استفاده از SQL را بیاموزید ، اما در واقع ایجاد و مدیریت پایگاه داده چگونه است؟

در حالی که می توانید دوره هایی را دنبال کنید که به شما امکان می دهد با SQL در مرورگری با جداول از پیش تعریف شده بازی کنید (که بد نیست روش یادگیری) ، همچنین تجربه ایجاد ، مدیریت و تعامل با پایگاه داده شخصی شما ارزشمند است.

مرورگر DB برای SQLite (DB4S) ابزاری است که پایگاه های داده رابطه ای را برای هر کسی در دسترس قرار می دهد. این به شما امکان می دهد با یک پایگاه داده SQLite که کل آن در یک فایل واحد موجود است ، تعامل داشته باشید. برای اجرای آن نیازی به سرور یا پیکربندی گسترده نیست. هر دو DB4S و SQLite رایگان هستند!

اگر هیچ تجربه ای در کار با پایگاه داده یا SQL ندارید ، این ابزاری است که به شما کمک می کند تا با اصول اولیه آشنا شوید. DB4S دارای یک رابط صفحه گسترده مانند Excel است ، به این معنی که می توانید جداول را در پایگاه داده خود ایجاد و ویرایش کنید بدون استفاده از SQL. شما همچنین می توانید سوالات سفارشی SQL را بنویسید و نتایج را مشاهده کنید.

استفاده از DB4S یک راه عالی برای کثیف کردن دست شما در ایجاد و کار با پایگاه داده های رابطه ای است. این قطعه شما را با استفاده از ابزار شروع می کند. این مقاله به 7 قسمت تقسیم می شود:

نصب و راه اندازی روی دستگاه خود ایجاد فایل پایگاه داده واردات و صادرات جداول با فایل های CSV افزودن ، اصلاح و حذف سطرها (رکوردها) و ستون جستجو و فیلتر کردن سوابق اجرای پرس و جوهای SQL تجسم داده ها با نمودارها یا SQL پرس و جو

1. نصب و راه اندازی بر روی دستگاه خود

می توانید جزئیات نصب را در وب سایت DB4S در اینجا مشاهده کنید. می توانید آخرین نسخه ها را برای Windows و macOS بارگیری کنید. این برنامه برای توزیع های مبتنی بر لینوکس نیز موجود است. p> اگر Homebrew در macOS دارید ، می توانید آخرین نسخه را با این خط نصب کنید: روی دستگاه شما نصب شده است ، برنامه را باز کنید و آماده شروع هستید!

2. ایجاد فایل پایگاه داده

هنگامی که DB4S را باز می کنید ، در بالا سمت چپ دکمه ای با عنوان "پایگاه داده جدید" مشاهده می کنید. روی آن کلیک کنید ، نام پایگاه داده خود را تایپ کنید و "ذخیره" را در پوشه مورد نظر خود بزنید.

نمونه ایجاد پایگاه داده SQLite

همین! شما اولین پایگاه داده SQL خود را ایجاد کرده اید. اکنون باید این را ببینید:

پایگاه داده خالی SQLite

3 وارد کردن و صادر کردن جداول با فایل های CSV

اکنون بیایید اولین جدول خود را ایجاد کنیم. برای انجام این کار ، ما قصد داریم یک فایل CSV با فراداده برای قطعاتی که در صفحه محبوب Medium نشان داده شده است ، وارد کنیم. من داده ها را در پروژه قبلی پایتون به دست آوردم که می توانید اینجا بررسی کنید.

CSV به این شکل است:

فایل CSV فراداده متوسط ​​صفحه محبوب

برای ایجاد جدولی با این فایل ، در DB4S ، این کارها را انجام می دهید:

 فایل> وارد کردن> جدول از فایل CSV ... 
وارد کردن CSV برای ایجاد یک جدول

پس از آن ، فایل CSV مورد نظر خود را انتخاب کرده و ضربه بزنید"باز".

وارد کردن CSV برای ایجاد جدول < p> این پنجره دیگری را برای چند گزینه سفارشی سازی باز می کند. نام را به چیزی که به خاطر سپردن آن آسان است تغییر دهید. اگر سرصفحه های ستون قبلاً در خط اول فایل CSV شما هستند ، کادر را علامت بزنید تا مطمئن شوید DB4S آن را تشخیص می دهد. ردیف اول را تغییر می دهد و به نام ستون تبدیل می شود. سپس "Ok" را فشار دهید.

وارد کردن CSV برای ایجاد جدول

و رونق! شما اولین جدول خود را ایجاد کرده اید.

صادر کردن فایل پایگاه داده به CSV به همین سادگی است. تنها کاری که باید انجام دهید این است که روی جدول راست کلیک کرده و روی "Export as CSV file" کلیک کنید.

صادر کردن یک جدول به CSV

یا برای صادرات فله ای بیش از یک جدول ، این کار را انجام دهید:

 فایل> صادرات> جدول (ها) به عنوان فایل CSV. .. 

4. افزودن ، اصلاح و حذف سطرها (رکوردها) و ستون ها

حالا اجازه دهید نگاهی به جدول خود در DB4S بیاندازیم. روی جدول راست کلیک کرده و "Browse Table" را انتخاب کنید.

مشاهده جدول در DB4S

اکنون جدول را در قالب کلاسیک شبیه صفحه گسترده مشاهده خواهید کرد.

مشاهده جدول در DB4S

اگر می خواهید یک ردیف جدید اضافه کنید ، فقط روی" New Record "کلیک کنید ، و DB4S یک ردیف جدید (قبلاً با کلید اصلی) ایجاد می کند برای پر کردن مقادیر ، درست مانند Excel. در این صورت ، ممکن است بخواهیم این کار را هر بار که یک قطعه جدید به صفحه محبوب Medium اضافه می شود انجام دهیم. DB4S حتی اگر مقدار موجود در پایگاه داده وجود داشته باشد ، بر اساس اولین حروف که وارد می کنید ، یک سطر را پیشنهاد می کند.

افزودن یک رکورد در DB4S

برای حذف یک ردیف ، فقط باید یک سطر را انتخاب کنید (روی کلید اصلی در سمت چپ ترین ستون کلیک کنید) و سپس روی "حذف رکورد" کلیک کنید .

حذف رکورد در DB4S

یکبار تمام تغییرات خود را به پایان رسانده اید ، روی "نوشتن تغییرات" کلیک کنید تا همه تغییرات خود را ذخیره کنید و جدول را در پایگاه داده خود به روز کنید.

ذخیره تغییرات در جداول ویرایش شده در DB4S

اکنون در جدول ، می توانید ستونی به نام" field1 "مشاهده کنید. این به این دلیل است که عصاره CSV من قبلاً شامل یک ستون فهرست بود. از آنجا که DB4S به طور خودکار یک فهرست ایجاد می کند ، دیگر نیازی به این ستون ندارم.

نوشتن پرس و جوهای SQLite به شما امکان می دهد برخی از طرح های جدول را تغییر دهید ، اما یک خط "DROP COLUMN" موجود نیست. اسناد SQLite راهکاری برای چگونگی رها کردن یک ستون به شما ارائه می دهد ، که شامل ایجاد یک جدول جدید تنها با ستون های مورد نظر ، کپی کردن داده ها از جدول قدیمی در جدول جدید و حذف جدول قدیمی است.

< p> در DB4S ، رها کردن ستون بسیار ساده تر است. برای حذف یک ستون ، در برگه ساختار پایگاه داده ، روی جدول مورد نظر خود راست کلیک کرده و روی "تغییر جدول" کلیک کنید.

تغییر جدول در DB4S

لیستی از ستون ها را در جدول خود مشاهده خواهید کرد. ستونی را که می خواهید حذف کنید انتخاب کنید ، سپس روی "حذف فیلد" و "بله" کلیک کنید.

تغییر جدول در DB4S

اگر به" مرور جدول "برگردیم ، می بینیم که" field1 "دیگر در جدول نیست.

بررسی جدول تغییرات DB4S

5. جستجو و فیلتر کردن سوابق

پیشتر ، ما یک رکورد با نویسنده "دانا" اضافه کردیمجی اسمیت ”. اگر می خواهیم همه مقالات منتشر شده توسط دانا را در جدول جستجو کنیم ، فقط باید نام را در کادر "Filter" در زیر "Author" بنویسیم.

فیلتر کردن جدول در DB4S

همچنین می توانید فیلتر را بیش از یک ستون در یک زمان اضافه کنید. اگر بخواهیم همه مقالاتی را در سال 2019 پیدا کنیم که 11 دقیقه زمان خواندن داشتند ، فقط باید دو ستون فیلتر را پر کنید. جدول به طور خودکار تازه می شود تا فقط نتایج مورد نیاز را به شما نشان دهد.

فیلتر کردن جدول در DB4S

6. اجرای پرس و جوهای SQL

می توانید انواع پرس و جوهای SQLite را از طریق برگه "Execute SQL" اجرا کنید. به عنوان مثال ، اگر بخواهیم همه مقالات را با زمان خواندن 5 مشاهده کنیم ، فقط تایپ کردن "5" در ستون فیلتر مانند قبل برخی نتایج ناخواسته را نشان می دهد. در این مورد ، مقالاتی نیز دریافت می کنیم که زمان خواندن آنها "15" است.

نمونه داده هایی که نمی خواهیم در فیلتر مشاهده کنیم

برای رفع این مشکل ، یک پرس و جو اولیه SQL می نویسیم که نتایج را فیلتر می کند و فقط 5 زمان خواندن دارد.

 SELECT * FROM popular_metadata
WHERE "ReadingTime (mins)" = '5'؛ 
در حال اجرای پرس و جوهای SQL در DB4S

شما می توانید این مجموعه فیلتر شده از نتایج را به راحتی در یک CSV ذخیره کنید. روی دکمه زیر کلیک کنید و "Export to CSV" را انتخاب کنید.

ذخیره درخواست های SQL در DB4S

سپس می توانید خروجی CSV را پیکربندی کرده و محل خروجی فایل خود را انتخاب کنید.

ذخیره سوالات SQL در DB4S

فایل حاصله شما اکنون فیلتر می شود تا فقط مقالاتی با زمان خواندن "5" داشته باشد.

خروجی CSV نمایش داده های ذخیره شده SQL از DB4S

7. تجسم داده ها با نمودارها یا پرس و جوهای SQL

بگویید ما می خواهیم یک نمودار ایجاد کنیم که کل زمان خواندن مقالات در روز را در طول زمان بررسی کند. برای انجام این کار بدون هیچ SQL ، می توانیم از تابع نمودار DB4S استفاده کنیم. روی "View" کلیک کنید و سپس "Plot" را انتخاب کنید.

نمودار داده ها در DB4S بدون SQL

این یک دیالوگ جدید برای شما باز می کند تا ستون های مورد نظر خود را در محورهای X و Y نمودار خود انتخاب کنید. در زیر ، "تاریخ انتشار" و "زمان خواندن (دقیقه)" را انتخاب کردم. DB4S یک نمودار میله ای ایجاد کرد تا زمان خواندن را در دقیقه برای هر روز به من نشان دهد.

نمودار نمودن داده ها در DB4S بدون SQL

همچنین می توانید از پرس و جوهای SQL خود نمودار ایجاد کنید. بگویید ما می خواستیم تعداد مقالات منتشر شده هر روز را حساب کنیم. ما می توانیم یک پرس و جو ساده "GROUP BY" بنویسیم و نتایج را نمودار کنیم.

ابتدا ، به پنجره "Execute SQL" که قبلاً نشان داده شده بازگردید. سپس پرس و جو SQL خود را پر کنید ، اجرا کنید ، روی "Plot" کلیک کنید و ستون های محور خود را انتخاب کنید. شما یک نسخه نمودار از جدول ایجاد شده توسط پرس و جو SQL را مشاهده خواهید کرد.

رسم داده ها در DB4S با SQL

در حال حاضر ، ما تنظیمات کامل و استفاده از پایگاه داده رابطه ای خود را با استفاده از DB4S گذرانده ایم! رابط بصری ساده ابزار به شما امکان می دهد به راحتی با ایجاد و مدیریت پایگاه داده SQLite شروع کنید. بعد از اینکه با آن راحت شدید ، ما همچنین نحوه استفاده از ابزار برای اجرای پرس و جوهای SQL را بررسی کردیمو حتی تجسم داده ها با نمودارهای ساده.

این قطعه به شما کمک می کند تا شروع کنید. برای مطالعه بیشتر ، توصیه می کنم اسناد SQLite و اسناد DB4S را بررسی کنید.

اگر می خواهید نحوه نوشتن در پایگاه داده با استفاده از پانداها را بررسی کنید ، با خیال راحت این قطعه را بررسی کنید:

استفاده از فقط یک خط کد برای نوشتن در پایگاه داده رابطه ای چه کسی می دانست که می توانید بدون SQL به پایگاه داده اضافه کنید؟ drejtimdatascience.com