رایانه‌های فاقد سیستم‎عامل چگونه کارها را انجام می‌دهند؟

سیستم‌عامل

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

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

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

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

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

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

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

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

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

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

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

سخن آخر

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

نوشته رایانه‌های فاقد سیستم‎عامل چگونه کارها را انجام می‌دهند؟ اولین بار در اخبار تکنولوژی و فناوری پدیدار شد.

لاراول چیست و چگونه با آن کار کنیم؟

لاراول

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


لاراول چیست؟

لاراول

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

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

راه‌اندازی لاراول و شروع به کار با آن

لاراول

قبل از هر چیزی بگوییم بهتر است ابتدا زبان PHP را در سطح بالا یاد بگیرید و سپس به‌سمت لاراول بیایید. در گام بعد باید این فریم‌ورک را نصب کنید. با استفاده از فن‌آوری گیت و وب‌سایت گیت‌هاب (که سورس‌های لاراول بر روی آن قرار دارند) می‌توانید شروع به نصب آن کنید. کافی‌ست کد زیر را در PowerShell وارد نمایید.

git clone https://github.com/laravel/quickstart-basic quickstart
cd quickstart
composer install
php artisan migrate

در قدم بعدی باید اقدام به فراهم کردن یک دیتابیس کنید. برای این‌کار وارد MySQL شوید و فایل env. را باز نمایید. سپس کد زیر را کپی کنید.

// .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD

در ترمینال فرمان زیر را بنویسید. با این کار دو فایل Form.php و create_forms-table تولید می‌شود.

php artisan make:model Form -m

برای شروع به کار با لاراول باید اول پروژه‌های کوچک را انجام دهید تا بعدها قادر به انجام کارهای بزرگ‌تری باشید. در ادامه می‌خواهیم یک فرم را ایجاد کنیم. در نتیجه به مسیر coins  >>  database  >>  migrations  >>  create_forms_table. رفته و کد زیر را بنویسید.

// create_forms_table

public function up()
    {
        Schema::create('forms', function (Blueprint $table) {
            $table->increments('id');
            $table->string('coinname');
            $table->string('coinprice');
            $table->string('radio');
            $table->string('dropdown');
            $table->string('checkbox');
            $table->timestamps();
        });
    }

در قدم بعدی یک فایل را به‌نام Form ایجاد نموده و کد مورد نظر خود را وارد کنید. می‌توانید براساس سلیقه‌تان یک فرم را ایجاد نمایید. تنها یک فایل HTML و CSS بسازید و کدهای خود را درون آن بنویسید. بعد از انجام این مرحله، باید اقدام به ساخت یک کنترلر کنید. پس در ترمینال خود کد زیر را بنویسید تا کنترلر ایجاد شود.

php artisan make:controller FormController --resource

به مسیر routes  >>  web.php رفته و فایل را باز نموده و کد زیر را وارد کنید.

// web.php

Route::resource('forms','FormController');

این کد را در ترمینال بنویسید.

php artisan route:list

سپس به فایل FormController.php رفته و درون آن تغییرات زیر را اعمال نمایید.

// FormController.php

  /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('forms.create');
    }

بعد کد زیر را در ترمینال وارد نمایید.

php artisan serve

برای مشاهده فرم صفحه http://localhost:8000/forms/create را باز نمایید.

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

// FormController.php

public function store(Request $request)
    {
        //
         $request->validate([
          'coinname' => 'required',
          'coinprice'=> 'required|numeric',
        ]); 
        
        $form= new Form();
        $form->coinname=$request->get('coinname');
        $form->coinprice=$request->get('coinprice');
        $checkbox = implode(",", $request->get('option'));
        $form->dropdown=$request->get('dropdown');
        $form->radio=$request->get('radio');
        $form->checkbox = $checkbox; 
        $form->save();
        return redirect('forms')->with('success', 'Coin has been added');
    }

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

برگزاری چهارمین دوره مسابقات برنامه ‌نویسی کدکاپ توسط مرکز نوآوری دانشگاه شریف

مطلب برگزاری چهارمین دوره مسابقات برنامه ‌نویسی کدکاپ توسط مرکز نوآوری دانشگاه شریف برای اولین بار در وب سایت تکراتو - اخبار روز تکنولوژی نوشته شده است. - تکراتو - اخبار روز تکنولوژی - - https://techrato.com/

مرکز نوآوری دانشگاه شریف، چهارمین دوره مسابقات برنامه ‌نویسی کدکاپ را برگزار می‌کند. هدف از این مسابقات استخدام برنامه نویسان است. به گزارش تکراتو، چهارمین دوره مسابقات برنامه ‌نویسی کدکاپ شریف، قرار است در دو مرحله  اینترنتی (غیرحضوری) و حضوری برگزار شود. مرحله‌ اینترنی مسابقات از ۱۳ مهر آغاز شده و تا ۲۵ مهر ادامه...

مطلب برگزاری چهارمین دوره مسابقات برنامه ‌نویسی کدکاپ توسط مرکز نوآوری دانشگاه شریف برای اولین بار در وب سایت تکراتو - اخبار روز تکنولوژی نوشته شده است. - تکراتو - اخبار روز تکنولوژی - - https://techrato.com/

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

مطلب آموزش کدنویسی به معلمین توسط اپل؛ تلاش برای گسترش آموزش های رایانه ای برای اولین بار در وب سایت تکراتو - اخبار روز تکنولوژی نوشته شده است. - تکراتو - اخبار روز تکنولوژی - - https://techrato.com/

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

مطلب آموزش کدنویسی به معلمین توسط اپل؛ تلاش برای گسترش آموزش های رایانه ای برای اولین بار در وب سایت تکراتو - اخبار روز تکنولوژی نوشته شده است. - تکراتو - اخبار روز تکنولوژی - - https://techrato.com/

جاوا اسکریپت چیست و چگونه کار می‌کند؟

جاوا اسکریپت یک زبان برنامه‌نویسی برای وب است. این زبان برنامه‌نویسی توسط اکثر مرور‌گر‌ها از قبیل گوگل کروم، فایر‌فاکس، سافاری، اینترنت اکسپلورر، Edge و اُپرا پشتیبانی می‌شود. همچنین اکثر مرور‌گر‌هایی که برای اسمارت‌فون‌ها وجود دارند نیز از جاوا اسکریپت پشتیبانی می‌کنند.

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

سه گانه صفحه وب

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

تاریخچه جاوا اسکریپت

ایجاد و توسعه جاوا اسکریپت از سال 1995 در کمپانی ارتباطات Netscape آغاز شد. محققان این موسسه متوجه شدند که اضافه کردن یک زبان برنامه نویسی که قابلیت نوشتن کد را نیز داشته باشد، می‌تواند باعث افزایش ادراک کاربر شود. آن‌ها تصمیم گرفتند که یک زبان برنامه‌نویسی که نگارش آن شبیه به زبان Java باشد، ایجاد کنند. نتیجه این تحقیقات، ایجاد زبان برنامه‌نویسی جاوا اسکریپت توسط شخصی به نام برندن آیک (Brendan Eich) بود. اولین نسخه از این زبان برنامه‌نویسی که در ماه مه سال 1995 عرضه شد، Mocha نام گرفت. سپس در سپتامبر همان سال به LiveScript تغییر نام داد. سرانجام در دسامبر سال 1995 نام JavaScript برای این زبان برنامه‌نویسی انتخاب شد.

جاوا اسکریپت در سال 1996 به سازمان جهانی ECMA ارسال شد تا به‌صورت استاندارد شده درآید. اولین نسخه استاندارد شده این زبان برنامه‌نویسی در ژوئن 1997 و با استاندارد ECMA-262 عرضه شد. آخرین نسخه جاوا اسکریپت نیز ماه ژوئن سال جاری میلادی، عرضه شد.

چه کارهایی می‌توان با جاوا اسکریپت انجام داد؟

جاوا اسکریپت یک زبان برنامه نویسی تکامل یافته است که در مرور‌گر وب شما قرار گرفته و تمامی قابلیت‌های یک زبان برنامه نویسی معمولی را دارد. این ویژگی‌ها عبارتند از:

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

قطعا این زبان برنامه نویسی قابلیت‌های بسیار زیادی دارد که فقط چند مورد از آن‌ها در بالا ذکر شد.

جاوا اسکریپت چگونه کار می‌کند؟

هنگامی که مرورگر یک صفحه وب را بار‌گذاری می‌کند، تجزیه کننده، اجرای کد‌های HTML را شروع می‌کند و مدل شی‌گرا متن برنامه (DOM) را ایجاد می‌کند. DOM در واقع یک رابط برنامه‌نویسی اپلیکیشن است که متن کد‌های HTML، XHTML یا XML را به‌صورت یک ساختار درختی در‌می‌آورد که در آن هر شاخه، یک شی به نمایندگی از کل برنامه است. پس از آن نوبت به CSS یا جاوا اسکریپت می‌رسد. در این هنگام اجرای کدهای مربوطه به تجزیه‌گر CSS یا موتور جاوا اسکریپت واگذار می‌شود. موتور جاوا اسکریپت، فایل‌های خارجی و همچنین کد‌های داخلی برنامه را بارگذاری می‌کند، ولی هیچ‌یک از کد‌ها را بلافاصله اجرا نمی‌کند. صبر می‌کند تا اجرای کد‌های HTML و CSS کامل شود. پس از آن تمام کد‌ها و هر آنچه که به جاوا اسکریپت مرتبط باشند، اجرا می‌شوند: متغیر‌ها و توابع تعریف شده، توابعی که فراخوانی شده و در حال اجرا هستند و مواردی از این قبیل. نتایج حاصل از این فعالیت‌ها در DOM به‌وسیله جاوا اسکریپت آپدیت شده و توسط مرور‌گر نمایش داده می‌شوند.

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

چهارمین دوره ماراتون برنامه نویسی تلفن همراه شهریورماه امسال برگزار می شود

چهارمین دوره ماراتون برنامه نویسی تلفن همراه شهریورماه امسال برگزار می شود

چهارمین دوره ماراتون برنامه نویسی تلفن همراه کشور، ۲۳ تا ۲۵ شهریور ماه امسال در دانشگاه صنعتی شریف برگزار می‌شود.

بر این اساس، برای ورود به عرصه ماراتون برنامه نویسی تلفن همراه کشور متخصصان برنامه‌نویسی،‌ گرافیست و ایده‌پرداز می‌توانند با طراحی و پیاده‌سازی یک برنامه کاربردی موبایل ظرف ۴۸ ساعت، بنای ارائه طرح اولیه پروژه خود را پایه‌ریزی کنند.

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

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

همچنین باید به مبحث ایده‌پردازی نیز با دقت کافی پرداخته شود؛ زیرا ایده قدم اول طرح بوده و باید نوآورانه مسائل مربوط به درآمدزایی را نیز در اولویت قرار داده باشد.

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

بر اساس این گزارش، بازه زمانی ثبت نام در مسابقات از اول تا ۳۱ مرداد ماه در نظر گرفته شده است که علاقه‌مندان جهت کسب اطلاعات بیشتر می‌توانند با شماره تلفن ۵-۶۶۰۲۸۹۶۳ تماس بگیرند.

منبع: isna

مطلب چهارمین دوره ماراتون برنامه نویسی تلفن همراه شهریورماه امسال برگزار می شود برای اولین بار در وب سایت تکرا - اخبار روز تکنولوژی نوشته شده است.

آشنایی با پایگاه داده‌های NoSQL (بخش دوم)

ٔNoSQL

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

مزایای NoSQL

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

  • حجم بزرگ داده‌های ساختار یافته، نیمه ساختار یافته و بدون ساختار
  • ورود کدهای متداول، درخواست‌های پردازشی سریع
  • برنامه نویسی شی گرا؛ که منعطف بوده و به راحتی قابل استفاده است
  • معماری موثر و فرا مقیاس به جای معماری گران و غیر منعطف

ویژگی‌های مهم پایگاه داده‌های NoSQL

شِمای پویا

در پایگاه‌ داده‌های رابطه‌ای، همواره پیش از اینکه بتوانید داده‌ای را اضافه نمایید، شِما‌ها باید تعریف شده باشند. برای مثال؛ ممکن است در نظر داشته باشید اطلاعاتی از قبیل نام، شماره تلفن، استان، شهر و آدرس مشتریان خود را ذخیره نمایید. در یک پایگاه داده‌ رابطه‌ای باید از ابتدا بدانید چه داده‌هایی را می خواهید ذخیره کنید. این وضعیت تناسب بسیار ضعیفی با رویکرد توسعه چابک (Agile) دارد، چراکه هر بار که یک ویژگی جدید را کامل می‌نمایید، اغلب شِمای پایگاه داده نیاز به تغییر دارد. برای مثال؛ اگر تصمیم گرفتید که کمی دایره داده‌ها را توسعه دهید و علاوه بر نام و آدرس مشتریان، اطلاعات اضافی دیگری را نیز ذخیره کنید، نیازمند افزودن ستون به پایگاه داده و سپس مهاجرت کل پایگاه داده به یک شِمای جدید هستید.

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

توزیع خودکار داده‌ها

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

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

تکرار

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

نوشته آشنایی با پایگاه داده‌های NoSQL (بخش دوم) اولین بار در پدیدار شد.

آشنایی با پایگاه داده‌های NoSQL (بخش اول)

ٔNoSQL

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

NoSQL که خلاصه شده عبارت Not only sql است، شامل گستره‌ بزرگی از پایگاه‌های داده‌ مختلف بوده که برای پاسخگویی به نیازها و مشکلات موجود در ساخت اپلیکیشن‌های مدرن گسترش یافته‌اند. به عبارت دیگر می‌توان گفت دلیل اصلی گسترش بانک‌های اطلاعاتی NoSQL، پاسخگویی به نیازهایی است که مدل رابطه‌ای در برآورده کردن آن‌ها ناتوان بوده است. به عنوان مثال می‌توان ادعا کرد که مدل رابطه‌ای در اکثر موارد در مدیریت داده‌های حجیم (Big data) به مشکل برخورده و کارایی لازم را ندارد اما NoSQL را می‌توان بهترین مدل برای کار با این نوع از داده‌ها دانست. تفاوت اصلی NoSQL با پایگاه داده‌های رابطه‌ای را می‌توان در روش مدل کردن داده‌ها دانست که به روش‌هایی غیر از روش روابط بین جداول صورت می‌گیرد.

انواع پایگاه داده‌های NoSQL

از منظر روش مدل کردن داده‌ها، NoSQL را به چهار دسته کلی تقسیم بندی می‌کنند که به بررسی اجمالی هریک می پردازیم:

سند‌ محور (Document-oriented): در پایگاه‌های داده‌‌ سند محور، واحد اصلی ذخیره و کار با داده‌ها سندها هستند که از انعطاف پذیری بالایی برخوردار هستند. در این مدل، هر‌سند یک شناسه منحصر‌بفرد داشته که آن را از سایر اسناد جدا می‌کند. CouchDB و MongoDB از جمله پایگاه داده‌های معروف سند محور هستند.

کلید-‌مقدار (Key-Value store): این نوع ساده‌ترین گونه از پایگاه داده‌ NoSQL بوده به طوری که هر آیتم داخل پایگاه داده، توسط یک خصیصه (Attribute) به همراه مقدار (Value) آن خصیصه ذخیره می‌شود. پایگاه داده Riak در این دسته‌بندی قرار می‌گیرد.

گراف محور (Graph-oriented): یکی از چهار گروه اصلی بانک‌های اطلاعاتی NoSQL، بانک‌های اطلاعاتی مبتنی بر گراف هستند. ساختاری که اطلاعات در آن به صورت گره و یال ذخیره می‌شوند. معمولا مثالی که برای کاربردهای این نوع از پایگاه اطلاعاتی بیان می‌شود شبکه‌های اجتماعی مانند فیس بوک و توئیتر است که در آن هر فرد یک گره در نظر گرفته می‌شود و رابطه دوستی بین افراد، یال‌های این گراف را تشکیل می‌دهند. معروفترین پایگاه داده‌ گراف محور Neo4j است.

ستون محور (Column-oriented): این نوع برای اجرای پرس و جو در مجموعه داده‌های بزرگ بهینه سازی شده و به جای ردیف‌ها، ستون‌های داده را در کنار یکدیگر نگهداری می کنند. از مهمترین پایگاه‌ داده‌‌های ستون محور می‌توان به Cassandra اشاره کرد.

نوشته آشنایی با پایگاه داده‌های NoSQL (بخش اول) اولین بار در پدیدار شد.

تعداد برنامه نویسان اپلیکیشن موبایل به ۱۲ میلیون رسید

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

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

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

بر اساس تحقیقات سازمان تحقیقاتی Evans کالیفرنیا، در کل دنیا، حدود ۲۱ میلیون نفر کار توسعه نرم افزار را بر عهده دارند که حدود نیمی از آن ها به کار توسعه اپلیکیشن موبایل مشغولیت دارند.

با توجه به اینکه گوشی های هوشمند اندرویدی تقریبا ۶۰ تا ۷۰ درصد بازار روز را تسخیر کرده اند، در عین حال شمار توسعه دهندگان اندروید به ۵٫۹ میلیون نفر می رسد و این در حالی است که توسعه دهندگان IOS  تنها ۲٫۸ میلیون نفر هستند. از آن جا که اندروید یک سیستم متن باز است موجب شده که علاقمندان بیشتری را به خود جذب کند.

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

به دلیل اینکه دانش توسعه اپلیکیشن موبایل، هم اکنون در سراسر دنیا منتشر شده و این دانش تحت هر شرایطی، با قانونی منحصر به فرد نشر شده، احتمال می رود که تا ۴ سال آینده شمار این افراد به ۱۴ میلیون نفر برسد.

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

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

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

اخیرا شرکت اپل در نمایشگاه WWDC نرم افزاری به نام Swift Playgrounds را معرفی کرد که با استفاده از آن، به کودکان آموزش داده می‌شود که در کنار بازی و سرگرمی، بتوانند کد بزنند و برنامه خود را اجرا کنند و مرحله به مرحله پیشرفت کنند تا در آینده به برنامه نویسانی موفق تبدیل شوند. حال گوگل هم می‌خواهد در این زمینه سهمی داشته باشد و به این ترتیب Project Bloks را معرفی کرده است. این محصول در اصل، یک اسباب بازی است که کودکان می‌توانند با استفاده از آن در کناربازی و سرگرمی مراحل اجرای یک کد کامپیوتری را ببینند و با چالش‌هایی که برنامه نویسان با آن مواجه می‌شوند، دست و پنجه نرم کنند.

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

project-bloks-1

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