afshinnova 2 دیدگاه

لینوکس و برتری آن نسبت به ویندوز قسمت اول

 

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

از ابتدا لینوکس برای محیط های شبکه ای و چند کاربره طراحی شده است و همین باعث رعایت مسائل  امنیتی از آغاز در آن شده.درحالی که ویندوز اینگونه نبوده و در حال حاضر هم ویندوز دارای ضعف امنیتی فراوانی است.

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

  • یک مقدمه کوتاه

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

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

  • نرم افزار آزاد و متن باز

FOSS مخفف عبارت Free Open Source Software است به معنی نرم افزار آزاد و متن باز به دلیل استفاده آزاد و رایگان و اشتراک گذاری آزاد و رایگان و با نرم افزارهای اختصاصی تفاوت دارد.

ریچارد استالمن  در سال ۱۹۸۳ با راه اندازی جنبش نرم افزار آزاد آن را شروع کرد و بعد در سال ۱۹۸۵ با تاسیس بنیادی با نام بنیاد نرم افزار آزاد هر برنامه برای اینکه آزاد شناخته شود باید چهار حق را برای دیگران قائل باشد.

  • آزادی اجرای برنامه برای هرکاری ( آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن ( پیش نیاز : سورس کد برنامه ) ( آزادی یکم)
  • آزادی تکثیر و کپی برنامه ( آزادی دوم)
  • آزادی در تقویت و بهتر کردن برنامه و توزیع آن برای همگان ( پیش نیاز : سورس کد برنامه ) (آزادی سوم)

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

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

 

 

  • سیستم عامل

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

  1. ویندوز : این سیستم عامل توسط شرکت مایکروسافت ارائه شده و دارای یک رابط گرافیکی برای استفاده آسان کاربران از آن دارا است.
  2. Mac OS X : این سیستم عامل توسط شرکت اپل ارائه شده است و روی کامپیوتر های مکینتاش استفاده میگردد .

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

  • لینوکس

لینوکس تنها یک هسته ( Kernel) و با همان وظایف گفته شده است. بسیار کم پیش می آید در کاربرد روزانه ی خود با خود هسته لینوکس سر و کار داشته باشید. هسته نقش اصلی را در سیستم عامل برعهده دارد. در کار با کامپیوتر سیستم عامل اهمیت بالایی دارد از این رو استالمن تصمیم گرفت یک سیستم عامل آزاد بنویسد. سیستم عاملی که هر کس بتواند برای کاری که می خواهد از آن استفاده کند آن را بهبود بخشد و با دیگران به اشتراک بگذارد. نام این پروژه GNU گذاشتند.

بهترین معماری که در آن زمان بر روی کامپیوتر های بزرگ به شکل تجاری و بسته موجود بود UNIX نام داشت . استالمن شروع به نوشتن یک سیستم عامل کاملا آزاد بر اساس UNIX نمود. بر اساس این معماری لازم بود تا چهار جزء تکمیل شوند :

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

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

 

الهام عابدی 2 دیدگاه

راه اندازی PfSense بر روی ماشین مجازی

از آنجایی که در شبکه‌های کامپیوتری firewall ها یا دیواره های آتش موضوع امنیتی مهمی به حساب می‌آیند لذا بر آن شدم به معرفی و راه اندازی یک نوع فایروال بپردازم که البته متن باز محسوب می‌شود و کدهای آن نیز در Git در دسترس است. در نرم‌افزار PfSense سعی بر این بوده، تمامی ویژگی‌هایی که در فایروال ها موجود است را دارا باشد.

PfSense علاوه بر اینکه یک فایروال است:

  • وایرلس
  • سوئیچ
  • و مسیریاب می باشد.

قابلیت‌های مهمی هم که می‌توان به آن اشاره کرد:

  • پشتیبانی از VPN Server
  • پروتکل های مسیریابی (Routing)
  •  Captive Portal
  •  قابلیت لاگ گیری پیشرفته و …

پس از این معرفی اجمالی با ادامه مطلب برای راه اندازی PfSense همراه ما باشید.

پس از اینکه شما این برنامه را از سایت رسمی آن (https://www.pfsense.org/download) یا هر سایت دیگری دانلود کردید، فایل با فرمت gz. را از حالت فشرده ی آن خارج کرده و به سراغ VirtualBox یا ماشین مجازی تان می روید. این را هم اضافه کنم که برای برخورداری از امکانات بیشتر (چون می‌توان ویژگی‌های دیگری به آن افزود و آن را توسعه داد) می توانید با پرداخت هزینه ای در سایت، از قابلیت های بیشتری استفاده کنید.

 

خب در قسمت New در پنچره ی VB Manager، یک ماشین مجازی جدید با نام PfSense می‌سازیم. در قسمت type باید نوع BSD را انتخاب کنید.FreeBSD هم که نسخه‌ای از BSD می‌باشد را انتخاب می کنیم. که هسته ی این فایروال می باشد.

در مراحل بعدی باید یک Hard disk را به ماشینمان اضافه کنیم. با توجه به فضای سیستم در تخصیص هارد دقت کنید و در اینجا نوع VDI را انتخاب می کنید. چزا که پس از Extract کردن فایلی که دانلود کردید حتماً دیده‌اید که pfSense به صورت ISO موجود است.

 

حال ما یک ماشین به کلکسیون دیگر ماشین‌ها اضافه کردیم!

به قسمت تنظیمات می رویم. در قسمت Network، برای adapter اول Bridged Adapter و برای adapter دوم،Internal Network را انتخاب می کنیم.

 

در قسمت Storage، با انتخاب شاخه Empty، در قسمت Optical Drive فایل PfSense با فرمت ISO را وارد می کنیم.

 

در اینجا برای راه اندازی روی گزینه Start در منوی VB کلیک می‌کنیم و منتظر می‌مانیم 🙂

 

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

در مرحله آخر، بعد از وارد کردن 2 option، آی پی آدرس ورژن 4 ( ipv4 address LAN) را وارد می کنیم. بعد Subnet آن را وارد می کنیم.

در انتها می‌پرسد که آیا می‌خواهید DHCP Server یا LAN را فعال کنید؟ NO) n)

و به همین صورت راه اندازی می گردد. در شماره ی بعد، مطالب و نکاتی در باب PfSense خواهید آموخت. همراه قبیله باشید :)))

الهام عابدی ۱ دیدگاه

آشنایی با Redshift و نحوه ی اجرای آن

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

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

 

بخواهیم برنامه ای مشابه این برنامه معرفی کنیم؛ برنامه کاربردی f.lux است که البته Redshift  از آن ایده گرفته است.

 

نکته ای که باید در نظر گرفت این است که Redshift  از سرور نمایش wayland پشتیبانی نمی کند.

نحوه کار آن به این شکل است:

دو روش برای نصب Redshift در اوبونتو وجود دارد.

1)   نصب از طریق سیستم مدیریت apt (Advanced Packaging Tool)

این ساده ترین روش است. با دستورات apt در آخرین نسخه اوبونتو و انجام مراحل زیر می توان Redshift را اجرا نمود.

2)   نصب از طریق PPA (Personal Package Archive)

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

تا اینجا عملا دستورات نصب را وارد کردیم و در مراحل بعد تنظیمات و روند اجرایی را دنبال می کنیم.

در مسیر ~/.config  فایل زیر را تحت عنوان redshift.conf ایجاد می کنیم.

در اینجا به صورت پیش فرض، میزان دما در روز 5500 کلوین و در شب، 3700 کلوین است.

lat وlon  پارامتر هایی هستند که باید تغییر کنند و نیز به ترتیب، عرض و طول موقعیت قرارگیری تان است که در بالا جایگزین می کنید.

 

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

کیا حامدی بدون دیدگاه

Job scheduling

سلام خدمت تمامی دوستان عزیز

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

در این مقاله ما با دو نرم افزار بسیار پر کاربرد در زمینه Job-scheduling در سیستم عامی های یونیکسی آشنا میشیم که عبارتند از Cron و At که هر کدوم از این نرم افزار ها برای یک منظور خاص ساخته شده اند

نرم افزار cron برای این هدف ساخته شده که بتوان در فواصل زمانی مختلف و به تناوب یک کاری رو انجام داد و نرم افزار at  برای این منظور مورد استفاده قرار میگیرد که شما یک کار خاص رو در زمانی خاص ساعت و تاریخ خاص یک بار انجام داده و اجرا بکنید

نرم افزارهای cron و at هردو شامل دیمن هایی هستند که این دیمن ها در هر لحظه لیست خودشون رو چک میکنند و اون نرم افزار یا اسکریپتی که باید در آن زمان خاص اجرا شود رو اجرا میکنند

فایل های کانفیک نرم افزار cron در شاخه etc وجود دارد که شما میتوانید با اسم cron.conf پیداش کنید

شما میتوانید از طریق سیستم کنترل این سرویس هارو فعال یا غیر فعال کنید همانند زیر:

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

برای اینکه ببینید این سرویس ها در سیستم شما فعال هستند کافیه با دستور ps لیست پروسه ها رو ببینید و با گرپ cron یا at را جدا کنید

خب حالا با هم نگاهی به کنترل این نرم افزار های بیاندازیم

وارد مسیر etc شوید و فایل crontab را باز کنید، این فایل به عنوان فایل اصلی نرم افزار cron شناخته میشود و شامل مثال ها و راهنماهایی هم برای افراد است که بتوانید راحت job های خود را تنظیم کنید

این فایل در واقع برای یوزر های مختلف ساخته میشود و هر یوزر فایل خاص خودش را دارد، به عنوان مثال اگر روت (مدیر اصلی) یک سری job ها را در crontab خود قرار دهد این job ها در crontab یوزرهای عادی دیده نمیشود

چیزی که در اینجا مهم است، اول شل اجرایی است تا برای نرم افزار cron مشخص باشد job ها را به چه شلی اجرا کند و سپس مسیر مربوطه برای اجرا کردن دستورات مورد نیاز است و در انتها باید اسکریپت ها و نرم افزار هایی که اجرا شوند را با یک فرمت خاص بنویسیم

نکته ای که در بالا مهم است، رعایت نوع خاص تعریف job ها است و چیزهایی که در اینجا مهم هستند، زمان ها هستند

ما ابتدا باید دقیقه و ساعت را مشخص کنیم که مکان آنها با حروف m و h  نمایش داده شده است به عنوان مثال اعداد 23 30 را اگر وارد کنید به معنای اجرای job در ساعت 23 دقیقه 30 است که شما میتونید در اینجا از * هم استفاده کنید، همانطور که میدانید * به معنای هر است که اگه ما بر فرض مثال * * را وارد کنیم اینجوری خوانده میشود که اسکریپت ما هر دقیقه از هر ساعت اجرا شود که این را میتونید برای هفته و ماه و سال هم قرار دهید و بعد از این دستور اسکریپت یا نرم افزار را مشخص میکنید به این شکل

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

البته به نظر من درست نیست فایل crontab اصلی را دستکاری کنید، شما میتونید از سویچ های کران استفاده کنید تا برای یوزر شما فایل crontab ایجاد شود

با دستور crontab -l میتوانید به لیست های موجود برای یوزر خودتان دسترسی داشته باشید

با دستور crontab -e و انتخاب یک ادیتور میتوانید یک فایل crontab برای یوزر خودتان تعریف کنید

و با دستور crontab -r میتوانید یک crontab را پاک کنید

برای تعریف یک job شما میتونید از کلمات از پیش تعریف شده هم استفاده کنید به عنوان مثال

 

خب به نظر من برای cron تا اینجا کافی است، البته نرم افزار cron کانفیگ و ریزه کاری زیاد دارد که میتوانید با چند جستجوی ساده در اینترنت همه قسمت ها و کارهایی که میتوانید انجام دهید را یاد بگیرید، در اینجا بیشتر هدف آشنایی با Job scheduling است

بعد از cron بهتر است کمی راجب نرم افزار at هم صحبت کنیم

این نرم افزار هم مانند نرم افزار cron شامل دیمن هایی است که هر لحظه چک میکنند چه دستوری باید اجرا شود

این نرم افزار سه دستور دارد که شمال at برای تعریف یک job جدید

دستور atq برای لیست کردن at هایی که برای یوزر وجود دارد و دستور atrm برای پاک کردن یک at خاص مورد استفاده قرار میگیرد

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

در اینجا فقط یک مثال ساده برای نرم افزار at ذکر میشود

بعد از اینکه زمان مشخص شد با زدن enter توسط شل اجرا میشود و در هر خط از شما یک دستور میگیرد تا at شما ساخته شود

بد از اینکه تمام دستورات را وارد کردیم با کلید های ترکیبی ctrl + d به گرفتن دستورات خاتمه دهید و نرم افزار at برای شما آماده میشود

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

موفق و پیروز باشید

 

کیا حامدی

www.kiahamedi.ir

[email protected]

 

 

الهام عابدی بدون دیدگاه

اهمیت big data

 

همانند اتفاقاتی که تو جهان هستی میفته و تعجب همه ی ما رو بر می انگیزه، دنیای کامپیوتر و هر چی که به اون مربوط میشه به همون اندازه عجیب؛ زیبا و قابل تامله! این موضوع رو فقط یه گیک یا کسی که فاصله ی نزدیکی با گیک شدن داره درک میکنه!

یکی از این موضوعاتی که تو زمره ی این عجایب جا داره، داستان داده ها در فضای صفر و یک هست!

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

اگه بخوایم به عقب برگردیم؛ مثلا سال 2005 که اوج شکوفایی اینترنت بود، تا الان که سال 2017 رو پشت سر گذاشتیم تعداد کاربران اینترنتی از 1024 میلیون به 3578 میلیون رسیده، جدا از کسانی که واسطه مند به نت متصلن. که طبق این، تولید دیتا ها نیز با سرعتی چند برابر روندی صعودی داشته به خصوص در سه سال اخیر.

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

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

ممکنه به خودتون بگید که اصلا داده ها شامل چه چیزایی هست ؟! در یک جمله میگم که داده ها می تونه هر چیزی رو در بر بگیره یعنی هر چیزی که بهش فکر می کنید و حتی فکر نمی کنید! تمام فعالیت هایی که در فضای نت انجام می گیره از کلیک ها و لمس و ضربه به مانتیتور ها گرفته تا ارسال ها و دریافت ها و لحظه لحظه هایی که تو جایی از وب توقف داشتیم و هر چیزی که قابل ذخیره شدن هست.

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

 

پر استفاده ترین

داده های جهانی

توئیت ها

(twitte)

روزانه

فعالیت های

face book

دیتاهای

پردازش شده

در google

آپلود ویدئو

در you tube

در دقیقه

تعداد ایمیل

دریافتی در

ثانیه

داده های

کاربران از

وسایل هوشمند

خرید و فروش

در amazon

مصارف

خانگی

روزانه

مقادیر

یا درصد کل

50 میلیون 700 بیلیون 24 پتابایت 20 ساعت ویدئو 2.9 میلیون 1.3 اگزابایت 60 درصد داده های کل 375 مگابایت

 

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

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

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

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

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

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

همه ی این ها مواردی هستن که نشون دهنده ی اهمیت دیتاها خواهد بود. موضوعی که شاید کمتر به اون فکر کنیم در حالیکه چه هوشمندانه مورد استفاده قرار می گیره!

badrinex بدون دیدگاه

ارز دیجیتالی

 

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

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

یکی از پر کاربردترین ارزها بیت کوین BitCoin است که اکثر افراد با بیت کوین به معامله می پردازند. مدتی است که این ارز با افزایش چشمگیر قیمت روبرو گردیده است. همچنین بعضهی از افراد از این ارز به عنوان یک سرمایه گذاری برای افزایش پول خود استفاده می کنند.
چونکه مبلغ بیت کوین در اولین ظهور خود که جولای سال ۲۰۱۰ بود با ۰.۰۸ دلار معامله می گردید ، اما با گذشت ۷ سال این مبلغ به ۱۵۰۰۰ دلار برای هر بیت کوین پرداخت می شد و با کاهشی به قیمتی حدود ۱۳۰۰۰ دلار رسیده است. باید توجه داشت که این ارز با شرایط بوجود آمده قابل پیش بینی نمی باشد و نمی توان گفت سرمایه گذاری در آن چه آینده ای خواهد داشت . تنها برنده های که با بالا رفتن بیت کوین به سود هنگفتی رسیده اند افرادی هستند که در زمان قبل از افزایش قیمت تصمیم به خرید آن گرفتند.

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

‏Ethereum :
یک برنامه نویس به نام Vitalik Buterin که به عنوان یک مقاله نویس در مجله Bitcoin مشغول به کار بود با ایجاد یک برنامه غیر متمرکز در اواخر سال ۲۰۱۳ توانست یک پلتفرم جدید با زبان برنامه نویسی ساده و عمومی را پیاده سازی کند.
ارز دیجیتالی اتریوم در بین دیگر ارزها جایگاه بسیار خوبی را پیدا کرده است که یک ارز موفق و پر کاربرد بعد از بیت کوین به شمار می‌رود . قیمت فعلی این ارز در بازار معاملات ارزی دیجیتال ۷۷۲.۸۴ دلار به ازای هر ETH می باشد. اتریوم هم مانند بیت کوین برای داد و ستد ها و پرداخت هزینه ها تحت شبکه اتریوم استفاده می شود.

‏LiteCoin:
یک ارز دیجیتالی دیگر که به صورت متن باز با پیروی از بیت کوین و کد اختصاصی LTC به جمع ارزهای دیجیتالی پیوسته است. به طور تخصصی به مانند بیت کوین می باشد. اما تفاوت های با بیت کوین دارد که به عنوان مثال امنیت در لایت کوین به مراتب بیشتر از بیت کوین است و برای اینکار از الگوریتم scrypt بجای SHA-256 استفاده کرده است. قیمت این ارز دیجیتالی در بازار معاملات ۲۸۴.۷۶ دلار به ازای هر LTC رسیده است.

‏Dash:
یک ارز دیجیتالی بر پایه بلاک چین ( امنیت تضمین شده برای نقل و انتقال پول که غیر قابل ردگیری در دنیای اینترنت می باشد.) است. دش با قدرت بالا در امنیت و سرعت در تراکنش توانست بین افرادی که از ارزهای دیجیتالی استفاده می کنند جای خود را در بین دیگر واحدهای پولی دیجیتالی ثابت کند. نقطه قوت Dash در تراکنش های سریع می باشد که در کمتر از ۵ ثانیه این کار را انجام می‌دهد. حتی برای استفاده از دش نیاز نیست در جای ثبت نام کنید. آخرین قیمت Dash ۱٫۲۲۱.۱۶ دلار برای هر واحد می باشد.

نظرات در مورد ارزهای نو ظهور دیجیتالی در میان ارزهای اصلی کشورها چگونه است؟

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

با این حال بسیاری از مردم علاقه خود به کسب درآمد با ارز دیجیتالی را نشان داده اند. حتی آموزش های برای شروع اینکار ارائه داده است. حتی در بعضی از موارد شنیده شده است که زمزمه یک حرکت به سمت ارز دیجیتالی برای اشخاص ایرانی شروع شده است(صحت این خبر هنوز تائید نشده است.).

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

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

الهام عابدی بدون دیدگاه

شبیه سازی دنیای واقعی و مجازی

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

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

بیشتر بدانید

کیا حامدی بدون دیدگاه

من فریلنسر هستم

من فریلنسر هستم عنوان مقاله ای است که ما میخواهیم زیر این عنوان به بررسی وضعیت شغلی مهندسین نرم افزار بپردازیم

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

اما آیا فریلنسر بودن برای ایران خوب است یا خیر؟

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

در این بخش افراد به دو دسته تقسیم میشوند: افرادی که مدرک مهندسی کامپیوتر دارند و افرادی که فاقد این مدرک هستند و در رشته های دیگه اشتغال به تحصیل داشته اما برحسب علاقه به دنیای کامپیوتر وارد شده اند

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

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

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

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

خب الان فردی رو داریم که به عنوان برنامه نویس در یک شرکت خصوصی استخدام شده، خب این ایرادش چیه؟

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

شهرت؟ فکر نکتم چون دارید شرکت رو مشهور تر میکنید نه خودتون رو و هر زمانی که شما برید یک نفر دیگه جای شمارو میگیره و دوباره باید از صفر شروع کنید

آرامش؟بعید میدونم چون کار کردن برای یک کار فرما و تحویل کار در زمان تعیین شده باعث ایجاد دلهره و اضطراب میشه و انسان رو فرسوده میکنه

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

بیاید این بخش رو یک جور دیگه بررسی کنیم به عنوان مثال شما با حقوق ثابت ماهیانه 1 میلیون تومان یا خوشبینانه تر نگاه کنیم 5 میلیون تومان استخدام شدید و هر ماه حقوق خودتون رو کامل بدون دیرکرد دریافت میکنید حال شرکت یک پروژه گرفته و هزینه 20 الی 30 میلیون تومان برای انجامش دریافت کرده، خب مدیر و بالا دستی های شما چقدر دریافت میکنند و شما که کار اصلی را انجام میدهید چقدر دریافت میکنید؟

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

خب در این بخش مردم سراغ تاسیس شرکت میروند که خودشون شرکت خودشون رو داشته باشند

این یکم بهتر شد که شما با چند نفر یک تیم تشکیل میدید و هزینه پروژه های انجام شده نه برای کارفرما بلکه بسته به میزان فعالیت هریک از اعضا خواهد بود

خب این خیلی بهتره شد اما بازم موضوع فرهنگ تیمی و اعتماد پیش میاد، آیا به هم تیمی هاتون اعتماد دارید که همه ی فکر، توان و درآمد خودتون رو با آنها شریک بشید؟ اگه کسی خیانت کرد چی؟ چون به وفور دیده شده یا اگه کسی در بین راه تیم رو رها کرد؟

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

اینجاست که فریلنسر بودن یا آزادکار بودن خودنمایی میکند

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

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

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

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

mrasgari بدون دیدگاه

بازی زندگی

عکس

بازی زندگی برای اولین بار در سال ۱۹۷۰ توسط جان هورتون کانوی ریاضی دان برجسته بریتانیای معرفی شد بازی زندگی در اصل یک اتوماتای سلولی است که بر اساس قواعد خاصی کار می کند

برای درک بهتر یک جدول با ابعاد بی نهایت در بی نهایت را در نظر بگیرید  و در قسمتی از ان بعضی خانه ها را سیاه و بعضی دیگر را سفید رها کنید(در اینجا خانه های سیاه را زنده و خانه های سفید را مرده می نامیم) اتوماتا محتوای هر خانه را بررسی می کند و باتوجه به موقعیت خانه های اطراف ( می دانیم در فضای دوبعدی هر خانه با ۸ خانه دیگر مجاور است) تصمیم می گیرد که محتوای خانه را تغییر دهد یا خیر و این کار را برای تمام خانه ها تکرار می کند

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

۱. هر خانه زنده با کمتر از ۲ همسایه زنده، می‌میرد. (به دلیل کمبود جمعیت)
۲. هر خانه زنده با بیش از ۳ همسایه زنده، می‌میرد. (به دلیل ازدحام جمعیت)
۳. هر خانه زنده با ۲ و یا ۳ همسایه زنده، زنده می‌ماند و به نسل بعد می‌رود.
۴. هر خانه مرده با دقیقاً ۳ همسایه زنده، دوباره زنده می‌شود
عکس ۲

قوانین بالا را می توان به صورت ساده تر این گونه بیان کرد :هر خانه زنده تنها با داشتن ۲ یا ۳ همسایه زنده می ماند و هر خانه مرده با داشتن دقیقا ۳ همسایه زنده می شود

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

کانوی با انتشار این بازی به عنوان یک بازی ریاضی(Mathematical Games) در اکتبر ۱۹۷۰ شهرت فراوانی در بین ریاضی دانان زمان خود کسب کرد و باعث علاقه ی ریاضی دانان به اتوماتای سلولی شد بازی زندگی کانوی تا کنون مشهور ترین اتوماتای سلولی است

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

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

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

از الگو های معروف می توان به الگوی گلایدر,فضا پیما و… اشاره کرد

با مراجعه به این لینک    (https://bitstorm.org/gameoflife/)می توانید به صورت انلاین بازی زندگی خود را بسازید و نتیجه ان را مشاهده کنید همچنین اپ این بازی برای اندروید موجود است که می توانید به راحتی با یک جستجو ساده ان را پیدا کنید و نصب کنید

عکس۳

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

mrasgari بدون دیدگاه

ماشین تورینگ

ماشین تورینگ در سال ۱۹۳۶ توسط آلن تورینگ دانشمند علوم کامپیوتر(computer scientist) و ریاضی دان بریتانیای ابداع شد
قبل از اینکه به چگونگی عملکرد و نقش ماشین تورینگ در علوم کامپیوتر بپردازیم لازم است با چند مفهوم پایه ای آشنا شویم
اتوماتا:
اتوماتا را می تواندیک مدل ساده و انتزاعی از کامپیوتر های امروزی دانست
یک مدل ساده اتومات به این صورت است که یک رشته ورودی را می خواند بر روی آن اعمال منطقی انجام می دهد و با توجه به ورودی به یک حالت (state) می رود یا یک رشته خروجی تحویل می دهد این کار مبنای عملکرد تمامی سیستم های کامپیوتری است شما یک ورودی به سیستم می دهید در واحد پردازش یک سری پردازش انجام می دهد ویک خروجی به ما تحویل می دهد

محاسبه پذیری:

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