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

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

معرفي كد زدن تدافعي

۸۵ بازديد


Defensive programming يا اين كه كد زدن تدافعي يك تمرين است كه در آن ناكامي در كدنويسي را پيش گويي مي‌كنيد , و آنگاه كد پشتيباني شده را براي شناسايي , جداسازي , و در بعضي موردها , براي رهايي از باخت پيش گويي شده ميافزاييد .

ساخت برنامه تدافعي ميتواند به ما در يافتن نقص و عيوب در مرجع ياري دهد . با انگيزه قرار دادن نقص در آن , ما ميتوانيم آن ها را زودتر پيداكنيم , كه باعث به داشتن قابل انعطاف افزاري پايدارتر و افتتاح از آن در حين كوتاهتر مي شود .
كد نوشتن تدافعي بر اين فرض پايدار است كه باگ هايي در كد ما موجود هست , به اين ترتيب ما مي بايست راه و روش هايي بي آلايش خيس براي شناسايي و يا اين كه تقابل با اين مشكلات پيداكنيم . براي مثال , تايمرهاي دربان يك كامپونت مرسوم از سيستم هاي درنظرگرفته شده مي‌باشند كه براي فعال سازي دوباره اپليكيشن يا اين كه مشقت بار افزار بعد از شناسايي اخلاق و رفتار غيرمعمول پباده سازي گرديده اند .
Checksum ها المان هاي رايجي از packet هاي منتقل شده في مابين node ها مي‌باشند كه خطاهاي ناشي از رابطه دربين node ها شناسايي مي نمايد .
اين دو مثال از كد نويسي دفاعي ميباشند كه فعلا همگاني ميباشند .
تاريخچه ساخت برنامه تدافعي
در حين 1960 تا 1998 , براي بسط دهندگان امري واضح بود كه براي اجراي strict code نياز به محل ورود هاي زياد مختص داشتند . اولي مشكلي كه وجود داشت به دور پرتاب كردن نادرست هاي كدنويسي بود . مثلا , چنانچه يك تجزيه كننده XML با يك كاراكتري مواجه ميشد و آن را فهم و شعور نميكرد .

سرويس ها و پردازش پس زمينه اي (background processing)

۷۷ بازديد

به صورت پيش فرض، سرويس در همان فرايندي اجرا مي شود كه thread اصلي اپليكيشن در آن حال اجرا است. به همين جهت توسعه دهنده بايستي از پردازش ناهمزمان در سرويس استفاده نموده و task هايي كه هزينه بر و سنگين هستند را در پس زمينه راه اندازي كند. يكي از الگوهايي كه مكررا براي پياده سازي سرويس بكار مي رود، اجراي يك Thread جديد در سرويس جهت انجام پردازش در پس زمينه و خاتمه دادن سرويس به هنگام اتمام پردازش مي باشد.
سرويس هايي كه در بستر فرايند خود اپليكيشن اجرا مي شوند معمولا تحت عنوان service هاي محلي يا local شناخته مي شوند.

سرويس هاي خود محيط اندرويد (platform) و سرويس هاي اختصاصي

محيط اندرويد سرويس هاي آماده و از پيش تعريف شده اي را درنظر گرفته و راه اندازي مي كند كه تمامي اپليكيشن هاي اندرويدي، در صورت برخوردار بودن از مجوزهاي لازم قادر به استفاده از آن ها استفاده مي باشند. سرويس هاي سيستم را كلاسي به نام Manager در اختيار اپليكيشن ها قرار مي دهد.كافي است براي دسترسي به آن متد getSystemService() را فراخواني نماييد.
كلاس Context تعدادي ثابت فراهم مي كند كه شما با استفاده از آن ها مي توانيد سرويس هاي نام برده را فراخواني كنيد.
اپليكيشن اندرويد مي تواند علاوه بر سرويس هاي پيش فرض سيستم اندرويد، سرويس هاي اختصاصي تعريف نموده و از آن ها در كنار سرويس هاي سيستم استفاده نمايد.
توسعه دهنده قادر است با پياده سازي سرويس هاي اختصاصي خود اپليكيشن هاي پاسخگو و تعاملي (responsive) طراحي نمايد. شما مي توانيد داده هاي اپليكيشن را به وسيله هاي سرويس واكشي نموده و زماني كه اپليكيشن راه اندازي شد، داده هاي جديد در اختيار كاربر قرار دهيد.

راه اندازي و تعريف سرويس هاي اختصاصي

سرويس هاي اختصاصي اغلب توسط كامپوننت هاي ديگر راه اندازي مي شوند، به عبارت ديگر ساير اجزا نرم افزاري اپليكيشن هاي اندرويدي نظير activity ها، broadcast receiver ها و سرويس هاي ديگر هستند كه سرويس هاي اختصاصي را راه اندازي مي كنند.

سرويس هاي پيش زمينه (foreground)

سرويس پيش زمينه سرويسي است كه از نظر اولويت و اهميت با يك activity فعال و قابل مشاهده در UI يكسان است و به همين جهت حتي اگر سيستم اندرويد با كمبود حافظه مواجه باشد باز هم اجازه ي حذف از آن ها حافظه را ندارد. سرويس foreground مي بايست در نوار نشان دهنده ي وضعيت كلي سيستم (status bar) يك اطلاعيه يا notification در زير بخش عنوان "Ongoing" مختص به خود داشته باشد. اين بدين معني است كه تا زمان حذف سرويس از foreground يا حافظه، notification قابل dismiss و حذف از status bar نخواهد بود.

1
2
3
4
5
6
7
Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text),
        System.currentTimeMillis());
Intent notificationIntent = new Intent(this, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, getText(R.string.notification_title),
        getText(R.string.notification_message), pendingIntent);
startForeground(ONGOING_NOTIFICATION_ID, notification);

كاربردهاي ديدني و تازه از هوش تصنعي

۱۰۰ بازديد
 
همانطور كه ميدانيد اين روز‌ها , هوش تصنعي و مصنوعي , علي الخصوص فرا گرفتن ژرف ( Deep Learning ) , كلام اوليه را در خيلي از زمينه‌هاي پژوهشي و اما صنعتي ميزند و نتيجه ها و توليدها نتيجه ها از آن طي سال‌هاي اخير , فراوان شگفت انگيز بوده اند .
نسبتاً پارسال بود كه ساندار پيچاي , مديريت ادله كمپاني گوگل , طي پُستي در وب لاگ اين موسسه گفت كه دنيا در هم اكنون گذر از شرايط Mobile - first به شكل AI - first است و كمپاني گوگل تمام محصولاتش را با اين محوريت گسترش مي دهد .
براين اساس بديهي است كه در‌اين جهانِ AI - first به كارگيري از هوش تصنعي و مصنوعي براي ساخت توليدات و يادگرفتن مفاهيم و كاربرد‌هاي آن براي كارآفرينان و مهندسان مضاعف حا‌يز اهميت است .
فرا گرفتن ژرف و شبكه‌هاي عصبي تصنعي , شاخه اي از فراگرفتن خودرو اند كه از ساختار لايه اي مغز بشر و سلول هاي عصبي متصل به نيز سرمشق گرفته اند .
طي اين پست , با ۳۰ مثال از جديدترين و هيجان‌انگيزترين كاربرد‌هاي فرا گرفتن ژرف ( Deep Learning ) آشنا خوا‌هيم شد .
روشن است كه كاربردهاي امروزيِ اين دانش , ‌بسيار بالاتر از اين تعداد ناچيز اند .


مهم‌ترين خصوصيت هاي ورژن ي آلفاي بوت استرپ 4

۸۵ بازديد
 
تغيير از لس به ساس : به ياري ليب ساس ( ) كامپايل بوت استرپ پرسرعت خيس از پيشين است . همينطور تعداد متعددي از بسط دهندگان ساس هم به ما بيشتر گرديده اند .
فلكس جعبه و سيستم گريد توسعه يافته خيس : نسبتاً كليه چيز را به فلكس جعبه انتقال داديم و بخش جديدي را به گريدبندي طولاني تر كرديم تا براي گريدبندي در تلفن همراه راحت خيس شود و به طور كامل ساس مبداء را با متغيرها , ميكسين ها ( mixins ) و مپ ها تغيير‌و تحول داديم .
كارت ها : كارت ها خصوصيت تماما جديدي در بوت استرپ مي باشند البته از سمت ديگر چندان ناشناخته نيستند , چون تمام كارهايي كه ول ها ( wells ) , بندانگشتي ( thumbnails ) و پنل ها انجام ميدادند را انجام مي دهد با اين تفاوت كه‌اين امور را خيلي خوب تر انجام مي دهد .
Normalize . css : Normalize . css روش متمايز داراست , چون از برخي از ترفندهاي داراي اهميت css كه بازه زماني متعددي از آن به كارگيري مي كرديم را كنار مي‌گذارد و به كار گيري نميكند .
آپشن هاي كاستومايز كردن تماما تازه : به جاي‌اينكه استايل هايي نظير گراديانت , ترنزيشن , سايه , كلاس هاي گريد و … را به استايل شيت غيروابسته ماند ورژن 3 منقل كنيم , كليه ي اين متغيرها را به ساس منتقل مي‌كنيم . مي‌خواهيد ترنزيشن پيش فرض را بر روي كليه چيز بگذاريد يا اين كه كناره هاي به صورت دايره را غير فعال كنيد؟فقط كافي است كه متغيري را به روز نماييد و مجدد كامپايل نماييد .
عدم پشتيباني از IE8 و IE9 و ورژن هاي سابق خيس مرورگرها و به كارگيري از واحدهاي rem براي به كار گيري از ساپورت هاي جديدتر CSS : جدا از گريد , پيكسل ها جايگزين رم ها و ام ها ( rems and ems ) شدند .

آموزش asp.net به صورت كامل

۱۰۱ بازديد

يادگرفتن و آموزش asp.net به صورت كامل

چه پيش نيازيهايي براي فراگرفتن Asp . Net مي بايست بدانم ؟
براي ياد گرفتن لهجه كد زدن پايين اينترنت Asp . Net در صدر شما نياز به فهميدن پباده سازي قالب ميباشيد . جهت فراگرفتن پباده سازي قالب شما بايد با Html , css و جاوا اسكريپت و جي كوئري آشنا باشيد . بعداز آن شما نياز داريد قدري سي شارپ و ديتابيس Sql Server را بدانيد . با درك كردن اين موضوعات شما فراهم آموزش يادگرفتن Asp . Net مي باشيد .



از كجا و چه گونه مي‌توانم پيش نيازهاي فراگرفتن Asp . Net را ياد بگيرم؟
نگران نباشيد!!! در وبسايت كليك وبسايت فراگيري كليه اين پيش نياز ها به صورت صفر تا صد و تماما ماهر مو جود است و كافيست در نصيب نوع بندي هاي تارنما روي مورد متبوع كليك نمائيد . البته نكته مضاعف مهمي كه مدرسان تارنما با اعتنا به تجربه بالاي كاري خويش به آن پي برده اند اين است كه شما جهت فراگرفتن يك گويش ساخت برنامه مي بايست همه پيش نيازها را نيز همراه خويش آن گويش ساخت برنامه ياد بگيريد .

به اين ترتيب ما اين مژده را به شما ميدهيم كه عصر هاي فراگيري كد زدن Asp . Net جانور در كليك تارنما كليه از صفر مي‌باشند و همه پيش نيازهاي حتمي مانند Html و css و jquery و sql و . . . تمامي در به عبارتي زمان آموزشي جانور است . براين اساس شما ميتوانيد با آسودگي خاطر با گذراندن عصر فراگيري Asp . Net وبسايت كليك تارنما كليه اين پيش نيازها را هم فرا بگيريد .
يكي مهمترين و با ارزش ترين امكان ها و امكاناتي كه سايت كليك تارنما در اختيار يوزرها خويش قرار ميدهد قابليت رفع انواع و رابطه بدون واسطه با معلم است . شما استفاده كننده گرامي در زمان عصر آموزشي خويش هر نوع سوال يا اين كه اشكالي درباره با آموزشهاي ارائه شده داشتيد مي‌توانيد بپرسيد .

در دوره جامع آموزش asp.net يادگيري را از مباحث مقدماتي دنياي وب و اينترنت شروع و تا انجام عملي يك پروژه پيشرفته و آشنايي با تكنولوژي MVC پيش خواهيم رفت .

يكي از زبان هاي برنامه نويسي حرفه اي براي طراحي سايت ،ASP.NET است. ASP.NET نسل جديد ASP است.ASP.NET يك نمونه و نگرش جديد به  برنامه ها و اسكريپت هاي مبتني بر سرويس دهنده مي باشد.

ASP.NETيك چارچوب كاربردي Web است كه توسط شركت مايكروسافت ارائه شده تا برنامه نويسان بتوانند براي ساخت سايت‌ هاي Web ،برنامه‌ هاي Web پويا ، سرويس‌ هاي Web پويا، سرويس‌ هاي Web XML از آن استفاده كنند. اين بخشي از زير ساخت NET مايكروسافت و جانشيني براي تكنولوژي صفحات سرويس دهنده فعال (ASP) است.

ويژگي هاي زبان برنامه نويسي ASP.NET :

  • ASP.NET يك ابزار قدرتمند براي ساخت صفحات وب پويا و تعاملي است.
  • در ASP.NET از تكنيك هاي پيچيده اي براي  ايمني اطلاعات استفاده مي شود.
  • معمولا تعداد خط هاي كدي كه براي اين زبان برنامه نويسي نوشته مي شود ،نسبت به زبان هاي برنامه نويسي ديگر، كمي بيشتر است كه همين دليل مي تواند تا حدودي موجب زمان گير بودن و افزايش هزينه شود.
  •  داراي قدرت و انعطاف‌ پذيري بالا در توسعه‌ برنامه‌ هاي كاربردي وب است.
  •  ASP.NET از يك فرم ساده ، براي گسترش و پيكربندي سايت جهت ايجاد يك برنامه استفاده مي‌كند.
  • منبع:
  • دانشجويار

لاراول Laravel

۱۰۱ بازديد

لاراول در جايگاه يك گوگل ترندز جاي‌دارد و به‌اين مضمون‌ است كه بيشترين كاوش و به كارگيري را در ميان يوزرها دارااست البته به اينم معنا نيست كه شايسته ترين است . لاراول در طول كم توانسته جاي خويش را ميان توسعه‌دهندگان گشوده نمايد . از اين قاب ورك براي ساخت پرسرعت نرم افزار ها با به كار گيري از معماري MVC طراحي‌شده و فعلا رايج‌ترين قاب ورك پي اچ پي به همراه جامعه توسعه‌دهندگان دوچندان ميباشد كه مي‌توان يا اين كه يك جستجوي بي آلايش در وب مشكلات خويش را مطرح و جواب خويش را اخذ كرد .
خصوصيت اصلي اين كادر ورك پكيج‌هاي فوق‌العاده‌اي كه براي آن ساخته‌شده و مي‌گردد مانند موتور سبك قالب‌سازي Blade , آزمايش واحد يا اين كه Unit Test , Elequent ORM , سيستم پكيج بندي , كنترل‌كننده‌هاي RestFul .
لاراول او‌لين قاب وركي است كه يك شيوه انتزاعي براي سيستم مسيربابي معرفي ميكند . دارنده كد نوشتن منزه و شسته‌رفته كه سبب مي گردد سواي زحمت كدهاي برنامه را سازمان‌دهي فرمائيد .
مدير صف نيز يك كدام از ويژگي‌هايي است كه ضروري در هر كادر وركي است . اين وظيفه‌هاي معين , در پس‌زمينه انجام و آنگاه سابقه فعاليت‌ها ثبت يا اين كه اصطلاحاً Log مي شود .
پكيج‌ها ميتوانند به‌آساني با Composer باطن ساز لاراول بيش تر شوند . مي‌توان پروژه را به همراه Gulp و Elixir بهره مند شد . به دليل دارا بودن خط دستور هر پكيج npm و bower مي تواند به‌آساني و به‌صورت بي واسطه از روش ssh صدا زد .
يكي‌از شايسته ترين دارايي‌هاي لاراول رابطه عالي آن با ساختارهاي NoSQL نظير MongoDB يا اين كه Redis مي باشد . به‌راحتي ميتوانيد فرا گرفتن آن را آغاز نمائيد زيرا دارنده مستندات گسترده , معمولي و روان است و براي رفع مشكلات همان‌طور كه قبلاً گفته شد با يك جستجوي بي آلايش در وب به جواب سؤال خويش مي سيد .
لاراول اخيراً با Nova كه يك پنل رئيس با پباده سازي زيباست براي توسعه‌دهندگاني كه مي خواهد پنل بسازند عرضه‌شده است .

كاربرد پايتون چه ميباشد و كجا استعمال مي‌شود؟

۱۰۰ بازديد

پايتون يك لهجه همگاني ( General Purpose ) است و محدود به يك حوزه مختص نمي شود . اين يعني ميتوانيد با يك تير چندين نشان زده و در بخش‌هاي متعدد تكنولوژي عمل نماييد . يك برنامه نويس پايتون در صورتي‌كه حرفه‌اي باشد , در هر حوزه اي صحبت براي بيان كردن خواهد داشت . برخي از لهجه هاي ساخت برنامه منحصر به يك حوزه مختص مي‌باشند يا اين كه در صورتي به قسمت هاي ديگر ورود نمايند توان متعددي ندارند , البته پايتون اينگونه نيست . كافي است آن را ياد بگيريد و تبديل به يك كارشناس پايتون گرديد تا ملاحظه كنيد در دنياي كد زدن حقيقتا چه قدرتي به شما ميدهد .
مهمترين عاملي كه سبب ساز شد پايتون به قسمت هاي متفاوت IT وارد شود , كتابخانه ها بودند . اين كتابخانه ها مي‌باشند كه پايتون را گسترش پذير مي نمايند . همين‌طور منجر راحت خيس شدن كار برنامه نويسان ميشوند . اما برخي از اين كتابخانه ها هنوز جاي پرورش و ترقي دارا هستند و در پروژه هاي بزرگ قابل به كارگيري نيستند . يكي ديگر از امكان هاي جالب پايتون , چسبندگي اين لهجه است . خواسته از چسبندگي يا اين كه Glue Language اين است كه پايتون قادر است به نيكي با كدهاي بقيه لهجه ها تركيب شود يا اين كه اصطلاحا به آن ها بچسبد . به ياري اين تكنيك مي توانيد يك قطعه كد به لهجه C يا اين كه هر گويش ديگري را به راحتي به پروژه خويش طولاني تر فرمائيد . در‌پي كاربرد پايتون را كه 9 بخش با اهميت تقسيم مي‌شوند , به صورت ظريف مورد بررسي قرار خوا هيم بخشيد .

CSS grid چه تفاوتي با flexbox دارد؟

۸۳ بازديد

قبل از هر چيز نبايد فراموش نمائيد كه هيچ كدام از اين دو ماژول بر ديگري برتري ندارد و هر مورد در جاي خويش مطلوب و كاربردي ميباشند . بايستي با دقت به نياز خويش و كاري كه انجام مي دهيد , شايسته ترين و مطلوب ترين ماژول را گزينش نماييد . يكي‌از تفاوت هاي اساسي CSS grid با flexbox در زمينه‌ي آن گاه است . ما در كاغذ اينترنت به طور معمول موادتشكيل دهنده را به 2 شرايط تك بعدي و دو بعدي در حيث ميگيريم .

به عنوان مثال منو تارنما مارا نگاه نماييد , اين منو تحت عنوان يك عنصر تك بعدي شناخته مي شود , يعني در يك مسير يا اين كه يك جهت قرار گرفته است . براي پياده سازي چنين چيزي خوب تر است از flexbox به كار گيري كنيم , اما با CSS grid نيز اين كار شدني است ولي flexbox با كد كمتر و كيفيت خوب تر اين كار را انجام ميدهد .

در طرف مقابل ساختار دو بعدي را داريم . به عنوان مثال منو با سايدبار يك تارنما را كنار نيز در لحاظ بگيريد . اين بخش را تحت عنوان يك عنصر دوبعدي در لحاظ بگيريد . يعني اِلمان ها در دو آن گاه يا اين كه دو جهت قرار گرفته اند . دراين‌صورت به كار گيري از CSS grid توصيه ميشود . زيرا سرعت كار را بالا برده و خروجي بهتري ميدهد .

پردرآمدترين گويش هاي كد نويسي عالم

۱۰۷ بازديد

پردرآمدترين لهجه هاي كد زدن جهانراءس تحقيقاتي Startup Compass مطالعه گسترده‌اي بر روي مهندسان حوزه برنامه‌نويسي در سراسر عالم انجام بخشيد و در پايان داده ها ارزشمندي پيرامون ميزان حقوق و دستمزد آن ها به دست آورد و همينطور معلوم شد كه متخصص ها به واسطه كدام يك از زبان‌هاي برنامه‌ نويسي بيشترين درآمد را به دست مي آورند .

پردرآمدترين لهجه هاي كد نوشتنحاصل نتيجه ها از اين بررسي با تيتر ذيل به چاپ رسيد : «چه ميزان براي مهندس نرم‌افزار خويش بايستي هزينه پرداخت كنيد؟»

مهندساني كه در پژوهش درباره‌ي پردرآمدترين لهجه هاي كد نويسي عالم كمپاني كردند خير فقط در استارت‌آپ‌ها شاغل بودند , بلكه به صورت فريلنس در اين مورد عمل مي‌كردند و يا اين كه آنكه به استخدام شركت‌هاي بزرگ درآمده بودند .

در پايان اين مطالعه معلوم شد پردرآمدترين گويش هاي كد نويسي دنيا براي مهندسان نرم‌افزارسي پلاس پلاس++C است كه با به كار گيري از آن هر ساله به صورت ميانگين ۱۱۰ هزار دلار درآمد كسب مي كنند .

بعد از آن گويش ساخت برنامه پايتون Python با ميانگين درآمد هر ساله ۱۰۲ هزار دلار قراردارد و گويش برنامه‌نويسي C در مرتبه سوم درآمد هر ساله ۱۰۰ هزار دلاري را از آن مهندسان نرم‌افزار مينمايد .

لهجه كد نويسي پايتون در ساليان اخير بيشتر مورد دقت توسعه و گسترش دهندگان قابل انعطاف افزارهاي گرافيك كامپيوتر اي , موتورهاي بازي سازي و قابل انعطاف افزارهاي سه بعدي قرار گرفته است .

معرفي لهجه كد نويسي php

۶۶ بازديد
لهجه ي PHP يك گويش براي كد نويسي مي‌باشد .

ولي يك لهجه بدون نقص نيست و اصطلاحا يك گويش اسكريپ نويسي است .

در مبحث اسكريپ نويسي با آن آشنا خواهيد شد .

PHP ابتدا از واژه و كلمه Personal Home Pages كه به وسيله آفريننده آن معرفي شده بود , آمده است .

ولي به مرور مخفف كلمه و واژه Hypertext Preprocessor به معناي پيش پردازنده ابر نوشته ميباشد .

براي شناخت با تاريخچه PHP , قسمتتاريخچه ي آن را مطالعه نمائيد .

PHP در گويش كد نويسي اينترنت براي طراحي وب سايت , يك متد ساخت مي كند كه طراح وبسايت قادر است با صدا كردن آن في مابين كد هاي html , از آن به كار گيري كند .

امروزه php از محبوترين لهجه هاي كد نويسي ذيل اينترنت ميباشد . اين لهجه خواص رابطه با تمام قابل انعطاف افزارهاي ديتابيس جان دار را هم دارااست . گرچه امروزه در ساخت سايت , طراحان تارنما براي قسمت هاي متفاوت وبسايت خويش از لهجه ها و ابزارهاي گوناگون توليد مي نمايند .

اگرچه كه خروجي كليه اين اپليكيشن ها و برنامه يك پوشه html خواهد بود , كه سايت و داده ها مارا نمايش خواهد اعطا كرد .
تاريخچه لهجه PHP

لهجه PHP اولين دفعه در سال ۹۴ ميلادي بوسيله Rasmus Lerdorf ارائه شد .

و در بالا مخفف برگه اساسي فردي ( personal home page ) بود .

ولي با ترقي و جلو رفتن دانش ساخت سايت , معناي اين واژه و كلمه تغيير‌و تحول يافت ;

امروزه درطراحي وب سايت به معناي پيش پردازنده ي نوشته بزرگ ( Hypertext Preprocessor ) شناخته مي شود .