DotNet | دات نت
Open in Telegram
تو این روزا بهتره که همیشه علم خودمون رو بالا ببریم و بتونیم با سریع ترین راه ممکن خودمونو بروز نگه داریم. - سعی کنیم از کمترین امکانات بیشترین بهره رو ببریم منتظرت هستیم😉 دنیا رو جای بهتری برای یادگیری کنیم 🌹 #course #book 🆔 @dotnetcode
Show more583
Subscribers
+224 hours
+77 days
+1430 days
Posts Archive
ر Hyperledger Compose يا با نصب ماژولهاي لازم، با استفاده از زبان Go يا ديگر زبانهاي معمول، نسبت به ايجاد قراردادهاي هوشمند خود اقدام کنند. اين ويژگي هايپرلجر، باعث انعطافپذيري بينظيري براي توسعهدهندگان ميشود؛ چرا که نياز به استفاده از يک زبان بهخصوص مانند Solidity را از ميان ميبرد.
درنهايت، هايپرلجر يک شبکه مجوزدار است، به اين معني که مشارکتکنندگان در شبکه داراي هويت معلوم هستند. اين ويژگي هايپرلجر را به يکي از اصليترين انتخابهاي شرکتهايي تبديل ميکند که جهت رعايت الزامات قانوني نياز به شناسايي مشارکتکنندگان در شبکه دارند.
اما هايپرلجر نيز خالي از اشکال نيست. هايپرلجر فاقد سيستم توکنيزه کردن است. اگر چه اين موضوع داراي فوايدي نيز هست، در عين حال باعث ايجاد محدوديت در قراردادهاي هوشمندي است که نياز به پيادهسازي ساده در پلتفرم دارند. براي توسعه قراردادهاي هوشمندي که نياز به پرداخت يا انتقال توکن دارند، بهتر است از پلتفرمهاي ديگر استفاده شود. استلاراستلار بهعنوان از قديميترين و جذابترین پلتفرمهاي قرارداد هوشمند در سال 2014 بنيانگذاري شناخته شده است. موارد اخيرِ استفاده شرکتهاي بزرگ فناوري از شبکه استلار، حاکي از آينده درخشان اين پلتفرم است.
يکي از موارد استفاده کليدي که شرکتها مجاب به استفاده از استلار شدهاند، به وجود آوردن امکان پرداختهاي بينالمللي است. همچنين استلار به سهولت کارکرد مشهور است. استلار عملا به عنوان يکي از بهترين و سادهترين راهکارها براي ICO ها شناخته ميشود.
سرعت و امنيت استلار، آن را به مناسبترين بستر براي پيادهسازي قراردادهاي هوشمند با پیچیدگی کم، تبديل کرده است. همچنين استلار يکي از کمهزينهترين بسترها جهت پيادهسازي قراردادهاي هوشمند و در مقايسه با ساير پلتفرمها هزينه ارسال تراکنش در آن بسيار پايين است.
استلار امکان پيادهسازي قراردادهاي هوشمند را با استفاده از انواع ويژگيها و محدوديتها در عمليات خود فراهم آورده است. ويژگيهايي مانند Multisignature، Batching، Sequence، TimeBound، Escrow Account و Claimable Balance که از طريق آنها انواع مختلف عمليات موردنياز جهت پيادهسازي قراردادهاي هوشمند ميسر ميشود. مزاياي استلار:* ايدئال براي ICO ها
* بسيار ارزان
* سادگي
* کارايي مناسب در نهایت...انتخاب بهترين بستر جهت پيادهسازي قراردادهاي هوشمند نيز نياز به شناسايي صحيح نیازمندیها دارد. اگر قصد انتخاب پلتفرمی براي پيادهسازي قراردادهاي هوشمند دارید، بايد گزينههاي مختلف را بررسي و بهترين گزينه را انتخاب کنيد.
➖ @techroo ➖
نوشتههای بلاک چین
مختصری درباره پلتفرمهای قرارداد هوشمند؛ اتریوم، استلار و هایپرلجر
https://files.virgool.io/upload/users/234010/posts/rg4oj1t7adrp/kq3v1yfxpodj.png قراردادهای هوشمند ابزاري هستند که ميتوانند موجب تغييرات شگرفي در چگونگي انعقاد مناسبات تبادل ارزش شوند. اين تغييرات ممکن است با ايجاد راهکارهاي کاملا نوين يا بهبود بسيار زياد در فرايندهاي فعلي صورت پذيرند. در ادامه در مورد قراردادهای هوشمند در سکوهای استلار، اتریوم و هایپرلجر خواهیم خواند.
قرارداد هوشمند نياز به يک شخص يا طرف بيروني براي اعمال و کنترل تراکنشها ندارد و در عوض با تکيه بر شبکهاي از گرههاي توزيعشده پايگاهداده مربوط را پردازش و نگهداري ميکند.
شرکتها و نهادها قادر به توسعه، برپاسازي و نگهداري شبکه اختصاصي خود نخواهند بود و در عمل ترجيح خواهند داد از شبکههايي که براي اين منظور ايجاد شده و مقبوليت کافي را کسب کرده است استفاده کنند.
عاملين اين شبکهها به تمامي افراد اجازه ميدهند بر بستر شبکه اقدام به ايجاد قرارداد هوشمند کنند. غالبا هزينه استفاده از اين شبکهها به صورت پرداخت توکن همان شبکه اخذ ميشود. بديهياست که مقدار اين هزينه با ميزان پردازش موردنياز قرارداد رابطه مستقيم دارد. هر چهقدر قرارداد هوشمند داراي پيچيدگي بيشتري باشد نياز به هزينه بيشتري براي اجرا خواهد داشت.
در حال حاضر گزينههاي زيادي پيش روي توسعهدهندگان قرارداد هوشمند وجود دارد؛ اما در ميانشان شبکههايي با برتری چشمگیر وجود دارد. در ادامه اين نوشتار به بررسي 3 سکوي برتر جهت استقرار (Deploy) قرارداد هوشمند ميپردازيم. اتريومغالباً علاقهمندان به فناوري بلاکچين، اتريوم را با توکن آن ميشناسند، از اين موضوع غافلاند که اتريوم يکي از مشهورترين بسترهاي استقرار قرارداد هوشمند به شمار ميآيد و انتخاب اول اغلب توسعهدهندگان قرارداد هوشمند است. تا آنجا که اکثر افراد تازهکار در اين زمينه، شبکه اتريوم و قرارداد هوشمند را همرده و مترادف ميدانند.
اين پلتفرم در سال 2015 مطرح شد و پس از فراز و نشيبهاي بسيار به نقطهاي رسيه که قراردادهاي هوشمند مربوط به موارد کاربردي بسياري ازجمله بازيهاي آنلاين و ICOها را شامل ميشود. امروزه اغلب ICO هاي فعلي در قالب استاندارد توکن «ERC20» مطرح ميشوند.
مزيت اصلي پلتفرم قرارداد هوشمند اتريوم، سطح بالاي استاندارد و پشتيباني آن است. اتريوم مجموعهاي از قوانين مبين و شفاف جهت توسعه قراردادهاي هوشمند وضع کرده که باعث افزایش سادگي و کاهش ريسک براي ذينفعان شده است.
از منظر پشتيباني نيز علاوه بر بزرگترين جامعه کاربري و بيشترين حجم استفاده قراردادهاي هوشمند در اين پلتفرم، اتريوم کاملا متعهد به بهبود شيوه ايجاد و کارکرد قراردادهاي هوشمند است. اتريوم حتي زبان برنامهنويسي قرارداد هوشمند مختص به خود به نام Solidity را توسعه داده است که نه تنها به استاندارسازي بلکه به سادهسازي ايجاد قراردادها نيز کمک ميکند؛ اما اين به معني خالي از ايراد بودن اتريوم نيست. در طي اين سالها ايرادات امنيتي بسياري متوجه پلتفرم اتريوم بوده است. تحقيقات اخير نشان ميدهد 34 هزار قرارداد از مجموع قراردادهاي هوشمند مستقر بر اين پلتفرم دچار باگهاي امنيتي هستند.
باوجوداين، اتريوم همچنان به عنوان يکي از بهترين پلتفرمهاي چندمنظوره جهت ايجاد قراردادهاي هوشمند به شمار ميآيد. مزاياي اتريوم:* استفاده رايگان (تراکنشها مشمول پرداخت هزينهاند.)
* استاندارد توکن اتريوم ERC20
* زبان برنامهنويسي قرارداد هوشمند اختصاصي Solidity
* راهنماهاي واضح براي توسعهدهندگان
* جامعه توسعهدهندگان بزرگ و پيشرفته معايب اتريوم:* شبکه اغلب پرازدحام
* هزينههاي بالاي پيادهسازي قراردادهاي هوشمند
* ايرادات امنيتي يافت شده هايپرلجر فبريکپروژهي هايپرلجر در دسامبر 2015 توسط بنياد لينوکس شروع شد و با همکاري IBM ادامه پيدا کرد. هايپرلجر يک پروژهي متن باز است که اکنون چارچوبهاي (Framework) مختلفي تحت لواي آن در حال توسعه هستند. هايپرلجر فبريک، پلتفرم قرارداد هوشمندي است که به عنوان يکي از بهترين جايگزينهاي اتريوم مطرح شده است.
همانند اتريوم، توسعهدهندگان هايپرلجر نيز ابزارهاي بسيار مفيدي ساختهاند که از جمله آنها ميتوان به «Hyperledger Composer» اشاره کرد که ابزاري مبتني بر جاوا اسکريپت است و توسعهدهندگان را قادر ميسازد با سادگي و اثرگذاري بيشتري قراردادهاي هوشمند خود را ايجاد کنند.
توسعهدهندگان قادر خواهند بود با استفاده از جاوا اسکريپت د[...]
نوشتههای بلاک چین
ایجاد زنجیرههای تأمین کارآفرینانه راهنمایی برای نوآوری و رشد
کتاب «ایجاد زنجیرههای تأمین کارآفرینانه راهنمایی برای نوآوری و رشد»، نوشتهی «ویلیام بی. لی»، ترجمه ی «دکتر سید مجتبی سجادی و نرگس صادقی گنجه» توسط انتشارات «دانشگاه تهران»، در «452» صفحه و در سال «1397» منتشر شده است.
https://files.virgool.io/upload/users/296863/posts/qxyfhyh5vfat/ggyyx2g8qzi5.jpeg
زنجیره تأمین کارآفرینانه یک مفهوم جدید است. در مورد این موضوع تاکنون نوشته ای ندیده ام، درعین حال ایده ای قوی است که زمان بررسی آن فرارسیده است. این تصور که عناصر زنجیره های تأمین- از تأمین کننده تأمین کنندگان تا مشتری مشتریان - می توانند به شیو ه ای کارآفرینانه مورداستفاده قرار گیرند، یک تفکر قدرتمند است. دکتر لی یکی از افراد آگاه، خلاق و سخنور در زمینه عملیات و مدیریت زنجیره تأمین است. در یک کلام "او در کارش خبره است." بیشتر مردم کارآفرینی را مترادف کسب و کار های نوپا درنظرمی گیرند، اما دکتر لی به آن بیشتر از دیدگاه شرکت های بزرگ و "کارآفرینی سازمانی " توجه می کند. او نشان می دهد که چگونه 3، سیمکس، کورنینگ، سیسکو و سایر شرکت ها M، شرکت های بزرگی همچون سیسکوسیستمز زنجیره های تأمین خود را گسترش داده اند. به عنوان یک استاد دانشگاه، ارزش این نمونه ها را به عنوان ابزار یادگیری درك می کنم و مورد مطالعاتی بیکرهیوز نیز که در انتهای هر فصل آمده است، شرکتی با بیش از 20 میلیارد دلار فروش است. این موارد، ایده های قدرتمند نویسنده را به طور مؤثری تکمیل می کنند. او در این کتاب به بررسی زنجیره های تامین کارآفرینانه از زوایای مختلفی می پردازد: اول، زنجیره های تامین کارآفرینانه با هم معرفی شده و با هم مرتبط هستند. او نشان می دهد که چرا و چگونه این حس ایجادمی شود. سپس چرایی زنجیره های تامین کارآفرینانه از جمله شکل های عملی و قانونی زنجیره های تامین کارآفرینانه تشریح می شود. در ادامه این که فرصت ها چگونه و در کجا پدید می آیند و چگونه تشخیص داده می شوند ، بیان می شود. نویسنده کل زنجیره تأمین کارآفرینانه را (از تأمین کننده تأمین کنندگان تا مشتری مشتریان) محلی برای جست و جوی فرصت ها و بروز فعالیت های کارآفرینانه درنظرمی گیرد. بحث او در مورد ریسک های زنجیره تأمین کارآفرینانه یکی از فصل های قوی این کتاب است که به راحتی می تواند در مورد هر شرکتی اعمال شود. فرایند های تحلیل و برنامه ریزی کسب و کار یکی از راه هایی است که کتاب برای کاهش ریسک های سرمایه گذاری پیشنهاد می کند. فصل پایانی در ارتباط با "بازگشت سرمایه گذاری" است و نشان می دهد که شرکت ها چگونه از فعالیت های خود سود کسب می کنند. مطالعه موردی شرکت سیسکو که یک شرکت بزرگ توزیع مواد غذایی است نیز برای نشان دادن این ایده ها ارائه می شود. در نهایت، پیوست "الف" در ارتباط با ترسیم چشم انداز زنجیره های ت أمین کارآفرینانه است. این پیوست، راهنمای چگونگی اقدام برای ایجاد چشم انداز سرمایه گذاری است. پیوست "ب" یک نمونه طرح کسب و کار را برای سرمایه گذاری زنجیره تأمین کارآفرینانه به شیو ه ای منحصربه فرد ارائه می دهد. او یک شرکت خدمات تدفین را به عنوان فعالیت زنجیره تأمین کارآفرینانه ارائه می کند، چیزی که بیشتر ما به احتمال زیاد به آن فکر نمی کنیم. پیوست "ج" چگونگی ساخت برنامه های آموزش تئوری و عملی برای زنجیره های تأمین کارآفرینانه را نشان می دهد. پیوست "د" واژه نامه ای از اصطلاحات شامل واژه هایی برای کارآفرینی، مدیریت پروژه و زنجیره های تأمین است.
➖ @techroo ➖
euugtsbqe6/oxoykf4hehz2.png
در ترمینال با تایپ کردن دستور git branch می توان لیستی از همه branch ها را مشاهده کرد .
شاخه ها واقعاً مهم هستند زیرا همکاری با دیگران و کار همزمان روی چندین ویژگی یا قسمتهای مختلف پروژه شما را بسیار آسان می کند.
با ثبت commit های بیشتر ، branch ای که در آن هستیم به روز می شود تا به آخرین commit ثبت شده اشاره کند. 📷اشارهگرmasterbranchدرحالاشارهبهآخرینcommitما https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/yhjmwifh17x1.png
در پایان اگر می خواهید صفر تا صد git را بیاموزید حتما از دوره جامع git یودمی ایران استفاده کنید زیرا این تنها یک لایه سطحی از آنچه git ارایه می دهد بود.
➖ @techroo ➖
ا بهش بگید نمیتونه روی شما غلبه کنه ، باوجود همه تلاشی که داره میکنه شما ارامشتون رو حفظ میکنید و با کشیدن نفس های عمیق پشت سره هم و شمرده اکسیژن خونتون رو بالا میبرید و بهش غلبه میکنید!
خب!قانونامون تموم شد اما یکسری نکات ریزی هست که واقعا نیاز میبینم بگم
نکات ریز:
1-یادتون باشه تغذیه خیلی مهمه حتی بیشتر از اون چیزی که فکرشو میکنید ! سعی کنید تغذیه سالمی رو داشته باشید و هر وقت حوصلتون سر میره آب بخورید (واقعا آب جزو یکی از معجزات محسوب میشه)
2-یادتون نره ورزش کردن مداوم نقش خیلی مهمی رو بازی میکنه برای کمتر کردن سطح استرستون و تعداد دفعاتی که رخ میده یکی ازکارهایی هم که واااقعا دوستانه بهتون پیشنهاد میکنم مدیتیشن هست !(اگر نمیدونید چجوری مدیتیشن کنید توی گوگل سرچ کنید )
3- اگر شما مثل من گاهی استرس هایی که دستتون میده شب و موقع خواب هست و اون موقع دیگه صد در صد نمیتونی آهنگ بزاری و قر بدی یا بنویسی و حرف بزنی و این داستانا و فقط نیاز داری بخوابی تا فردا صبح سرحال بری سره کار این چندتا کار میتونه بهتون کمک کنه : اول اینکه توی طول روز کااملا تخلیه انرژِی کنید خودتون رو ، آب زیاد بخورید خصوصا قبل از خواب آب ولرم بهتون آرامش میده(اگرم اهل دمنوش هستید ،دمنوش اسطوخودوس قبل از خواب بهتون آرامش میده)، گلاب هم میتونه به شدت کمکتون کنه (مثلا میتونید یه کم اسپری کنید روی بالشتون)، موقع خواب موبایلتون رو فراموش کنید و بزاریدش کنار تا تنها چیزی که بهش فکر میکنید خوابیدن باشه (نور گوشیتون دشمن خواب شماست دوست عزیز)، مکان خوابتون رو هم به راحت ترین حالت ممکن تغییر بدید ....باتشکر
*خدایی حال میکنی سنتی و صنعتی ترکیبی دارم میگم بهتون:)
4-لطفا فراموش نکنید ! داستان استرس ها به اینجا ختم نمیشه و کلی پروسه و انواع مختلف و رویکرد ها و راه های درمان متفاوتی داره و اگر به صورت جد ی توی کیفیت زندگیتون اثر گذاشته حتما باید به تراپیست مراجعه کنید(چون بعضی وقتا دیگه از کنترل ما خارج میشه ....) و این رو هم بدونید که هر استرسی یه منشایی داره در پی حل منشااش کوشا باشید و توی اینکار بازهم تراپیست ها میتونن کمکمون کنن
امیدوارم مفید بوده باشه شماهم اگر رویکرد و یا راهکاری برای مقابله با استرستون دارین بهم بگید
و ممنون از شمایی که تا اینجا اومدی و خوندی :)
➖ @techroo ➖
نوشتههای برنامه نویسی
سفر به اعماق کامپیوتر - قسمت یازدهم (کار با رنگ ها)
https://files.virgool.io/upload/users/143910/posts/hadyhbdymjvw/shcb1nf5burj.png سلام.
حالتون چطوره؟
توی این قسمت با استاندارد رنگ ها بیشتر آشنا میشیم و در ادامه با اطلاعاتی که به دست میاریم یسری جینگولک بازی (نوشتن انیمیشن و ترکیب دوتا رنگ و...) در میاریم و با دونسته هامون تفریح میکنیم. این چنل تلگرام: https://t.me/intern_plus_plus
اینم گروه تلگرام: https://t.me/intern_plus_plus_group
اینم جاهای دیگه: https://internplusplus.ir
ممنون میشم اگه ویدیو رو از یوتوب ببینید ولی هر جور راحتید.
https://aparat.com/v/BiDr8
کد نوشته شده در این قسمت:
function setColor(color,id){document.getElementById(id).style.backgroundColor = color}function r255(){return Math.random() * 255}function avg(color1,color2){var r = Math.round(color1[0] + color2[0]) / 2var g = Math.round(color1[1] + color2[1]) / 2var b = Math.round(color1[2] + color2[2]) / 2return [r,g,b]}var color1 = [r255(),r255(),r255()]var color2 = [r255(),r255(),r255()]var avgColor = avg(color1,color2)setColor(`rgb(${color1[0]},${color1[1]},${color1[2]})`,"item1")setColor(`rgb(${color2[0]},${color2[1]},${color2[2]})`,"item2")setColor(`rgb(${avgColor[0]},${avgColor[1]},${avgColor[2]})`,"item3")// let red = 255// let blue = 0// setInterval(() => {// red--// blue++// }, 10);
کد بقیه قسمت ها هم توی گیتهاب ما پیدا میشه:
https://github.com/intern-plus-plus/Travel-to-depths-of-computer/blob/main/RGB/index.html
پایدار باشید.
➖ @techroo ➖
نوشتههای برنامه نویسی
من برگشتم! اسم من ...
سلام خواستم بگم این چند روز خیلی اتفاق ها برام افتاد و خوشحالم سالم برگشتم و دارم مثل قبل تایپ می کنم! از بالا دستور دادن صدرا باید، باید و باید صدرا به نوشتن ادامه بده. وگرنه اول از همه خودش آسیب می بینه و دوم میتونه حال دل دیگران رو خوب کنه.
* خب باید بگم پس از یک پروسه ی چهار ماهه تونستم گواهینامه رانندگی رو اخذ کنم.
* رفیقم یکم باهام سرد شد و منم رفتم توی دلش و شوک بهش دادم که هیییی این منم صدرا!
* اصلا بزرگش نکنید، ولی تصادف کردم. پیاده بودم و موتور داشت خلاف میومد و بهم زد! چون با زن و بچه بود و منم اخلاقم زیاد جوری نیست که داد و حوار راه بندازم؛ سریع بلند شدم و گفتم خوبم؛ در حالی که ساق پام حس میکردم خون داره حرکت میکنه! بگذریم می تونست خیلی بدتر باشه و خداروشکر سالم و خوبم.
* شدیدا سمت سه تار نواختن رفتم و خود جوش تونستم یه آهنگ رو از حفظ بزنم! :)
* صاحب یه شغل شدم که البته چون پام توش سِفت نشده بیش از این دربارش نمیگم.
* و در آخر صدرا؛ خب اون تغییر کرده چون اتفاقات زیادی براش افتاده و حتی از نوشتن هم دور شده! یه روزایی میومدم سمت نوشتن ولی خب این قدر دغدغه داشتم، نمی تونستم روی نوشتن تمرکز کنم.
خلاصه امشب گفتم برگردم و بنویسم.
با عشق صدرا 3>
ادامه داستان قسمت هشت به زودی در راهه
➖ @techroo ➖
اولین فایل را در پروژه جدید خود ایجاد می کنید.ما در پروژه ی مثال خود با پوشه ای به نام novel یک فایل متنی ساده به نام ایجاد chapter1 می کنیم. ما می توانیم این کار را با استفاده از ویرایشگر متن یا مستقیماً در ترمینال انجام دهیم. در این مثال ما این کار را مستقیماً در ترمینال با تایپ touch chapter1.txt انجام می دهیم .
اگر یک پروژه ای را از قبل در دسترسی دارید ، برخی از فایل های موجود را ویرایش می کنید. فایل های جدید اضافه می کنید یا فایل ها را حذف می کنید.
بعد ، می توانیم از دستور git status استفاده کنیم . این دستور وضعیت working directory وstaging area را به ما نشان می دهد .و اگر تفاوتی بین این دو وجود داشته باشد به ما می گوید.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/iqtromtbxaxl.png
در مثال ما ، فقط یک فایل جدید به پروژه جدید خود اضافه کردیم. هنگامی که از دستور git status استفاده می کنیم ، Git به ما می گوید که ما یک فایل ردیابی نشده در فهرست کار خود داریم .و باید ازدستور git add برای وارد کردن آن در commit ، استفاده کنیم. که ما را به مرحله 2 می رساند.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/n4tjlm7ilvte.png مرحله 2 – اضافه کردن فایل ها به Staging Areaما می توانیم از دستور git add برای اضافه کردن فایل های جدید یا به روز شده درStaging Area استفاده کنیم. اگر تصمیم گرفتیم که نمی خواهیم برخی از پرونده هایی را که تغییر داده ایم در commit بعدی خود قرار دهیم.می توانیم به راحتی مطمئن می شویم که آن پرونده های خاص را به قسمت Staging Area اضافه نمی کنیم.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/giuauyisdaan.png
در مثال ما ، ما با استفاده ازدستور git add و دادن نام فایل ، تنها فایلی را که در پروژه خود داشتیم به منطقه staging اضافه کردیم . پس اگر اکنون از دستور git status استفاده کنیم می بینیم که Git به ما خواهد گفت که فایل خود را به Staging Area اضافه کرده ایم.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/cyuo7exnifoc.png
این نکته را نیز به یاد داشته باشید که فایل های شما از working directory به staging area کپی می شوند و جا به جا نمی شوند. مرحله 3 – انجام commitسرانجام ، برای انجام commit از دستور git commit با گزینه m- استفاده می کنیم .سپس یک متن برای commit خود می گذاریم مثلا:
git commit -m "in avalin commit ma ast".
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/mk831r7fayvo.png
سپس می توانیم از دستور git log برای لیست کردن همه commit هایی که در پروژه خود داریم به ترتیب زمانی معکوس استفاده کنیم. در مثال ما فقط یک commit داریم.
اکنون ما اولین commit خود را در پروژه خود انجام داده ایم! به عبارت دیگر ما نسخه اول پروژه خود را ذخیره کرده ایم.
commit ها دارای یک هش تشکیل شده از 40 کاراکتر هستند . commit hash ترکیبی از 40 حرف و اعداد است .که به عنوان یک نام برای commit و یا یک راه برای اشاره به آن استفاده می شود.
همچنین می توانیم اطلاعاتی از جمله اینکه چه کسی commit را انجام داده است . چه زمانی commit انجام شده است و پیام commit را مشاهده کنیم. Commit History در Git چیست؟repository متشکل از چندین commit است. و در ساده ترین حالت هر commit دارای یک commit اصلی است که همان commit ای است که قبل از آن ساخته شده. به همین دلیل است که یک commit به commit که قبل از آن در تصویر زیر آمده اشاره می کند.
مباحث پیچیده تری نیز وجود دارد که وارد حوزه چندین شاخه و ادغام می شویم . اما از حوصله این مقاله خارج است.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/tijt82bvvnam.png سخن آخر، Branch در Git چیست؟شاخه(Branch) یک اشاره گر به commit است. branch پیش فرض در Git با نام master یا main شناخته می شود .
با رفتن به پوشه git. و سپس باز کردن پوشه refs،سپس باز کردن پوشه heads و در آخر باز کردن فایلی به نام master ، می توانیم ببینیم که branch یک اشاره گر به یک commit است . درون این پرونده خواهیم دید که یک هش وجود دارد. این هش همان هش commit ما است که branch در حال اشاره کردن به آن است.
ما می توانیم یک بار دیگر از دستور git log برای لیست کردن همه commit های در repository خود استفاده کنیم و خواهیم دید که آن هش کنار commit ی که برچسب master بغل آن در پرانتز است ، قرار می گیرد.
https://files.virgool.io/upload/users/928921/posts/pi[...]
نوشتههای برنامه نویسی
چالش برنامه نویسی
https://files.virgool.io/upload/users/143910/posts/zy0tjgvuifjg/iqeinf06surt.png
سلام حالتون چطوره؟
امروز میخوام شما ویرگولی های عزیز رو به یه چالش دعوت کنم.
چالشی که توش هر هفته یسری سوال از کوئرا انتخاب میکنم و همه میریم حل میکنیم و راه حل هامون رو برای هم توی گروه تلگرام میفرستیم.
بعععععععععععععددددد
کد همدیگه رو review میکنیم. یعنی میبینیم و ایراداتش رو میگیم.
خلاصه که کلی کیف میده و تمرین خیلی خوبیه برای اینکه قدرت حل مساله خودمون رو بالا ببریم.
اگه خواستید پاشید بیاید :)
لینک گروه تلگرام:
https://t.me/intern_plus_plus_group
➖ @techroo ➖
نوشتههای برنامه نویسی
بیا با استرسمون دوست شیم!
https://files.virgool.io/upload/users/716101/posts/id76jeghgsa8/3nycdsexwy56.png <figcaptionاسترس؟!
سلامی دوباره !
خب نظرتون چیه یکم درباره استرس حرف بزنیم؟
هممون دیگه استرس رو میشناسیم و تقریبا مهمون خونه ی همه ی ماها بوده و هست و خواهد بود ....این بنده خدا بعضی وقتا میاد ،میره برای خودش تردد میکنه که خب طبیعیه توی یکسری شرایط ، اما بعضی اوقات مهمون ناخونده میشه و خروس بی محل بازی در میاره!... حالا اینکه خوبه بعضی وقتا اومدنش با خودشه رفتنش با خدا ...
اون وقتایی که این دوست عزیز خروس بی محل میشه ممکنه روی خیلی چیزا تاثیربذاره ...مثلا روی تمرکز،خواب،کار،اعتماد به نفس!،مریضی،تصمیم گیری ،آرامش و.....هرکسی هم توی شرایطی که مختص خودش هست میتونه این دوستمون رو بگیره(استرس رو...)اما باهاش چیکار میکنه؟یا میکنید؟یا میکنم؟
خب این قسمتش خیلی مهمه اینکه باهاش چیکار میکنیم تقریبا 80%ماجرا به این که باهاش چیکار میکنیم بستگی داره بزارید بریم سراغ مثال که پرواضح شه..!
مثلا وقتی من استرس میگیرم روی خوابم و تمرکزم تاثیر میذاره ،حتی بعضی وقتا روی تصمیم گیریم ،دیدین وقتی خیلی کارای مهمی برای انجام داری اصلا انجام نمیدی!چون استرس اش رو داری و نمیتونی تصمیم بگیری یا دیدی از استرس زیاد اعتماد به نفستو از دست میدی و مثلا کنفرانست رو خراب میکنی یا اصلا نمیتونی ارائه بدی ؟! (هممون دیدیم..)من کارهای متفاوتی رو انجام میدم برای اینکه این دوستمون رو از خودم دور کنم و در حقیقت چند قانون رو رعایت میکنم :
قانون اول : از دره دوستی وارد شو!
باید باهاش دوست شی . نباید دشمن خودتون کنید استرس رو ،چون اگر بخوایید باهاش بجنگید اون از شما قوی تره ! هیچ آدمی هیچ جای دنیا از استرس نمرده!(این رو میگم چون خیلی از ما انقدر ازش میترسیم که فکر میکنیم قراره بمیریم)آره...فقط حس بدی داره که خب تقریبا همه ادم های دنیا تجربش کردن!پس قانون اول اینه که باهاش دوست شی ! و خودت رو عذاب ندی که چرااا استرس گرفتی !؟ (فکر کن یه مهمونه که دوستش نداری)خودت رو متقاعد کن که اونقدر بد نیست که منو از پا دراره!وقتی اومد سراغتون بگو : عه بازم این اومد !
قانون دوم: حوصلشو سر ببر!
ببین عملکرد استرس اینجوریه که میاد تا تورو با کارهایی که میکنه از کارایی که میخوایی بکنی منصرف کنه و مانعشون بشه(امیدوارم فهمیده باشین چی گفتم) حالا کاری که تو باید بکنی اینه که بهش فرصت ندی باهات بازی کنه ! بهش باید بی اعتنایی کنی انقدری که حوصلش سر بره و بره سراغ نفر بعدی (مثل شیطون میمونه لامصب...)حالا چجوری؟ در اصل باید سره خودتو گرم کنی مثلا من مینویسم ...هرچی...مهم نیست فقط مینویسم... راجع اینکه بستنی خوردم ،با دوستام رفتم بیرون، فیلم دیدم، شام خوردم ،فلان فیلم و نقد میکنم و.....(این یکی از تکنیک های حواس پرت کردن خودتون هست....) یک کاره دیگه ای که میکنم با خودم حرف میزنم (مثل دیونه ها !...) راجع به هرچی ... شروع میکنم به صحبت کردن اینکه چقدر امروز لباس فلانی خوشگل بود یادم باشه ازش بپرسم از کجا خریده!اوه...باید برم برای خودم شام سیب زمینی با پنیر پیتزا درست کنم و.....!!
خلاصه که این هم یکی از تکنیک های پرت کردن حواس خودتون هست!
یا مثلا اهنگ گوش دادن هم میتونه خیلی خوب باشه! البته یادتون باشه آهنگ خیلی شاد (نه داریوش!)طوری که باهاش پاشید و خودتون رو تکون بدید تا ایندورفین توی مغزتون ترشح شه ...
راه های زیادی وجود داره که باید باتوجه به تیپ شخصیتی خودتون پیداش کنید که دوست دارین کدوم کار و انجام بدین ؟
(...نقاشی کشیدن،دویدن توی فضای باز ، حرف زدن با دوستی که میدونید بهتون کمک میکنه و انرژی میده .....)
نکته مهم : یادتون باشه ! سعی کنید کارهایی که احتیاج به تمرکز و فکر داره ترجیحا انجام ندید مثلا نرید درس بخونید یا پروژه دانشگاهتون وانجام بدید چون اونوقت به خاطر استرس عدم تمرکز دارین و نمیتونید کارتون رو درست انجام بدین و بدتر اعصابتون خورد میشه و اینم بدونید که هیچ جای دنیا هیچ آدمی با عقب افتادن کارهاش ، درسش،پروژه اش به خاک سیاه نشسته! ( ...البته اگر شما جزو اون دسته آدم هایی هستید که اینکار بهتون کمک میکنه و میتونید کارهای فکری انجام بدید هیچ اشکالی نداره ها....)
قانون سوم : باهاش حرف بزن!
آره دوست عزیز! باهاش حرف بزن! .....
اگر شماهم مثل من جزو اون دسته افرادی هستید که زود زود استرس میگیرید با استرستون حرف بزنید بهش بگید که از وجودش آگاه هستید و میدونید که الان اومده مهمونتون شده و داره ناراحتتون میکنه اما این رو بهش حتم[...]
شدیم ، برای شروع استفاده از Git باید مخزنی را با استفاده از دستور git init ایجاد کنیم .
هنگامی که دستور را با تایپ کردن آن در ترمینال و فشار دادن enter اجرا می کنیم .به نظر می رسد که اتفاق خاصی نیفتاده است. اما اشتباه نکنید ، Git گاهی اوقات بسیار ساکت و بی سر و صدا عمل می کند اما در پشت صحنه اقدامات زیادی را انجام می دهد.
برای اینکه ببینیم Git در پشت صحنه چه کاری انجام داده است ، باید فایل های مخفی خود را مشاهده کنیم. مطمئن شوید که پوشه پروژه خود را در سیستم فایل سیستم عاملتان باز می کنید. اگر در سیستم عامل Mac هستید می توانید Command + Shift + Dot را وارد کنید تا بتوانید فایل های مخفی را در سیستم فایل خود مشاهده کنید. اگر از سیستم عامل Windows استفاده می کنید ، می توانید تنظیمات نمای خود را تغییر دهید تا بتوانید پرونده های مخفی را در سیستم خود مشاهده کنید.
به منظور مشاهده فایل های مخفی با استفاده از ترمینال می توانیم از دستور زیر استفاده کنیم :
ls -a
چیزی که اکنون باید مشاهده کنیم پوشه ای به نام git. در داخل پوشه پروژه ماست. این همان چیزی است که مخزن (Repository) ما را نشان می دهد.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/01ovbsq5spms.png Git Repository چیست؟Repository ما همان پوشه git. در داخل پوشه پروژه ما است. آن کلیه تغییرات ایجاد شده در فایل های پروژه ما را ردیابی کرده و آن تاریخ را با گذشت زمان ثبت می کند.
مخزنی (repository) که ما در رایانه خود داریم به عنوان مخزن محلی (local repository) شناخته می شود .
پیش از این ما به خدمات میزبانی مانند GitHub ، GitLab و Bitbucket اشاره کردیم. هنگامی که ما مخزن محلی خود را به یکی از این سرویس ها وارد می کنیم( همان آپلود کردن به آن سرویس)، مخزنی که در این سرویس در فضای ابری قرار می گیرد به عنوان مخزن از راه دور (remote repository) شناخته می شود .
استفاده از یک مخزن از راه دور برای اینکه بتوانید با افراد دیگر بر روی پروژه ای همکاری کنید . همچنین در صورت بروز اتفاقی برای لپ تاپ یا رایانه ما ، از پروژه های خود بک آپ داشته باشید ،بسیار مهم است. نحوه همکاری با سایر توسعه دهندگان با استفاده از Gitاگر توسعه دهنده دیگری بخواهد در پروژه ما با ما همکاری کند ، می تواند remote repository را از سرویس میزبانی که شما پروژه تان را در آن بارگذاری کرده اید ، Clone (یا به عبارت دیگر دانلود ) کند.
این به آنها امکان می دهد پروژه را روی رایانه خود نیز داشته باشند. پس از پروژه موجود در رایانه آنها نیز به عنوان مخزن محلی (local repository) یاد می شود.
در یک پروژه با چندین توسعه دهنده ، هر کدام یک مخزن محلی (local repository) در رایانه خود دارند. و یک remote repository وجود دارد که همه آنها به آن کمک می کنند و از آن برای به اشتراک گذاشتن کارهای خود استفاده می کنند.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/mgtkx6ot6eof.png گیت چگونه تغییرات را ردیابی می کند؟به منظور ذخیره نسخه های مختلف پروژه خود در Git ، ما از commits استفاده می کنیم. Git Commit چیست؟commit یک نسخه از پروژه شما می باشد. این یک نسخه مستقل از پروژه شما است .پس به کلیه فایل ها و پوشه هایی که بخشی از آن نسخه هستند اشاره دارد. چگونه می توانم در Git یک commit بسازم؟برای درک چگونگی ساخت commit ، باید در مورد سه فضای مختلف درون گیت- working directory, staging area و commit history – اطلاعات کسب کنیم.
working directory اساسا همان محتویات پوشه پروژه ما ( یک دایرکتوری همان فولدر است) را بیان می کند. در واقع نوعی محل کار است که در آن می توانیم پرونده هایی را به پروژه خود اضافه ، ویرایش و حذف کنیم.
staging area و commit history بخشی از مخزن(repository) ما هستند.
staging area مانند یک فضای پیش نویس برای پروژه ما است. جایی است که می توانیم نسخه های به روز شده فایل ها را اضافه کنیم یا فایل ها را حذف کنیم تا آنچه را می خواهیم در commit بعدی خود .(نسخه بعدی پروژه خود). قرار دهیم ، انتخاب کنیم. در git. پوشه staging area با فایلی به نام index نمایش داده می شود.
و در نهایتcommit history جایی است که commit های ما پس از ساخته شدن ذخیره می شوند . در پوشه hot. تاریخچه commit ها با پوشه ای به نام objects نمایش داده می شود.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/wbpoasduxigw.png یک نمونه رایج از نحوه کارکرد Gitمرحله 1 – ویرایش فایل هااگر قصد شروع پروژه جدیدی دارید ،[...]
نوشتههای برنامه نویسی
گیت چیست؟ یک تعریف مقدماتی از سیستم کنترل نسخه Git
گیت یک سیستم کنترل نسخه(version control system) است که توسعه دهندگان از آن در سراسر دنیا استفاده می کنند. و به شما کمک می کند نسخه های مختلف کد برنامه خود را ردیابی کنید . و با توسعه دهندگان دیگر همکاری کنید.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/jcpmbw4z276h.jpeg
اگر بر روی یک پروژه برای بازه ای طولانی کار می کنید ، ممکن است بخواهید ردیابی کنید که چه تغییراتی توسط چه کسی و در چه زمانی انجام شده است. این مساله در صورت پیش آمدن اشکالی در کد ، اهمیت بسیار بیشتری پیدا می کند! Git می تواند در این زمینه به شما کمک کند.
اما Git در ابتدا می تواند کمی ترسناک و گیج کننده باشد. خصوصا زمانی که برای اولین بار یادگیری آن را شروع می کنید ، بنابراین در این مقاله من Git را به روشی قابل درک برای شما معرفی می کنم. ما موضوعاتی مانند مخازن ، تعهدات ، شاخه ها .(repositories, commits, branches).اینکه git چیست؟ و github چیست و موارد دیگر را پوشش خواهیم داد . پس بیایید شروع کنیم! گیت چیست؟Git یک سیستم کنترل نسخه است که شما آن را روی رایانه خود نصب می کنید. اگر می خواهید با سایر توسعه دهندگان در یک پروژه کد نویسی همکاری کنید یا روی پروژه خود کار کنید ، استفاده از Git یک صرورت است.
برای بررسی اینکه آیا Git را بر روی رایانه خود نصب کرده اید می توانید از این دستور در ترمینال خود استفاده کنید:
git --version
اگر Git را قبلاً نصب کرده باشید ، می بینید که چه نسخه ای از آن را دارید. اگر Git را نصب نکرده اید ، می توانید به وب سایت Git مراجعه کرده و به راحتی دستورالعمل های نصب را برای دانلود و نصب نسخه صحیح سیستم عامل خود دنبال کنید. گیت هاب چیست؟گیت هاب محصولی است که به شما امکان می دهد پروژه های Git خود را در جایی (به عبارتی در فضای ابری) در یک سرور از راه دور میزبانی کنید.
مهم است که به یاد داشته باشید که گیت همان GitHub نیست. GitHub فقط یک سرویس میزبانی است. شرکت های دیگری هستند که خدمات میزبانی را ارائه می دهند که در واقع همان کار GitHub را انجام می دهند ، مانند Bitbucket و GitLab.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/gqryjpu1eprg.png نحوه شروع کار با Gitترمینال در مقابل رابط کاربری گرافیکیشما هم می توانید با تایپ دستورات در ترمینال از Git استفاده کنید . هم می توانید از رابطهای کاربری گرافیکی (GUI) مانند Sourcetree یا GitKraken استفاده کنید.
اگر ترمینال را انتخاب کنید ، باید تحقیق و مطالعه کنید که به کدام دستورات Git نیاز دارید.
خوشبختانه شما مجبور نیستید اینها را دانه به دانه یاد بگیرید و حفظ کنید . به جز تعداد انگشت شماری از دستوراتی که معمولاً استفاده خواهید کرد ، بقیه موارد را می توانید هر زمان که احتیاج داشتید با یک جست و جوی ساده به دست بیاورید. (این کاری است که اکثر توسعه دهندگان انجام می دهند ، حتی کسانی که چندین دهه تجربه دارند). Git مستندات مفصلی را در وب سایت خود ارائه می دهد .
اگر استفاده از رابط کاربری گرافیکی را انتخاب کنید ، اقدامات مختلفی که باید انجام دهید به صورت تصویری نمایش داده می شود.
چه استفاده از ترمینال را انتخاب کنید چه رابط کاربری گرافیکی، باید اصول کار Git را درک کنید تا با اطمینان از آن استفاده کنید.
برای ادامه مقاله git چیست ، ما مثالهایی را با استفاده از Git در ترمینال با شما به اشتراک خواهیم گذاشت. اما اگر از GUI استفاده کنید ، مراحلی که ما به اشتراک می گذاریم بسیار شبیه به هم هستند. چرا که هسته کار یکی است. نحوه تهیه پوشه پروژه خود در Gitبرای استفاده از Git باید پروژه ای داشته باشیم که قصد داریم نسخه آن را کنترل کنیم. این می تواند یک پروژه جدید باشد یا یک پروژه ای که از قبل روی آن کار کردیم.
اگر این یک پروژه جدید است ، پس ما باید یک پوشه پروژه جدید ایجاد کنیم (نکته: ما می توانیم از دستور mkdir برای ساخت پوشه استفاده کنیم ) و سپس به پوشه آن پروژه در ترمینال برویم .
اگر بخواهیم یک پروژه موجود را انتخاب کنیم ، به سادگی به پوشه آن پروژه از طربق ترمینال می رویم.
در مثالی که ما می زنیم، یک پوشه برای پروژه جدید ایجاد خواهیم کرد به نام novel.
https://files.virgool.io/upload/users/928921/posts/pieuugtsbqe6/lejwqk7j9yj9.png نحوه ایجاد Git Repositoryوقتی وارد پوشه پروژه خود [...]
