از افسانه تا واقعیت هوش مصنوعی (به زبان ساده)

چی میخوایم بگیم؟میخوایم بریم سراغ بحث داغ این روزها، هوش مصنوعی!هدف از این نوشتار اینه که تصورات غلطی که در مورد هوش مصنوعی هست، حالا چه اونهایی که دست کمش میگیرین (Under Estimation) و چه اونهایی که دیگه از اونور بوم افتادم (Over estimation) رو به واقعیت علمی و آنچه که هست نزدیک کنه.البته هوش مصنوعی بحث تازه‌ای نیست و حداقل ۲۰ ساله که داره از الگوریتمهای مختلفش استفاده میشه ولی تو سالهای اخیر و به تدریج تو زندگی همه ما وارد شده. همین ورود باعث شده تا اقشار مختلف جامعه ازش صحبت کنن و خب طبعا بخاطر متخصص نبودن تو این زمینه، طبق معمول یه عده شروع کردن به اغراق و افسانه‌سازی و به اصطلاح خودمون یک کلاغ چل کلاغ کردن. طبعا، مثل هر مبحثی یه عده متوجه شدن که نه آقا این خبرام نیست دیگه، انقدم گندش نکنین و شروع کردن به تکذیب هر چیزی و از اینور بوم افتادن!افسانه هاجعبه رازآلود هوش مصنوعیتا جاییکه بعضا شاهد اغراق های عجیب و غریب از این پدیده هستیم. بعضی از جمله ها اینان:هوش مصنوعی آینده بشر رو به خطر میندازه ممکنه بر علیه بشر قیام کنن و مارو نابود کنن و خودشون حاکم زمین بشن!هوش مصنوعی هنوز رام بشر نشده و وقتی که رامش کنیم و بهش تسلط پیدا کنیم همه چی گل و بلبل میشه!!هوش مصنوعی تک تک حرکات ما رو زیر نظر داره و منتظره در زمان مناسب آخرین ضربه رو بزنه و …هوش مصنوعی هنوز خیییلی مونده به جایگاهش برسه،‌این چیزایی که ازش میبینیم یه قطره از دریاست! حالا بذاری آخرشو ببینیییی (انگار که خودش رفته آخرشو دیده اومده)هوش مصنوعی [به شدددددت] باهوشه!!! (این دیگه از اون جک‌هاست که باید قاه قاه بهش خندید، البته نه به خودش به گوینده و تفکرش)همه این تصورات و تخیلات حول هوش مصنوعی از یک تصویر خیلی رازآلود ناشی میشه، یه جعبه جادویی خفن همه چیزدان که هوش خیلی عجیب و فراتر از تصورات ما داره و ما نمیدونیم توش چیه. و حتی گاهی میتونه هوش سیاه شیطانی داشته باشه و همه چیز رو به یکباره ببلعه و ما بمونیم و حوضمون با ماهی‌های کوچیک قرمزش!خب داستان چیه؟داستان از تعریف هوش مصنوعی شروع میشه. طبق تعریف: هوش مصنوعی فناوری ای است که به کامپیوترها و ماشین ها اجازه می دهد تا از تجربیات یاد بگیرند، تصمیمات را تحت تأثیر داده ها بگیرند، و به طور کلی وظایفی را انجام دهند که معمولاً نیاز به انجام توسط انسان دارند. بعبارتی هوش‌مصنوعی شبیه‌سازی نحوه تفکر و تعقل انسانی در محیط برنامه نویسی هست.هیچ جادویی در کار نیست. هیچ رازی در کار نیست. هیچ چیز خفن و خارج از فهم بشر درش نیست. هیچ موجود جاندار خارجی نیست که از خودش اراده داشته باشه و بتونه از پیش خودش تصمیم بگیه و … بلکه یک شیوه و فناوری و یک سبک در برنامه نویسی هست! نه چیزی بیشتر. در ادامه با یک مثال توضیح میدم که یعنی چی این حرف. حالا این فناوری و این تکنیک به قدری گسترده هست و در شرایط مختلف و نیازهای مختلف،‌ اشکال گوناگونی به خودش میگیره که شاخه های مختلفی داره:شاخه های مختلف هوش مصنوعیخب یعنی چی؟ میخوام با یه مثال خیلی ساده توضیح بدم که مثلا تحلیل پیشگویانه چجوری کار میکنه. فرض کنین یه نرم‌افزار میخوایم بسازیم که قیمت خونه رو پیشگویی کنه. بدون استفاده از هوش مصنوعی برنامه نویسا چیکار میکردن؟! هیچی به برنامه مثل این مینوشتن:محاسبه قیمت پایه = متراژ * قیمت هر متر (فرض کنین قیمت هر متر خونه در همه جای دنیا یکسانه)کسر ۱٪ فرانشیز به ازای هر سال ساخت خونه (هر چی قدیمی‌ساخت باشه ارزونتره دیگه)آیا خونه پکیج داره؟ اگه داره ۱٪ بیا رو قیمت مثلا (چه پکیجیه که انقد گرونه)آیا خونه پنجره‌هاش UPVC ه؟ اگه بله ۱٪ دیگه بیا رو قیمت (همینجوری حساب میکنن جوون ملت بیچاره میشه)و چیزهای دیگه… خب تا اینجای کار خیلی چیز سختی نبود یه بچه دبیرستانی هم میتونه قیمت خونه رو محاسبه کنه. درست؟!حالا کاری که برنامه نویس‌ها تا الان میکردن این بود که همین موارد بالا رو به جای نوشتن به زبان فارسی، به زبانی که کامپیوتر حالیش بشه مینوشتن. و البته چیزهای دیگه‌ای که حالا نمیخوام واردش بشم. بصورت کلی در نظر بگیرین.با این برنامه شما کافیه ورودی‌ها رو بدین و خروجی رو بگیرین. سخت که نیست؟!حالا فرض کنین یه هو! داشتن پنجره UPVC خیلی مهم میشه تو خونه‌ها! (مثلا بخاطر گرون شدن انرژی) و مثلا بجای ۱٪ باید ۳٪ رو قیمت خونه آورد اگه پنجره‌هاش یو پی وی سی باشن. خب چه باید کرد؟ هیچی برنامه نویس نگون بخت رو میشونن پای کامپیوتر میگن اون ۱ رو بکن ۳! باز فرداش همین داستانه یه چاه نفت پیدا میکنن انرژی ارزون میشه میگن اون ۳ رو بکن ۱ (البته تو هیچ‌جای دنیا همچین چیز رویایی‌ای اتفاق نیافتاده)حالا فرض کنین اصلا یه فاکتور دیگه میاد و به اینا اضافه میشه به اسک پارکت! میگن آقا هر خونه کفش پارکت باشه مثلا ۱٪ میاد رو قیمت خونه. بازم باید اون برنامه نویس نگون بخت بشینه و یه شرط دیگه بذاره که اگه خونه پارکت داره انقد بیاد روش.اسم این اعداد که تو فرمول استفاده میشه رو میذارم ثابت‌های فرمول. یعنی پارامتر‌های ورودی که شامل مساحت خونه و مشخصات در و پنجره و غیره هست متغیرهای ما هستن و بقیه ثابت ها. یه فرمول خطی ساده‌ست دیگه.اما در دنیای واقعی این شرط‌ها به پارکت و پنجره و پکیج ختم نمیشه. تو دنیای واقعی هر روز یه پارامتر اضافه میشه و یه پارامتر کم میشه. شما یادتون نمیاد یه زمانی پناهگاه داشتن یه خونه مزیت حساب میشد. جنگ بود دیگه بالاخره (البته من اصلا یادم نمیاد). و مسئله بعدی اینه که ارزش هر کدوم از این پارامتر‌ها هم مدام در حال تغییره! خب در یه چنین سیستمی که مدام همه چیز تغییر میکنه. راهکار کارآمد برای خلاص شدن از تغییرات و نزدیک شدن به یک پیش بینی چیه؟یک راهکار اینه که بجای اینکه ما پارامترها و ارزششون رو مشخص کنیم و به عبارتی ثابتهای فرمول رو محاسبه کنیم. بیایم داده ها رو نگاه کنیم و از روی داده‌ها این رو استخراج کنیم. همون کاری که مثلا یه مجموعه بنگاهی انجام میدن تا قیمت یک خونه رو مشخص کنن. یعنی یه نگاه به تقاضا میکنن یه نگاه به عرضه. یه نگاه به وضعیت ملک و یه قیمتی میدن. برای مثال فوق مثلا از یکی از روش‌ها بنام رگرسیون میشه استفاده کرد. تو روش رگرسیون یه متدی هست بنام دسته بندی. به این شکل کار میکنه که میان بر اساس یک نمودار N بعدی (به تعداد پارامترهای موجود که ازش نتیجه حاصل میشه) نتایج رو دسته بندی میکنن. این دسته بندی میتونه توسط انسان انجام بشه یا بازم توسط نرم‌افزار. یعنی برای اینکه این نتایج دسته بندی بشه باز هم باید یه کدی نوشته بشه و برنامه نویس بهش بگه چطور دسته بندی کن! وگرنه خود جعبه جادویی هوش مصنوعی نمیاد از رو هوا اینا رو دسته بندی کنه!بعد میان میبینن آقا تو هر دسته و گروه چه پارامترهایی باهم چه رابطه‌ای دارن. مثلا تو این دسته بندی متوجه میشن که عه! مثلا یه پارامتری بنام تعداد پنجره خیلی رو قیمت تأثیر داره. یعنی هر چی تعداد پنجره بیشتر باشه قیمت هم بالا میره! حالا این متوجه شدن رو انشان میتونه با نگاه کردن متوجه بشه یا باز هم یه دستوراتی برای نرم‌افزار داده بشه که این یافته‌ها رو استخراج کنه.خب به این ترتیب، فرمول پیدا میشه. یعنی بصورت تقریبی و تخمینی (ولی با تخمین و احتمال خیلی بالا – بسته به فرآیند آموزش هوش مصنوعی) این نرم افزار ما میتونه قیمت خونه رو تخمین بزنه. چون همه اطلاعات رو داره و ارتباطشون رو هم میدونه و چیزی نیست که از قلمش بیافته،‌ نمیدونم یادش بره، قصد و غرض داشته باشه و …اینجاش خیلی مهمهبه عبارتی در شکل‌گیری یک نرم‌افزار مبتنی بر هوش مصنوعی، ابتدا باید داده‌های فراوانی رو داشته باشیم (هر چی بیشتر بهتر، ۳۰ رکعت ۴۰ رکعت) که بشه از روشون یک فرمول درآورد. به این فرآیند میگن فرآیند Training. یعنی شما مثل یه بچه به نرم‌افزارتون یاد میدین که چی درسته چی غلط. پس ایشون چیزی از خودش نمیدونه! بلکه ما داریم بهش اطلاعات میدیم!الگوریتم هوش مصنوعی ابتدا یک فرمول کشف میکنه (نه اینکه خودش کشف بکنه باذن الله، نه یعنی برنامه نویس یه کاری میکنه که حاصل اجرای اون تیکه کد کشف یک فرمول باشه)، بعد اون فرمول رو برنامه نویس در آینده ازش استفاده میکنه و وقتی یک داده جدید وارد سیستم میشه، با اون فرمول (که بهش میگن مُدِل) بتونه نتیجه رو تولید کنه.برای یک مثال ساده تر برای کسایی که ریاضی بلدن (نه خیلی البته) فرض کنین نمودار x به توان ۲ رو به شما نشون میدن. میگن این رو فرمولشو بکشف! شما یه چندتا نمونه برداری میکنی از x های مختلف و رابطش با y رو مطالعه میکنی، بعد میبینی عه! اینکه همون y=x^2 خودمونهههه علیهههه! علی!بعد دیگه به شما هر x ی بدن، چون فرمول دستتونه شالاپی به y میرسین!به همین سادگی؟!به همین سادگی؟! هع! نخیر! اتفاقا اصلا هم ساده نیست. این یک مثال خیلی ساده بود و عملا مثالی به درد نخور! کشف اون مدل و اون فرمول چیز راحتی نیست. در دنیای واقعی برنامه‌نویس‌ها و دیتاماینرها (کسانی که داده‌کاوی میکنن تا از انبوه داده‌های بی‌مصرف اطلاعات در بیارن) ساعتها و روزها و شبها (معمولا) عرق جبین میریزن و خون دل میخورن (خون صاحبکار رو هم میکنن تو شیشه البته) تا بتونن به این هوش مصنوعی نفهم چیزی رو حالی کنن!! چون نمیفهمه! فقط کاری که ما میگیم رو انجام میده!در نتیجه شما اگه یه محصول شگرف و حیرت انگیز مثل ChatGPT میبینین که میزنه میترکونه، باید پی به این ببرید که بار پروردگارا، این برنامه نویسش چه خفن بوده! نه اینکه بگین اوووو مای گاااشش هوش مصنوعی چه زبل شدههه. حالا با این تعاریف هوش مصنوعی یعنی چی؟هوش مصنوعی به سبکی از برنامه نویسی اطلاق میشه که در اون، نتیجه وابسته به یافتن الگوهایی در داده‌هایی‌ست که در دست داریم! یعنی کاری که مغز ما با تفکر زیاد میتونه انجام بده، ماشین با توجه به سرعت بالای الکتریسیته میتونه در کسری از ثانیه و دقیق انجام بده! همین! دتس اُل.توهم توطئه گرایانخب عده‌ای میگن که آقا اینایی که میگی درست، ما هم نمیگیم که هوش مصنوعی موجودیت داره و یه چیزی در جهان خارجه و روح داره و درک و شعور داره و مثل یه حیوون جاندار اراده از خودش داره. بلکه ما میگیم که بالاخره یک روزی میرسه که بشر کارهایی که نیاز به دقت بالا دارن رو میسپاره به هوش مصنوعی، مثلا تانک‌های بدون سرنشین درست میکنه که با هوش مصنوعی کنترل میشن!!خب هوش مصنوعی هم میاد سوسکمون میکنه دیگه. از اونجایی که خیلی زرنگتر از ماست میزنه ما رو ساندویچ کالباس میکنه و بعدم قورتمون میده دیگه! لابد.در جواب این اعزه چند نکته رو باید بگم:هوش‌مصنوعی یک موجود نیست، یک سبک در برنامه‌نویسی‌ه، به این معنی که شما هر جا اسم هوش‌مصنوعی شنیدی، اون کلمه رو ورش دار جاش کلمه «نرم‌افزار» رو بذار. دوباره جمله رو بخون اگه یک دقیقه تونستی نخندی، یه اختلال روانی حاد داری. یعنی رائفی‌پور درونت از خود علی‌اکبرم رائفی‌پور تره! (مزاج کردم نریزین سرمون)خب اخوی! همشیره! پدرجان! مادرجان! شما الان یه اسلحه اتوماتیک m16 بدی دست یه بچه ۴ ساله این خطرناکه یا نه؟! یعنی میتونیم بگیم اگه اسلحه رو بدی دست بچه ممکنه بزنه کتلتمون کنه پس «بچه چیز خطرناکیه»؟؟ یا نه این کار ما که «اسلحه رو دادیم دست بچه» خطرناکه؟همین الانشم طبق اطلاع دقیقی که بنده دارم میدونم که در سازمان رزم ایران برای کنترل پهپاد و یه سری ربات جنگجو از الگوریتم‌های هوش مصنوعی استفاده میشه. چیز عجیبی هم نیست اگه اینطوری نبود باید تعجب میکردیم. تازه این تو ایرانش، بگیر برو ببین ارتش‌های دیگه قدرتمند جهان چه کارها که نکردن. خب چی شده الان اسیر ربات‌ها شدی و دارن ازت بیگاری میکشن؟هوش مصنوعی یه روشه! دارای شخصیت و فکر مستقل نیست! دارای اراده نیست! دارای درک نیست! دارای شعور نیست! یه چنین چیزی اگه «موجود» هم باشه (که نیست) ته تهش یه چیزی مثل سنگ و کلوخه! آندراستیمیت‌گرایان (بیشترشون برنامه نویسن)اسمشم قشنگه لامصب. یه عده هم از اونور بوم افتادن! میگن نههههه بابا جمع کن هوش مصنوعی چیه. خطا زیاد داره و نمیدونم چی چی. برنامه‌نویسی فقط سنتی! اصن برنامه نویسی که if ننویسه به درد جرز لادیوار میخوره. و از این دست پرت و پلاها.هرچند این دوستان تا حدود زیادی حق دارن چون پیاده کردن یک مدل درست در هوش‌مصنوعی نیازمند صرف زمان بسیار زیاد و دقت بسیار بالاست. وگرنه دیگه شما اسمشو نمیذاری هوش مصنوعی بلکه اسمشو میذاری حماقت مصنوعی. یعنی ما یه خنگ داریم تو کوچه و بازار، اینم از اونا تقلید کرده! نمونش هم کم نیست.اما پاسخی که باید بهشون داد اینه که مهندس! این سبک تاحالا شونصد تا محصول موفق داشته، شما اگه تو کارت موفقیت نداشتی برگرد ببین کجای کارت مشکل داشته. نه اینکه سبک رو زیر سوال ببری!یه عده از دوستان هم هستن که معتقدن نه آقا هوش مصنوعی به اووووونننن درجه که باید برسه نرسیده. باید به اینام گفت دقیقا باید به کجا میرسیده که نرسیده؟ دندون رو جیگر بذار با گذر زمان این بچه بزرگ میشه و خدمات بیشتری به بشر میکنه. اتفاقا جایگاهش رو خیلی خوب تثبیت کرده و خوب هم رشد کرده و خوب هم ازش استفاده کردیم.ولی سوال دلی من از این دوستان اینه که مگه اینا آینده رو میبینن؟؟؟ یا نه صرف تخیل خودشون چون واقعیت با تخیلشون فاصله داره میگن نههه هنوز نشده اونی که میخواستم :)) حالا جوابشون چیه نمیدونم.اگه تا اینجای متن خوندی، یعنی خیل حال دادی بهم. دمت گرم. اگه لایقمون دونستی با یه لایک خوشحالمون کن. اگه نه، حرفی حدیثی نقدی سوالی چیزی داری بازم بکامنت. اونم نه؟! شیرمو حلالت نمیکنم.برای این متن این تعداد حرف تایپ شده (منهای اونایی که پاک شدن):

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

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

معرفی میکنم، اینجانب…

سلام به همه. آقا من میخواستم فعالیتم رو توی ویرگول شروع کنم (اگر کار بزاره 🤐) و به نظرم یه معرفی اولیه برای شروع و دست گرمی بدک نباشه. حقیقتش همیشه دوست داشتم بنویسم. از هر دری بنویسم. از هر چیزی بنویسم ولی خب نمیشد تا اینکه یه شب به سرم زد برم سایت هایی رو پیدا کنم که بشه توش نوشت و ویرگول رو یجورایی پیدا کردم. البته Medium رو هم از قبل میشناختم ولی فکر میکنم اونجا یکم رسمی تره 🤔. به هر حال توی این اکانتم قراره از هر دری حرف بزنیم 😃. از فوتبال و جامعه شناسی و حرف دل گرفته تا شغلم که برنامه نویسی و امنیت و این داستان ها. راستی معرفی رو یادم رفت. من بنیامینم و الان که دارم اینو مینویسم دارم به 19 سالگی میرسم (۲ روز دیگه 🎂 ) کارم برنامه نویسی و امنیت هست (راستی خیلی دوست دارم تجربه ام توی کارم هم صحبت کنم و پلن آینده هم همینه) عاشق گیم و بازیسازی. حقیقتش توی زمینه نقد گیم و طراحی بازی (Game Design) هم دو تا رتبه ۱ کشوری دارم. (شرط میبندم الان که داری اینو میخونی میگی یارو چقدر از خود راضی ولی اینقدر خاکی که شهرداری میخواستم آسفالتم کنه)خلاصه که دیگه خوره کتاب و پادکست و هرمدل محتوای با محتوا. تهشو بخوام بگم یه INTJ ام که بعضی وقت های شیطنت ش گل میکنه و یه ENFP ناجور میشم. (چرا پست معرفی ام داره شبیه بیو های اینستا میشه 😅)البته اگر دوست داشتید و در آینده از کارم لذت بردید یادتون باشه که من اکانت Medium هم دارم که اونجا هم بعضی از پست های خوب اینجارو ترجمه میکنم و میزارم و همونطور که گفتم اونجا یه نمه رسمی تره و طرف نمیتونه از خاطره خوردن املت بدون تخم مرغ با شوهر عمه بگه هرچند در حالت عادی همچین خاطره ای ندارم 😐 ولی امیدوارم حق مطلب ادا شده باشه. خلاصه که کم و کاستی های این معرفی نامه که حاصل یه ذهن شلخته بود رو ببخشید و اینکه اگر دوست داشتی برام کامنت بزار و همه این کار های کلیشه ای (دکمه قرمز رنگ رو بزنید تا سابسکرایب کنید و زنگوله رو هم یادتون نره 😂)خلاصه که عشقید

نوشته معرفی میکنم، اینجانب… اولین بار در ویرگول پدیدار شد.

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

دیتا بروکر Data broker یا همان کارگزاری داده چیست؟ کسب درآمدهای نجومی از داده های فعالیت های ما

واژه نامه گارتنر کارگزار داده را کسب و کاری گفته است که اطلاعات را از منابع مختلف جمع آوری می کند. آن را برای غنی سازی، پاکسازی یا تجزیه و تحلیل پردازش می کند و مجوز آن را به سازمان های دیگر می دهد. کارگزاران داده همچنین می‌توانند مستقیماً جهت دسترسی به داده‌های یک شرکت دیگر مجوز دهند یا داده‌های سازمانی دیگر را پردازش کنند تا نتایج بهتری به آنها ارائه دهند. داده ها معمولاً از طریق یک رابط برنامه نویسی کاربردی (API) قابل دسترسی هستند و اغلب شامل قراردادهای نوع اشتراک هستند. داده‌ها معمولاً «فروخته نمی‌شوند» (یعنی مالکیت آن منتقل نمی‌شود)، بلکه برای استفاده‌های خاص یا محدود مجوز دارند. (کارگزار داده گاهی اوقات به عنوان کارگزار اطلاعات، کارگزار داده سندیکا یا شرکت محصولات اطلاعاتی نیز شناخته می شود.)ویکی پدیا آن را با کارگزار اطلاعات (IBs) Information broker یکی دانسته است و کارگزاری اطلاعات را به عنوان “کسب و کار خرید و فروش اطلاعات به عنوان یک کالا توصیف کرده است. همچنین بیان شده است که تا کنون هیچ دوره دانشگاهی ویژه ای برای موقعیت های شغلی آن ایجاد نشده است و اگرچه بیش از 60-70 سال از عمر ایجاد کارگزاری داده می گذرد اما تنها پس از رونق یافتن اینترنت این علم و موقعیت های شغلی مربوط به آن توسعه یافته است.آیا تعجب می کنید که چگونه تبلیغ کنندگان تبلیغات خود را تا این حد به خواسته ها و خواسته های واقعی شما هدف قرار می دهند؟ کارگزاران داده بسته به دیدگاه شما تا حدی مقصر یا سپاسگزار هستند. کارگزاران داده که به عنوان کارگزاران اطلاعات نیز شناخته می شوند، اطلاعات شخصی را جمع آوری کرده و به اشخاص ثالث می فروشند یا مجوز می دهند. این اطلاعات را می توان از سوابق عمومی یا خصوصی جمع آوری کرد. اگرچه برخی از کارگزاران ممکن است بازیگران فردی باشند، کارگزاری داده یک صنعت بالغ است که بیشتر از بازیگران بزرگی مانند Equifax، Lexis Nexis و Acxiom تشکیل شده است. از سال 2019، صنعت کارگزاری داده در ایالات متحده حدود 200 میلیارد دلار ارزش داشت. کارگزاری داده ها به سرعت در حال افزایش است که عمدتاً ناشی از کاهش هزینه های ذخیره سازی داده ها و افزایش داده های بزرگ است. کارگزاران داده چگونه اطلاعات را جمع آوری می کنند؟ اطلاعات جمع‌آوری‌شده توسط کارگزاران داده به‌طور شگفت‌انگیزی آسان است و از ترکیبی از سوابق عمومی و غیرعمومی، تقریباً به طور کامل آنلاین، به دست می‌آید. در اینجا چند نمونه از جایی که کارگزاران ممکن است اطلاعاتی درباره شما تهیه کنند آورده شده است: پرونده های عمومی – لیست های ثبت نام رای دهندگان – سایت های شبکه های اجتماعی – گزارش دادگاه – گزارش تصادفات وسایل نقلیه موتوری – داده های سرشماری – گواهی ازدواج، تولد یا فوت – سایر اطلاعات به اشتراک گذاشته شده عمومی به صورت آنلاین – مانند وبلاگ ها یا نظرات Google سوابق غیر عمومی – سابقه کارت اعتباری – وفاداری به عضویت ها پاداش می دهد – تاریخچه مرور اینترنت – سیاهه های مربوط به بازی های ویدیویی چطور از اطلاعات استفاده می شود؟ کارگزاران داده، داده های شما را جمع می کنند تا در نمایه ای درباره شما بسازند. این پروفایل‌های کامپایل‌شده سپس به شرکت‌هایی فروخته می‌شوند که ممکن است از آنها برای ایجاد شخصیت خریدار، تنظیم دقیق برنامه‌های بازاریابی یا تعیین امتیاز مصرف‌کننده شما استفاده کنند. اما نه تنها برای بازاریابی استفاده می شود. مورد استفاده اولیه برای کارگزاران داده، ایجاد امتیاز اعتباری بود و بسیاری از کاربردهای مشابه کارگزاری داده، این تاریخ را منعکس می کنند. یک وام دهنده ممکن است اطلاعاتی را درباره شما از یک کارگزار خریداری کند تا تعیین کند چقدر احتمال دارد که تاخیر در پرداخت اقساط کنید تا آنها بتوانند این ریسک را در نرخی که به شما ارائه می دهند منعکس کنند. چه نظارتی برای مصرف کنندگان وجود دارد؟ اگرچه کارگزاری داده ممکن است غیراخلاقی به نظر برسد، اما این بدان معنا نیست که غیرقانونی است. هیچ قانون فدرالی علیه این عمل در ایالات متحده وجود ندارد. و حداقل مقررات در سراسر ایالت ها وجود دارد. در نتیجه، افراد می‌توانند با چالش‌های بازدارنده‌ای مواجه شوند تا بتوانند بینشی در مورد نحوه جمع‌آوری و استفاده کارگزاران داده از اطلاعات خود داشته باشند. وقتی صحبت از این می شود که اطلاعات شما با امنیت و حریم خصوصی مدیریت شود، افراد عمدتاً به قوانین داده های خاص بخش مانند HIPAA در صنعت مراقبت های بهداشتی وابسته هستند. در ایالات متحده، قانون گزارش اعتبار منصفانه بیشترین ارتباط را با فعالیت های واسطه گری داده دارد، اما محدود به محدوده اطلاعاتی است که کارگزاران از گزارش اعتباری شما دریافت می کنند. نکته قابل توجه، قوانین حفظ حریم خصوصی ایالت کالیفرنیا شامل یک رجیستری کارگزار داده و همچنین میثاقی برای مصرف کنندگان است که از دلالان درخواست کنند فایل خود را پاک کنند و از فروش به اشخاص ثالث خودداری کنند. کارگزاران داده با مقررات بیشتری در کانادا مبارزه می کنند. قانون حفاظت از اطلاعات شخصی و اسناد الکترونیکی (“PIPEDA”) بر گردآوری، استفاده و فروش اطلاعات شخصی به اشخاص ثالث – و همچنین اشخاص ثالثی که داده ها را خریداری می کنند، کارگزار داده نظارت می کند. با این حال، هنوز محدودیت‌های زیادی برای محافظت از کانادایی‌ها در برابر واسطه‌گری داده‌ها وجود دارد. حقوق شما در رابطه با کارگزاران داده چیست؟ اینکه بدانید داده‌های شما در بازار آزاد فروخته می‌شود، نگران‌کننده است و وقتی منابع اطلاعات را در نظر می‌گیرید، می‌تواند به‌ویژه نقض‌کننده باشد. مصرف کنندگان چگونه باید با کارگزاران داده برخورد کنند؟ با افزایش آگاهی از امنیت سایبری به طور کلی، می‌توانید اطلاعاتی را که به کارگزاران داده ارائه می‌دهید محدود کنید. با توصیه‌های افزایش امنیت سایبری که در ماه آگاهی از امنیت سایبری به اشتراک گذاشتیم، شروع کنید. اگر مدتی برای تحقیق دارید، بررسی کنید که چه کارگزاران داده در حوزه قضایی شما فعالیت می کنند. می توانید مستقیماً تماس بگیرید و از آنها بخواهید فایل شما را حذف کنند – اگرچه مراقب باشید که ممکن است با مشکل مواجه شوید. وضعیت امنیت سایبری خوب می تواند امروزه قرار گرفتن شما در معرض واسطه گری داده را به حداقل برساند. همین امروز با ما تماس بگیرید تا در مورد چگونگی بهبود آمادگی خود، پیشنهادی دریافت کنید.منبع بخش آخر:https://hitachi-systems-security.com/what-is-a-data-broker-and-how-do-they-impact-privacy/

نوشته دیتا بروکر Data broker یا همان کارگزاری داده چیست؟ کسب درآمدهای نجومی از داده های فعالیت های ما اولین بار در ویرگول پدیدار شد.

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

10 تا از بهترین الگورتیم های مرتب سازی در پایتون

الگوریتم‌های مرتب‌سازی بخش اساسی علوم کامپیوتر هستند و کاربردهای مختلفی دارند، از مرتب‌سازی داده‌ها در دیتابیس ها گرفته تا سازمان‌دهی لیست‌های پخش موسیقی. اما الگوریتم های مرتب سازی دقیقا چیست و چگونه کار می کنند؟ ما در این مقاله با ارائه نگاهی جامع به انواع مختلف الگوریتم ها و کاربرد آنها، از جمله کد نمونه، به این سوال پاسخ خواهیم داد.قبل از اینکه شروع کنیم ما در این مقاله به صورت یکم تخصصی بررسی خواهیم کرد پس استفاده از نماد O بزرگ برای تجزیه و تحلیل پیچیدگی زمانی و پیچیدگی فضایی الگوریتم‌های مختلف می باشد. اما ما همچنین مرورهای سطح بالایی را ارائه خواهیم کرد که باید به راحتی توسط اکثر افراد قابل درک باشد.الگوریتم مرتب سازی چیست؟اساساً، یک الگوریتم مرتب‌سازی یک برنامه کامپیوتری است که داده‌ها را به ترتیب خاصی، مانند ترتیب حروف الفبا یا ترتیب عددی، معمولاً صعودی یا نزولی، سازمان‌دهی(مرتب) می‌کند.الگوریتم های مرتب سازی برای چه مواردی استفاده می شوند؟الگوریتم‌های مرتب‌سازی عمدتاً برای مرتب کردن مجدد مقادیر زیادی از داده‌ها به شیوه‌ای کارآمد استفاده می‌شوند تا بتوان آن‌ها را راحت‌تر جستجو و تغییراتی در آن ایجاد کرد. آنها همچنین برای بهبود کارایی الگوریتم های دیگر مانند جستجو و ادغام، که بر داده های مرتب شده برای عملیات خود متکی هستند، استفاده می شوند.چرا الگوریتم های مرتب سازی بسیار مهم هستند؟الگوریتم های مرتب سازی برای سازماندهی داده ها در یک ترتیب خاص استفاده می شوند که جستجو، دسترسی و تجزیه و تحلیل را آسان تر می کند. در بسیاری از کاربردها، مرتب‌سازی بخش مهمی از قسمت پردازش داده است و کارایی الگوریتم مرتب‌سازی می‌تواند تأثیر قابل‌توجهی بر عملکرد کلی سیستم داشته باشد.در دیتابیس ها. مرتب سازی برای بازیابی رکوردها به ترتیب خاصی مانند تاریخ، ترتیب حروف الفبا یا ترتیب عددی استفاده می شود. این به کاربران این امکان را می‌دهد تا به سرعت داده‌های مورد نیاز خود را بیابند، بدون اینکه نیازی به جستجوی دستی در میان مقادیر زیادی از داده‌های مرتب نشده باشند.در موتورهای جستجو. برای رتبه بندی نتایج جستجو به ترتیب ارتباط. با مرتب‌سازی نتایج به این روش، کاربران می‌توانند به سرعت اطلاعات مورد نظر خود را پیدا کنند، بدون اینکه نیازی به بررسی نتایج نامربوط یا نامرتبط باشند.در بسیاری از کاربردهای علمی و مهندسی. محققان می توانند تجزیه و تحلیل داده ها و شبیه سازی ها را برای به دست آوردن بینش در مورد سیستم های پیچیده و پیش بینی های دقیق تر در مورد رفتار آینده آن انجام دهند.انواع مختلف مرتب سازی در ساختارهای دادهانواع مختلفی از مرتب سازی موجود است. انتخاب الگوریتم مرتب سازی به عوامل مختلفی مانند اندازه مجموعه داده ها، نوع داده های مرتب شده و پیچیدگی زمانی و مکانی مورد نظر بستگی دارد.10 الگوریتم برتر مرتب سازی که باید بدانیدبیایید اکنون ده مورد از بهترین الگوریتم های مرتب سازی را بررسی کنیم تا هنگام انتخاب یکی از آنها آگاه باشیم.مرتب سازی حبابیمرتب‌سازی حبابی(Bubble Sort) یک الگوریتم مرتب‌سازی ساده است که به طور مکرر لیست مشخصی از آیتم‌ها را طی می‌کند، هر جفت از آیتم‌های کنار هم(مجاور) را با هم مقایسه می‌کند و اگر ترتیب نامناسبی داشتند، آنها را تعویض می‌کند. این الگوریتم تا زمانی ادامه می‌یابد که از کل لیست بدون تعویض کردن از هیچ موردی عبور کند.مرتب‌سازی حبابی گاهی اوقات به عنوان “مرتب‌سازی sinking ” نیز شناخته می‌شود.نحوه کار : از ابتدای لیست شروع می کند، هر جفت مجاور را با هم مقایسه کنید، اگر ترتیب درستی ندارند، موقعیت آنها را عوض می کند. پس از هر تکرار، یک آیتم کمتر برای مقایسه لازم است، تا زمانی که دیگر آیتمی برای مقایسه باقی نماند.مرتب سازی insertionمرتب‌سازی insertion الگوریتم ساده دیگری است که آرایه مرتب‌شده نهایی را هر بار یک آیتم می‌سازد، و به دلیل نحوه قرار دادن آیتم های کوچکتر در موقعیت‌های صحیح خود در آرایه مرتب‌شده، به این شکل نام‌گذاری شده است.نحوه کار کردن این مرتب سازی :لیست مرتب شده جزئی در ابتدا فقط شامل اولین آیتم در لیست است. با هر تکرار، یک آیتم از داده های ورودی “هنوز برای سفارش بررسی نشده” حذف می شود و در لیست مرتب شده insertion می شود.مرتب سازی سریعیک الگوریتم مرتب‌سازی محبوب تقسیم کنید و بر اساس اصل تقسیم‌بندی یک آرایه به دو آرایه فرعی است – یکی حاوی آیتم های کوچک‌تر از آیتم pivot و دیگری حاوی آیتم های بزرگ‌تر از آیتم pivot است. سپس دو آرایه فرعی به صورت بازگشتی مرتب می شوند.مراحل اساسی مرتب سازی سریع عبارتند از:یک آیتم pivot از آرایه را انتخاب کنید.آرایه را به دو آرایه فرعی تقسیم کنید، یکی حاوی آیتم های کوچکتر از پیوت و دیگری حاوی آیتم های بزرگتر از pivot.با استفاده از مرتب سازی سریع، دو آرایه فرعی را به صورت بازگشتی مرتب کنید.دو آرایه فرعی مرتب شده را با هم ترکیب کنید.مرتب سازی bucketمرتب‌سازی bucket یک الگوریتم مفید برای مرتب‌سازی داده‌های توزیع شده یکنواخت است و به راحتی می‌توان آن را برای بهبود عملکرد موازی کرد.مراحل اساسی مرتب سازی bucket عبارتند از:آرایه ای از آیتم های خالی ایجاد کنید.داده های ورودی را طبق یک تابع تعریف شده در سطل ها پراکنده کنید.هر سطل را با استفاده از الگوریتم دیگری یا به صورت بازگشتی با مرتب سازی bucket مرتب کنید.آیتم های مرتب شده را از هر سطل در آرایه اصلی جمع آوری کنید.مرتب سازی shellمرتب‌سازی shell از یک الگوریتم مرتب‌سازی insertion استفاده می‌کند، اما به جای مرتب‌سازی کل لیست به یکباره، لیست به لیست‌های فرعی کوچک‌تر تقسیم می‌شود. سپس این زیر لیست ها با استفاده از یک الگوریتم مرتب سازی insertion مرتب می شوند، بنابراین تعداد تبادلات مورد نیاز برای مرتب سازی لیست کاهش می یابد.مرتب سازی ادغامایده اصلی مرتب سازی ادغام این است که لیست ورودی را به نصف تقسیم کنید، هر نیمه را به صورت بازگشتی با استفاده از مرتب سازی ادغام مرتب کنید، و سپس دو نیمه مرتب شده را دوباره با هم ادغام کنید. مرحله ادغام با مقایسه مکرر اولین آیتم هر نیمه و افزودن آیتم کوچکتر از این دو به لیست مرتب شده انجام می شود. این فرآیند تا زمانی که همه آیتم های با هم ادغام شوند تکرار می شود.مرتب سازی انتخابیمرتب‌سازی انتخابی به‌طور مکرر کوچک‌ترین آیتم را از یک بخش مرتب‌نشده لیست انتخاب می‌کند و آن را با اولین آیتم از بخش مرتب‌نشده عوض می‌کند. این روند تا مرتب شدن کل لیست ادامه می یابد.مرتب سازی رادیکسایده اصلی پشت مرتب سازی ریشه ای این است که داده ها را با گروه بندی هر رقم در اعداد یا کاراکترهای مرتب شده، از راست به چپ یا چپ به راست، مرتب کنیم. این فرآیند برای هر رقم تکرار می شود و در نتیجه یک لیست مرتب شده ایجاد می شود.بدترین عملکرد آن ${O(wcdot n)}$ است که $n$ تعداد کلیدها و $w$ طول کلید است.مرتب سازی شانه ایمرتب‌سازی شانه‌ای جفت‌هایی از آیتم های را با فاصله مشخصی از هم مقایسه می‌کند و در صورت نامرتب بودن، آن‌ها را تعویض می‌کند. فاصله بین جفت ها در ابتدا به اندازه لیست در حال مرتب سازی تنظیم می شود و سپس با یک ضریب (به نام “ضریب کوچک شدن”) با هر پاس کاهش می یابد تا به حداقل مقدار $1$ برسد. این فرآیند تا مرتب شدن کامل لیست تکرار می شود.مرتب سازی تیمسورتالگوریتم Timsort با تقسیم داده های ورودی به زیر آرایه های کوچکتر و سپس استفاده از مرتب سازی insertion برای مرتب سازی این زیر آرایه ها کار می کند. سپس این زیر آرایه های مرتب شده با استفاده از مرتب سازی ادغام شده ترکیب می شوند تا یک آرایه کاملا مرتب شده تولید شود. دارای پیچیدگی زمانی در بدترین حالت $O(n log n)$ است که آن را برای مرتب‌سازی مجموعه‌های داده بزرگ کارآمد می‌کند. همچنین یک الگوریتم مرتب‌سازی پایدار است، به این معنی که نظم نسبی آیتم های برابر را حفظ می‌کند.رایج ترین الگوریتم مرتب سازی چیست؟متداول ترین الگوریتم مرتب سازی احتمالاً مرتب سازی سریع است. این به طور گسترده در بسیاری از زبان های برنامه نویسی از جمله C، C++، جاوا و پایتون و همچنین در بسیاری از برنامه های کاربردی نرم افزاری و کتابخانه ها استفاده می شود. Quicksort به دلیل کارایی و تطبیق پذیری آن در مدیریت انواع مختلف داده ها مورد علاقه است و اغلب به عنوان الگوریتم مرتب سازی پیش فرض در زبان های برنامه نویسی و چارچوب های نرم افزار استفاده می شود.با این حال، سایر الگوریتم‌های مرتب‌سازی مانند merge sort و Timsort نیز به دلیل کارایی و ویژگی‌های منحصربه‌فرد، معمولاً در برنامه‌های مختلف استفاده می‌شوند.منبع:10 تا از بهترین الگورتیم های مرتب سازی در پایتونبرای دیدن مقاله های بیشتر به سایت ما مراجعه کنید: anpohel.com

نوشته 10 تا از بهترین الگورتیم های مرتب سازی در پایتون اولین بار در ویرگول پدیدار شد.

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

تفاوت کامپایلر با مفسر در چیست؟

تفاوت کامپایلر و مفسرکامپایلر چیست؟کامپایلر یک نرم‌افزار است که کد منبع برنامه را به زبان ماشین ترجمه می‌کند. به عبارت دیگر، کامپایلر برنامه نوشته شده توسط برنامه‌نویس را به زبان قابل فهم برای کامپیوتر تبدیل می‌کند. این فرآیند شامل چک کردن و اصلاح خطاهای نحوی و ساختاری در کد منبع نیز می‌شود. در نتیجه، فایل اجرایی ساخته شده توسط کامپایلر قابل اجراست و بدون نیاز به دستورات اضافی یا تفسیرگر، مستقیماً با سخت‌افزار کامپیوتر اجرا می‌شود.ویژگی های کامپایلر1. تجزیه و تحلیل: کامپایلر برنامه را تجزیه و تحلیل می کند و ساختار آن را بررسی می کند.2. بهینه سازی: کامپایلر بهینه سازی های لازم را برای بهبود عملکرد برنامه اعمال می کند.3. تولید کد: کامپایلر بعد از تجزیه و بهینه سازی، کد ماشین قابل اجرا را از برنامه مبدأ تولید می کند.4. پشتیبانی از زبان های مختلف: کامپایلر قادر است زبان های مختلف را پشتیبانی کند، از جمله C، C ++، Java و غیره.5. خطایابی: در صورت وجود خطا در برنامه، کامپایلر خطارسان (debugger) را فعال می کند تا بتوانید خطا را پیدا و رفع نمایید.6. پشتیبانی از پروژه های بزرگ: با استفاده از چارچوب های مناسب، کامپایلر قادر است پروژه های بزرگ را پشتیبانی کند.7. پشتیبانی از سیستم عامل های مختلف: کامپایلر باید قابلیت اجرا در سیستم عامل های مختلف را داشته باشد.8. پشتیبانی از تکنولوژی های جدید: کامپایلر باید قابلیت پشتیبانی از تکنولوژی های جدید را داشته باشد، مانند واحدهای پردازش گرافیک (GPU) و غیره.مفسر چیست؟مفسر یک نرم‌افزار است که کد برنامه‌نویسی را تفسیر و اجرا می‌کند. مفسر به عنوان یک نوع اجرای زبان برنامه‌نویسی، دستورات را به صورت خط به خط تفسیر و اجرا می‌کند. در مقابل، کامپایلر کل برنامه را به زبان ماشین تبدیل می‌کند و سپس آن را اجرا می‌کند. بعضی از زبان‌های برنامه نویسی، مثل پایتون، از مفسر استفاده می‌کنند.ویژگی‌های مفسر1- قابلیت خواندن و تفسیر کد منبع برنامه در زمان اجرا.2- قابلیت اجرای کد منبع بدون نیاز به ترجمه پیشین.3- قابلیت پشتیبانی از چندین زبان برنامه‌نویسی.4- قابلیت دستکاری و تغییر کدهای منبع در زمان اجرا.5- قابلیت پشتیبانی از محاسبات پویا و داده‌ساختارهای پویا.6- سادگی در استفاده و گسترش.کامپایلر و مفسر دو روش برای اجرای کد هستند. تفاوت های اصلی بین آنها عبارتند از:1- زمان اجرا: در کامپایلر، کد منبع به زبان ماشین ترجمه می شود و فایل اجرایی ساخته می شود. در مقابل، در مفسر، کد منبع به صورت خط به خط تفسیر و اجرا می شود.2- سرعت: فایل های اجرایی کامپایل شده به دلیل نزدیک بودن به زبان ماشین، سرعت بالاتری در اجرا دارند. در حالی که در مفسر، همه عملکردها در زمان اجرا تفسیر و پاسخ داده می شوند که باعث کاهش سرعت عملکرد می شود.3- خطا: در کامپایل، خطاهای نحوی و نامعتبر قبل از تولید فایل های اجرایی گزارش شده و رفع می شوند. در حالی که در مفسر، خطاها به صورت خط به خط گزارش می شوند و تا زمانی که به آن خط برسید، نمی توانید آن را رفع کنید.4- حافظه: فایل های اجرایی کامپایل شده به دلیل نزدیک بودن به زبان ماشین، حجم کمتری از حافظه را اشغال می کنند. در حالی که در مفسر، همه عملکردها در زمان اجرا تفسیر و پاسخ داده می شوند که باعث اشغال بیشتر حافظه می شود.5- قابلیت پورت: فایل های اجرایی کامپایل شده قابل استفاده در سیستم های مختلف هستند. در حالی که در مفسر، بستگی به نوع سیستم عامل و نسخه مفسر دارد.

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

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

هر آنچه در مورد فریم ورک برنامه نویسی باید بدانید!

فریم ورک برنامه نویسیفریم برنامه نویسی یا چارچوب ها به چه معناست؟فریم ورک برنامه نویسی یک مجموعه از کتابخانه‌ها، ابزارها، قالب‌ها و الگوهای طراحی است که برای تسهیل و سرعت بخشیدن به فرآیند توسعه نرم‌افزار استفاده می‌شود. این فریم ورک‌ها به عنوان یک پلتفرم برای توسعه نرم‌افزار با استفاده از زبان‌های مختلف مانند جاوا، پایتون، روبی و… عمل می‌کنند. با استفاده از فریم ورک برنامه نویسی، برنامه نویسان قادر خواهند بود تا به سادگی کدهای خود را با استفاده از الگوریتم‌ های آماده در فضای کاربردی خود پشت سر بگذارند.اجزای فریم ورک برنامه نویسی1. معماری: معماری فریم ورک باید به گونه‌ای باشد که برای توسعه‌دهندگان قابل فهم و قابل استفاده باشد.2. کتابخانه‌ها: فریم ورک باید دارای کتابخانه‌های مفید و کاربردی باشد که برای توسعه‌دهندگان در دسترس باشند.3. ابزار تست: فریم ورک باید دارای ابزار تست مناسب باشد که به توسعه‌دهندگان کمک می‌کند تا بتوانند به راحتی تست‌ها را اجرا کنند.4. ابزار مستند سازی: فریم ورک باید دارای ابزار مناسب برای ساخت مستندها باشد، چون این اطلاعات به توسعه‌دهنده‌ها در طول زمان کمک خواهند کرد.5. پشتیبانی: فریم ورک باید دارای پشتیبانی مناسب باشد، چون در صورت نقص در سامانۀ عامل، نیاز به پشتیبانی وجود دارد.6. امنیت: فریم ورک باید دارای امنیت مناسب باشد تا بتواند از حملات مخرب جلوگیری کند.7. قابلیت توسعه: فریم ورک باید قابلیت توسعه مناسب را داشته باشد، چون در طول زمان نیاز به تغییرات و به‌روزرسانی‌های مختلف وجود خواهد داشت.8. سادگی: فریم ورک باید ساده و قابل استفاده باشد، چون در صورت پیچیدگی، استفاده از آن سخت خواهد شد.تفاوت فریم ورک برنامه نویسی با کتابخانه فریم ورک برنامه نویسی یک ساختار کامل برای توسعه برنامه های کاربردی است که شامل مجموعه ای از قوانین، الگوها، کدها و ابزارهای مورد نیاز برای توسعه برنامه های پیچیده است. فریم ورک به عنوان یک پلتفرم کاربردی عمل می کند و به برنامه نویسان این امکان را می دهد تا با استفاده از آن، برنامه های خود را با سرعت و به صورت مؤثر توسعه داده و پشتیبانی کنند. کتابخانه در حقیقت گروهی از توابع، روش ها و الگوریتم های جزئی است که به صورت جداگانه قابل استفاده هستند. در حال حاضر، بسیاری از زبان های برنامه نویسی دارای کتابخانه های مختلف هستند. با استفاده از کتابخانه، برنامه نویس مجبور نخواهد بود که تمام کدهای مورد نیاز را خودش بنویسد و می تواند از کدهای قبلی استفاده کند. بنابراین، تفاوت اصلی بین فریم ورک و کتابخانه در این است که فریم ورک یک ساختار کامل برای توسعه برنامه های پیچیده است، در حالی که کتابخانه گروهی از توابع جزئی است که به صورت جداگانه قابل استفاده هستند.فریم ورک های برنامه نویسی معروف.1 React2. Angular3. Vue.js4. Laravel5. Django6. Ruby on Rails7. Express.js8. Spring Framework9. ASP.NET Core10. Flask

نوشته هر آنچه در مورد فریم ورک برنامه نویسی باید بدانید! اولین بار در ویرگول پدیدار شد.

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

تمرکززدایی در بلاک چین چیست؟

تمرکززدایی چیست؟در بلاک چین، تمرکززدایی به انتقال کنترل و تصمیم گیری از یک نهاد متمرکز (فرد، سازمان یا گروه آن) به یک شبکه توزیع شده اشاره دارد. شبکه‌های غیرمتمرکز تلاش می‌کنند تا سطح اعتمادی را که شرکت‌کنندگان باید به یکدیگر داشته باشند، کاهش دهند و از توانایی آن‌ها برای اعمال اقتدار یا کنترل بر یکدیگر به شیوه‌هایی که عملکرد شبکه را کاهش می‌دهند، بازدارند. اگر در حال یادگیری مفاهیم بلاک چین هستید و علاقه مند به یادگیری برنامه نویسی بلاکچین هستید، می توانید در دوره برنامه نویسی بلاک چین آرتا رسانه شرکت کنید.چرا تمرکززدایی مهم استتمرکززدایی مفهوم جدیدی نیست. هنگام ساخت یک راه حل فناوری، معمولاً سه معماری شبکه اصلی در نظر گرفته می شود: متمرکز، توزیع شده و غیرمتمرکز. در حالی که فناوری‌های بلاک چین اغلب از شبکه‌های غیرمتمرکز استفاده می‌کنند، خود یک برنامه بلاک چین را نمی‌توان صرفاً به عنوان غیرمتمرکز یا غیرمتمرکز طبقه‌بندی کرد. در عوض، تمرکززدایی یک مقیاس کشویی است و باید در تمام جنبه های یک برنامه بلاک چین اعمال شود. با تمرکززدایی مدیریت و دسترسی به منابع در یک برنامه کاربردی، می توان به خدمات بیشتر و منصفانه تری دست یافت. تمرکززدایی معمولاً دارای برخی معاوضه‌ها مانند توان عملیاتی کمتر است، اما در حالت ایده‌آل، این مبادلات ارزش ثبات و سطح خدمات بهبود یافته‌ای را دارند که تولید می‌کنند.مزایای تمرکززدایی در بلاک چیندر ادامه به ذکر چند مزیت تمرکز زدایی در بلاک چین می پردازیم.محیطی بدون اعتماد را فراهم می کنددر یک شبکه بلاک چین غیرمتمرکز، هیچ کس مجبور نیست شخص دیگری را بشناسد یا به آن اعتماد کند. هر عضو در شبکه یک کپی از همان داده ها را در قالب یک دفتر کل توزیع شده دارد. اگر دفتر کل اعضا به هر نحوی تغییر یا خراب شود، توسط اکثریت اعضای شبکه رد می شود.تطابق داده ها را بهبود می بخشدشرکت ها اغلب داده ها را با شرکای خود مبادله می کنند. این داده ها، به نوبه خود، معمولاً تبدیل شده و در سیلوهای داده هر یک از طرفین ذخیره می شوند، تنها زمانی که نیاز به ارسال به پایین دست دارند، دوباره ظاهر می شوند. هر بار که داده ها تبدیل می شوند، فرصت هایی را برای از دست دادن داده ها یا داده های نادرست برای ورود به جریان کاری باز می کند. با داشتن یک فروشگاه داده غیرمتمرکز، هر موجودیتی به یک نمای هم‌زمان و اشتراک‌گذاری داده‌ها دسترسی دارد.نقاط ضعف را کاهش می دهدتمرکززدایی می‌تواند نقاط ضعف را در سیستم‌هایی که ممکن است اتکای بیش از حد به بازیگران خاص وجود داشته باشد، کاهش دهد. این نقاط ضعف می تواند منجر به شکست های سیستمی شود، از جمله عدم ارائه خدمات وعده داده شده یا خدمات ناکارآمد به دلیل فرسودگی منابع، قطعی های دوره ای، تنگناها، عدم وجود انگیزه های کافی برای خدمات خوب، یا فساد.توزیع منابع را بهینه می کندتمرکززدایی همچنین می تواند به بهینه سازی توزیع منابع کمک کند تا خدمات وعده داده شده با عملکرد و ثبات بهتر و همچنین کاهش احتمال شکست فاجعه بار ارائه شود.نحوه مقایسه عدم تمرکزتمرکززدایی باید در جایی که منطقی است اعمال شود. فقط به این دلیل که یک برنامه بلاک چین است به این معنی نیست که باید 100٪ غیرمتمرکز باشد. هدف هر راه حل بلاک چین ارائه آنچه کاربران آن راه حل به آن نیاز دارند است و ممکن است سطوح خاصی از تمرکززدایی را شامل شود یا نباشد. برای درک بهتر شبکه‌های غیرمتمرکز، جدول زیر نحوه مقایسه شبکه‌های غیرمتمرکز با شبکه‌های متمرکز و توزیع شده رایج‌تر را نشان می‌دهد.هر معماری شبکه دارای مزایا و معاوضه هایی است. به عنوان مثال، سیستم های بلاک چین غیرمتمرکز، بر خلاف سیستم های توزیع شده، معمولا امنیت را بر عملکرد اولویت می دهند. بنابراین، هنگامی که یک شبکه بلاک چین افزایش یا کاهش می یابد، شبکه ایمن تر می شود، اما عملکرد کند می شود زیرا هر گره عضو باید تمام داده های اضافه شده به دفتر کل را تأیید کند. افزودن اعضا به یک شبکه غیرمتمرکز می‌تواند آن را ایمن‌تر کند، اما لزوماً سریع‌تر نیست.چه کسی در حال ساخت برنامه های بلاک چین با استفاده از تمرکززدایی استهر پروتکل بلاک چین، برنامه غیرمتمرکز (dApp)، سازمان غیرمتمرکز خودمختار (DAO) یا سایر راه حل های مرتبط با بلاک چین سطوح مختلفی از عدم تمرکز را اتخاذ می کند. سطح پذیرش معمولاً مبتنی بر بلوغ راه‌حل، قابلیت اطمینان مدل‌های مشوق و مکانیسم‌های اجماع آن و توانایی تیم موسس برای ایجاد تعادل مناسب است. به عنوان مثال، بسیاری از DAOها در مراحل مختلف تمرکززدایی دارای اجزای مختلفی هستند: اوراکل ها (به عنوان مثال، خدمات شخص ثالثی که قراردادهای هوشمند با اطلاعات خارجی ارائه می کنند) ممکن است تا حدی غیرمتمرکز باشند، قراردادهای هوشمند ممکن است کاملاً متمرکز باشند، در حالی که فرآیند حاکمیت برای تنظیم پارامترها جامعه محور و غیرمتمرکز.در مقیاس وسیع‌تر، راه‌حل‌های غیرمتمرکز بلاک چین توسط سازمان‌هایی با هر نوع، اندازه و صنعتی در حال بررسی و پذیرش هستند. برخی از نمونه های قابل توجه شامل برنامه هایی هستند که کمک فوری خارجی یا اضطراری را به کسانی که بیشتر به آن نیاز دارند، بدون میانجیگری بانک، دولت یا نهاد شخص ثالث ارائه می کنند. یا برنامه هایی که به افراد امکان مدیریت هویت دیجیتال و داده های خود را می دهند. امروزه پلتفرم‌های رسانه‌های اجتماعی، شرکت‌ها و سایر سازمان‌ها این اطلاعات را بدون اینکه فرد هیچ سودی ببیند، به فروش می‌رسانند. یک رویکرد غیرمتمرکز به عادلانه شدن آن برای همه کمک می کند.یک مثال در دنیای واقعیمجموعه Contura Energy، یکی از تامین کنندگان پیشرو زغال سنگ مستقر در ایالات متحده، برای مدیریت پرداخت های تجاری بین المللی خود به سیستم اعتبار اسنادی قدیمی وابسته است. این اعتبار اسنادی که توسط یک بانک واسطه به نمایندگی از مشتری صادر می شود، به عنوان تضمین پرداخت برای خریداران عمل می کند. در حالی که این سیستم قابل اعتماد است، همچنین به صورت دستی هدایت می شود، کند و بسیار ناکارآمد است.مجموعه Contura Energy اهمیت و ارزش دیجیتالی کردن و خودکار کردن فرآیند اعتبار اسنادی خود را درک می کند. چالشی که آنها با آن روبرو هستند، ایجاد اعتماد متقابل و تأیید بین فروشندگان و خریداران است. آنها در حال کار با AWS بر روی یک نوآوری غیرمتمرکز و مبتنی بر بلاک چین هستند که سیستمی کارآمدتر، صرفه جویی در هزینه و ریسک کمتری برای مدیریت پرداخت های تجارت بین المللی ارائه می دهد. این راه‌حل غیرمتمرکز همچنین شفافیت را افزایش می‌دهد و به همه طرف‌ها امکان مشاهده بی‌درنگ داده‌ها و اسناد را می‌دهد.

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

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

برنامه مدیریت برق ( TLP ) در لینوکس

دوستان سلام ، امیدوارم حالتون خوب باشه .من می خوام تو این مقاله در مورد ابزار مدیریت انرژی ( برق ) سیستم در لینوکس براتون صحبت کنم .من چون برنامه نویس هستم و برای دسترسی راحت تر به ابزار های برنامه نویسی ؛ تصمیم گرفتم که به لینوکس مهاجرت کنم . خب یکی از اولین دغدغه های من این بود که چون مدت زیادی از لپتاپم استفاده می کنم و برق زیادی مصرف می کنم نیاز نباشه که هر لحظه باتری رو شارژ کنم و ازش استفاده کنم و دوباره لپتاپ رو برق متصل کنم ، چون این کار باعث کاهش طول عمر باتری سیستم شما میشه .پس تصمیم گرفتم از همون ابزاری که داخل ویندوز برای مدیریت باتری سیستم استفاده می کردم در لینوکس هم استفاده کنم ، اما متاسفانه اون ابزار در لینوکس وجود نداشت و فقط در ویندوز وجود داشت .بعد از جستجو های فراوان در اینترنت و با کمک گرفتن از Chat GPT تونستم همون ابزار مورد نظرم رو پیدا کنم .اسم این ابزار در سیستم عامل های لینوکسی TLP نام دارد که شما به راحتی میتوانید ازش استفاده کنید .>>>> خب بریم برای نصب و استفاده از ابزار tlp در لینوکس:اولین کاری که باید انجام بدهید این هست که tlp را نصب کنید sudo apt install tlpسپس با زدن دستور زیر وارد فایل پیکربندی tlp بشویدsudo nano /etc/tlp.confخب بعد از اینکه به این مرحله رسیدید باید محدوه شارژ باتری رو تنظیم کنید ، یعنی چی محدوده شارژ ؟یعنی اینکه شما به عنوان مثال می خواهید شارژ باتری زمانی که به 62 درصد رسید باتری از مدار خارج بشود و لپتاپ با برق مستقیم کار بکند و زمانی هم که از 60 درصد پایین تر آمد به طور خودکار باتری شارژ شود .>>> برای اینکه بتوانید این کار را انجام دهید اسکرول کنید تا به قسمتی که در عکس مشاهده می کنید برسید .START_CHARGE_THRESH_BAT0, STOP_CHARGE_THRESH_BAT0START_CHARGE_THRESH_BAT1, START_CHARGE_THRESH_BAT1مقادیر بالا را طبق عکس تغییر دهید .سپس بازدن CTRL+O , ENTER فایل را ذخیره کنید و با زدن دکمه CTRL+X از ویرایشگر nano خارج شوید .در آخر هم باید tlp را ریستارت کنید .sudo systemctl restart tlpخب دیگه الان ما توانستیم از ابزار tlp استفاده بکنیم و طول عمر باتری لپتاپمان را افزایش دهیم .راستی من از برنامه MyAsus برای ویندوز استفاده می کردم که مخصوص لپتاپ های شرکت Asus هستش .موفق باشید .INSTAGRAM

نوشته برنامه مدیریت برق ( TLP ) در لینوکس اولین بار در ویرگول پدیدار شد.

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

آینده برنامه نویسی به کجا خواهد رسید؟

آینده برنامه نویسیآینده برنامه نویسی چگونه است؟آینده برنامه نویسی به دلیل رشد روزافزون فناوری و افزایش استفاده از دستگاه‌های الکترونیکی، بسیار روشن و پر رونق است. در آینده، برنامه نویسان با تمرکز بر توسعه نرم افزارهای هوش مصنوعی، اینترنت اشیاء، واقعیت مجازی و افزوده شده، بازار کار خود را گسترش خواهند داد. همچنین، با تلاش برای بهبود کارایی و کاهش هزینه‌ها، استفاده از پلتفرم‌های cloud computing و containerizationدر آینده به صورت گسترده‌تر صورت خواهد گرفت. علاوه بر این، تلاش برای حفظ امنیت در سطح سخت‌افزار و نرم‌افزار به علت رشد سطح تجارب کاربران نقطۀ تأکید قرار خواهد گرفت.ویژگی های زبان برنامه نویسی آینده1. قابلیت پشتیبانی از برنامه نویسی چند رشته‌ای و همزمان2. قابلیت پشتیبانی از برنامه نویسی تابعی و برنامه نویسی شئ‌گرا3. قابلیت پشتیبانی از برنامه نویسی تحلیلگر مجموعه داده‌ها (Data Analytics)4. قابلیت پشتیبانی از برنامه نویسی هوش مصنوعی (Artificial Intelligence)5. قابليت پشتيبانی از برنامه نويسی يادگيری عميق (Deep Learning)6. سادگی و آسان بودن در استفاده7. سرعت و کارایی بالا در اجرای کدها8. قابل استفاده در سطح گسترده‌ای از دستگاه‌ها، شامل کامپيوتر، تلفن همراه، تبلت و …9. قابل استفاده در محاسبات ابری (Cloud Computing)10. پشتيباني از جامعه کاربردی گسترده، شامل علم داده، رباتيک، اينترنت اشيا و …لیستی از زبان های برنامه نویسی با آینده ای درخشان.1 Python (پایتون)2. JavaScript (جاوا اسکریپت)3. Java (جاوا)4. Swift (سویفت)5. Kotlin (کاتلین)6. Rust (راست)7. Go (گولنگ)8. TypeScript (تایپ اسکریپت)9. Dart (دارت)10. Ruby (روبی)اگر این مطالب برایتان مفید بود میتوانید مطالب مفیدتر را در لینک زیر مطالعه فرمایید و از برنامه نویسی فراتر از چیزی که خواندید مطلع شوید :https://becode.ir/what-is-the-future-of-programming/

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

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

برنامه نویس کیست؟

به چه کسی برنامه نویس می‌گویند؟برنامه نویسی چیست؟برنامه نویسی فرایند نوشتن کدهای کامپیوتری است که به زبان ماشین قابل اجرا هستند. برنامه نویسان با استفاده از زبان های برنامه نویسی مختلف، الگوریتم ها و ساختار داده ها، برنامه های کاربردی و سیستم عامل های کامپیوتر را توسعه می دهند. برنامه نویسان معمولاً در صنعت فناوری اطلاعات، بازار کار، علم و تحقیقات و حتی صنایع دفاع و امنیت فعال هستند.به چه کسی برنامه نویس می‌گویند؟برنامه نویس فردی است که به طراحی، توسعه و پیاده سازی نرم افزارهای کامپیوتری مشغول است. این شخص با استفاده از زبان های برنامه نویسی مختلف، الگوریتم ها و ساختار داده ها، برنامه های کاربردی را برای حل مسائل مختلف طراحی و پیاده سازی می کند. برنامه نویسان در صنعت فناوری اطلاعات، با توجه به تخصص خود، در حوزه های مختلف از جمله تحلیل داده ها، شبکه های کامپیوتری، بانکداری الکترونیک و بازار سرمایه فعال هستند.وظایف یک برنامه نویس چیست؟1. طراحی و توسعه نرم افزارهای کاربردی2. تست و ارزیابی نرم افزارها3. پشتیبانی و بهبود عملکرد نرم افزارها4. بروز رسانی و توسعه قابلیت های جدید در نرم افزارها5. حل مشکلات فنی و عیب یابی در نرم افزارها6. طراحی و پیاده سازی پایگاه داده های مختلف7. طراحی و توسعه صفحات وب، برنامه های موبایل و سایر بستر های دستگاه های الکترونیکی8. پشتیبانی فنی، رفع خطا، بهینه سازی کد، به روز رسانی نسخه های جدید برنامه ها. 9. آموزش کاربران در استفاده از نرم‌افزار. 10. شناسایي مشکلات کاربران با استفاده از سامانۀ گزارش‌دهي خطا (Bug Tracking System)توسعه دهنده کیست؟توسعه دهنده یک فرد یا تیمی است که به طور حرفه ای برنامه های کامپیوتری و نرم افزارهای مختلف را توسعه می دهد. این شامل طراحی، پیاده سازی، تست و نگهداری برنامه های کامپیوتری است. توسعه دهندگان ممکن است در صنایع مختلف از جمله فضای مجازی، بازاریابی، بازار سرمایه، بازار کار و غیره فعال باشند.مقایسه برنامه نویس و توسعه دهندهتوسعه دهنده و برنامه نویس دو شغل مرتبط در صنعت فناوری اطلاعات هستند، اما تفاوت هایی در وظایف و مسئولیت های آنها وجود دارد.برنامه نویس به عنوان یک تخصص کاربردی، به طور عمده بر روی تولید کد و پیاده سازی برنامه های کامپیوتری تمرکز دارد. این شخص مسئول اجرای طرح های برنامه نویسی است و با استفاده از زبان های برنامه نویسی مختلف، کد مورد نظر را پروگرم می کند.برنامه نویسان به طور عمده در چارچوب های کاربردی، سرویس های وب، بازارچه های الکترونیک و سایر پروژه های فناورانه فعال هستند.توسعه دهنده، به طور عمده بر روابط با مشتريان، تحليل نيازمنديهاي کاربران، طراحي و توسعه سيستم ها و برنامه ها تمرکز دارد. این شخص مسئول ایجاد روش های جدید برای حل مشکلات، بهبود عملکرد سیستم ها و پیاده سازی روش های نوین است.توسعه دهندگان به طور عمده در شرکت های بزرگ فعالیت می کنند و با تیم های مختلف در چارچوب پروژه های بزرگ همکاری می کنند. بطور خلاصه، برنامه نویسان به طور عمده بر روی پروگرم کردن کدها تمرکز دارند، در حالی که توسعه دهندگان به طور عمده بر روابط با مشتريان، طراحي و توسعه سيستم ها و برنامه ها تمرکز دارند.اگر این مطالب برای شما مفید بود میتوانید ادامه آن را در لینک زیر مطالعه بفرمایید :https://becode.ir/who-is-programmer/

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

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