یوشا

وبگاه دست نوشته ها و تجربیات شخصی

یوشا

وبگاه دست نوشته ها و تجربیات شخصی

یوشا

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

بایگانی
تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران

۵ مطلب با موضوع «کامپیوتر :: شبکه» ثبت شده است

 

کتابخانه OkHTTP

توسط Square تولید شده. مناسب برای Streaming و استفاده General مبتنی بر HTTP. پشتیبانی از POST, GET, UPLOAD. دارای مستندات آموزشی. زیربنای پیشفرض Retrofit و Picasso. یکی از زیربناهای Volley هستش. دارای disk cache. پشتیبانی از conn pooling. از پروتکل SPDY پشتیبانی می کنه. از اندروید 4.4 به بعد بصورت builtin در زیربنای اندروید استفاده شده. پشتیبانی از NewIO و...

 

کتابخانه Retrofit

توسط Square تولید شده. مناسب برای RESTful API / Web Service. پشتیبانی از POST, GET, PUT, DELETE, Multipart. دارای مستندات آموزشی. مبتنی بر کلاینت OkHTTP. دارای disk cache. پشتیبانی از async با کمترین کد. دارای cancellation و retryy برای درخواست ها. پشتیبانی از Dynamic URL. کمی کندتر از Volley اما سریعتر از AsyncTask هستش. دارای مفسر پیشفرض JSON و تبدیلش به POJO بکمک GSON.  پشتیبانی از NewIO. پشتیبانی از فعالیت های background.

 

کتابخانه Volley

توسط Google پشتیبانی شده. مناسب برای استفاده General و کار با تصاویر. پشتیبانی از POST, GET, PUT, DELETE. دارای مستندات آموزشی. دارای کلاینت های OkHTTP, Apache, HttpUrlConnection. دارای memory cache.  پشتیبانی از conn pooling. پشتیبانی از async با کمترین کد. دارای prioritization, cancellation, retrying برای درخواست ها. پشتیبانی از Dynamic URL. کمی سریعتر از Retrofit هستش. پشتیبانی از Image loading. دارای bitmap caching. سازگاری مناسب با activity lifecycle. دارای memory error handing مناسب. هندل کننده duplicate calls. استفاده نسبتاً آسان.

 

البته اگر بدنبال کتابخانه های سبکتر و کوچیکتر HTTP می گردید این گزینه ها هم میتونن انتخاب خوبی باشن:

LoopJ's android-async-http (HttpClient)
http://loopj.com/android-async-http/

Fast-Android-Networking
https://github.com/amitshekhariitbhu/Fast-Android-Networking

jus
https://github.com/apptik/jus

RoboSpice
https://github.com/stephanenicolas/robospice

 

این نکته رو هم در نظر داشته باشید که هرکدوم مزایا و معایب خودشونو دارن و باید درجای مناسبش کتابخانه مناسب رو انتخاب کنید.

۱ نظر ۹۷/۰۱/۰۳
یوشا آل ایوب

 

همونطور که می دونید برنامه Git برای کار با repository، پنج پروتکل در اختیار ما گذاشته که هرکدوم مزایا و معایب خودشونو دارن. این پروتکل ها:

1- File (یا همون Local protocol)

2- HTTP (یا همون Dumb protocol)

3- HTTPS (یا همون Smart protocol)

4- SSh

5- Git

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

پس وارد جزئیات میشیم!

۱ نظر ۹۵/۰۳/۰۹
یوشا آل ایوب

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

واقا کسی تا به حال بهش فکر کرده؟

با تحقیقاتی که کردم فکر کنم اولین نفری هستم که راجبش مطلب مینویسم angel و البته نه نسخه جدیدی از اینترنت: https://en.m.wikipedia.org/wiki/Next_Generation_Internet

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


اما نسل بعدی اینترنت چطوری میتونه باشه؟ 
شبکه بین کهکشانیه؟ یا بین کیهانی؟ 
گیرنده فرستنده داره؟
اصلاً در همه جا هست و قابل دسترسه؟ 
ماهیتش از چیه؟ طبیعتا چون نسل جدیده(نه نسخه جدید) نمی تونه امواج رادیویی یا کامپیوتری باشه...
آیا دیگه از طریق ذهن قابل دسترسه؟ 
یا جایی از دنیا هسته اش قرار میگیره و به شبکه ذهنی انسانها متصل میشه؟ (و شاید اون موقع چالش های جدید امنیتی و نفوذ به افکار بوجود میان. دزدی افکار و اطلاعات. شستشوی مغزی. اسیب زدن به ذهن و حتی جسم و جنگهای روانی...)
دیگه دنیای مجازی خطاب نمیشه؟
اسمش چی میتونه باشه؟ GalaxyNet? UniverseNet? HumanNet? MentalNet
کی اصلاً اختراع میشه؟
...

۹۵/۰۲/۱۷
یوشا آل ایوب

 

init: مخفف initialization، اولین برنامه/process ای هست که در حین بوت سیستم اجرا میشه و تا زمانی که سیستم خاموش بشه بکارش ادامه میده. این برنامه ابتدا عملیات system initialization رو انجام میده و سپس عملیات runlevel initialization رو و اینکارو با خوندن محتوای فایل inittab آغاز میکنه.

برنامه init ابتدا اسکریپت rc.S رو اجرا میکنه تا سیستم رو برای ورود به runlevel مورد نظر آماده کنه. فایل rc.S وظیفه داره که حافظه مجازی رو فعال کنه، filesystem رو Mount کنه، دایرکتوری var/ رو تمیزکاری کنه، دیوایس های Plug & Play رو آماده سازی کنه، ماژول های Kernel رو بارگذاری کنه(LKM)، پورت های سریال رو پیکربندی کنه و نهایتاً اسکریپتهای System V رو اجرا کنه. بنابراین init آغازگر بیشتر پرورس ها و فرآیندهای اصلی سیستم هستش.

نکته: برنامه init توسط Kernel فراخونده میشه و با پروسس Id 1 شروع بکار میکنه. اگر Kernel قادر به فراخوندنش نباشه، خطای Kernel pantic (یا همون fatal error) رخ میده که باعث متوقف شدن کل پروسه بوت میشه.

 

runlevel: تعیین کننده پارامترهای برنامه init و دستورالعملهایی برای تنظیم ترمینال، محیط کاربر، شبکه و اجرای سرویس های اولیه هستش که توسط یک شناسه عددی داخل فایل inittab در مسیر /etc/ تنظیم میشه. و البته این شناسه در هر توزیعی متفاوته!

۰ نظر ۹۴/۰۳/۰۱
یوشا آل ایوب

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

 

فهرست/مندرجات:

  • مقدمه
  • انواع مسیریاب
  • شیوه کار مسیریاب

 

  • مقدمه

در محیط هایی که چندین شاخه شبکه با پروتوکل ها و معماری های متفاوتی وجود دارد، Bridge های ساده، راه مناسبی برای تضمین امنیت و سرعت ارتباطات میان این شبکه ها نیستند! چراکه چنین شبکه پیچیده ای نیاز به دستگاهی دارد که نه تنها اطلاعات آدرسی هر شاخه را بداند، بلکه بتواند بهترین مسیر را برای ارسال داده انتخاب کند; و همچنین امکان فیلتر کردن ترافیک شاخه محلی هم داشته باشد. چنین دستگاهی مسیریاب یا Router نام دارد.

۲ نظر ۹۲/۱۰/۰۵
یوشا آل ایوب