اپل در WWDC 2019 پیشرفتهای جدید و هیجان انگیزی را در چارچوب Vision خود به ارمغان آورد. آنها فقط ردیابی چهره و طبقه بندی تصویر را بهبود بخشیده اند ، اما ویژگی های جالب جدیدی مانند Saliency ، مدلهای طبقه بندی حیوانات داخلی و API های پیشرفته برای کار با مدلهای طبقه بندی Core ML را معرفی کرده اند. در میان نسخه های جدیدتر ، قابلیت مقایسه کیفیت عکس گرفتن در مجموعه ای از تصاویر یکی از امیدوارکننده ترین ویژگی هایی است که امسال منتشر شده است. تقویت این نشان می دهد که چقدر اپل در زمینه بینایی کامپیوتر سرمایه گذاری کرده است تا عکاسی و پردازش عکس ها را هوشمندتر و راحت تر از گذشته انجام دهد. تصاویر (نوردهی های مختلف ، نور ، حالات چهره و غیره). درخواست Vision تصویر را در یک عکس تجزیه و تحلیل کرده و به آن نمره متریک می دهد. نمره به حالات چهره بستگی دارد (منفی ها نمره کمتری می گیرند) ، نور ، فوکوس و تار شدن تصویر.
با استفاده از این نمرات متریک ، می توانیم تصاویر مختلف را برای پیدا کردن تصویری که در آن است پیدا کنیم. بهترین به نظر می رسد این چیزی است که به زودی در بسیاری از برنامه های سفارشی مبتنی بر سلفی وارد می شود.
کیفیت تصویربرداری از چهره نه تنها به ساخت برنامه های هوشمندتر مبتنی بر دوربین کمک می کند ، همانطور که در اسناد نشان داده شده است ، بلکه به آوردن دستگاه نیز کمک می کند یادگیری هوش پردازش ویدئو هدف از این مقاله این است که با استفاده از کیفیت تصویربرداری از چهره در برنامه های iOS خود ، عکس های زنده (بیشتر در این مورد بعداً) هوشمندتر شود.
عکس های زنده در iOS با iPhone 6s معرفی شد و یکی از آنهاست. حالت های دوست داشتنی دوربین با ارائه جلوه متحرک زنده ، نحوه نگاه ما به تصاویر ثابت را دوباره تعریف کرد.
ایده این است که بهترین قاب را از یک عکس زنده که چهره انسان دارد پیدا کنیم. ما از کلاس جدید VNDetectFaceCaptureQualityRequest استفاده می کنیم تا درخواست های Vision خود را روی تعدادی از عکس های زنده که عمداً در حالت بد/تار گرفته شده اند اجرا کنیم تا بهترین فریم را از آن استخراج کنیم.
با این حال ، همچنین می توانید همان کد و مفهوم را به فیلم ها نیز بسط دهید. عکسهای زنده اساساً حاوی ویدئوها هستند ، همانطور که در ادامه خواهیم دید.
عکس های زنده از یک تصویر و یک نوار ویدئویی حاوی اقدامات انجام شده در هنگام ضبط تصویر تشکیل شده است. این باعث می شود هنگام مشاهده آنها در لحظه حضور داشته باشید.
در زیر جلد ، عکس های زنده شامل یک عکس کلیدی است که با فایل دارایی منبع ویدیو مرتبط شده است. ما می توانیم با انتخاب هر یک از فریم های ویدئویی از حالت ویرایش پیش نمایش در برنامه Photos ، عکس اصلی را تغییر دهیم.
برای دسترسی به عکس اصلی یا فیلم موجود در کد خود ، باید از کلاس PHAssetResourceManager استفاده کنید که منابع دارایی را در اختیار دارد. ما از این مورد در برنامه خود استفاده خواهیم کردپیاده سازی در چند بخش بعدی.
تصویر زیر نمای کلی سطح بالایی از نحوه پیاده سازی را نشان می دهد-از گرفتن عکس زنده گرفته تا استخراج ویدئو تا درخواست کیفیت تصویربرداری از چشم انداز: < /p> اتصال نقاط
اکنون که تعیین کردیم برنامه های عملی ما ، بیایید پیاده سازی را با راه اندازی رابط کاربری شروع کنیم.
کد زیر به عنوان دکمه ها و ImageViews موجود در فایل ViewController.swift ما:
اگر کد بالا بزرگ به نظر می رسد ، به این دلیل است که به جای استفاده از استوری بورد ، UI را به صورت برنامه نویسی ساخته ام.
یکی از دکمه های ذکر شده مسئول راه اندازی انتخابگر تصویر است ، در حالی که دکمه دیگر درخواست 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.البته نمای مجموعه افقی که در ضبط صفحه بالا دیده می شود هنوز اجرا نمی شود.
هنگام تنظیم دیگر رابط کاربری ، از عملکرد setupCollectionView صرف نظر کرده بودیم. اجزاء در ابتدا زمان پیاده سازی آن فرا رسیده است. سلول ، منبع داده و روشهای تفویض
کد زیر سلول نمای مجموعه را با افزودن UIImageView و برچسب به آن تنظیم می کند.
کلاس CustomData داده های هر سلول را نگه می دارد به این منبع داده برای CollectionView ما است. کد زیر آن را تعریف می کند:
در مرحله بعد ، ما باید روشهای نمایندگی CollectionView خود را تعریف کنیم:
اکنون زمان رسیدگی به درخواست Vision فرا رسیده است.
کنترل کننده ویژن ما هر یک از تصاویر را از 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 را در توییتر دنبال کنید تا آخرین یادگیری ماشین تلفن همراه را مشاهده کنید.
ممکن است فکر کنید که علوم کامپیوتر هیچ ارتباطی با رشد شخصی و نحوه موفقیت آمیز زندگی ندارد. به راحتی می توان باور کرد که دانش در چنین حوزه فنی به دلیل ارزش مهندسی خارج از خطوط کد (یعنی برنامه نویسی) جدا شده است. در حقیقت ، علوم رایانه بسیار بیشتر از روان انسان به انسان ارائه می دهد ...
توسط جن وو
تیم Reach مدتهاست که ارزش آموزش علوم کامپیوتر K12 را تشخیص داده است. از سال 2013 ، در حالی که صندوق بذر NewSchools را مدیریت می کردیم ، ما روی Tynker و CodeHS ، توسعه دهندگان برنامه درسی علوم کامپیوتر K12 سرمایه گذاری کردیم که برای معلمان با سابقه کامپیوتر محدود قابل دسترسی است. از آن زمان ، ما با استفاده از سرمایه گذاری در Piper ، Gradescope ، Holberton School و Repl.it که همه آنها در K12 حضور دارند ، رد پای CS خود را در بازارهای مصرف کننده ، توسعه حرفه ای و یادگیری مادام العمر گسترش داده ایم.
با توجه به انفجار فعالیت در این فضا در سال های اخیر ، ما تصمیم گرفتیم عقب نشینی کنیم و در مورد چگونگی تکامل چشم انداز تأمل کنیم. در حالی که گزینه های یادگیری نحوه برنامه نویسی در حال حاضر بی حد و حصر به نظر می رسد ، اما چرا هنوز مدارس بسیار کمی وجود دارد که علوم کامپیوتر را ارائه دهند؟ چه چیزی مانع از این می شود که همه کودکان را در سنین پایین در معرض مفاهیم علوم کامپیوتر قرار دهیم و علوم کامپیوتر را به عنوان یک زمینه تحصیلی یا شغلی به عنوان یک گزینه واقع بینانه تبدیل کنیم؟ این پیاده روی از K12 برای دسترسی عادلانه به فرصتهای اقتصادی در آینده بسیار مهم است.
برای روشن ساختن این سوالات ، ما تحقیقات دیگر را جمع آوری کردیم سازمانها ، با مربیان خط مقدم مصاحبه کردند و یافته های ما را در گزارش میدانی Reach's on K12 Computer Science ترکیب کردند. این گزارش اطلاعات قانع کننده ای در مورد اینکه چرا این onramp برای ما بسیار مهم است ارائه می دهد. علاوه بر این ، ما عمیق تر بررسی می کنیم تا بفهمیم علم کامپیوتر امروز در مدارس ما چگونه است. در حالی که موانع آموزش علوم رایانه زیاد است - از جمله فقدان معلمان واجد شرایط و نداشتن زمان کافی برای آموزش موضوعی که مدارس مسئولیت آن را ندارند - مدارس راه های خلاقانه ای را برای ارائه علوم رایانه در ترکیب دوره های خود پیدا می کنند. در مورد نحوه عملکرد آنها ، افرادی که در خط مقدم این امر واقع شده اند و چالش هایی که با آن روبرو هستند آشنا شوید.
گزارش میدانی Reach در زمینه K12 Computer Science
ما نیز توجه خود را به مجموعه ای از راه حل های موجود برای کمک به آموزش علوم کامپیوتر در مدارس معطوف می کنیم. ما این راه حل ها را در نقشه ای ارائه می دهیم که بر اساس سطح پایه - ابتدایی ، راهنمایی یا دبیرستان - و بر اساس طبقه بندی شده است که بر اساس هدف تعریف شده است: /uli>
علیرغم راه حل های فراوان در دسترس دانش آموزان و مربیان علوم رایانه ، بینش تحقیق ما به چالش هایی اشاره می کند که مانع پذیرش گسترده این راه حل ها در مدارس می شود. اینها هم برای کارآفرینانی که راه حل ها را توسعه می دهند و هم برای مربیانی که سعی در پیاده سازی آنها دارند ، ملاحظاتی است.
برای راه حل هایی که مدارس ابتدایی و راهنمایی را مورد هدف قرار می دهند
برای راه حل های مبتنی بر پروژه و بین رشته ای
برای برنامه های درسی برنامه نویسی آنلاین
برای پلتفرم ها و ابزارهای برنامه نویسی
دسترسی مشتاق دیدن تغییرات سیاست و سرمایه انسانی است راه حل هایی که می توانند توانایی ما را در گسترش دسترسی به آموزش علوم کامپیوتر تسریع کنند. ما به راه حل هایی امیدواریم که بتوانند مواجهه زودهنگام ، تجربیات یادگیری باز و مرتبط و مسیرهای منسجم برای ادامه یادگیری را امکان پذیر کنند. در حالی که هنوز چالش های مهمی باقی مانده است ، ما هم از آموزگاران راه گشا و هم از کارآفرینانی که در حال توسعه راه حل هایی برای توانمندسازی مربیان و دانش آموزان هستند ، قدردانی می کنیم. از زحمات شما سپاسگزاریم ، و این هم پیشرفت مداوم ما!
*اطلاعات مربوط به نقشه های دسترسی به بازار را می توانید در اینجا پیدا کنید.
تشکر ویژه از کارآموزان دستیار Heejin Hahn ، Nicole اورساک ، رایلی کارولان و اولیویا دانر بخاطر مشارکت متفکرانه و ارزشمندشان در این کار!
SQL سوم است بر اساس نظرسنجی توسعه دهندگان StackOverflow 2020 ، محبوب ترین زبان برای توسعه دهندگان. همه می دانند که شما باید استفاده از SQL را بیاموزید ، اما در واقع ایجاد و مدیریت پایگاه داده چگونه است؟
در حالی که می توانید دوره هایی را دنبال کنید که به شما امکان می دهد با SQL در مرورگری با جداول از پیش تعریف شده بازی کنید (که بد نیست روش یادگیری) ، همچنین تجربه ایجاد ، مدیریت و تعامل با پایگاه داده شخصی شما ارزشمند است.
مرورگر DB برای SQLite (DB4S) ابزاری است که پایگاه های داده رابطه ای را برای هر کسی در دسترس قرار می دهد. این به شما امکان می دهد با یک پایگاه داده SQLite که کل آن در یک فایل واحد موجود است ، تعامل داشته باشید. برای اجرای آن نیازی به سرور یا پیکربندی گسترده نیست. هر دو DB4S و SQLite رایگان هستند!
اگر هیچ تجربه ای در کار با پایگاه داده یا SQL ندارید ، این ابزاری است که به شما کمک می کند تا با اصول اولیه آشنا شوید. DB4S دارای یک رابط صفحه گسترده مانند Excel است ، به این معنی که می توانید جداول را در پایگاه داده خود ایجاد و ویرایش کنید بدون استفاده از SQL. شما همچنین می توانید سوالات سفارشی SQL را بنویسید و نتایج را مشاهده کنید.
استفاده از DB4S یک راه عالی برای کثیف کردن دست شما در ایجاد و کار با پایگاه داده های رابطه ای است. این قطعه شما را با استفاده از ابزار شروع می کند. این مقاله به 7 قسمت تقسیم می شود:
می توانید جزئیات نصب را در وب سایت DB4S در اینجا مشاهده کنید. می توانید آخرین نسخه ها را برای Windows و macOS بارگیری کنید. این برنامه برای توزیع های مبتنی بر لینوکس نیز موجود است. p> اگر Homebrew در macOS دارید ، می توانید آخرین نسخه را با این خط نصب کنید: روی دستگاه شما نصب شده است ، برنامه را باز کنید و آماده شروع هستید!
هنگامی که DB4S را باز می کنید ، در بالا سمت چپ دکمه ای با عنوان "پایگاه داده جدید" مشاهده می کنید. روی آن کلیک کنید ، نام پایگاه داده خود را تایپ کنید و "ذخیره" را در پوشه مورد نظر خود بزنید.
نمونه ایجاد پایگاه داده SQLiteهمین! شما اولین پایگاه داده SQL خود را ایجاد کرده اید. اکنون باید این را ببینید:
پایگاه داده خالی SQLiteاکنون بیایید اولین جدول خود را ایجاد کنیم. برای انجام این کار ، ما قصد داریم یک فایل CSV با فراداده برای قطعاتی که در صفحه محبوب Medium نشان داده شده است ، وارد کنیم. من داده ها را در پروژه قبلی پایتون به دست آوردم که می توانید اینجا بررسی کنید.
CSV به این شکل است:
فایل CSV فراداده متوسط صفحه محبوببرای ایجاد جدولی با این فایل ، در DB4S ، این کارها را انجام می دهید:
فایل> وارد کردن> جدول از فایل CSV ...وارد کردن CSV برای ایجاد یک جدول
پس از آن ، فایل CSV مورد نظر خود را انتخاب کرده و ضربه بزنید"باز".
وارد کردن CSV برای ایجاد جدول < p> این پنجره دیگری را برای چند گزینه سفارشی سازی باز می کند. نام را به چیزی که به خاطر سپردن آن آسان است تغییر دهید. اگر سرصفحه های ستون قبلاً در خط اول فایل CSV شما هستند ، کادر را علامت بزنید تا مطمئن شوید DB4S آن را تشخیص می دهد. ردیف اول را تغییر می دهد و به نام ستون تبدیل می شود. سپس "Ok" را فشار دهید. وارد کردن CSV برای ایجاد جدولو رونق! شما اولین جدول خود را ایجاد کرده اید.
صادر کردن فایل پایگاه داده به CSV به همین سادگی است. تنها کاری که باید انجام دهید این است که روی جدول راست کلیک کرده و روی "Export as CSV file" کلیک کنید.
صادر کردن یک جدول به CSVیا برای صادرات فله ای بیش از یک جدول ، این کار را انجام دهید:
فایل> صادرات> جدول (ها) به عنوان فایل CSV. ..
حالا اجازه دهید نگاهی به جدول خود در 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پیشتر ، ما یک رکورد با نویسنده "دانا" اضافه کردیمجی اسمیت ”. اگر می خواهیم همه مقالات منتشر شده توسط دانا را در جدول جستجو کنیم ، فقط باید نام را در کادر "Filter" در زیر "Author" بنویسیم.
فیلتر کردن جدول در DB4Sهمچنین می توانید فیلتر را بیش از یک ستون در یک زمان اضافه کنید. اگر بخواهیم همه مقالاتی را در سال 2019 پیدا کنیم که 11 دقیقه زمان خواندن داشتند ، فقط باید دو ستون فیلتر را پر کنید. جدول به طور خودکار تازه می شود تا فقط نتایج مورد نیاز را به شما نشان دهد.
فیلتر کردن جدول در DB4Sمی توانید انواع پرس و جوهای 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بگویید ما می خواهیم یک نمودار ایجاد کنیم که کل زمان خواندن مقالات در روز را در طول زمان بررسی کند. برای انجام این کار بدون هیچ 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 را بررسی کنید.
اگر می خواهید نحوه نوشتن در پایگاه داده با استفاده از پانداها را بررسی کنید ، با خیال راحت این قطعه را بررسی کنید: