معرفی خودم

معرفی خودم

دوستان عزیز این اولین پست من هست من علاقمند به برنامه نویسی مخصوصا پایتون و بحث هوش مصنوعی هستم . اگر کسی میتونه کمکی بکنه اطلاع بده . بعدا پستهای خوبی برای شما میذارم مخصوصا در مورد کرونا. فعلا تاکید میکنم از کرونا نترسید …

نوشته معرفی خودم اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

جنریک ها در جاوا – Generics in Java

می خوام در مورد generic ها براتون صحبت کنم و البته مثال هایی ار در زبان جاوا براتون بیارم.
اول از همه می ریم سراغ اینکه مفهموم generic چیه و چرا ازش استفاده می کنیم.
تعریفی که اوراکل از generic ها ارائه میده به این صورت هست:

“In a nutshell, generics enable types (classes and interfaces) to be parameters when defining classes, interfaces and methods. Much like the more familiar formal parameters used in method declarations, type parameters provide a way for you to re-use the same code with different inputs. The difference is that the inputs to formal parameters are values, while the inputs to type parameters are types.”

ترجمه متن بالا رو می ذاریم به عهده خواننده و می ریم سراغ یک مثال ساده برای فهم راحت تر قضیه. فرض کنید ما یک متد print داریم که String ها رو روی کنسول چاپ می کنه:

public void print(String printMe){
    System.out.println(printMe);
}

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

public void print(Integer printMe){
    System.out.println(printMe);
}

و در نهایت، کل کلاس Printer ما خواهد شد:

public class Printer{
    public void print(String printMe){
        System.out.println(printMe);
    }
    public void print(Integer printMe){
        System.out.println(printMe);
    }
    // too many other print methods...
}

حالا اگه همین رو بخوایم برای هر نوع آبجکتی ادامه بدیم کلاسمون پر میشه از کد های تکراری. اینجاست که یه راه حل اصولی و استاندارد این وسط وجود داره به اسم generic. این به ما اجازه میده کدمون رو عمومی تر بنویسیم تا بتونه با تایپ های بیشتری کار کنه و قابلیت re-use در کد ما بالاتر بره. کد بالا با استفاده از generic به این صورت نوشته میشه:

public class Printer<T> {
    public void print(T printMe) {
        System.out.println(printMe);
    }
}

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

* یه نکته این وسط وجود داره، generic ها رو نمی تونید برای primitive type ها مثل int استفاده کنید. به طور مثال برای کار کردن با int باید از کلاس Integer استفاده کنید.

حالا چرا این <T> احیانا به چشم تون آشناست؟ چون شما از generic بار ها استفاده کردید و اینم نمونه ش:

Map<Integer, String> map = new HashMap<>();
ArrayList<Person> personList = new ArrayList<>();

الان که مفهوم و چرایی generic رو گفتیم یه نکته آخری رو هم بگیم:

وقتی generic رو تعریف کنیم می تونیم اون رو به صورت bounded و unbounded تعریف کنیم. می دونیم که کلاس ها در جاوا بچه ی کلاس Object هستند و در واقع همه شون extends Object رو دارن که ما دیگه نمی نویسیمش. این حکم توی generic هم صادقه، یعنی اگر generic به صورت unbounded تعریف بشه هیچی کنارش قرار نمی گیره مثل کلاس پایین:

public class MyClass<E> {
    private E property;
    public E getProperty() {
        return this.property;
    }
}

و اگر بخوایم generic مون رو محدود کنیم می تونیم به این صورت بنویسیمش

public class MyClass<E extends Number> {
    private E property;
    public E getProperty() {
        return this.property;
    }
}

همون طوری که می دونیم همه اعداد در جاوا فرزند کلاس Number هستند و ما با این محدود سازی کاری کردیم که فقط میشه به این کلاس فرزندان Number و خودش رو پاس داد که خب در جای خودش بسیار کاربردی هست (در واقع ما می تونیم با محدود سازی در حین توسعه از بروز خطاها و Exception های زمان اجرا به حد خوبی جلوگیری کنیم).

نوشته جنریک ها در جاوا – Generics in Java اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

آینده شغلی هوش مصنوعی در ایران

یکی از چالش‌های اصلی این روزهای دنیای هوش مصنوعی، اینه که آیا در ایران، کار برای ما هم پیدا میشه؟

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

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

در این مقاله چه خواهید آموخت؟

1- چرا هوش مصنوعی را باید یاد بگیریم؟

2- ایران به هوش مصنوعی بیشتر از هرجایی، نیازمند است!

3- اقتصاد و هوش مصنوعی

4- جبران فاصله از دنیا

5- پروژه های فعلی در کشور

1- چرا هوش مصنوعی را باید یاد بگیریم؟

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

چرا؟

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

از طرفی، یکی از اصلی‌ترین راه‌های کسب درآمد، رفع مشکلات مردم، دغدغه مندی و بهتر کردن زندگی مردم، این است که در علوم جدید و نوین دنیا، شروع به یادگیری و آموزش کنند. درحال حاضر ماشین لرنینگ به عنوان یکی از زیرمجموعه‌های هوش مصنوعی، در دنیا درحال یکه تازی و همچنین به زودی در ایران، به یک شغل ترند و بی‌نظیر تبدیل می‌شود.

پس هیچ بهونه‌ای برای دست دست کردن وجود نداره. همین الان تصمیم بگیر که شروع به یادگیری کنی.

راستی اگر می‌خوای بدونی که برای آموزش ماشین لرنینگ باید چه مراحلی را طی کنید، در این مقاله مفصلا توضیح دادیم.

2- ایران به هوش مصنوعی بیشتر از هرجایی، نیازمند است!

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

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

3- اقتصاد و هوش مصنوعی

یکی از مواردی که در دنیای امروزه بسیار باعث شده که اقتصاد کشورها رشد کنه، هوش مصنوعی می‌باشد. نیاز هر کشوری این است که در مسائل مختلف بتواند به‌روز، آپدیت و در عرصه رقابت باشد. مهم‌ترین فضای رقابتی در صنعت این است که بتوانیم در فضای هوشمندسازی، حرف‌هایی برای گفتن داشته باشیم.

پس از این زاویه، دیده می‌شود که یادگیری هوش‌ مصنوعی، کمک بسیاری به اقتصاد کشور می‌کند.

4- جبران فاصله از دنیا

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

5- پروژه‌های فعلی در کشور

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

یکی از اصلی‌ترین حوزه‌های هوش مصنوعی، ماشین لرنینگ نام دارد که بشدت می‌تواند نیازهای کشور را رفع کند و برای علاقه‌مندان این مسیر، کسب درآمد کند.

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

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

نوشته آینده شغلی هوش مصنوعی در ایران اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

آموزش طراحی وب

آموزش طراحی وب و کد نویسی صفحات وب ( فرانت اند و بک اند )

وب

بعد از مدتی قصد نوشتن دارم ، تصمیم گرفتم که مبانی طراحی وب رو برای شما عزیزان بنویسم !

دوستانی که مشتاق هستند دنبال کنند و در نظرات حتما عنوان کنن تا میزان اشتیاق شما رو ببینم

هدف از آموزش اینه که شما یک زبان برنامه نویسی رو یاد بگیرید ، یک حرفه بلد بشید ، یک منبع درآمد داشته باشید ( بعضی افراد علاقه ای ندارن درآمدی از این راه بدست بیارن و هدفشون دلی هست )

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

منتظرم …

نوشته آموزش طراحی وب اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

جای این تابع در زندگی خالی است …

ی تابع باید نوشت تو دیتابیس زندگی ;

if ( TimeOfLife == Sad )
 { 
MesseBox.Show(&quotاز زندگی لذت ببر و شاد باش&quot,&quotخطا&quot,MessegeBoxButton.Ok,MessegeBoxIcon.Error);

return;

}

همچنین فک کنم یک شرط دیگم باید بذاریم ;

if(TimeOfLife == Laugh )
{

MessegeBox.Show(&quotبرو جلو موفق می شی رفیق&quot,&quotعالیه&quot,MessegeBoxButton.Ok,MessegeBoxIcon.Information);

}

نوشته جای این تابع در زندگی خالی است … اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

توی REACT به جای If از چی استفاده کنیم؟

نه منظورم اصلا switch نیست. در مورد یه چیز باحالتر میخوام صحبت کنم.

این شکلی نوشته میشه

توی این مثال یک کامپوننت (به فارسی چی میشه؟) تعریف کردیم به نام Text که قرار هست همه متن های پروژه رو برای ما نمایش بده و به وسیله type نوع و سایز اون رو تعریف کنیم.

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

این شکلی هم استفاده میشه

کلا هر چقدر تعداد if ها داخل کدتون کمتر باشه کد خوانا تر میشه، دیباگش هم ساده تره. من با این نمونه دستخط خیلی حال میکنم.

برای این نمونه ساده یه ریپازیتوری توی Github ایجاد کردم که میتونید ببینید. توش ۱-۲ تا مثال انجام دادم. شما هم مثال دیگه ای داشتید حتما pull request بزنید.

https://github.com/hesan-aminiloo/render-without-ifs

نوشته توی REACT به جای If از چی استفاده کنیم؟ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

وقتی یه خط کد تو رو وارد دنیای جدیدی میکنه!

امشب همینجوری تصمیم گرفتم سورس کد پکیج p-map رو بخونم. این پکیج وقتی استفاده میشه که یه تابع async داشته باشیم (mapper) و بخوایم چند بار با پارامتر های مختلف اون رو اجرا کنیم.

import pMap from 'p-map'; 
import got from 'got';  
const sites = [  
    getWebsiteFromUsername('sindresorhus'), //=> Promise 
    'https://avajs.dev',      
    'https://github.com'
];  

const mapper = async site => {  
    const {requestUrl} = await got.head(site);  
    return requestUrl; 
};  

const result = await pMap(sites, mapper);  

console.log(result); //=> ['https://sindresorhus.com/', 'https://avajs.dev/', 'https://github.com/']

وقتی شروع کردم به خوندن تو همون خط های اول چند بار با عبارت Symbol مواجه شدم:

تا حالا با Symbol ها آشنا نشده بودم. البته از کاربردش توی کد و دانش محدودی که از پایتون داشتم تقریبا فهمیدم که به چه دردی میخوره: همونطور که توی مثال بالا دیدید تابع pMap به عنوان اولین پارامترش یک iterable مثل آرایه میگیره. توی خط ۱۲ کد بالا داره چک میکنه که آیا پارامتر اول iterable هست یا نه. ولی بازم برام عجیب بود ولی با یکم تحقیق یکم سر در آوردم.

بیاین اول یکم با خود Symbol ها آشنا بشیم. Symbol هم مثل Number که اعداد رو نشون میده و String که رشته های حرفی رو نشون میده یه نوع از دیتا هست. ولی دقیقا چی رو داره نشون میده؟ جواب یه مقدار یکتا هست! تنها چیزی که در موردش باید بدونید اینه که یه مقدار یکتا و منحصر به فرد هست. میتونید مثل یه عدد خیلی بزرگ مثل 3402894209850295 که همیشه یکتا هست بهش نگاه کنید.

هر بار که تابع Symbol رو اجرا میکنیم، یه مقدار یکتا برامون ساخته میشه. درسته که وقتی تابع toString رو روی اونها اجرا میکنیم یه چیز مشابه رو میبینیم ولی در عمل به هم متفاوت هستند:

const symbol1 = Symbol()
const symbol2 = Symbol()

console.log(symbol1) // Symbol()
console.log(symbol2) // Symbol()

console.log(symbol1 === symbol2) // false

کاربرد اصلیش وقتیه که بخوایم یه key توی یه آبجکت داشته باشیم که مطمئن باشیم یکتا هست.بقیه مباحث از دامنه این مطلب خارجه. میتونید اینجا یکم در موردش بخونید. چنتا مثال ساده هم آخر این ویدیو میتونید ببینید.

قسمت دوم ماجرا iterable ها توی جاوااسکریپت هستند. یادتونه گفتم دانش محدودی که از پایتون داشتم تو فهم اون کد کمکم کرد؟ خب توی پایتون هر چیزی که iterable باشه یا به صورت ساده بشه ازش توی حلقه for استفاده کرد باید یه متد به اسم __iter__ پیاده سازی کنه. این تابع یه iterator برمیگردونه که حلقه for ازش استفاده میکنه.

ظاهرا توی جاوااسکریپت هم همچین خبر هایی هست. هر چیزی که توی جاوااسکریپت iterable باشه باید متد iterator@@ رو پیاده سازی کنه. این متد یه iterator برمیگردونه که حلقه for ازش استفاده میکنه. مثلا آرایه ها این متد رو به صورت پیشفرض دارند. (اطلاعات بیشتر)

اگر توی devtools مرورگرتون یه آرایه بسازید و از همونجا property هاش رو بررسی کنید یه همچین چیزی میبینید:

همونطور که میبینید، Symbol.iterator همون تابع iterator@@ هست که تعریفش رو شنیدیم. دقت کنید که به صورت یه Symbol تعریف شده. تو جاوااسکریپت یه لیست خاص از Symbol ها هستند که به اسم well-known symbols شناخته میشن. Symbol.iterator هم یکی از اون هاست که یه جورایی به عنوان id تابع iterator@@ استفاده میده. در نتیجه اگر بخوایم به تابع iterator@@ یه آرایه دسترسی داشته باشیم باید از این Sybmol استفاده کنیم:

الان اون خط از کد برام روشن شد.

if (iterable[Symbol.iterator] === undefined && iterable[Symbol.asyncIterator] === undefined) {...}

اگر پارامتر اول که اسمش iterable هست Symbol.iterator رو نداشت یعنی اینکه iterable نبود ینی یه جای میلنگه و یه ارور میفرسته. قضیه asyncIterator هم مثل همونه که به خودتون میسپارم.

در نتیجه چند ساعت از وقتم رو همین یه خط کد گرفت (شامل نوشتن این پست هم میشه). گیتهاب جای فوق العاده ای برای یادگیریه. خیلی از پکیج هایی که استفاده میکنید مثل این ممکنه فقط یه فایل داشته باشند و خوندنش راحته. دیدن کدش قطعا میتونه خیلی چیزا یادتون بده. یه چیز جالب هم اینه که پکیج p-map هر هفته نزدیک به ۳۰ میلیون بار دانلود میشه! ببینید یه پکیج ساده چقدر میتونه کاربرد داشته باشه.

در ضمن اگر جایی توی مقاله اشتباه فنی داشتم حتما بهم گوشزد کنید:)

نوشته وقتی یه خط کد تو رو وارد دنیای جدیدی میکنه! اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

بیل گیتس چطور ثروتمند شد؟

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

بیل گیتس چطور موفق شد ؟

چه چیزی بیل گیتس را ثروتمند ساخت ؟

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

  • بیل گیتس مادر پرنفوذی داشته است.
  • بیل گیتس از خانواده ی اصیل و ثروتمندی بوده است.
  • بیل گیتس به واسطه ی موقعیتی که پیش آمده بود ویندوز را ساخت و ثروتمند شد یعنی اگر در زمانه ی دیگری بود نمیشد موفق بشود.
  • بیل گیتس پدری بسیار ثروتمند داشت که کمکش کرد و سرمایه ی خوبی داشت
  • بیل گیتس ترک تحصیل کرد بخاطر همین موفق شد.

تمام پاسخ های بالا صد در صد اشتباه است.چون مثال نقص های زیر را برای پاسخ های بالا در نظر بگیرید :‌

  • بیل گیتس مادر پرنفوذی داشته است ؟ وارن بافت مادری ناشناخته به نام لیلا داشت ولی همیشه پا به پای بیل گیتس جزو ثروتمندترین افراد جهان بوده است.
  • بیل گیتس خانواده ی اصیل و ثروتمندی بوده ؟ استیو جابز موسس اپل که ثروتمندترین کمپانی جهان است هرگز مادر و پدر اصیل خود را در زندگی ندید چون او را در کودکی به خانواده ی دیگری سپردند و در حقیقت پدرش یک مهاجر سوریه ای بود که اصالت امریکایی و درست و حسابی نداشت .
  • بیل گیتس به واسطه ی موقعیتی که پیش آمده بود ویندوز را ساخت و ثروتمند شد یعنی اگر در زمانه ی دیگری بود نمیشد موفق بشود؟ موقعیت زمانی مسخره ترین چیز در زمینه ی موفقیت است که همیشه شنیده میشود برای مثال یکی میگوید چون در آن زمان بافت فرش و فروش فرش رونق نداشت یکی اومده فرش های گرد بافت و میلیارد شد … در هر زمان چیزهای جدیدی است که خلق شود و موفق شود مطمئن باشید همان زمان که بیل گیتس مایکروسافت و ویندوز را ساخت هفت میلیارد آدم روی زمین هم میتوانستند چنین ایده ای پیاده کنند ولی نه میخواستند نه اعتقادی به پیشرفت داشتند.
  • بیل گیتس پدری بسیار ثروتمند داشت که کمکش کرد و سرمایه ی خوبی داشت ؟ این هم که مثالش همان استیو جابز است و خیلی از افراد که در خانواده های بسیار فقیر رشد کرده اند و بیلیون ها دلار سرمایه دارند
  • بیل گیتس ترک تحصیل کرد بخاطر همین موفق شد ؟ مثال نقص خوب این ایلان ماسک است که یکی از پرقدرت ترین افراد و ثروتمندترین افراد هست و در رشته های مختلفی تا آخر ادامه ی تحصیل داده است و از انها استفاده هم کرده است.

پس بیل گیتس را ویندوز یا مایکروسافت یا سهام فلان شرکت خاص موفق نکرده است بیل گیتس تقریبا تمام اقداماتی که انجام داده است موفق بوده است و در هر زمان و موقعیتی موفقیت به سراغش رفته است پس دنبال دلیل بیرونی مثل موقعیت مکانی و زمانی و یک محصول خاص و … نگردید بلکه درون بیل رو باید نگاه کنید.

موفق کننده ی بیل گیتس درون او بوده است قدرت تحمل بالا و تمرکز روی کاری که قصد دارد درآن موفق شود مهمترین عامل بوده است

البته عامل خواستن بی تاثیر نیست بیل گیتس واقعا میخاسته اولین ثروتمند جهان باشه و برای رسیدن بهش هر کاری که لازم بوده را انجام داده است.

از چالش سطل یخ بیل گیتس چه درسی میگیریم ؟‌

چالش سطل یخ معمولا بین انسان های معروف اتفاق میوفتد و این حرکت برای حمایت از بیماران ALS می باشد و یک حرکت نمادین است.

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

تیم کوک مدیر اپل در حال اجرای چالش سطل یخ

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

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

انسان ها برای انجام کارهای خود دیگر نیاز به انسان های دیگری ندارند حتی یک کار ساده ی سطل یخ را میتوان با سیستمی پیاده سازی کرد که نیاز به حتی اعضای خانواده ی خودت هم نباشد

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

چالش سطل یخ بیل گیتس

شاید برای کاری که در عرض دو دقیقه انجام میگیرد و یکبار کلیپ از آن ضبط خواهد شد یک الی دو روز زمان گذاشته میشود ولی نتیجه چطور است ؟

ویندوز که پرفروش ترین محصول مایکروسافت هم بود دقیقا به همین شکل ساخته شد تا تبدیل شود به موفق ترین سیستم عامل جهان !

مدت زمانی که برای انجام کاری صرف میکنید زیاد مهم نیست به نتیجه نگاه کنید آیا نتیجه ی کار ارزشمند است ؟‌اگر پاسخ بله هست قطعا تمام انسان ها از چیز ارزشمند حمایت خواهند کرد …

دلیل پیشرفت سریع بیل گیتس ‌چه بوده است ؟

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

بیل گیتس تقریبا از ۱۵ سالگی ثروتمند شد و ثروتمند بودنش تا به امروز هرگز متوقف نشده است چون پیشرفت و ثروتمند شدن در اصل زندگی این بشر است.

البته کارهایی که بیل گیتس در آن زمان ها انجام داده است را برنامه نویس ها بیشتر درک میکنند و من از زمانی که برنامه نویسی را شروع کرده ام با افراد در این حوزه بیشتر درگیر بوده ام.

باور به اینکه میشود چنین ثروت هایی را ایجاد کرد باعث شد افرادی به سرعت بیل گتس را جلو بزنند اما دلیل دیگر بالا رفتن سن بیل گیتس و بازنشستگی او از شرکت های خودش بوده است.

بیل گیتس خیلی زود خودش را بازنشسته کرده است از شرکت مایکروسافت در حالیکه ۴۵ ساله بود برای همیشه رفت …

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

نوشته بیل گیتس چطور ثروتمند شد؟ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

آموزش سی شارپ مقدماتی (بخش سیزدهم):


با عرض سلام و احترام.
پیشاپیش از شما دوست عزیز و گرامی، بابت وقتی که برای مطالعه ی این مطلب خواهید گذاشت، سپاسگزارم.
تقاضا دارم، در صورت مشاهده ی اشتباه متنی یا محتوایی، به اینجانب اطلاع دهید تا (ضمن کمک به یادگیری بنده) در اسرع وقت برای اصلاح متن اقدام نمایم.
شماره ی تماس:
09215149218
نشانی پست الکترونیکی:
RezaQadimi.ir@Gmail.com
آدرس کدها:
https://github.com/Learning-CSharp-Fundamental
آدرس سایت ها:
https://www.Reza-Qadimi.ir https://wwww.WannaDate.ir


در اولین قسمت از این سری مقالات (دستورات شرطی در زبان سی شارپ)، به سراغ دستور شرطی if می رویم، و یاد می گیریم که چگونه با استفاده از شروط مختلف، روند اجرای برنامه مان را تغییر دهیم.


دستور شرطی if:

برای بررسی صحت یک عبارت، می توانیم از دستور if به صورت زیر استفاده نماییم:

if (condition)
{
    // Statement(s);
}

نکته ۱: ما می توانیم شرط یا شرط های مورد نظر خود را در قسمت “condition” قرار دهیم.

نکته ۲: خروجی شرط ما یا مقدار false را خواهد داشت (شرط ما برقرار نبوده)، و یا مقدار true را بر میگرداند (شرط ما برقرار بوده).

نکته ۳: اگر خروجی شرط ما true باشد، شرط ما برقرار بوده و دستورات داخل آکولاد باز و بسته اجرا خواهند شد.

نکته ۴: به آکولاد باز و بسته، و دستورات داخل آن Scope می گوییم.


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

  • روش صحیح (با فرض قرار دادن دستورات سی شارپی به جای توضیحات):
if (condition)
{
      // 1st statement;
      // 2nd satement;
}

  • روش غلط (با فرض قرار دادن دستورات سی شارپی به جای توضیحات):
if (condition)
     // 1st statement;
     // 2nd statement;

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

  • روش ذیل توصیه می شود:
if (condition)
{
      // Statement;
}

  • روش ذیل توصیه نمی شود:
if (condition)
      // Statement;

  • مثال اول:
int firstNumber = 13;
int secondNumber = 14;

if (firstNumber < secondNumber)
{
    // This block of code will execute
}

if (firstNumber <= secondNumber)
{
     // This block of code will execute
}

if (firstNumber > secondNumber)
{
     // This block of code will not execute
}

if (firstNumber >= secondNumber)
{
     // This block of code will not execute
}

if (firstNumber == secondNumber)
{
     // This block of code will not execute
}

  • مثال دوم:
bool isActive = true;

Recommended:
if (isActive)
{
    // This block of code will execute
}

Not Recommended:
if (isActive is true)
{
     // This block of code will execute
}

Not Recommended:
 if (isActive == true)
{
      // This block of code will execute
}

پی نوشت: در صورت “true” بودن مقدار متغیر “isActive”، دستورات مربوطه اجرا خواهند شد.

  • مثال سوم:
bool isActive = false;

Recommended:
if (isActive is false)
{
     // This block of code will execute
}

Recommended:
if (isActive == false)
{
      // This block of code will execute
}

Not Recommended:
if (!isActive)
{
       // This block of code will execute
}

پی نوشت: در صورت “false” بودن مقدار متغیر “isActive”، دستورات مربوطه اجرا خواهند شد.


Multiple Conditions:

می توانیم از عملگرهای منطقی نیز، برای تعیین شروط مورد نظر خود استفاده نماییم.

  • مثال اول:

در صورتی که هر دو شروط مربوط به قسمت condition ما برقرار باشند، دستور/دستورات مربوطه اجرا خواهند شد:

bool isActive = true;
bool isDeleted = false;

if (isActive && (isDeleted is false))
{
     // Statement(s);
}

نکته: در صورتی دستورات داخل آکولاد باز و بسته اجرا می شوند، که هم مقدار متغیر “isActive” برابر با “true” باشد، و هم مقدار متغیر “isDeleted” برابر با “false” باشد.

  • مثال دوم:

در صورتی که حداقل یکی از دو شرط مربوط به قسمت condition ما برقرار باشد، دستور/دستورات مربوطه اجرا خواهند شد:

bool isActive = false;
bool isDeleted = true;

if ((isActive is false) || isDeleted)
{
    // Statement(s);
}

نکته: در صورتی دستورات داخل آکولاد باز و بسته اجرا می شوند، که یا مقدار متغیر “isActive” برابر با “false” باشد، یا مقدار متغیر “isDeleted” برابر با “true” باشد، و یا هم مقدار متغیر “isActive” برابر با “false” باشد، و هم مقدار متغیر “isDeleted” برابر با “true”.

نکته: ترتیب نوشتن، و بررسی شروط اهمیت دارد.

جهت آشنایی با عملگرهای منطقی و…، می توانید به آدرس ذیل مراجعه نمایید:
https://virgool.io


پی نوشت:

در مقاله ی بعد، به بررسی دستورات if/else و شروط تو در تو یا Nested Condition ها می پردازیم.

نوشته آموزش سی شارپ مقدماتی (بخش سیزدهم): اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

چگونه یک گیک موفق باشیم؟

در گذشته به دلیل سطح پایین سواد در اجتماع واژه ی گیک نوعی توهین به حساب می اومد(عجیب و غریب یا دیوانه:) امروزه با گسترش فرهنگ اینترنت و بالا اومدن سطح سواد عمومی واژه ی گیک به فردی اطلاق میشه که به طور دیوانه وار وابسته به دانش و تکنولوژیه.( البته هنوز یه جورایی این صفت دیوانگی حذف نشده:)

بنده به عنوان کسی که به داشتن فرهنگ گیک افتخار میکنه گیک رو فردی تعریف میکنم که اشتیاق بسیار زیادی برای یادگیری چیز های جدید, تخیلی و لذت بردن از زندگی داره.( مثل آقامون جادی:))))

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

با اینحال یک گیک به دنبال چیزی فراتر از تنظیم اهداف و رسیدن به اون هاس.برای یک گیک ,موفقیت یک دستاورد روزمره است یعنی انجام کارهایی که در یک فرایند اهمیت پیدا میکنن.

اینجا پنج عادت روزمره یک گیک رو شرح دادم:

مطالعه منابع الهام بخش

گیک های موفق عادت های یادگیری خودشون رو با استفاده از مطالعه منابع الهام بخش و تاثیر گذار شکل میدن. اون ها همیشه مطالعه میکنن و به دنبال نشانه های الهام بخش در اطراف خودشون میگردن.مطالعه ذهنیت رو تغییر میده و راهیه برای خلاص شدن از انرژی منفی . کتاب ها به گیک ها کمک میکنه در هر شرایطی مثبت بمونن , چیزی که برای اونها بسیار مهمه.

هر گیک به طور روزمره قسمتی از وقت خودش رو به مطالعه اختصاص میده.افراد بزرگی مثل بیل گیتس اهمیت مطالعه روزانه در موفقیت افراد رو تایید کردن.به طور کلی گوش کردن , مطالعه و تماشای منابع الهام بخش و انگیزه بخش در زندگی روزمره همه ی گیک ها به صورت نسبی وجود داره.اینها مسیرهایی هستن که در نهایت به یادگیری مهارت های جدید و کسب دانش منتهی میشن.

پ.ن: من لینوکسیه متعصبم اما باید نقل قول بیلی رو میگفتم:)

پ.ن :دلیل نسبی بودن اینه که هیچ چیز در هستی مطلق نیست.( اشاره به خط آخر پاراگراف آخر!)

برنامه ریزی روزانه

مدیریت زمان در مرکز عادت های گیک ها قرار داره.گیک ها همیشه برنامه ی روزانه دارن تا وقتشون رو با چیزهای خسته کننده و تکراری هدر ندن , گیک ها از زمانی که در اختیارشون قرار داده شده با آگاهی تمام استفاده میکنند.وقتی کارهای بسیار زیادی برای انجام دادن وجود داره بایستی زمان رو مدیریت کرد و قدم به قدم وظایف رو انجام داد.

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

یه رازی دارم که فقط به تو میگم ;! من میتونم یه فیل رو بخورم ! میگی چطوری؟ خب معلوم قاشق قاشق!

داشتن خواب کافی

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

پ.ن : از پای این کامپیوتر بلند شو برو یکم بخواب !( ادامه شو میتونی بعدا بخونی)

کار زیاد

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

برو کار کن مگو چیست کار که سرمایه ی جاودانیست کار (البته کاری که دوس داری رو میگم)

در هر موقعیتی مسئولیت پذیر باشین

گیک ها وقت خودشون رو برای سرزنش کردن دیگران بخاطر اشتباهاتی که مرتکب شدن هدر نمیدن. اونها مسئولیت تمام کارهایی که در زندگی میکنند رو به عهده میگیرن.

در نتیجه :

از گیک ها یاد بگیرین . اونها کار های متفاوتی انجام میدن , قدم های غیر معمولی در زندگی بر میدارن و به مسیر های دور میرن . رازشون انجام کار های کوچک, رو به جلو و مداوم در یک مسیر طولانیه . مشخص کردن علاقه مندی ها , برنامه ریزی روزانه و هر روز روی اون علاقه مندی ها کار کردن.

گیک باشید :)))

نوشته چگونه یک گیک موفق باشیم؟ اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی