شیوا محمدی فعال ترین تا این لحظه
86 مطلب 14 ساعت حضور

گزارش خطا

علت گزارش برای را بنویسید


8 مورد از مهارت های برنامه نویسی که تمامی توسعه‌دهندگان وب باید بدانند.

گزارش

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

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

(HyperText Markup Language Version 5 (HTML5

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

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

استفاده از تمامی مهارت های برنامه نویسی وب مستلزم یادگیری HTML است.

(Cascading Style Sheets Level 3(CSS3

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

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

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

(JavaScript (JS

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

یک صفحه وب بدون کد خط‌های JavaScript، تنها می‌تواند محتوا و فایل‌های چند رسانه‌ای را نمایش دهد و امکات “تعامل آن با کاربر” وجود ندارد. کاربر تنها می‌تواند محتوای صفحه را تماشا کند. JavaScript را باید آخرین مورد در بین مهارت های برنامه نویسی برای ایجاد فرانت اند (Front-End) دانست. گفتنی است Front-End به بخشی گفته می‌شود که کاربر آن را مشاهده کرده و با آن تعامل دارد. مابقی بخش‌ها به بک اند (Back-End) تعلق داشته و قسمت‌هایی هستند که دور از چشم کاربر، اعمال مختلف را پیش می‌برند.

(Asynchronous JavaScript and XML (Ajax

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

PHP Hypertext Processor

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

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

(Structured Query Language (SQL

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

(Version Control Systems (VCS

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

Git را باید پرکاربردترین نرم افزار برای Version Control دانست. وب سایت GitHub یکی از محبوب‌ترین مکان‌ها در اینترنت برای توسعه‌دهندگان است که در آنجا به مقایسه و بحث پیرامون کدهای خود می‌پردازند. بهتر است تا با مفهوم این ابزار آشنا شده و به جمع یکی از بزرگترین محافلی که توسعه‌دهندگان در آنجا ایده‌های خود را تبادل می‌کنند، بپیوندید.

Agile Methodology

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

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

منبع

شیوا محمدی

چگونه با سلنیوم یک وب کراولر ایجاد کنیم؟ (ساخت خزنده وب)

گزارش

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

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

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

خودکار سازی فرآیندها در گوگل کروم نیازمند استفاده از ابزاری به نام سلنیوم (Selenium) است. این یک بخش نرم افزاری است و با قرار گرفتن بین برنامه و مرورگر به کاربر اجازه می‌دهد از طریق برنامه خود، مرورگر را مدیریت کند. در این مقاله روش کامل خودکارسازی گوگل کروم را شرح خواهیم داد. این مطلب شامل قدم‌های زیر است:

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

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

تنظیم سلنیوم

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

وب درایور

با رفتن به صفحه‌ای مخصوص در وب سایت Google می‌توانید به صفحه دانلود سلنیوم وارد شوید. در ادامه باید بر روی جدیدترین ریلیز آن کلیک کرده و فایل مناسب با سیستم عامل خود (ویندوز، لینوکس و یا مک) را انتخاب کنید. بسته دانلودی، یک فایل دارای پسوند ZIP بوده و درون آن فایلی قابل اجرا با نام Chromedriver.exe وجود دارد. بعد از دریافت فایل فشرده شده، محتویات درون آن را در مسیری مناسب همچون C:\WebDrivers\chromedriver.exe استخراج کنید. بهتر است شما نیز در همین مسیر فایل را استخراج کنید، چرا که در ادامه، درون برنامه جاوا از این آدرس استفاده خواهیم کرد.

ماژول‌های جاوا

قدم بعدی، تنظیم ماژول‌های جاوایی است که برای استفاده از سلنیوم مورد نیاز هستند. تصور می‌کنیم شما در حال استفاده از Maven برای ساخت برنامه جاوا هستید، پس باید وابستگی زیر را به POM.xml خود اضافه کنید:

<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>

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

نخستین قدم‌های سلنیوم

در اینجا کار با سلنیوم را به منظور ایجاد وب کراولر آغاز می‌کنیم. نخستین قدم ایجاد یک نمونه ChromeDriver است:

WebDriver driver = new ChromeDriver();

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

driver.get(“http://www.google.com”);

یک مرجع به عنصر نوشتاری ورودی پیدا کنید تا بلکه بتوان عملیات جستجو را انجام داد. عنصر ورودی نوشتاری دارای نام q است. در اینجا با استفاده از متد ()WebDriver.findElement عناصر HTML درون صفحه را پیدا می‌کنیم:

WebElement element = driver.findElement(By.name(“q”));

می‌توان نوشته را به هر عنصری با استفاده از متد ()sendKeys ارسال کرد. در ایجا یک عبارت جستجویی ارسال کرده و آن را با یک خط جدید به اتمام می‌رسانیم. به همین دلیل جستجو خیلی سریع آغاز می‌شود:

element.sendKeys(“terminator\n”);

اکنون که فرآیند جستجو در حال اجرا است، باید برای صفحات نتیجه منتظر بمانیم. می‌توان آن را با کد زیر انجام داد:

new WebDriverWait(driver, 10)
.until(d -> d.getTitle().toLowerCase().startsWith(“terminator”));

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

System.out.println(“Title: ” + driver.getTitle());

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

driver.quit();

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

استفاده از اینسپکتور گوگل کروم

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

گوگل کروم را باز کرده و یک صفحه وب باز کنید. به عنوان نمونه ما در این مطلب، به صفحه فیلم Justice League (2017) در وب سایت IMDb رفته‌ایم. اکنون می‌خواهیم عناصری مورد نظر برای نشانه گرفتن را پیدا کنیم. مثلا در اینجا بخش خلاصه فیلم مد نظر است. بر روی بخش خلاصه (Summary) کلیک راست کرده و گزینه Inspect را انتخاب کنید.

در تب Elements می‌توان نوشته مربوط به بخش خلاصه را مشاهده کرد که درون یک تگ div به همراه کلاس summary_text قرار دارد.

استفاده از CSS یا XPath برای انتخاب

در سلنیوم از انتخاب عناصر صفحه با استفاده از CSS پشتیبانی می‌شود. به عنوان نمونه برای انتخاب متن مربوط به بخش خلاصه از صفحه بالا می‌توان نوشت:

WebElement summaryEl = driver.findElement(By.cssSelector(“div.summary_text”));

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

WebElement summaryEl = driver.findElement(By.xpath(“//div[@class=’summary_text’]”));

XPath و CSS هر دو قابلیت‌های مشابهی دارند، پس انتخاب یکی از آن‌ها تنها به سلیقه کاربر برمی‌گردد.

خواندن گوگل میل از جاوا

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

کار را با Chrome Driver آغاز کرده و به آدرس Gmail.com بروید. تا بارگذاری کامل صفحه منتظر بمانید.

WebDriver driver = new ChromeDriver();
driver.get(“https://gmail.com”);
new WebDriverWait(driver, 10)
.until(d -> d.getTitle().toLowerCase().startsWith(“gmail”));

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

/* Type in username/email */
{
driver.findElement(By.cssSelector(“#identifierId”)).sendKeys(email);
driver.findElement(By.cssSelector(“.RveJvd”)).click();
}

new WebDriverWait(driver, 10)
.until(d -> ! d.findElements(By.xpath(“//div[@id=’password’]”)).isEmpty() );

اکنون پسورد را وارد کرده و دکمه Next را مجددا انتخاب کنید. سپس باید تا بارگذاری صفحه جیمیل منتظر ماند.

/* Type in password */
{
driver
.findElement(By.xpath(“//div[@id=’password’]//input[@type=’password’]”))
.sendKeys(password);
driver.findElement(By.cssSelector(“.RveJvd”)).click();
}

new WebDriverWait(driver, 10)
.until(d -> ! d.findElements(By.xpath(“//div[@class=’Cp’]”)).isEmpty() );

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

List<WebElement> rows = driver
.findElements(By.xpath(“//div[@class=’Cp’]//table/tbody/tr”));
for (WebElement tr : rows) {
}

برای هر ورودی، فیلد From را دریافت کنید. برخی از ورودی‌های From ممکن است دارای چندین عنصر باشد و این موضوع به تعداد کاربران درگیر درون آن مکالمه بستگی دارد.

{
/* From Element */
System.out.println(“From: “);
for (WebElement e : tr
.findElements(By.xpath(“.//div[@class=’yW’]/*”))) {
System.out.println(” ” +
e.getAttribute(“email”) + “, ” +
e.getAttribute(“name”) + “, ” +
e.getText());
}
}

اکنون موضوع را دریافت می‌کنیم.

{
/* Subject */
System.out.println(“Sub: ” + tr.findElement(By.xpath(“.//div[@class=’y6′]”)).getText());
}

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

{
/* Date/Time */
WebElement dt = tr.findElement(By.xpath(“./td[8]/*”));
System.out.println(“Date: ” + dt.getAttribute(“title”) + “, ” +
dt.getText());
}

در اینجا تعداد سطرهای ایمیل‌های درون صفحه مشخص می‌شود.

System.out.println(rows.size() + ” mails.”);

در نهایت نوبت به بستن مرورگر می‌رسد.

driver.quit();

به منظور تکرار می‌توان از سلنیوم با گوگل کروم، برای خزیدن در میان وب سایت‌هایی که دارای انبوهی از کدهای جاوااسکریپ هستند استفاده کرد. با استفاده از گوگل کروم اینسپکتور می‌توان اطلاعات زیادی درباره CSS و XPath به دست آورد. این اطلاعات برای اجرای دستورات بعدی بسیار کاربردی خواهند بود.

منبع

 

شیوا محمدی

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

گزارش

 

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

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

با این وجود به تازگی لیستی طولانی در وب سایت XDA Developers منتشر شده که دیوایس های احتمالی سامسونگ برای دریافت اندروید اوریو را نشان می دهند. یکی از کاربران این سایت با بررسی فایل های موجود در بتای اوریو گلکسی نوت 8 که دو ماه پیش لیک شد، توانسته اطلاعاتی پیرامون انتشار اندروید اوریو برای دستگاه های سامسونگ را فاش کند.

 

 

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

  • Samsung Galaxy A3 2017 (a3y17)
  • Samsung Galaxy A5 2017 (a5y17)
  • Samsung Galaxy A7 2017 (a7y17)
  • Samsung Galaxy A8 2016 SM-A810 (a8xe)
  • Samsung Galaxy A8 2018 (a8lte)
  • Samsung Galaxy A8+ 2018 (a8plte)
  • Samsung Galaxy J3 2017 (j3y17)
  • Samsung Galaxy J5 2017 (j5y17)
  • Samsung Galaxy J7 2017 (j7y17)
  • Samsung Galaxy J7+ (jadelte)
  • Samsung Galaxy J7 Duos 2017 (j7duo)
  • Samsung Galaxy J7 Max (j7max)
  • Samsung Galaxy J7 Neo (j7velte)
  • Samsung Galaxy J7 Prime (j7popelte)
  • Samsung Galaxy Note FE (gracer)
  • Samsung Galaxy Note 8 (great)
  • Samsung Galaxy S7 (hero)
  • Samsung Galaxy S7 Edge (hero2)
  • Samsung Galaxy S8 Active (cruiserlte)
  • Samsung Galaxy S8 (dream)
  • Samsung Galaxy S8+ (dream2)

البته بعضی موبایل های دیگر نیز هستند که احتمالا اندروید اوریو را دریافت می کنند و در لیست بالا حضور ندارند. این اسمارت فون ها که در طول دو سال گذشته عرضه شده اند به شرح زیر هستند:

  • Samsung Galaxy C7 Pro
  • Samsung Galaxy C9 Pro
  • Samsung Galaxy J5 Pro
  • Samsung Galaxy J7 Pro
  • Samsung Galaxy S7 Active

در کنار اسمارت فون ها، سامسونگ معمولا عادت دارد آپدیت های اندرویدی را به تبلت هایش هم بیاورد و این اتفاق طبیعتا امسال هم تکرار می شود. اما کدام تبلت ها بروزرسانی اندروید اوریو را دریافت می کنند؟ در ادامه نام کد تبلت هایی که در فایل بتای نوت 8 حضور داشتند را می توانید ببینید. تبلت های زیر احتمالی هستند و شاید سامسونگ اندروید 8 را به تبلت های بیشتری بیاورد:

  • Samsung Galaxy Tab A 8.0 SM-T355 (gt58lte)
  • Samsung Galaxy Tab A 8.0 SM-T380/T385 2017 (gta2s)
  • Samsung Galaxy Tab A 10.1 SM-T580 (gtaxl)
  • Samsung Galaxy Tab Active 2 (gtactive2)
  • Samsung Galaxy Tab E 8.0 (gtesvelte)
  • Samsung Galaxy Tab S3 SM-T825 (gts3)

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

مجید مرادی

آیا قابلیت تماس تصویری به اینستاگرام می آید؟

گزارش

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

 

 

اما آیا این قابلیت به اینستاگرام می آید؟ سخن گوی این کمپانی در گفت و گویی با وب سایت TechCrunch نسبت به تماس تصویری اینستاگرام واکنش نشان داد و گفت: «ما نظری راجع به این شایعه نداریم. اینستاگرام همیشه در حال تست تجربه های جدید برای کاربرانش است.»

در سال 2017 کاربران حدود 17 میلیارد بار فقط از طریق اپلیکیشن فیسبوک مسنجر صحبت کردند

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

 

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

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

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

 

 

مجید مرادی

چگونه اسناد ذخیره نشده در Word 2016 را بازیابی کنیم؟

گزارش

تاکنون شده که بدون ذخیره کردن یک سند، به صورت تصادفی از نرم افزار Word 2016 خارج شوید؟ مایکروسافت در ورد راه هایی پیش روی کاربران گذاشته تا آن ها بتوانند اطلاعات از دست رفته شان را بازیابی کنند؛ تنها در چند ثانیه می توانید فایل هایی که ذخیره نشده اند را ریکاوری نمایید.

بنابراین اگر دوست دارید اسنادی که در نرم افزار ورد نوشته اید به خاطر یک اشتباه کوچک از دست نروند، با ما و روش های بازیابی فایل های ذخیره نشده در Microsoft Word 2016 همراه باشید.

چگونه اسناد ذخیره نشده را بازیابی کنیم؟

 

سناریو این است؛ بدون اینکه نوشته تان را ذخیره کنید از نرم افزار ورد خارج شده اید. آیا تمام زحماتی که کشیده اید به باد رفته است؟ نه. بعد از آنکه ورد را اجرا کردید، در نوار بالای صفحه روی File کلیک کنید و سپس Open را بزنید. در اینجا لیستی از تمام اسناد وردی که اخیرا ذخیره کرده اید نشان داده می شود.

 

زیر آخرین فایل لیست، گزینه ای با نام Recover Unsaved Documents وجود دارد، آن را انتخاب کنید. با این کار فولدری به نمایش در می آید که شامل تمام سندهای ذخیره نشده در چهار روز گذشته است. روی سندی که می خواهید بازیابی شود کلیک کرده و سپس Open را بزنید.

 

 

در این مرحله یک صفحه جدیدی باز خواهد شد که محتویات سند را نشان داده و در بالای آن پیغام This is a recovered file that is temporarily stored on your computer وجود دارد. کافیست روی Save As بزنید و سند را در پوشه ای که می خواهید ذخیره کنید.

 

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

البته در صورتی که خواستید بدون باز کردن ورد، سندهای ذخیره نشده را ببینید می توانید Windows key + R را بگیرید تا نرم افزار Run اجرا شود. در اینجا متن زیر را وارد کرده و OK را بزنید تا لیست اسنادی که سیو نکرده اید به نمایش در بیاید:

C:\Users\%USERNAME%\AppData\Local\Microsoft\Office\UnsavedFiles

از AutoRecover استفاده کنید

 

اما در مواقعی که سیستم کرش می کند یا برق می رود می توانید به کمک قابلیت AutoRecover اطلاعات خود را در برنامه های آفیس بازیابی کنید. برای استفاده از این ویژگی، بعد از اجرای برنامه با پنل Document Recovery مواجه می شوید. این پنل شامل تمام فایل های وردِ در دسترس با عنوان و زمان ساخته شدنشان است.

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

 

چگونه AutoRecover را شخصی سازی کنیم؟

 

ویژگی AutoRecover به صورت خودکار فعال می شود ولی قابلیت شخصی سازی آن را هم دارید. ورد را باز کرده و در نوار بالای صفحه روی File کلیک کنید. سپس Options را انتخاب کرده و به بخش Save بروید. در اینجا اگر گزینه Save AutoRecover information every X minutes فعال نبود، تیک آن را بزنید تا هر چند دقیقه یک بار فایل ورد به صورت اتوماتیک سیو شود.

منظور از X هم در جمله بالا زمانی است که خودتان می دهید. به صورت پیش فرض این زمان روی 10 دقیقه گذاشته شده ولی برای اطمینان بیشتر می توانید آن را عوض کنید. در ادامه تیک Keep the last AutoRecovered version if I close without saving را نیز بزنید.

در پایین این دو جمله هم می توانید AutoRecover file location را ببینید. این بخش برای آن است که فایل های ذخیره شده توسط قابلیت AutoRecover در کجا ذخیره شوند. اگر خواستید مکان ذخیره کردن را تغییر دهید، Browse را زده و مسیر جدید را مشخص کنید.

 

مجید مرادی

احتمال ترکیب اسکنرهای عنبیه و چهره در موبایل های ۲۰۱۸ سامسونگ

گزارش

تجزیه و تحلیل آخرین نسخه بتا از تنظیمات اندروید اوریو گلکسی نوت 8، اطلاعات جالبی را در مورد موبایل های 2018 سامسونگ ارائه می کند.

بر این اساس به نظر می رسد که گلکسی S9 و S9 پلاس به قابلیتی به نام «اسکن هوشمند» مجهز هستند که ترکیبی از اسکن چهره و عنبیه است، این در حالی است که موبایل های گلکسی S8، S8 پلاس و نوت 8 تنها از سنسورهای اثر انگشت و اسکنر عنبیه بهره می برند.

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

 

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

 

اسکن هوشمند از قدت بالایی برخوردار بوده و در محیط های با نور کم به خوبی کار می کند، با این حال سرعت آن در مقایسه با Face ID یا حسگر اثر انگشت که در سیستم های امنیتی موبایل اهمیت بالایی دارد، هنوز مشخص نشده است.

 

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

 

پیش از این مسئولان کمپانی کره ای اعلام کرده بودند که پرچمدارهای جدید گلکسی S9 و S9 پلاس در ششم اسفندماه و یک روز قبل از برپایی کنگره جهانی موبایل MWC 2018 رونمایی خواهند شد.

مجید مرادی

اینترنت نسل ۵G کی به گوشی های هوشمند اضافه خواهد شد؟

گزارش

سال ۲۰۱۸ قرار است آغازی برای عصر جدید شبکه های مخابراتی در جهان باشد. اپراتورهای آمریکایی ورایزن و پس از آن AT&T طبق برنامه ریزی های منتشر شده قصد دارند امسال اولین شبکه های ۵G جهان را راه اندازی نمایند و به این ترتیب سرعت دسترسی کاربران خود به اینترنت را چندین برابر افزایش دهند. با این حال دستگاه های محبوبی مانند تلفن های هوشمند کمی عقب تر از این زمان بندی حرکت می کنند.

اینترنت نسل جدید ۵G در راه است

 

 

تکنولوژی ۵G سال ۲۰۱۹ به تلفن های هوشمند خواهد رسید

هفته گذشته کمپانی کوالکام از آغاز همکاری خود با چندین تولید کننده بزرگ تلفن هوشمند در کشور چین برای به کارگیری از چیپ های پشتیبانی کننده از تکنولوژی ۵G در محصولات این شرکت ها خبر داد. لنوو، شیائومی، ZTE، اوپو و ویوو کمپانی هایی هستند که از سال ۲۰۱۹ میلادی تلفن های هوشمند با پشتیبانی از شبکه های ۵G به فروش خواهند رسید. قرارداد مورد نظر درآمدی در حدود ۲ میلیارد دلار برای کوالکام به همراه داشته است. این شرکت اخیرا پیشنهاد ادغام با Broadcom را به ارزش ۱۳۰ میلیارد دلار رد کرده و به نظر می رسد بستن این قرارداد نشان می دهد آنها در تصمیم خود اشتباه نکرده اند. به نظر می رسد از سال آینده و با فراگیر شدن ۵G در جهان، شرکت های بزرگتری نیز به استفاده از این تکنولوژی روی بیاورند و اضافه شدن شرکت هایی مانند سامسونگ و هواوی به عنوان دو مورد از بزرگترین تولید کنندگان تلفن هوشمند در جهان بتواند درآمد بسیار بیشتری را وارد حساب های کوالکام کند.

صالح نادی

آخرین آمار فعالیت کاربران ایرانی تلگرام منتشر شد

گزارش

 

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

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

طبق آمار این پژوهشگاه، به طور دقیق 754 هزار و 516 کانال (تا سوم بهمن ماه) در تلگرام وجود دارد که روزانه به طور میانگین 2.5 میلیارد بار بازدید از این کانال‌ها صورت می‌گیرد. البته آنطور که پیداست بخش اعظمی از این آمار متعلق به کانال‌های غیرفعال یا کم فعال است چرا که بنا به آمار فوق در این بین ۲۶۴ هزار و ۳۴۷ کانال به روزرسانی می شوند.

 

بررسی ها نشان می دهد که در طول شبانه روز (24 ساعت) به طور متوسط بیش از ۳ میلیون و ۷۵هزار و ۲۲۷ مطلب در بین کانال‌های تلگرامی منتشر یا به اصطلاح فنی‌تر پست می‌شوند. جالب است بدانید که ساعت 10 شب بیشترین زمانی است که پست‌ها منتشر می‌شوند و بازدید می‌خورند (بیش از 285 هزار مطلب) و همچنین کمترین زمانی که مطالب به اشتراک گذاشته می‌شوند مربوط به ساعت 4 صبح با آمار ۱۴ هزار و ۹۵۷ مطلب است.

پست‌های تلگرام در شبانه روز به طور میانگین نزدیک به 2.5 میلیارد بار بازدید دارند

متوسط تعداد مطلب بر کانال در یک روز ۱۱.۶۳ مطلب است و این به این معنی است که به طور متوسط روزانه در هر کانال حدود ۱۱.۵ مطلب منتشر می شود. تعداد کل بازدید کانال‌های فارسی شبکه اجتماعی تلگرام نیز در روز دوم بهمن ماه ٢ میلیارد و ۲۸۵ میلیون و ۳۷۰ هزار و ۴۳۹ بازدید برآورد شده است.

 

با اینکه تلگرام اصالتا یک پیام‌رسان روسی است ولی درصد استفاده ایرانیان از آن به مراتب بیشتر از خود کشور سازنده است.همچنین تعداد بازدید هر مطلب در کانال‌ها رقمی بین 800 تا 1000 بار اعلام شده که بیشترین بازدید نیز در طی ۱۰ روز اخیر به آخرین روز دی‌ماه باز می گردد که هر مطلب حدود یک‌هزار و ۳۵ بار بازدید داشته است.

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

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

 

 

مجید مرادی

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

گزارش

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

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

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

افراد مبتدی:

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

افراد متوسط:

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

افراد حرفه ای:

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

منبع

شیوا محمدی
ثبت نام ورود