De.coder
473 subscribers
457 photos
44 videos
191 files
300 links
Download Telegram
Scala
Scala

یک زبان برنامه نوسی همکاره که میتوان از آن در همه کارها و پروژهای برنامه نویسی با مقیاس های متفاوت استفاده کرد به این تعریف اصطلا general purpose گفته میشد .

با این زبان میتوان به صورت functional برنامه نویسی کرد هرچند که در نسخهای خود قابلیت object-oriented رو هم دارد اما اصل کارکردها و قابلیتهای این زبان بصورت functional است. این قابلیت بصورت یک فیچر به زبان میتوان اضافه کرد.

این زبان از قابلیت static type پشتیبانی کامل و قوی دارد و این بدان معنی میباشد که بر روی برنامه شما آنالیز تایپ هایی همچون متغیر انجام میشود که این باعث کوچکتر شدن منابع استفاده برنامه همچنین سرعت و عملکرد بهتر برنامه میشود . بر خلاف پایتون که dynamic type است

امتیاز این زبان تحت لیسانس apache2.0 میباشد.

این زبان برای اجرا شدن به java bytecode تبدیل میشود که این بدین معنی میباشد که برای کامپایل و اجرا شدن ، نیاز به JVM دارد . پس میتوان نتیجه گرفت که این زبان بر اساس JAVA ساخته شده که بسیاری از مشکلات این زبان یعنی JAVA را حل کرده . اما نتیجه دیگری هم میتوان گرفت که از این زبان میتوانید در داخل برنامه جاوایی خود و برعکس ، از جاوا در این زبان استفاده ک بهره وری کنید .

اما این زبان چندین ویژگی از زبان JAVA را ندارد . به عنوان مثال قبلیت هایی همچون :
Overloading
Named parameter
Optional parameter
Etc .

این زبان از قابلیتهایی همچون list و tuple پشتیبانی میکند ( abstract ) .

یکی از ویژگی هایی که پارادایم برنامه نویسی functional به این زبان بخشیده است قابلیت concurent می باشد .

چند مورد از دستورات این زبان را در اینجا بیان میکنیم :
Val
متغیر های غیر قابل تغیر
Var
متغیرهای قابل تغیر
Def
تعریف تابع
List
تعریف لیست
Unit
سینگلتون کلاس
Etc.

از برنامهایی که بر اساس این زبان نوشته شدند میتوان به apache kafka و apache spark اشاره کرد که به این معنی میباشد که اجازه cluster computing را به کاربر و برنامها میدهد پس میتوان نتیجه دیگری که گرفت برای کار با پایگاه داده بهترین انتخاب برای این زبان NoSql ها میباشند .

یکی از مشکلا این زبان میتوان به یادگیری آن اشاره کرد بسیار سخت تر از java میباشد

سرعت رشد این برنامه بالاست بطوری که در یک سال ممکنه شما 3 تا نسخه جدید از این برنامه مشاهده کنید ( نسخه فعلی آن 2.13.1 که به عنوان نسخه stable معرفی شده میباشد ) .

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

سوال : ویژگی های بسیار مهم این زبان چیست ؟

🖥 www.scala-lang.org

@de_coder
Haskell

یک زبان برنامه نویسی general هستش که بصورت کامل ( فقط ) از پارادایم functional پشتیبانی میکنه . و این به این معنا میباشد که تمام توابعی که در این برنامه نوشته میشود میتواند قابلیت pure را داشته باشد و بقیه قوانین مربوط به functional .

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

در این زبان برای اولین بود که بحث type class معرفی شد و برای اولین بار در این زبان ارائه شد برای مثال باعث شد type-safe operator overloading در زبانهای برنامه نویسی قابل ارائه باشه و همچنین این اتفاق برای اولین بار در این زبان شد .

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

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

از ویژگی های این زبان میتوان به functional بود آن و همچینین کامل علمی بودن آن ( برخلاف بعضی از زبانها که بر اساس تجربه ساخته شده ) اشاره کرد که البته این ویژگی خودش کم چیزی نیست .

این ویژگی باعث شد این زبان برنامه نویسی در کارهای cuncorrenc و همچنین parallel حرفی واسه گتن داشته باشد.

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

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

یکی از ویژگی های این زبان میتوان به static type بودن اشاره کرد .

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

این زبان برای توسعه و پیشرفت آن چهار جامعه برنامه نویسی و conference داره که بشرح زیر :

ICFP
CUFP
haskell workshop ( haskell symposium )
Haskell inplementers workshop



🖥 www.haskell.org
@de_coder
#سرورهایشان


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

@de_coder
Forwarded from Debrary (Mohammad Mahdi)
مجموعه ابزارهای Red Teaming Toolkit
لینک دانلود
https://bit.ly/3aJLIvJ
Forwarded from Debrary (kc)
با سلام خدمت دوستان ، یکی از کتابایی که بسیار توصیه شده در زمینه شبکه این کتاب هستش.
درواقع همان dns server میباشد که با زبان go نوشته و توسعه یافته است اما قابلیتهای بسیار جالب و خوبی داره
Quantum computing :

کامپیوتر هایی که توانایی پردازش کوانتومی دارند به quantum computer معروف هستند .

این شاخه از سال 1980 توسط بنیان گذار آن یعنی پائول بنیوف فعالیت کرده که یک مدل از turing machine را توصیف میکند همچنین این شاخه علمی خود زیر شاخه از علم quantum information science یا QIS میباشد.
بعد ها افرادی نظیر یوری منین و ریچارد فینمن این مدل را توسعه دادند که بر اساس گفتهای آنها ، این کاپیوترها میتوانند فاکتور گیری و یا عملیات های الگریتمی را بسیار سریعتر انجام دهند .
این کامپیوتر پتانسیل حل مشکلات الگریتم RSA را دارند ( مشکل این الگریتم در فاکتور گیری بسیار سنگین کلید برای دیکد کردن متن است ) .

محاسباتی که کامپیوتر های کلاسیک یا معمولی میتوانند انجام دهند ، کامپیوتر های کوانتومی نیز توانایی آن را دارا میباشند و برعکس اون هم به دلیل مسئله مشترک در آنها .
church turing thesis

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

@de_coder
Forwarded from Decoder Courseware (kc)
Media is too big
VIEW IN TELEGRAM
فیلم همایش < علوم کامپیوتر نظری: گذشته حال و آینده >
سخنران : دکتر امیر دانشگر
برگزار کننده : انجمن علمی همبند
@decodercw
🔺لغو پروژه TON برای تلگرام دردسرساز شد؛ احتمال شکایت سرمایه‌گذاران از پاول دورف

🔹موسس تلگرام رسما خبر از لغو شبکه بلاکچین TON و رمزارز گرم داده و حالا به نظر می‌رسد این موضوع برای پاول دورف دردسرساز شود. سرمایه‌گذاران که ۱.۷ میلیارد برای این پروژه هزینه کرده‌اند، شاید از تلگرام و دورف شکایت کنند.

یکی از اعضای کمیته پارلمانی سیاست‌گذاری اطلاعات روسیه، «Yevgeny Lifshiz» به این موضوع اشاره کرده که پاول دورف از نظر تئوری همچنان می‌تواند تصمیم خود را تغییر دهد و با رعایت تمام پیش‌نیازها، همچنان این پروژه را ادامه دهد. چنین کاری ممکن است در راستای تجدیدنظر در پروژه «لیبرا» فیسبوک باشد.
برخی متخصصان بر این باورند که تلگرام برای بازپرداخت سرمایه‌ها، احتمالا به آن‌ها بخشی از سهام شرکت را پیشنهاد می‌کند. مدیریت «Russian Venture Company»، «الکسی باسوف» به این موضوع اشاره کرده که با توجه به مداخله ۱۱ ساعته رگولاتورها برای مسدودسازی TON، سرمایه‌گذاران در صورت شکایت شاید در موقعیت آسیب‌پذیری از نظر حقوقی قرار بگیرند.
Forwarded from Debrary (kc)
CCNAv7 : Introduction to Networks (ITN) Companion Guide - Cisco Networking Academy - 2020
@debrary
De.coder
RFC @de_coder
خواندن RFC ها کار بسیار سختی هستش و ممکنه شما دچار اشتباه بشید یا ممکنه بعضی از علامت ها را ندانید . در لینک زیر سایت مرجع نحوه خواندن این مقالات را به شما توضیح میدهد .

https://www.ietf.org/blog/how-read-rfc/

@de_coder
Optimization of the N-body simulation :

یکی از مشکلات امروز دانشمندان کامپیوتر یا همان computer science در این است که چگونه میتوان سیستم هایی که از تکنولوژی پردازش موازی استفاده میکنن را جوری بهینه کرد که بتوان چندین شبیه سازی رو اجرا و در زمان مناسب به نتیجه دلخواه که تمرکز آنها بر روی سیستم های اینتل که دارای آخرین تکنولوژی اینتل و بر اساس معماری AVX-512 هستند پیاده کرد

مسئله N-body یکی از مسائل جالب و قابل پیاده سازی و شبیه سازیست .
این مسئله باعث تاثیر بسیاری درضمینه فیزیک نجوم شده است .
و اما n-body چیست ؟
یک ابزار شبیه سازی بسیار قوی برای محاسبه و آزمایش کردن جاذبه و یا تعامل بین ذرات تا از تعداد مشخصی از اجرام که در کهکشان وجود دارند بتوانند یک کهکشان را مطالعه کنند که در این باره میتوان به ماده تاریک هم اشاره کرد . مشکل در آن است که تغیرات یک سیستم N تایی را در طول زمان سپری شده شبیه سازی کرد.

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

@de_coder
دوستان شبکه ای حواس تون به این موردم باشه : 👇

یک باگ امنیتی خطرناک در سرویس DNS ویندوز سرور از نسخه 2003 الی 2019 کشف شده است با درجه اهمیت 10 که به هکرها دسترسی بالا به سرور را میدهد شناسه این آسیب پذیری
CVR-2020-1350
می باشد

مدیران و ادمین های شبکه آگاه باشند که هرچه سریعتر بروزرسانی مذکور را سریعا انجام دهند

فقط دست از سر این ویندوز بردارید تو رو خدا
#update

🔴 هک شدن حساب توییر اشخاص زیر تاکنون تایید شده است:

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

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

البته پست‌ها خیلی زود از سوی توییتر پاک می‌شوند، اما فقط چند ثانیه کافی است تا یک کاربر گول بخورد و به کیف پول هکر بیت کوین ارسال کند.
@de_coder
De.coder
#update 🔴 هک شدن حساب توییر اشخاص زیر تاکنون تایید شده است: 🔸 چانگ‌پنگ‌‌ ژائو، مدیرعامل بایننس 🔸 صرافی بایننس 🔸 ایلان ماسک 🔸 بیل گیتس 🔸 جاستین سان، خالق ترون 🔸صرافی جمینی 🔸صرافی کوکوین 🔸چارلی لی، خالق لایت کوین 🔸صرافی بیتفینکس 🔸شرکت ریپل 🔸اوبر 🔸اپل 🔸کانیه…
خب دوستان مثل اینکه هک شدن اکانت های توییتری در واقع یه مهندسی اجتماعی بوده که attacker کنترل سیستم یک یا چندی از کارمندان توییتر رو به دست گرفت .

دوستان این روزا دور کاریا زیاد شده حواستون رو جمع کنید که این بلاها سرتون نیاد الان تو محیط شرکت نیستید و قوانین و امنیت شبکه خصوصی داخلی شرکت روی سیستم و ارتباطات شما اجرا نمیشه .
@de_coder
Blockchain ?

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

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

هر بلاک در بلاک چین دارای سه بخش میباشد :
1_ زمان ، مکان ،تاریخ ، و مقدار ارزش ( پول ) مورد نظر در تراکنش

2_ اطلاعاتی درباره طرف دیگر تراکنش

3_ اطلاعات ذخیره شده در هر بلاک تفاوت بین هر بلاک را مشخص میکند که این اطلاعات با استفاده از hash تبدیل به checksum ویا digest string شده و این حکم ID در هر بلاک را دارد .

اندازه هر بلاک به عنوان مثال در BITCOIN به 1 مگابایت میرسد که این هم بستگی به تراکنش دارد .

*( به دوستان حرفه ای تر توصیه میشه حتما درباره این موضوع بصورت تخصصی تحقیق و از تعاریف واقعی آگاهی داشته باشن ، _ در اینجا به صورت ساده بیان شده _ )*

@de_coder
با سلام
سال گذشته قسمت اول مجموعه "روزی روزگاری یک دانشمند کامپیوتر " را در چارچوب یک پادکست بلند مدت با محوریت موضوعی "معرفی فضای دانشگاه و رشته کامپیوتر" برای دانشجویان #جدیدالورود منتشر کردیم.

امسال قسمت دوم این مجموعه را در چارچوب یک وبینار با محوریت موضوعی " دانش و مهارت" و زیر موضوع "تکنولوژی و ابزار" برای دانشجویان #جدیدالورود برگزار خواهیم کرد.

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

@de_coder
@decodercw

#به_زودی#وبینار
#روزی_روزگاری_یک_دانشمند_کامپیوتر
De.coder
Blockchain ? به صورت عامیانه و عموم ، به مجموعه از اطلاعات به هم مرتبط بلاک چین گفته میشود و یا به زبان دیگر به مجموعه ای از زنجیرهای اطلاعاتی بهم متصل بلاک چین گفته میشود . شاید براتون جالب باشه ، ما پایگاه دادهایی بر اساس این تکنولوژی داریم . هر بلاک…
آیا بلاک چین به صورت ذاتی خصوصی است ؟

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

هر دستگاهی در شبکهای Blockchain یه کپی از بلاک چین خود را دارد ، در نتیجه میتواند در این شبکه میلیونها کپی از بلاک وجود داشته باشد .

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

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

تراکنش ها به صورت کامل مخفیانه نیست . اطلاعات هر کاربر در امضای دیجیتالی یا نام کاربری آنهاست .
@de_coder
آیا بلاک چین امن است ؟

در این باره راه حل های مختلف و متفاوتی وجود دارد .

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

وقتی بلاک اضافه شد خیلی سخت میشود تا بتوان به عقب بر گشت و دوباره آنرا تغیر داد چون دسترسی به آن ترتیبی میباشد ، شما این شرایط را در بلاک هایی با طول 615 هزار در نظر بگیرید که تا سال 2020 بوده .
چرا ؟
چون هر بلاک شامل هش خود و بلاک قبلی میباشد و در صورت تغیير باید آن نیز تغیر کند . حالا به پاک کردنش هم فکر كنيد.

برای اضافه کردن بلاک ، هر دستگاه باید از روش proof of work استفاده کند . به صورت خلاصه هر کامپیوتر باید ثابت کند که " work " خود را انجام داده و این کار با استفاده از جواب دادن به ریاضیات پیچیده است . این کار برای سیستمها ساده نیست که به این کار mining گفته میشود . این مورد باعث هزینه زیاد در سیستم میشود .

@de_coder