آرشیو آذر ماه 1398

برنامه نويسي پله پله

MongoDB چيست؟

۸۱ بازديد

MongoDB يك مقر داده مبني بر سندها عملياتي دوچندان مقياس پذير است كه نيز در ورژن هاي منشا گشوده و نيز در نسخه ها هاي تجاري قابل دسترس است و مي‌تواند در يك محل يا اين كه تحت عنوان يك خدمت ابري رئيس شده اجرا شود . خدمت ابري رئيس شده MongoDB Atlas اسم دارااست .
MongoDB دوست داستني ترين مقر داده اي NoSQL است . جور سندها داده اي آن انعطاف پذيري متعددي را به بسط دهندگان مي‌دهد , اين در حالي است كه معماري توزيع شده آن قابليت و امكان مقياس پذيري خوب را مهيا مي نمايد . تحت عنوان يك سود MongoDB اكثر زمان ها براي برنامه هايي گزينش مي شود كه مي بايست حجم متعددي از اطلاعات را رئيس نمايند و يا اين كه از مقياس پذيري افقي سود مي‌برند و چه بسا ساختارهاي داده آن‌ها متناسب با دسته هاي ارتباط نيست .
MongoDB يك دكان مبني بر اوراق است كه يك دكان گرافيكي ديگري هم بر بالاي آن بومي است . MongoDB در واقع JSON را ذخيره نمي‌كند بلكه BSON ( دودويي JSON ) را ذخيره مي نمايد , كه JSON را براي ذخيره سازي اشكال ديگري مثل int , مورخ , اعشار و . . . توسعه مي‌دهد .
MongoDB با به كارگيري از مدل اطلاعات , مي‌تواند نمودارهاي يك سري حالته , درخت B و نوشته بدون نقص را بر روي يك نسخه برداري از اطلاعات ساخت نمايد . MongoDB به شما قابليت و امكان ميدهد برروي هر فيلدي از سندها شاخص هايي ساخت نمائيد .
به صورت پيش فرض , MongoDB از طرحواره هاي پويا استعمال مي نمايد , كه برخي اوقات به آن schema - less گفته مي شود . سندها مو جود در يك گروه واحد نيازي به گروه فيلدهاي يكساني ندارند و دسته داده مرتبط با يك فيلد ميتواند دربين ورقه ها جانور در يك گروه مختلف باشد . شما ميتوانيد ساختار سندها را با طرح هاي پويا در هر زمان تغيير تحول دهيد.

تعيين و ياد گرفتن لهجه كد زدن

۸۰ بازديد
 
شايد با معرفي لهجه هاي كد زدن در بخش گذشته , براي گزينش لهجه مورد نظرتان يه خرده سردرگم شده باشيد . همان گونه كه اشاره شد , تعيين لهجه ساخت برنامه براي افرادي كه قصد ورود به دنياي كد زدن دارا‌هستند , قادر است امري سخت باشد . لهجه هاي كد نويسي فقط ابزارهايي ميباشند كه براي پياده سازي ايده هاي برنامه نويسان به كار ميروند . به اين ترتيب در حالتي كه انگيزه و قصدمان از كد نوشتن را بدانيم , آنقدرها نيز كه تصور ميكنيد , تعيين لهجه امري پيچيده نيست .
احتمال دارد گزينش گويش هاي كد زدن غيررسمي براي اشخاصي كه به بقيه لهجه هاي ساخت برنامه اشراف دارا هستند , امري منطقي باشد . چون ميخواهند با زباني كه ميدانند وارد دنياي ساخت برنامه گوشي شوند . براي مثال افرادي كه برنامه نويس سي شارپ مي باشند مي‌توانند از تكنولوژي زامارين استعمال نمايند . چون ديگر نياز به صرف زمان براي فرا گرفتن زباني نو نخواهند داشت و در كمترين زمان مي‌توانند نرم افزار هاي اندرويدي را گسترش دهند .
البته براي افرادي كه تصميم دارا هستند به يك كارشناس اندرويد تبديل شوند و تنها به بسط قابل انعطاف افزارهاي اندرويد بپردازند , شايسته ترين تعيين گويش جاوا يا اين كه كاتلين خواهد بود . چون بي ترديد در مراحل گسترش قابل انعطاف افزارهاي اندرويدي با مشكلات و سوالهاي متعددي رو به رو خواهيد شد . غالبا پاسخ اينگونه معضل ها را در سندها كتابخانه ها , نمونه هاي گوگل , وبسايت هاي پرسش و جواب مثل Stackoverflow و . . . پيدا خواهيد كرد . البته به دليل اين كه گويش جاوا تحت عنوان گويش قانوني اندرويد عمر بيشتري در توسعه و گسترش اين سيستم برهان داشته است , عمده اين منابع از لهجه جاوا استعمال مي نمايند . لهجه جاوا نسبت به بقيه گويش ها پيچيدگي هاي خودش را داراست اما در‌حالتي كه به صورت اصولي آن را ياد بگيريد , در حوزه گسترش اندرويد پيروز خواهيد شد .








چرا ساخت برنامه هنوز مهمترين مهارت شغلي آتي است؟

۸۰ بازديد

جدا از از موسسه ها بزرگ تكنولوژي , كسب و شغل هاي بي شماري توكل بر كد نوشتن و تكنولوژي هاي كامپيوتري , وجود دارا‌هستند . طبق گفته Glassdoor , جاي تعجب نيست كه هشت عدد از 25 جايزه برتر شغلي در امسال , رده تكنولوژي را دارا هستند . يك مهندس اپليكيشن مي‌تواند به آساني در اپل كار نمايد و يا اين كه حتي‌در يك درمانگاه يا اين كه در توليدي ماشين و شغل ها مختلف شاغل شود .
هفت ميليون زمان شغلي در سال 2015 در بخش هايي بود كه نياز به مهارت هاي كد نوشتن داشت و كارهاي كد زدن به طور كلي 12 درصد سريعتر از ميانگين بازار در درحال حاضر پرورش كردن مي باشند .
با اين وجود , گزارش نو از كمپاني Burning Glass , تحليلگر بازار كار , نشان ميدهد كه در سال 2015 , در شغل هايي كه نياز به مهارت هاي كد نويسي دارا‌هستند , 7 ميليون مجال شغلي موجود هست . آنان همينطور متوجه شدند كه شغل كد نويسي به طور كلي 12 درصد سريعتر از ميانگين تقاضا در بازار است .
كد نويسي مهم‌ترين مهارت شغلي آتي
اين يافته اخير فيض محققاني است كه دامنه تجزيه و چك خويش را توسعه داده و دربرگيرنده مهارت هاي كد نويسي در پنج مدل بخش اعظم شغلي مي شود .
مستخدم فناوري داده ها ( IT )
• تحليلگران داده
• هنرمندان و طراحان
• مهندسين
پژوهشگران
اين مهارت ها تحت عنوان به كار گيري از يك برنامه كامپيوتري براي نوشتن راهبرد به يك با استعمال از برنامه هاي درست شده تعريف شد . پژوهشگران به لهجه هاي كد زدن از جمله جاوا اسكريپت و HTML براي طراحي وب سايت ها , برنامه هاي آماري R و SAS , برنامه هاي اتوكد براي مهندسان و بقيه لهجه هاي ساخت برنامه همگي منظوره مثل Java , Python و C++ پرداختند .


چرا Java درست شده است؟ ( تاريخچه مختصر )

۸۶ بازديد

در سال 1991 , گروه “ Green Team ” به رهبري James Gosling در كمپاني Sun Microsystems , يك لهجه كد زدن براي دستگاه هاي ديجيتال , بسط دادند . اين گويش , Oak ناميده شد . چرا Oak ؟ چون يك درخت بلوط ( oak ) خارج دفتر كار Gosling وجود داشت .
بعداً , اين گويش با نام Green نامگذاري شد و در غايت به اسم Java برگرفته از Java coffee تغيير تحول اسم داده شد . از اين رو با لوگو فنجان قهوه , همراه شد .
از‌آنجا‌كه C/C++ در آن زمان محبوبيت داشت , Gosling اين گويش را با سبك C/C++ پباده سازي نمود و فلسفه آن اين شعار بود ( write once , run anywhere ( . بعد از ساليان , Sun Microsystems او‌لين ورژن اجرايي همگاني از Java را در سال 1995 منتشر كرد . در آن زمان اعلام شد كه مرورگر Netscape Navigator Internet با تكنولوژي جاوا , آميخته شده‌است .
در سال 2010 , كمپاني اوراكل تماما Sun Microsystems را به همراه Java , در اختيار خويش گرفت .
تاريخچه نسخه هاي Java
1 . ژوئن , 1991 - پروژه گويش جاوا آغاز شد .
2 . ژانويه , 1996 – JDK 1 . 0
3 . فوريه , 1997 - JDK 1 . 1
4 . دسامبر , 1998 – J2SE 1 . 2
5 . مي , 2000 - J2SE 1 . 3
6 . فوريه , 2002 - J2SE 1 . 4
7 . سپتامبر , 2004 - J2SE 5 . 0
8 . دسامير , 2006 – Java SE 6
9 . ژوئيه , 2011 - Java SE 7
10 . 18 مارس , 2014 – Java SE 8 ( آخري نسخه )
11 . ژوئيه , 2017 ( اعلام مورخ نشر ) – Java SE 9

چه‌طور هوش تصنعي پباده سازي UI/UX را صورت مي دهد

۷ بازديد
 
محصولات هوش تصنعي ( AI ) سريع‌تر از آنچه كه ما تصور مي كنيم وارد عصر ما ميگردند . هوش تصنعي منزلت خويش را در صنعت هاي ما پيدا نموده است . AI از فيلترهاي هرزنامه ( spam ) تا هواپيماهاي فارغ از سرنشين , مارا تسلط كرده و چه بسا بر بخش‌هاي غيرمنتظره معاش ما تأثير مي گذارد .
پباده سازي UI/UX از اين فرمان جدا نيست . ورود به‌اين صنعت پباده سازي هوش تصنعي را به‌وجود آورده است .
روزنامه Wired آن را ( پباده سازي بر شالوده هوش تصنعي ( مي‌نامد , در حالي كه ساير افراد آن را ( پباده سازي بر اساس الگوريتم ( مي‌نامند . با اين وجود , اشخاصي نيز مي باشند كه آن را ( هوش پباده سازي ( مي‌نامند . با وجود نام‌هاي گوناگون , در اصل در معناي مخابره هوش غير انساني براي ساخت حاصل خلاقانه است كه به ديده آدم , حقيقي وواقعي به لحاظ مي رسد .
در حقيقت , AI كماكان فرصت‌هاي جديدي را براي ما تحت عنوان سازندگان توليد مي نمايد . رابط‌ها و تجربيات كاربري ( UI/UX ) بر طبق AI , امروزه بر درب اين فن ضربه مي‌زنند و مرتبط با آتي ميباشند . با اين وجود , هنوز شاغل شدن آن خيلي زود‌است .
به گفته Urban , سه تراز بسط تصنعي موجود هست :
هوش تصنعي و مصنوعي محدود : معني آن به‌اين معناست كه بسط AI سطحي است , براي مثال به گونه اي كه قدرتمند به اجراي وظيفه‌هاي زياد پيچيده مرتبط با شغل خلاقانه UXنيست .
هوش تصنعي همگاني : دست‌كم اين تراز بايستي صورت بپذيرد تا ما بتوانيم ماشين‌ها را با وظيفه هاي خلاق‌تر ساخت كنيم . در اينجا هوش تصنعي و مصنوعي هم اندازه است با هوش انساني .
هوش تصنعي خوب ( سوپر ) : درين مرحله , هوش تصنعي و مصنوعي از هوش انساني نيز هوشمندانه‌تر است .
در اينجا يك سوال فني پيش مي آيد . چه اتفاقي ميفتد هنگامي AI به مرحله سوم توسعه و گسترش خويش ميرسد .

تاريخچه كد نوشتن چيست؟

۸۳ بازديد

برنامه نويسي در سال 1883 متولد شد! وقتي كه ايدا لاوليس رياضي دان و تاليف كننده انگليسي در حالا كار روي پروژه موتور تحليلي دانشمند مشهور چارلز ببيج بود متوجه شد اين رايانه ابتدايي مي تونه شغل هاي ديدني تري از محاسبات بي آلايش رياضي رو انجام بده بدين ترتيب آغاز به نوشتن اولي الگوريتم كد نوشتن مورخ براي رابطه با اين موتور كرد و بدين ترتيب , تبديل به اولي برنامه نويس مورخ شد! ايدا در تئوري هاش پيش گويي كرد در آتي روزي مي رسه كه رايانه ها مي تونن ترانه بنوازن و شطرنج بازي كنن! بدين ترتيب اينجانب حال حاضر از آتي مورد مشاجره , به ايدا سلام مي فرستم!

لهجه هاي كد نويسي نخستين كه تحت عنوان داراي اهميت ترينشون ميشه از اسمبلي ياد كرد براي نوشتن برنامه ها نقص‌ بودن زيرا سه مشكل خيلي بزرگ داشتن : اوليه , متغير ها مي تونستن از هر جاي كد بازنويسي بشن بدين ترتيب برنامه نويسي مثال بدون نقص شهر هرت بود! دوم , برنامه از هرجايي مي تونست به جاي پيشين يا اين كه آن گاه منتقل بشه و كد ها حسابي پيچيده و در نيز مي شد! و سوم , ميان كد ها و ديتا ها هيچ مرزبندي وجود نداشت! براي مثال اين پديده كه ديتا روي برنامه در درحال حاضر اجرا دستكاري بشه تماما ممكن بود!
به اين ترتيب گويش هاي تراز بالا وارد ميدون شدن! او‌لين گويش تراز بالا به اسم فرترن بوسيله جان بكاس در سال 1954 ساخته شد! لهجه هاي تراز بالا درحال حاضر به لهجه آدم خيلي نزديك شده بودن و كدنويسي با اون ها راحت خيس بود! بعدها با لهجه هاي كد نوشتن شي گرا مانند جاوا و سي شارپ , ديگه حتمي فقدان كد هاي يكسان بارها و بارها متن بشن و كار تيمي روي پروژه هاي كد زدن از مدام آسون خيس شد!



آيا ASLR شما‌را در قبال هجوم ها مراقبت مي‌كند؟

۸۵ بازديد

چندي پيش , پژوهشگران SUNY Binghamton و University of California , مقاله‌اي به عنوان Jump Over ASLR : Attacking Branch Predictors to Bypass ASLR ارائه كردند . اين مقاله دربرگيرنده راهي براي هجوم به Branch Target Buffer يا اين كه به اختصار BTB است كه تحت عنوان جزو پردازشگر است كه در صورتي امرها پيش‌بيني سود صحيح باشند , عمليات را تسريع ميكند . با به كارگيري از طريق بيان شده بوسيله نويسندهٔ اين مقاله , معين كردن محل‌ امرها شناخته شده در يك برنامهٔ در درحال حاضر اجرا امكان‌پذير است . اين هجوم بر روي يك سيستم لينوكسي با پردازشگر Intel Haswell ( كه اولين دفعه در سال 2013 منتشر شد ) اجرا شد البته احتمالاً ميتواند بر روي هر سيستم‌عامل و پردازشگر امروزي ديگري قابل‌اجرا باشد .
با اين وجود نبايد نااميد بود . اين مقاله يكسري روش سفارش داده است كه دولوپرهاي سخت‌افزار و سيستم‌عامل ميتوانند با به كارگيري از آنها احتمال وقوع اين يورش را كاهش دهند . اخيرا , تكنيك‌هاي نو و هوشمندانهٔ ASLR كارايي بيشتري را از مهاجمان مي‌طلبد و همينطور ارتقاء تعداد آنتروپي ( تصادفي‌سازي ) ميتواند حملهٔ Jump Over را نا ممكن سازد و به احتمال خيلي فراوان , سيستم‌عامل‌ها و پردازشگرهاي جديدتر در قبال اين هجوم ايمن خواهند بود .
روش Jump Over نو است و هنوز استعمال از آن بين هكرها و مهاجمان چشم نشده است . هنگامي كه مهاجمان از اين روش سوء‌استفاده نمايند , اين نقص منجر ارتقا آسيبي احتمالي مي شود كه يك تعرضآميز قادر است براي دستگاه شما ساخت نمايد . اين مرحله از دسترسي بي‌سابقه نيست ; مايكروسافت و اپل ASLR را در سيستم‌عامل‌‌هايي كه در سال 2007 و بعد به بازار عرضه كردند پياده‌سازي كردند . چه بسا در شرايطي كه اين سبك از يورش متداول شود , حالت شما بدتر از هنگامي هنگامي كه از ويندوز XP به كارگيري مي‌كرديد نخواهد بود!

تاپ ترين گويش هاي ساخت برنامه

۸۶ بازديد
 
اگر در ادامه تاپ ترين و ماهر ترين لهجه هاي كد زدن براي يك مبتدي و تازه كار مي باشيد مقالهگويش هاي ساخت برنامه ضروري براي يك تازه كار در سال 2018 ” را مطالعه كنيد .
اين مقاله براي جستن گويش هاي كد نوشتن كه امروزه مورد به كار گيري و موءثر ميباشند , مطلوب است البته اگه شما در قضيه ساخت برنامه نو وارد ميباشيد پيشنهاد نمي‌كنم كه صرفا براساس يك ليست تصميم بگيريد .
شيوه تعيين يك گويش كد نوشتن
علم ها رايانه يك حرفه تحصيلي كاملاً جامع و مركب است . اين بدين معنا است كه هر مسئله پشت سر هم از موضوعات پيشين توليد مي شود .
در صورتي‌كه شما قبلاً در مرسه همت نموده ايد كد نويسي را يادبگيريد و شايسته ترين همت خويش را انجام داده ايد البته عملكرد شما باعث به ناكامي شده‌است نقص‌ شما نبوديد . يك مدرس عالي در هر حرفه كاملي , با توجه برنامه هاي آموزشي را گزينش مي نمايد . با دقت به اين‌كه هر علم آموز پيش نيازهاي حتمي و كافي و آمادگي اول را داراست , انتظارات راجع به علم قبلي علم آموز مي بايست روشن باشد . يك مدرس عالي انتظارات را فهم مي نمايد و هيچ علم بالاتر از اين دامنه را نمي پذيرد . هر چيزي كه بيرون از انتظارات است بايستي فراگيري داده شود . هر قضيه در برنامه درسي به ترتيب مرتبط با موضوعات ديگر است .
هيچگاه يك لهجه را به خاطر مرتبه بندي آن تعيين نكنيد ; زباني را تعيين نمائيد كه براي آن يك مسير فراگرفتن بدون نقص داريد كه هيچ پيش فرض در رابطه علم پيشين را توليد نمي‌كند .
يك سري نكته
پيشين از استارت كد نويسي , به نكته كه در ابتدا توضيح داده دقت فرماييد : كليه چيز در علم ها رايانه همراه جامع است .

دوزخ callback در جاوااسكريپت

۹۳ بازديد

دستوراتي كه در لهجه هاي كد نوشتن اجرا ميشوند را به دو گونه مي توان تقسيم كرد :
مدل اوليه : دستوراتي كه براي اجرايشان پردازنده به منابع بيروني نياز ندارد مثل عمليات رياضي . اين مدل اوامر غالبا با سريع اجرا ميشوند و احتمال رخداد غلط در آنان فراوان نادر است .
نوع دوم : دستوراتي كه براي اجرايشان پردازنده به منابع بيروني نياز داراست نظير تلاوت يك پوشه يا اين كه ارسال يك پست الكرونيكي . درين دستورها پردازنده مي بايست از هارد يا اين كه كارت شبكه بخواهد تا دستوراتي را اجرا نمايد و سود را به پردازنده تحويل دهد . اين اوامر دو خصوصيت داراي اهميت دارا هستند . يك سرعت اجراي آن‌ها زياد كمتر از دستورها جور نخستين است . دوم اينكه مضاعف مستعد اشتباه ميباشند .
روش مواجه گويش ها سنتي با اوامر جور دوم :
گويش هاي كهن كه قالبا براي محيط هاي تك پردازنده و تك كاربري پباده سازي گرديده اند . غالبا مكانيزمي براي برخورد با دو اختلال ياد شده ارايه نمي‌كنند و براي رئيس اين مشكلات بايستي از كتابخانه ها به كار گيري كنيم . براي رئيس غلط مي بايست از بلوك هاي try بهره برد . در لهجه هاي ديرين در اكثري از مواقع استعمال از اين بلوك ها ازروي ميل است و برنامه نويسان مبتدي و تازه كار به طور معمول براي دوري از پيچيدگي برنامه خويش را از قيد اين بلوك ها آزاد مي نمايند و با جلوگيري از پيچيدگي مشكلات را به زمان اجرا حواله مي نمايند . برنامه هاي كه با توقف هاي بي ادله از كار مي افتد بي آن كه بتوان سرنخي از ايراد در آن پيدا كرد . در برخورد با نقص‌ سرعت كم دستورها لهجه هاي سنتي پيشنهاد به طاقت مي نمايند يا اين كه در‌صورتي‌كه برنامه نويس اهل حوصله نباشد كتابخانه هاي thread را توصيه مي كنند كه به كار گيري از آنان به طور معمول موجب پيچيدگي برنامه مي شود .

Places SDK for Android چيست؟

۷۸ بازديد

Places SDK for Android به شما اين اذن رو ميده تا در برنامه هاتون مكان هاي با لوكيشن ( Location ) هاي معلوم بسازين كه به صورت متناسب با كسب و كار هاي محلي و مكان هاي نزديك ديگر در رابطه است و به اونها برخورد نشون ميده . اين بدان مفهوم است كه شما ميتونيد برنامه هاي كاركشته رو مبتني بر مكان هايي كه به استفاده كننده خدماتي رو مبتني بر حالت جغرافيايه مستقيمش ارائه ميدن , بسازين .
نسخه هاي ساپورت شده
Places SDK for Android براي تمام نسخه هاي اندرويدي كه بوسيله خدمت هاي Google Play ساپورت ميشن , موجوده و ميتونين از اين خدمت به كار گيري كنين .
مرور كلي API ها
به مشتريان خودتون ياري نمائيد تا جايي كه در اون مي باشند و اونچه اطراف اون هاست رو كشف نمايند .
• Place Picker به يوزرها جازه ميده تا يك مكان رو از روي نقشه تعاملي گزينش نمايند .
• Current Place ليستي از مكان هايي كه نهايي توشه دستگاه در اون ها قرار داشته و احتمال نسبي جاي‌جاي رو نشون ميده .
• Place Autocomplete به صورت خودكار اسم يا اين كه نشاني مكان هاي مورد به كار گيري يوزرها رو كامل شدن ميكنه .
• Place Photo تصاويري كيفيت عالي كيفيت خوب رو از مكان متبوع به نمايش ميزاره .
• Place IDs and Details داده ها مرتبط با مكان متبوع رو نشون ميده .
امنيت و موقعيت
تمام برنامه هايي كه از Places SDK for Android به كار گيري ميكنن بايستي از وضعيت جانور در پلت فرم گوگل مپ كه براي خدمت هاي خودش به كارگيري ميكنه , محدوديت هاي به كارگيري از خدمات و نمايش پرونده ها پيروي كنن تا در آتي به مشكلي برخورد نكنن .