Thứ Năm, 29 tháng 3, 2018

7 bước để có được công việc lập trình đầu tiên

Tốt nghiệp đai học chuyên ngành phát triển web vào năm 2017, tôi không phải là một developer chuyên nghiệp với nhiều kinh nghiệm. Tôi bắt đầu xin việc vào tháng 10 và bắt đầu làm việc toàn thời kì như một Front End developer vào tháng Mười Hai. Quá trình tìm việc chỉ vỏn vẹn 5 tuần. Có những điều mà tôi ước mình đã biết, và những thứ khác đã trả giá cao hơn tôi trông chờ. Để tiết kiệm thời gian, tôi đã tổng hợp bảy điều quan yếu dể có thể tìm được công việc lập trình trước tiên
1. Lập danh mục các dự án trội trong porfolio

Trong porfolio của bạn cầnỉ kê một hoặc hai dự án đã dự. Bạn không cần phải tỏ ra hoàn hảo, nhưng diễn tả được quá trình bạn đã làm như như thế nào.

Điều này có nghĩa là nếu bạn nói rằng bạn biết React, bạn nên có ít nhất một vận dụng React. Nếu bạn không có kinh nghiệm làm việc như thế nào hãy thể hiện nó vào trong portfolio, nên có ít nhất ba dự án quan trọng. Tuy nhiên, đây không phải là hướng dẫn – hãy sáng tạo! Các dự án càng thú vị, công việc càng nhanh đến cho bạn. Và bạn càng ham mê khi bạn tả nó với người phỏng vấn.

Bạn nên xin lời khuyên về porfolio của mình. Một số nhà tuyển dụng đã đưa ra yêu cầu muốn tôi code bằng Github. Tôi đã rất lúng túng khi phải làm điều này lần trước nhất. Sau đó, tôi đảm rằng tôi có thể điều hướng các dự án của mình trên Github và có thể nói về một thách thức khó khăn mà tôi đã giải quyết trong mỗi dự án.
vớ nhà tuyển dụng đã rất ấn tượng khi tôi có kinh nghiệm dùng Git. Tôi khuyên bạn nên làm quen với Git + Github. Nếu bạn chưa bao giờ dùng Git cho project của team, sẽ thật tuyến nếu làm PR cho một dự án nguồn mở. Git giúp ta tiến nhanh và xa hơn. Một trong những người phỏng vấn tôi đã bỏ qua quá vãng để xem tôi “tư duy” như thế nào và tôi rất vui khi đó là một dự án với những cam kết tốt.

2. Hãy chuẩn bị kĩ lưỡng cho cuộc phỏng vấn



Sẽ có rất nhiều vấn đề trong khi phỏng vấn. thành ra cần chuẩn bị thật kĩ lưỡng trước khi tham gia nhưng điều quan yếu nhất vẫn là thực hành. Sự lặng im hoàn toàn trong một cuộc phỏng vấn là điều chung cục bạn muốn, và bạn càng nói nhiều hơn, càng có nhiều người phỏng vấn nhịp đậu của bạn sẽ cao hơn.

hồ hết tất sẽ hỏi bạn một số câu hỏi chuyên môn căn bản, mà tôi gọi là “tầm thường” vì không từ nào biểu đạt tốt hơn. Những câu hỏi này thường tụ họp vào HTML, CSS, JavaScript và web performance. Ngoài ra còn có rất nhiều tài liệu trực tuyến với danh sách các câu hỏi phổ quát.

Có một vài chủ đề mà bất kỳ nhà phát triển web nào về front-end hoặc full-stack nên biết. Chúng bao gồm vòng lặp trong JS, promises và async/await, CSS box-model, CSS và cách để đẩy nhanh thời kì tải.

3. Xác định loại công ty và vị trí mà bạn muốn



Khi bắt đầu tìm việc, tôi đã mắc sai trái khi đựa vào một màng lưới quá rộng, với một nghĩ suy là sẽ mở rộng cơ hội có việc. Nhưng bất kể ở đâu, bạn sẽ dành phần lớn thời gian để làm việc. Điều gì sẽ xảy ra nếu bạn chọn phải một công việc mà bạn không chút hứng và ham.

Lập một danh sách các công việc ưu tiên và chủ động khoảng việc làm, thay vì để cho các công việc tự chạy đến bạn. Ưu tiên hàng đầu của tôi là:

nhịp để giải quyết những vấn đề thách thức mà tôi quan tâm

Cân bằng công việc và cuộc sống

dịp để làm việc với những công nghệ hiện đại

Những ưu tiên này đã giúp tôi tụ hội vào việc làm tại các công ty nơi có văn hoá làm việc lành mạnh. Tôi cũng muốn sử dụng các framework đương đại. Họ cũng cho tôi dịp được trải nghiệm những công việc mới.

ngoại giả, hãy nhớ rằng các cuộc phỏng vấn không chỉ là thời gian để công ty đánh giá bạn, mà cũng là nhịp để bạn đánh giá công ty có hạp với mình hay không. Tôi đã gặp phải một công ty đã đưa ra một bài test code dài trước khi trò chuyện với các ứng viên. Một công ty khác đang làm việc trên một sản phẩm quyến rũ, nhưng những người phỏng vấn lại khó chịu khi tôi mong muốn có thể Cân bằng giữa công việc và cuộc sống.

Và hãy luôn đặt câu hỏi trong quá trình phỏng vấn. Nó cho thấy bạn nghiêm túc và quan tâm, nhưng cũng có thể giúp bạn phát hiện những dấu hiệu cảnh báo.

4. Luôn tính hạnh tường tận và theo dõi vớ mọi thứ

Chuẩn bị cho cuộc phỏng vấn. Chuẩn bị danh sách công ty mục tiêu, hiện thời là lúc bắt đầu theo dõi các thông báo tuyển dụng, và các thông tin có liên hệ. Tuy nhiên, theo dõi quá nhiều có thể là một cơn ác mộng! sử dụng Airtable để theo dõi quơ các ứng dụng của mình như:danh sách công việc, bao gồm thư, email hoặc thông tin bằng văn bản, mức lương, địa chỉ giao thông, nhật ký cuộc họp và hơn thế nữa.

Nhưng tại sao lại quan tâm đến việc tổ chức? Vì bạn sẽ dễ dàng xác định được điểm mạnh và điểm yếu trong chiến lược dạo việc làm của mình.

thí dụ, đây là một sự cố về tình trạng các đơn xin việc sau khi tôi nhận được công việc

 




Tôi đã gửi 40 đơn xin việc. Trong 40 đơn đăng ký tôi đã gửi, tôi không nhận được phản hồi đến 50%, và các offer tuyển dụng chỉ 20%. Tuy đó không phải là một con số thấp nhưng vẫn không cao như tôi đã chờ mong.

Nhưng nếu chúng ta nhìn vào những công việc mà tôi đã có nhịp phỏng vấn:

 



Tôi đã nộp đơn vào 16 vị trí. Tôi có 8 yêu cầu, khước từ phỏng vấn ở 2 vị trí, bị chối từ 1 công ty. Tôi đã phỏng vấn 5 công ty trước khi tôi tìm được công việc của mình.

Mọi thứ trông tốt hơn nhiều. Tỷ lệ đề nghị là 50%, 1/4 dịp tham dự phỏng vấn, và chỉ có 1 công ty từ khước sau khi phỏng vấn (khi tôi biết rằng tuần làm việc làng nhàng của họ là 60 giờ!).


Nếu tôi đầu tư thêm thời gian để chuẩn bị, tôi chắc chắn sẽ đổi thay chiến lược dành ít thời kì hơn cho viết CV và porfolio, và thêm thời kì kết nối mạng lưới và trau dồi khả năng giới thiệu.

6. Viết một resume và cover letter thật đặc biệt

Một resume hoặc cover letter với lỗi chính tả hoặc lỗi ngữ pháp sẽ bị từ khước tức tốc. Các CV nhiều hơn một trang, thẳng tính bị chối từ tức khắc.

Các thư giới thiệu có thể không bị từ chối tức khắc. Dành vài phút để truy cập vào trang web của công ty và đưa ra lý do chính đáng tại sao bạn muốn làm việc cho công ty cụ thể đó. Nếu bạn chẳng thể, có thể đó là một dấu hiệu nó không phải là công ty hạp với bạn.

Dù bằng cách nào, bạn nên điều chỉnh CV càng nhiều càng tốt. Tránh sao chép và dán bất kỳ mẫu nào bạn tìm thấy trên google

Tôi có thể viết thảy CV, nhưng nói chung, bạn nên làm nổi trội các kỹ năng kỹ thuật can hệ nhất của công việc trước đây của bạn. tỉ dụ, tôi đã từng làm việc trong tổ chức phi lợi nhuận và gây quỹ – không có gì liên tưởng đến công việc “nhà phát triển web”. Tuy nhiên, tôi đã làm trội tính chất lưu trữ dữ liệu và quản lý phần mềm gây quỹ. Ngoài ra, tôi đã đưa ra ba dự án danh mục đầu tư có liên tưởng nhất ở đầu CV của mình. Như vậy, khả năng của tôi đã được chứng minh.

6. Network!Tôi cảm thấy thế nào khi kết nối các sự kiện.

Tôi là một người sống nội tâm và thấy khó có thể hòa nhập nhóm lớn. Thế nhưng tôi “ép” bản thân mình đến các buổi họp mặt, sự kiện, meet up, và đôi khi tôi thậm chí còn vui vẻ khi chuyện trò với các developer khác.

Đại đa số các cuộc gặp gỡ không dẫn đến bất kỳ công việc cụ thể nào, thành thật mà nói là như vậy. Trong thực tại, công việc mà tôi có hiện nay là kết quả của quá trình học học từ những người mà tôi đã gặp những mối quan hệ mà tôi đã có.

thành thử, tôi thực thụ khuyến khích bạn tham gia các buổi họp mặt, các giảng sư, và các group về Slack cho các chuyên gia, ngay cả khi kết nối qua phương tiện truyền thông từng lớp. Những công việc tốt nhất thường không bao giờ được đăng tải, nên điều quan trọng là phải cụ xây dựng mối quan hệ ngay cả khi là một người mới vào ngành.

Và hãy nhớ – nó thật sự có lợi! Nhiều công ty cung cấp tiền thưởng cho nhân viên giới thiệu người, do đó thường có lợi cho cả hai nếu bạn tìm được 1 công việc.

7. Tránh tranh chấp, hãy thương lượng
 
Ở Hầu hết các vị trí mà tôi đã phỏng vấn, khi tôi được hỏi mức lương chờ mong của mình là bao nhiêu. Điều này luôn là vấn đề mẫn cảm, nhưng nói chung, người đưa ra trước sẽ ở vị trí yếu hơn cho các cuộc thương thảo. Tuy nhiên, để tránh lãng phí thời gian của cả bạn và nhà tuyển dụng. Bạn nên tra cứu mức lương ước lượng cho các nhà phát triển với chừng độ kinh nghiệm tương đương, tại thị thành mà bạn đang làm việc trên các trang web như Payscale, Sosanhluong cũng như từ các báo cáo về lương của các đơn vị tuyển dụng có uy tín. Tại các công ty lớn hơn, bạn cũng có thể tầm mức lương trên Glassdoor, Vì vậy bạn có thể kiên cố rằng khuôn khổ của bạn ít nhiều hiệp với họ.

bởi vậy, bất cứ khi nào tôi được hỏi đề nghị lương lậu của tôi là gì, tôi đã nói: “Mức lương đích của tôi là từ $ X đến $ X. Tuy nhiên, tiền không phải là điều quan trọng nhất. Tôi thực sự đang tầng một công ty mà tôi có thể tiếp phát triển và đóng góp cho team.

Và một khi bạn nhận được một yêu cầu, đừng bao giờ sợ phải thương lượng. Bạn cũng có thể đàm phán về những thứ khác ngoài lương. Những ngày này có thể bao gồm ngày nghỉ, và lương thưởng, có thể linh hoạt hơn so với tiền cơ bản.

Kết luận

Tôi hy vọng rằng bạn thấy điều này hữu ích trong khoảng việc. Lời khuyên rốt cục là: đừng lo lắng về việc nhận việc làm. Luôn có rất nhiều thời cơ việc làm lập trình viên. Nếu bạn đã nghiên cứu và chuẩn bị, bạn sẽ nhận được một công việc.

Thứ Tư, 28 tháng 3, 2018

6 Ngôn ngữ lập trình mà Developer nào cũng nên dùng thử



ảnh minh họa - Đào tạo Java

Việc chọn một ngôn ngữ sẽ quyết định con đường sự nghiệp mà bạn muốn phát triển. Tuy vậy, để có thể đưa ra chọn lựa đúng, trước tiên, bạn sẽ cần phải hiểu rõ về một tiếng nói lập trình và những khả năng của nó.

Dưới đây tôi cung cấp một danh sách các khái niệm căn bản cần biết:

Library

hồ hết các ngôn ngữ lập trình đều có một bộ thư viện nòng cột riêng. Các thư viện này là những đoạn code có thể tái dùng, san sớt, vận dụng, mở mang và ứng dụng cho các vấn đề lập trình khác nhau. thường nhật, có hàng trăm đến hàng ngàn thư viện để chọn lựa. Điều này đặc biệt càng đúng hơn nhờ vào sự phát triển của bên thứ ba và mã nguồn mở. Do đó mà bạn sẽ không thể tìm hiểu về tất các thư viện can dự đến một tiếng nói lập trình. dù rằng vậy, bạn cũng nên làm quen với càng nhiều thư viện càng tốt.

Framework

Tôi thường nghe thuật ngữ “library” và “framework” được sử dụng cho nhau. Tuy nhiên, theo ý kiến của tôi, các framework ngụ ý một cái gì đó lớn hơn nhiều so với một thư viện đơn giản. Framework thường được tạo ra để giúp đơn giản hóa cho quá trình phát triển của một ứng dụng. nếu bạn có thể dễ dàng thêm, xóa hoặc thay thế thư viện thì framework đã trở nên một phần chẳng thể tách rời hay thay đổi của áp dụng. Framework thường rất lớn và đòi hỏi ta phải đầu tư nhiều thời kì hơn để hiểu và vận dụng chúng. Và thường thì khi bạn đã hiểu về nó thì sẽ có một framework mới thay thế nó và ta lại phải bắt đầu từ đầu.

Thiết kế

Lập trình hiệu quả hơn rất nhiều nhờ vào thiết kế tốt. Và việc thiết kế một ngôn ngữ lập trình thường sẽ định hình cho cách chúng ta làm ra các hệ thống dùng tiếng nói lập trình đó. Một thiết kế tốt sẽ là nguyên tố tạo ra thành công hoặc thất bại của hệ thống.

Một lần nữa, chỉ có thể trãi qua thời kì và kinh nghiệm mới có thân xác định thiết kế nào tốt và hợp. Ngoài ra, cũng rưa rứa như thư viện, mỗi tiếng nói sẽ có cách thiết kế khác nhau do đó mà đôi khi bạn sẽ phải vận dụng nhiều ý tưởng khác nhau nhằm đạt được kết quả tốt nhất.

vận dụng và thực tế

Mỗi ngôn ngữ sẽ đi kèm với đó là tập kết các cách thức áp dụng tốt và xấu. Điều quan trọng là bạn cần biết về cả hai. Mỗi ngôn ngữ cũng sẽ có những điểm mạnh và yếu biệt lập. Đó là góc cạnh thực tế của việc làm việc với một tiếng nói lập trình vốn sẽ thực thụ xác định xem bạn có biết rõ về nó hay không. Đó là kiến ​​thức chỉ có được bằng cách làm việc liên tục với ngôn ngữ lập trình và ứng dụng nó trong thực tại.

Như ta có thể thấy, học một ngôn ngữ lập trình rất khó. Tôi có khoảng 15 năm kinh nghiệm lập trình với C + +, Java, C #, Javascript, và SQL.Thành thật mà nói, tôi vẫn cảm thấy rằng mình chưa thật sự “biết” hết về những tiếng nói này. Do đó mà ta sẽ phải luôn nối học hỏi và nâng cao.

Trong phần tiếp theo tôi sẽ cung cấp một số ngôn ngữ lập trình mà tôi nghĩ bạn nên biết. Tuy nhiên, xét theo những gì tôi đã viết trong phần này, bạn có thể đã đoán ra phần nào về 5 tiếng nói lập trình dưới đây.

6 ngôn ngữ lập trình tôi nghĩ bạn nên thử qua

Javascript

Ngày nay, Javascript dường như có mặt ở khắp mọi nơi. Nó gần như thường bị giới hạn bởi bất cứ thứ gì và được áp dụng trong rất nhiều lĩnh vực khác nhau.

Có rất ít công việc IT bây chừ mà không đụng chạm gì tới Javascript. Đây là một tiếng nói rất đơn giản để học, tuy nhiên, nó cũng trở thành phức tạp hơn khi bạn bắt đầu đào sâu vào. Javascript đa dạng tới mức ngày cả những nhà phát triển Javascript kinh nghiệm nhất cũng không tự tin rằng mình thật sự đã thuần thục với nó.

Đối với tôi, lý do mà bạn muốn học một tiếng nói như vậy là nếu bạn đang xây dựng một codebase javascript lớn và muốn cải thiện khả năng bảo trì hệ thống đó. tuy thế, tôi khuyên bạn nên thử qua Typescript, một phiên bản vượt trội của Javascript. ngoại giả Coffeescript và Elm cũng là hai chọn lựa sáng giá khác.

ngôn ngữ lập trình hướng đối tượng (OOP)

Tại trường đại học, tôi dùng Java như ngôn ngữ lập trình chính của mình. dù rằng vậy, tôi cũng có dụng C + + và một tiếng nói lập trình ít được biết đến gọi là Eiffel. Tuy nhiên, Java luôn là lựa chọn yêu thích của tôi. Học Java chắc chắn cho phép tôi dễ dàng thích ứng với các ngôn ngữ lập trình khác. Điều độc nhất vô nhị mà tôi có thể nói rằng tôi ghét về Java là “checked exception”.

Tuy vậy, C # lại là ngôn ngữ mà tôi đã dành đa số thời gian của mình. Tôi đã dùng C # như là tiếng nói chính trong hơn 10 năm nay. Hạn chế lớn nhất đối với tôi là việc C # không bao giờ có mã nguồn mở hay nền móng chéo. Nhưng may mắn thay quờ quạng đã đổi thay trong những năm gần đây và tôi hiện đang phát triển vận dụng C # trên một hệ điều hành Linux. Mặt khác, khi tính năng async / await đã được thêm vào Javascript, tôi cảm thấy việc lập trình càng trở thành dễ dàng hơn.

nên chi,bạn nên học C #, Java, hay C ++? Theo ý kiến cá nhân của tôi, nó không quan trọng nhưng hãy chọn một. Bởi đây là một nhóm các ngôn ngữ lung tung mạnh mẽ và biết một số chúng thôi cũng sẽ giúp bạn biết cả thảy. Như bạn có thể thấy từ kinh nghiệm cá nhân của tôi, thường chúng ta bắt đầu với Java và C + + nhưng kết thúc đa số là lập trình bằng Javascript và C #.

Python

Python là một tiếng nói lập trình đa năng. Gần đây, khoảng năm 2017/2018, khi nói về data science thì phải nhắc tới Python. Tôi cốt tử là lập trình Python cho vui và vẫn chưa có cơ hội được sử dụng nó trong bất kỳ công việc nào. Dù là vậy tôi vẫn phải xác nhận Python là một ngôn ngữ hết sức mạnh mẽ . Với sự gia tăng của Machine Learning và AI, có vẻ như Python sẽ tiếp chuyện “Hot” trong vài năm nữa.

SQL (cấu trúc tróc nã tiếng nói)

Đúng rồi đấy! SQL là một ngôn ngữ. Cụ thể hơn SQL là ngôn ngữ thế hệ thứ tư (4GL) gần với tiếng nói của con người. đôi khi tôi tự hỏi liệu SQL có phải là tiếng nói lập trình được biết đến nhiều nhất không? SQL có mặt ở khắp mọi nơi, và trong kinh nghiệm làm việc từ trước tới giờ của mình, tôi không một lần nào KHÔNG phải làm việc với SQL. Cho dù đó là MSSQL, Postgres, MySQL hay Oracle, SQL vẫn luôn tồn tại dưới nhiều dạng và hình thức khác nhau.

BASH

BASH là một tiếng nói scripting. Giống như các lựa chọn trước đây của tôi, lý do BASH được đưa ra trong danh sách của tôi là vì lý do nó được ưng ý rộng rãi trong cộng đồng. Đối với tôi, khả năng mang lại sức mạnh cho BASH chính là tính năng có thể làm việc với VIM.

Hơn nữa, Linux là hệ điều hành được sử dụng nhiều nhất trong server. Do đó, tôi nghĩ tốt hơn là nên tìm hiểu về Linux vì bạn sẽ phải làm việc với nó dù sớm hay muộn. Hiểu rõ BASH cũng sẽ giúp bạn viết các tác vụ lặp lại và automated task vốn có thể được chia sẻ và dùng. thành ra, ngoài việc là một phương tiện sysadmin có giá trị, tôi nghĩ rằng nó còn là một tool lung tung tuyệt vời dành cho devops.


ngôn ngữ lập trình chức năng (Functional Programming Language)

Tôi không có kinh nghiệm phát triển phần mềm bằng một tiếng nói lập trình thuần tính năng (pure functional). Do đó, tôi chẳng thể đưa ra một lời khuyên kiên cố nào. Tuy nhiên, trong năm qua tôi đã được theo dõi chặt đẹp trên các tiếng nói lập trình chức năng. Và có 3 tiếng nói tuồng như luôn lôi cuốn sự chú của mọi người:

Haskell – Haskell là một ngôn ngữ lập trình đơn giản, không nghiêm nhặt và dễ sử dụng.

Scala – Scala là một tiếng nói lập trình có mục đích cung cấp hỗ trợ lập trình chức năng và là một static type system đầy mạnh mẽ. Được thiết kế dựa trên Java nhằm trở thành một phiên bản hoàn thiện hơn.

F # – F # là một tiếng nói lập trình bao gồm các phương pháp lập trình chức năng, ép và hướng đối tượng.

Tôi khuyến khích bất cứ ai dù mới hoặc đã có kinh nghiệm lập trình đều nên đầu tư thời kì vào việc học một ngôn ngữ lập trình chức năng. Nó sẽ giúp bạn viết code tốt hơn. ngoại giả, chúng cũng càng ngày càng trở thành dễ dàng để tích hợp và sử dụng cùng với những ngôn ngữ phổ thông như Java và C #.

Như vậy là bạn đã biết được 6 tiếng nói lập trình cần thiết với lập trình viên rồi đấy. Tôi tin rằng nếu bạn có thể thuần thục chúng trong vài năm thì sự nghiệp sẽ phát triển rất vững vàng cũng như mở ra nhiều dịp mới để bạn nắm bắt.

Thứ Ba, 27 tháng 3, 2018

6 Ngôn ngữ lập trình mà Developer nào cũng nên dùng thử



ảnh minh họa - học lập trình java cơ bản

Việc chọn một ngôn ngữ sẽ quyết định con đường sự nghiệp mà bạn muốn phát triển. Tuy vậy, để có thể đưa ra lựa chọn đúng, trước nhất, bạn sẽ cần phải hiểu rõ về một tiếng nói lập trình và những khả năng của nó.

Dưới đây tôi cung cấp một danh sách các khái niệm cơ bản cần biết:

Library

Hầu hết các ngôn ngữ lập trình đều có một bộ thư viện cốt cán riêng. Các thư viện này là những đoạn code có thể tái sử dụng, chia sẻ, áp dụng, mở mang và áp dụng cho các vấn đề lập trình khác nhau. thường ngày, có hàng trăm đến hàng ngàn thư viện để lựa chọn. Điều này đặc biệt càng đúng hơn nhờ vào sự phát triển của bên thứ ba và mã nguồn mở. Do đó mà bạn sẽ không thể tìm hiểu về tất các thư viện liên hệ đến một ngôn ngữ lập trình. dù rằng vậy, bạn cũng nên làm quen với càng nhiều thư viện càng tốt.

Framework

Tôi thường nghe thuật ngữ “library” và “framework” được dùng cho nhau. Tuy nhiên, theo quan điểm của tôi, các framework hàm ý một cái gì đó lớn hơn nhiều so với một thư viện đơn giản. Framework thường được tạo ra để giúp đơn giản hóa cho quá trình phát triển của một ứng dụng. phải bạn có thể dễ dàng thêm, xóa hoặc thay thế thư viện thì framework đã trở nên một phần không thể tách rời hay thay đổi của áp dụng. Framework thường rất lớn và đòi hỏi ta phải đầu tư nhiều thời gian hơn để hiểu và áp dụng chúng. Và thường thì khi bạn đã hiểu về nó thì sẽ có một framework mới thay thế nó và ta lại phải bắt đầu từ đầu.

Thiết kế

Lập trình hiệu quả hơn rất nhiều nhờ vào thiết kế tốt. Và việc thiết kế một ngôn ngữ lập trình thường sẽ định hình cho cách chúng ta làm ra các hệ thống sử dụng ngôn ngữ lập trình đó. Một thiết kế tốt sẽ là nguyên tố tạo ra thành công hoặc thất bại của hệ thống.

Một lần nữa, chỉ có thể trãi qua thời gian và kinh nghiệm mới có thân xác định thiết kế nào tốt và hợp. Ngoài ra, cũng hao hao như thư viện, mỗi ngôn ngữ sẽ có cách thiết kế khác nhau do đó mà thỉnh thoảng bạn sẽ phải vận dụng nhiều ý tưởng khác nhau nhằm đạt được kết quả tốt nhất.

áp dụng và thực tại

Mỗi ngôn ngữ sẽ đi kèm với đó là tụ hội các cách thức áp dụng tốt và xấu. Điều quan yếu là bạn cần biết về cả hai. Mỗi ngôn ngữ cũng sẽ có những điểm mạnh và yếu riêng biệt. Đó là góc cạnh thực tại của việc làm việc với một ngôn ngữ lập trình vốn sẽ đích thực xác định xem bạn có biết rõ về nó hay không. Đó là kiến ​​thức chỉ có được bằng cách làm việc liên tục với tiếng nói lập trình và ứng dụng nó trong thực tế.

Như ta có thể thấy, học một ngôn ngữ lập trình rất khó. Tôi có khoảng 15 năm kinh nghiệm lập trình với C + +, Java, C #, Javascript, và SQL.Thành thật mà nói, tôi vẫn cảm thấy rằng mình chưa thật sự “biết” hết về những ngôn ngữ này. Do đó mà ta sẽ phải luôn đấu học hỏi và nâng cao.

Trong phần tiếp theo tôi sẽ cung cấp một số ngôn ngữ lập trình mà tôi nghĩ bạn nên biết. Tuy nhiên, xét theo những gì tôi đã viết trong phần này, bạn có thể đã đoán ra phần nào về 5 ngôn ngữ lập trình dưới đây.

6 ngôn ngữ lập trình tôi nghĩ bạn nên thử qua

Javascript

hiện tại, Javascript tuồng như có mặt ở khắp mọi nơi. Nó gần như không bị giới hạn bởi bất cứ thứ gì và được ứng dụng trong rất nhiều lĩnh vực khác nhau.

Có rất ít công việc IT hiện thời mà không đụng chạm gì tới Javascript. Đây là một ngôn ngữ rất đơn giản để học, tuy nhiên, nó cũng trở thành phức tạp hơn khi bạn bắt đầu đào sâu vào. Javascript đa dạng tới mức ngày cả những nhà phát triển Javascript kinh nghiệm nhất cũng không tự tin rằng mình thật sự đã thành thạo với nó.

Đối với tôi, lý do mà bạn muốn học một ngôn ngữ như vậy là nếu bạn đang xây dựng một codebase javascript lớn và muốn cải thiện khả năng bảo trì hệ thống đó. tuy thế, tôi khuyên bạn nên thử qua Typescript, một phiên bản vượt trội của Javascript. ngoại giả Coffeescript và Elm cũng là hai tuyển lựa sáng giá khác.

tiếng nói lập trình hướng đối tượng (OOP)

Tại trường đại học, tôi dùng Java như tiếng nói lập trình chính của mình. mặc dầu vậy, tôi cũng có dụng C + + và một ngôn ngữ lập trình ít được biết đến gọi là Eiffel. Tuy nhiên, Java luôn là chọn lựa yêu thích của tôi. Học Java vững chắc cho phép tôi dễ dàng thích ứng với các tiếng nói lập trình khác. Điều độc nhất vô nhị mà tôi có thể nói rằng tôi ghét về Java là “checked exception”.

Tuy vậy, C # lại là ngôn ngữ mà tôi đã dành đa số thời gian của mình. Tôi đã dùng C # như là ngôn ngữ chính trong hơn 10 năm nay. Hạn chế lớn nhất đối với tôi là việc C # không bao giờ có mã nguồn mở hay nền móng chéo. Nhưng may mắn thay tất đã đổi thay trong những năm gần đây và tôi hiện đang phát triển vận dụng C # trên một hệ điều hành Linux. Mặt khác, khi tính năng async / await đã được thêm vào Javascript, tôi cảm thấy việc lập trình càng trở nên dễ dàng hơn.

vì thế,bạn nên học C #, Java, hay C ++? Theo quan điểm cá nhân chủ nghĩa của tôi, nó không quan yếu nhưng hãy chọn một. Bởi đây là một nhóm các tiếng nói tứ tung mạnh mẽ và biết một số chúng thôi cũng sẽ giúp bạn biết hết thảy. Như bạn có thể thấy từ kinh nghiệm cá nhân của tôi, thường chúng ta bắt đầu với Java và C + + nhưng kết thúc phần lớn là lập trình bằng Javascript và C #.

Python

Python là một tiếng nói lập trình đa năng. Gần đây, khoảng năm 2017/2018, khi nói về data science thì phải nhắc tới Python. Tôi cốt tử là lập trình Python cho vui và vẫn chưa có dịp được dùng nó trong bất kỳ công việc nào. Dù là vậy tôi vẫn phải công nhận Python là một ngôn ngữ vô cùng mạnh mẽ . Với sự gia tăng của Machine Learning và AI, có vẻ như Python sẽ tiếp chuyện “Hot” trong vài năm nữa.

SQL (cấu trúc tróc nã ngôn ngữ)

Đúng rồi đấy! SQL là một tiếng nói. Cụ thể hơn SQL là tiếng nói đời thứ tư (4GL) gần với tiếng nói của con người. thỉnh thoảng tôi tự hỏi liệu SQL có phải là tiếng nói lập trình được biết đến nhiều nhất không? SQL có mặt ở khắp mọi nơi, và trong kinh nghiệm làm việc từ trước tới giờ của mình, tôi không một lần nào KHÔNG phải làm việc với SQL. Cho dù đó là MSSQL, Postgres, MySQL hay Oracle, SQL vẫn luôn tồn tại dưới nhiều dạng và hình thức khác nhau.

BASH

BASH là một ngôn ngữ scripting. Giống như các chọn lọc trước đây của tôi, lý do BASH được đưa ra trong danh sách của tôi là vì lý do nó được chấp nhận rộng rãi trong cộng đồng. Đối với tôi, khả năng mang lại người mạnh cho BASH chính là tính năng có thể làm việc với VIM.

Hơn nữa, Linux là hệ điều hành được sử dụng nhiều nhất trong server. Do đó, tôi nghĩ tốt hơn là nên tìm hiểu về Linux vì bạn sẽ phải làm việc với nó dù sớm hay muộn. Hiểu rõ BASH cũng sẽ giúp bạn viết các tác vụ lặp lại và automated task vốn có thể được chia sẻ và dùng. Vì vậy, ngoài việc là một công cụ sysadmin có giá trị, tôi nghĩ rằng nó còn là một tool tứ tung sạch dành cho devops.


ngôn ngữ lập trình chức năng (Functional Programming Language)

Tôi không có kinh nghiệm phát triển phần mềm bằng một tiếng nói lập trình thuần tính năng (pure functional). Do đó, tôi không thể đưa ra một lời khuyên chắc chắn nào. Tuy nhiên, trong năm qua tôi đã được theo dõi chặt chẽ trên các tiếng nói lập trình chức năng. Và có 3 tiếng nói hình như luôn thu hút sự chú của mọi người:

Haskell – Haskell là một tiếng nói lập trình đơn giản, không nghiêm ngặt và dễ sử dụng.

Scala – Scala là một ngôn ngữ lập trình có mục đích cung cấp tương trợ lập trình chức năng và là một static type system đầy mạnh mẽ. Được thiết kế dựa trên Java nhằm trở nên một phiên bản hoàn thiện hơn.

F # – F # là một ngôn ngữ lập trình bao gồm các phương pháp lập trình chức năng, ép và hướng đối tượng.

Tôi khuyến khích bất cứ ai dù mới hoặc đã có kinh nghiệm lập trình đều nên đầu tư thời kì vào việc học một tiếng nói lập trình chức năng. Nó sẽ giúp bạn viết code tốt hơn. ngoại giả, chúng cũng càng ngày càng trở thành dễ dàng để tích hợp và sử dụng cùng với những tiếng nói phổ biến như Java và C #.

Như vậy là bạn đã biết được 6 ngôn ngữ lập trình cần thiết với lập trình viên rồi đấy. Tôi tin rằng nếu bạn có thể thuần thục chúng trong vài năm thì sự nghiệp sẽ phát triển rất vững cũng như mở ra nhiều thời cơ mới để bạn nắm bắt.

Thứ Bảy, 24 tháng 3, 2018

Vì sao Bộ TT&TT đặt hạn mức khuyến mại không quá 20% cho nhà mạng?

Bộ TT&TT cho biết, để đảm bảo lợi quyền và thúc đẩy phát triển thuê bao trả sau, hạn chế cuộc gọi rác, tin nhắn rác, Bộ đã ra thông tư quy định hạn mức khuyến mại đối với dịch vụ di động trên tinh thần bảo đảm cạnh tranh lành mạnh trên thị trường dịch vụ thông báo di động, bảo đảm an toàn, an ninh xã hội.

 


Mới đây, Bộ TT&TT đã ban hành quy định về hạn mức khuyến mại đối với các nhà mạng không được khuyến mại vượt quá 20% giá trị thẻ cào cho các thuê bao trả trước.

Sở dĩ Bộ TT&TT đặt hạn mức khuyến mại này để quản lý chém đẹp hơn các thuê bao di động trả trước. Từ năm 2016, Chính phủ đã chỉ đạo đề nghị Bộ TT&TT có giải pháp đảm bảo an toàn thông tin cá nhân chủ nghĩa của người dùng dịch vụ trên mạng, tăng cường công tác quản lý thuê bao di động trả trước; chủ trì, phối hợp với các cơ quan có hệ trọng khẩn trương ban hành văn bản chỉ đạo, chỉ dẫn các doanh nghiệp viễn thông rà soát, xác minh, cập nhật nâng cao tính chuẩn xác của thông báo thuê bao di động trả trước; đề xuất, triển khai các giải pháp nhằm xác minh, đối soát thông tin thuê bao xác thực, hiệu quả.

Năm 2017, Chính phủ tiếp tục đề nghị Bộ thông báo và Truyền thông “có giải pháp quyết liệt, hiệu quả hơn nữa trong việc ngăn chặn, xử lý tin nhắn rác, hệ lụy tin nhắn rác, thu hồi SIM kích hoạt sẵn; có cơ chế, chính sách để thúc đẩy phát triển thuê bao di động trả sau”.

thực hành quan điểm chỉ đạo của Chính phủ, năm 2017 Bộ TT&TT đã yêu cầu các doanh nghiệp quản lý chặt việc đăng ký và lưu trữ thông tin thuê bao; hướng dẫn các doanh nghiệp di động nghiên cứu, hợp nhất ký cam kết và thu hồi SIM kích hoạt sẵn trên các kênh phân phối của các doanh nghiệp di động. Tính đến hết năm 2017, tổng số SIM thuê bao có dấu hiệu nghi vấn được phát hiện là hơn 28 triệu, trong đó đã có khoảng 4 triệu SIM đã đăng ký lại thông tin hoặc đã bị hủy, khóa (do hết thời hạn dùng…), tổng số thuê bao bị khóa trương mục, thu hồi là hơn 24 triệu SIM thuê bao. Sau 7 tháng triển khai cam kết ngăn chặn tin nhắn rác, từ tháng 5 đến tháng 11/2017, số lượng tin nhắn rác chặn được trên toàn mạng là 214 triệu tin nhắn, Bộ thông tin và Truyền thông cũng đã hấp thụ 68.610 lượt phản chiếu tin nhắn rác đến đầu số 456.

Bộ TT&TT cho biết, trên thực tiễn, doanh nghiệp di động vẫn tiếp chuyện đua nhau cuộn thuê bao trả trước đăng ký mới bằng cách liên tục đưa ra các chương trình khuyến mại cho thuê bao trả trước để cạnh tranh không lành mạnh, buông lỏng quản lý đăng ký thông tin thuê bao nên hiện tượng lợi dụng đăng ký thuê bao trả trước để nhắn lăng xê, đe dọa, nhắn nhe độc hại vẫn xuất hiện tràn lan. nên chi, lượng tin nhắn rác phát sinh từ thuê bao trả trước đăng ký mới vẫn lớn hơn so với số tin nhắn rác, cuộc gọi rác được các cơ quan can dự xử lý chặn lọc được. Trong khi đó, thuê bao trả sau là nhóm khách hàng sử dụng dịch vụ lâu dài, cung cấp đầy đủ thông tin cho nhà mạng khi đăng ký dịch vụ lại rất ít được hưởng chính sách khuyến mại.

Đối với thuê bao trả trước, do không phải cung cấp nhiều thông báo cá nhân chủ nghĩa khi đăng ký thuê bao, thậm chí có thể mua SIM trả trước mà không phải xuất trình giấy tờ cá nhân, được nhà mạng khuyến mại nhiều nên nhiều thuê bao đã lợi dụng đăng ký thuê bao trả trước để phát tán tin nhắn rác, cuộc gọi rác, tin nhắn lăng xê, tin nhắn lường đảo, tin nhắn có nội dung độc hại, gây bức xúc lớn đối với người dùng dịch vụ, ảnh hưởng đến an toàn, an ninh xã hội. thực tiễn quản lý cho thấy nguồn tin nhắn rác, cuộc gọi rác, tin nhắn đe dọa, lường đảo đều khởi hành từ các thuê bao trả trước và rất khó truy xuất danh tính thuê bao vì thông báo cá nhân mà nhà mạng đang lưu trữ không chuẩn xác hoặc không đầy đủ.

Bộ TT&TT cho biết, để đảm bảo lợi quyền và xúc tiến phát triển thuê bao trả sau, hạn chế cuộc gọi rác, tin nhắn rác, Bộ đã ra Thông tư số 47/2017/TT-BTTTT ngày 29/12/2017 quy định hạn mức khuyến mại đối với dịch vụ thông báo di động mặt đất được ban hành trên ý thức bảo đảm cạnh tranh lành mạnh trên thị trường dịch vụ thông báo di động, bảo đảm an toàn, an ninh tầng lớp, bảo đảm quyền lợi của khách hàng dùng dịch vụ. Nếu thuê bao trả trước chuyển sang thuê bao trả sau vẫn được hưởng mức khuyến mại không quá 50% giá trị thẻ nạp.

Bộ TT&TT cho biết, khách hàng dùng dịch vụ thông báo di động vẫn được bảo đảm lợi quyền, được hưởng chất lượng dịch vụ tốt, chính sách chăm chút khách hàng tốt, khi khách hàng chuyển từ chế độ thuê bao trả trước chuyển sang thuê bao trả sau được hưởng mức khuyến mại không quá 50%. Các doanh nghiệp đã rà thủ tục chuyển đổi từ thuê bao trả trước sang trả sau, đảm bảo thủ tục đơn giản, gọn nhẹ, thuận lợi, bảo lưu account chính cho khách hàng.

Hiện các nhà mạng đã sẵn sàng cho việc khai triển Thông tư 47/2017 từ 01/3/2018 về khuyến mại dịch vụ thông tin di động. Cụ thể, doanh nghiệp đã chủ động thẩm tra lại quy trình quản lý các chương trình khuyến mại, quy trình chuyển đổi từ thuê bao trả trước sang thuê bao trả sau, thông tin cho khách hàng về các chương trình khuyến mại trước ngày 1/3/2018, quy định mới về khuyến mại dịch vụ thông tin di động kể từ ngày 1/3/2018. Các doanh nghiệp cũng đã thiết kế, đưa ra thị trường các gói cước mới rẻ, đáp ứng nhu cầu dùng dịch vụ đa dạng của khách hàng.

Thứ Ba, 20 tháng 3, 2018

IT TALKSHOW 3: “BẢO MẬT THÔNG TIN - CHÌA KHÓA VÀNG CHO SỰ THÀNH CÔNG

🔐🔐🔐 An ninh mạng tại Việt Nam năm 2017 đã có những diễn biến phức tạp. Các thiết bị kết nối Internet (IoT) như Router Wi-Fi, Camera IP… trở thành đích nhắm của hacker cùng sự bùng nổ nhanh chóng của các biến thể mã độc mới đã xuất hiện với quy mô toàn cầu, gây ảnh hưởng lớn về tài chính và các hoạt động kinh tế, xã hội.

 


🔏 Theo báo cáo mới nhất, từ đầu năm 2017 đến nay, Trung tâm VNCERT đã ghi nhận và điều phối xử lý gần 10.000 sự cố an ninh mạng bao gồm 1.762 sự cố website lừa đảo (Phishing), 4.595 sự cố về phát tán mã độc (Malware) và 3.607 sự cố tấn công thay đổi giao diện (Deface). Và theo nhận định của các chuyên gia, tình hình an toàn thông tin mạng trong năm 2018 sẽ diễn biến phức tạp hơn với các cuộc tấn công mạng tinh vi và đặc biệt nguy hiểm nhằm vào các hạ tầng trọng yếu quốc gia. Bên cạnh đó, tình trạng tấn công lừa đảo qua email và mạng xã hội sẽ tiếp tục gia tăng và diễn biến khó lường. Các hình thức tấn công mạng như Phishing và Dos nhằm vào Big Data cũng được dự báo tiếp tục gia tăng về số lượng, phức tạp hơn về kỹ thuật, rộng lớn hơn về quy mô.

🔏 Trong bối cảnh vấn đề đó, chuỗi sự kiện IT TALKSHOW với chủ đề: BẢO MẬT THÔNG TIN - CHÌA KHÓA VÀNG CHO SỰ THÀNH CÔNG sẽ mang lại cho các bạn những thông tin cũng như kiến thức bổ ích trong chương trình.

👉👉 Chủ đề số 3: BẢO MẬT THÔNG TIN - CHÌA KHÓA VÀNG CHO SỰ THÀNH CÔNG

🕢 Thời gian: 18h30 - 21h00 ngày 📆 31/3/2018 tại Hội trường P5, tầng 3, tòa nhà 25T2, Nguyễn Thị Thập, Hà Nội

👉 Số lượng tham dự: 100 người
👉 Khách mời chia sẻ:

👤 Ông Nguyễn Minh Đức - Nhà sáng lập CyRadar

👤 Ông Ngô Việt Khôi - Chuyên gia An ninh Thông tin, Nguyên giám đốc quốc gia Trend Micro Việt Nam

👤 Ông Nguyễn Ích Cường - Giám đốc Công ty CP Đầu tư & Phát triển Nguyễn Ích

🎁🎁🎁 Đặc biệt, nhân dịp kỷ niệm Tháng thanh niên, BTC chúng tôi tặng tới 100% Chi phí tham gia chương trình. Nhanh tay đăng ký vì số lượng có hạn. 

Đăng Ký Ngay Tại Đây  http://bit.ly/2HzBEqV 

Khảo sát 100.000 Dev về ngôn ngữ mà họ ghét nhất

 


Theo cuộc khảo sát developer năm 2018 của Stack Overflow , được techrepublic ban bố vào thứ ba mới rồi, Rust là ngôn ngữ lập trình được yêu thích nhất. Đây là năm thứ ba liên tiếp mà ngôn ngữ được tương trợ bởi Mozilla đã chiếm top đầu trong cuộc khảo sát này. 

Có thể bạn quan tâm: 

ngôn ngữ lập trình nào bị ghét nhất? 

Bảng xếp hạng ngôn ngữ lập trình được yêu thích nhất 2018 theo TIOBE Index và RedMonk 

Sau Rust, tiếng nói yêu thích tiếp theo là Kotlin, sau đó là Python ở vị trí thứ ba. tiếng nói thứ tư được yêu thích nhất là TypeScript và thứ năm là Go của Google. Nếu năm ngoái Perl là tiếng nói bị “ghét” nhất thì năm nay vị trí này lại thuộc về Visual Basic đây là năm thứ ba liên tiếp, Visual Basic 6 – tiếng nói hướng đối tượng do Microsoft phát triển được cho là ngôn ngữ “đáng sợ nhất.” 

Theo các cuộc khảo sát, mặc dầu các nhà phát triển vẫn ưu ái bình chọn Rust là ngôn ngữ lập trình được yêu thích nhất, nhưng JavaScript là tiếng nói lập trình được dùng phổ thông nhất và đã có sáu năm hoạt động. Python là phát triển nhanh nhất. 

Trong số những người được khảo sát, gần 75% cho biết họ đích thực mừng cho sự phát triển của AI hơn là lo âu về nó. Hơn 80% nói rằng lo lắng lớn nhất của họ không xoay quanh việc AI sẽ thay thế công việc của họ. 

Tuy nhiên, có những thách thức khác với AI và machine learning n hư sự công bằng và đạo đức. hồ hết các nhà phát triển nghĩ rằng những người sáng tạo ra công nghệ này phải chịu nghĩa vụ về nó, và chỉ có khoảng ¼ số người được hỏi cảm thấy rằng cần có một cơ quan quản lý phải chịu nghĩa vụ chính. dù rằng, 58% nói rằng ban quản lý cấp cao sẽ là người chịu nghĩa vụ rốt cục về việc đảm bảo rằng quờ code đều không trái đạo đức. 

Chỉ có khoảng 16% các nhà phát triển đang tích cực ngần công việc, và 60% là các ứng cử viên tiêu cực, mà theo Stack Overflow định tức là “những người không khoảng công việc mới, nhưng vẫn sẽ cân nhắc các dịp đưa ra cho họ”. 

Có khoảng 57% các developer với ít hơn 5 năm kinh nghiệm chuyên môn, và khoảng 75% người trả lời khảo sát dưới 35 tuổi. Trên toàn thế giới, mức lương của developer trung bình là 55.000 đô la, nhưng mức lương này đổi thay rất nhiều. chả hạn, các developer ở Mỹ có mức lương làng nhàng lên tới 100.000 USD. 

Để duy trì cũng như trau dồi kinh nghiệm, gần một nửa số người được khảo sát cho biết họ đã tham gia chương trình bootcamp để mở mang kỹ năng của họ. Tuy nhiên, 90% vơ các developer cũng đã tự học một số tiếng nói, framework hoặc dụng cụ mới nhằm để không bị tụt hậu.

 

Thứ Hai, 19 tháng 3, 2018

Hướng dẫn chụp ảnh bay lơ lửng bằng điện thoại tuyệt đẹp

Đã bao giờ bạn nhìn thấy ảnh một ai đó đang 'bay' ở trên mạng trông rất lạ, mà bạn lại chẳng thể tự chụp lại để nhìn vừa đẹp vừa thiên nhiên hay không? 

thực tại, trào lưu chụp ảnh phong cách 'bay lơ lửng' hay 'không trọng lượng' đã xuất hiện từ rất lâu, nhất là từ khi các loại smartphone ra đời với camera càng ngày càng tân tiến, trào lưu này vẫn thường được nhiều bạn trẻ dùng như một cách để tạo sự độc lạ và 'câu like'. Bài viết này sẽ chia sẻ cho các bạn một vài mẹo nhỏ để chụp được một bức ảnh 'lơ lửng' như ý bằng smartphone nhé! 
 

Có 2 cách để tạo nên những bức ảnh 'lửng lơ' ảo diệu đó là sử dụng photoshop dể tách, ghép nền hoặc đơn giản nhưng tốn sức hơn là người biểu thị phải liên tục bay, nhảy đến khi chụp được một tấm ảnh hài lòng. Bạn cần khéo léo# tận dụng và cũng như hạn chế sử dụng các chức năng sau đây nếu chụp bằng smartphone.

Tận dụng chế độ chụp thể thao, chụp liên tục

Không cần quá nhiều hiểu biết kỹ thuật chỉ cần bạn biết cách tận dụng các chức năng có sẵn của máy cũng đủ để đem lại bức ảnh ứng ý. Chế độ chụp thể thao thường có sẵn trên phần nhiều smartphone sẽ tự động điều chỉnh tốc độ chụp lên cao nhất để có thể để bắt chốc lát dễ dàng hơn.

Ngoài ra, có nhiều smarphone được trang bị thêm chế độ chụp liên tiếp với tốc độ cực nhanh có thể lên đến cả trăm tấm hình chỉ trong vài chục giây. bình thường chế độ này có tên 'chụp liên tục', 'Burst Mode' hay 'Continuous Shoot'.


Khóa lấy nét vào vật thể

Một bí quyết nữa để bạn có thể bắt được giây phút 'bay' dễ dàng hơn đó là khóa lấy nét vào vật thể (người). tức là lúc này camera sẽ không tự động nhận mặt lấy nét vào một vật khác nữa. Tránh bị hiện tượng nhòe mờ hình do khi người chuyển di (bay) máy sẽ tự động căn nét lại và quá trình lấy nét khá lâu.

Thao tác khóa lấy nét trên smartphone hồ hết giống nhau và tứ tung đơn giản bằng cách chạm giữ ngón tay một lúc vào màn hình, ngay tại người diễn đạt
 

Hạn chế dùng chế độ chụp đêm, HDR, siêu phân giải...

Chắc nhiều bạn đã biết đến chế độ chụp đêm và HDR thường có trên hồ hết smartphone hiện, cả 2 chế độ chụp này đều có đặc điểm chung là tốc độ chụp rất lâu. Chế độ chụp đêm sẽ giảm tốc độ chụp xuống để bù sáng cho ảnh, trong khi chế độ HDR cần chụp nhiều tấm liên tiếp để ghép lại và cộng thêm quá trình xử lý nữa.

nên đối với thể loại chụp cần bắt giây lát như thế này bạn hạn chế chụp trong những điều kiện thiếu sáng hay chênh lệch sáng quá nhiều (phải dùng đến HDR) thay vào đó là chọn góc chụp tốt. Tương tự một số máy có chế độ chụp siêu phân giải, bản tính là chụp nhiều tấm và ghép với nhau, bạn cũng nên hạn chế.
 

Tận dụng tối đa chế độ chỉnh tay, tùy chỉnh thông số

Càng này camera trên smartphone càng có nhiều cài tiến chuyên nghiệp hơn. Rất nhiều máy giờ có cả chế độ chụp chỉnh tay nhiều thông số như một chiếc DSLR đích thực. Một số máy khác tuy không có riêng một chế độ chỉnh tay nhưng vẫn cho thiết lập một đôi tham số như ISO.

ISO: thường có các tham số 100, 200, 400... tăng thông số này lên khi chụp trong điều kiện thiếu sáng, tuy nhiên tăng cao quá hình sẽ bị nhiễu. Thiết lập thấp nhất khi ánh sáng đầy đủ.

Tốc độ chụp: thường có các thông số 2s, 1s, 1/2, 1/500... càng nhanh bắt giây khắc càng tốt nhưng ảnh sẽ tối, bạn cần cân đối tham số này với ISO.

Phơi sáng: thường có các tham số 2s, 1s, 1/2, 1/500... thực ra chính là tốc độ chụp nhưng một số máy ký hiệu khác.
 

Mong là bài viết này có thể giúp các bạn có được những bức ảnh đặc biệt và được nhiều 'like'. Chúc các bạn thành công!

Thứ Bảy, 17 tháng 3, 2018

Hackers lợi dụng Cortana để xâm nhập vào Window 10 từ xa và cách khắc phục

 


Mới đây, theo thenextweb hai nhà nghiên cứu đã phát hiện ra một lỗ hổng bảo mật đáng lo ngại trên Windows 10. Nếu hệ điều hành máy tính của bạn đã được cài đặt với chế độ mặc định, thì rất có khả năng lỗ hổng này cũng hiện diện trên máy của bạn. 
Kẻ xấu có thể “hack” ưng chuẩn việc kích hoạt Cortana bằng lệnh thoại để mở các trang web trên máy tính đã bị khóa. 

Trong video trên, bạn sẽ nhận thấy những nhà nghiên cứu đưa ra lệnh thoại và sau đó mở khóa máy tính bằng mật khẩu của họ. Vốn theo lẽ thường thì nó sẽ không cho phép kẻ xấu mở khóa máy tính của bạn, nhưng với truy cập vật lý vào hệ thống của bạn, họ có thể hướng nó đến bất kỳ trang web nào mà hacker muốn. 

Với khả năng truy cập vào máy tính của bạn, những “hacker” này có thể khiến nó truy cập các trang web độc hại. Thậm chí, có thể, cướp bộ vi xử lý của bạn để khai phá bí hiểm hoặc cài đặt phần mềm độc hại. 

Và như chúng tôi đã vắng trước đây, bạn có thể gạt gẫm trợ lý ảo bằng tiếng ồn mà con người không thể nghe. Cuộc tiến công này có thể xảy ra trong một văn phòng đông đúc đầy người. Hacker sẽ chỉ đơn giản phát một tệp tin âm thanh từ điện thoại của họ – có thể giả để gọi hoặc xem video – và một hệ thống gần đó có thể nhận được thông báo ẩn. 

cảnh huống sẽ trở nên nghiêm trọng hơn nếu kẻ tiến công có đủ quyền truy cập / thời kì để cắm USB vào máy tính. Sự kết hợp các lỗ hổng này có thể cho phép một hacker tăng khả năng tiến công đối với bất kỳ máy tính nào kết nối với cùng một mạng. 

Theo chế độ mặc định, hệ thống của bạn có lẽ đã bật chế độ “dùng Cortana ngay cả khi thiết bị của tôi bị khóa”. Chúng tôi đề xuất khắc phục sự cố này bằng cách thực hiện các bước sau: 

Nếu bạn có cài đặt Cortana trên thanh tác vụ của bạn, hãy nhấp vào nó và sau đó nhấp vào biểu tượng cài đặt. (Nếu bạn đã xóa thanh tìm kiếm chỉ cần nhấp vào nút Start của Windows và chọn “Cortana” từ trình đơn, sau đó chọn biểu tượng cài đặt) 

 

 

 



 

 

 



Tiếp theo, cuộn xuống phần “Khóa màn hình” và tắt “dùng Cortana ngay cả khi thiết bị của tôi bị khóa.” 
 

 

 

 

 

 


Để tăng tính bảo mật, bạn có thể vô hiệu hoá “Hãy để Cortana trả lời mỗi khi nghe ” Hey Cortana “. Thay vào đó, bạn sẽ phải nhấp vào tượng trưng micrô bất cứ lúc nào muốn sử dụng tính năng kiểm soát bằng giọng nói. 

 

 

 



Chúng tôi đã liên hệ với Microsoft và sẽ cập nhập thông báo mới nhanh nhất có thể.

 

Thứ Sáu, 16 tháng 3, 2018

Nhà tuyển dụng cần JavaScript nhưng tại sao các lập trình viên đổ dồn theo Python

                                                     


Khi nói đến các tiếng nói lập trình đang được săn đón bởi các nhà tuyển dụng, JavaScript, Java, Python, C ++, và C hiện vẫn đứng đầu trong các cuộc khảo sát gần đây. Tuy nhiên các developer vẫn muốn học thêm các ngôn ngữ như Python, Go, và Kotlin. 

Một cuộc khảo sát các developer bởi HackerRank, được thực hành vào tháng 10 vừa rồi, không có nhiều khoảng cách giữa ngôn ngữ nhà tuyển dụng săn đón và ngôn ngữ mà developer biết. tuy thế, Python vẫn là ngôn ngữ mà hồ hết các developer đều muốn học, HackerRank cho biết. 

Các developer hàng đầu cũng cho biết rằng họ sẽ học Go, Python, Scala, Kotlin và Ruby, theo trật tự ưu tiên giảm dần. 

Mặt khác, HackerRank lưu ý rằng gu ngôn ngữ sẽ đổi thay theo ngành. Java, ví dụ, luôn được ưa thích trong các dịch vụ tài chính, trong khi C chiếm ưu thế trong phát triển phần cứng. 

HackerRank cũng cho biết có khá nhiều khoảng cách đối với thị trường cung và cầu của JavaScript framework khi mà nhu cầu luôn cao hơn số lượng developer có thể đáp ứng. 

React JavaScript UI library thì có khoảng cách lớn nhất với khoảng 37% công ty muốn phát triển về React nhưng chỉ có khoảng 19% developer là chuyên về ngôn ngữ đó. 

Đối với Angular, tình hình có vẻ khả quan hơn với khoảng 39% có như cầu trong khi chỉ có 32% số developer đáp ứng được. Đối với Node.js, khoảng cách là giữa 38% và 30%. 

Trong số 39,441 developer được khảo sát, 7,000 người cũng là những nhà quản lý tyển dụng vốn cũng được HackerRank đặt câu hỏi thêm về tuyển dụng. 

Các phát hiện khác trong vắng bao gồm: 

hiện giờ, các developer đang bắt đầu học lập trình rất sớm với hơn một phần tư đã viết code trước 16 tuổi. 

Kỹ năng giải quyết vấn đề được xem là quan yếu nhất của developer, hơn cả việc thông đạt về tiếng nói, debug và thiết kế hệ thống. 

Trong khi 67 phần trăm các nhà phát triển có bằng cấp về khoa học máy tính, khoảng 74 phần trăm cho biết họ cũng tự học. 

làng nhàng, các nhà phát triển biết khoảng bốn ngôn ngữ nhưng họ vẫn muốn biết thêm nữa. 

 

học lậptrình java nâng cao

Thứ Năm, 15 tháng 3, 2018

Đánh Giá Thứ Hạng Các Ngôn Ngữ Lập Trình


Ngày này chúng ta sử dụng các áp dụng một cách vô tội vạ để điều hành doanh nghiệp để làm việc cũng như để giải trí trong cuộc sống cá nhân chủ nghĩa. Nhưng tiếng nói lập trình nào cho phép thế giới kỹ thuật số kết nối chúng ta – và chúng đang phát triển như thế nào? 

Cách để hiểu được sự phổ thông của các ngôn ngữ lập trình là xem thông báo từ các nhóm như TIOBE, RedMonk, và Stack Overflow, cho thấy xu hướng của tiếng nói. GitHub cũng có thể là một thước đo quan yếu, đặc biệt là trong cộng đồng mã nguồn mở, bởi nó cho thấy khách quan có bao nhiêu đóng góp code bằng một tiếng nói cụ thể. 

Trong 5 năm qua chúng ta đã bước vào thời đoạn bùng nổ các ngôn ngữ lập trình. thí dụ, đã có một sự bùng nổ của các tiếng nói vào Java Virtual Machine. Nhưng ngay cả với toàn bộ những đối thủ mới, nếu bạn xem các bảng trending, thì những cái tên dẫn đâu vẫn là những cái tên thân thuộc Java, C, C ++, PHP, Python và JavaScript. 


thời điểm, khả năng bằng lòng và tính liên hệ là những điểm dị biệt giữa các ngôn ngữ lập trình phổ quát nhất với số còn lại. Nếu bạn nhìn vào ngôn ngữ lập trình từ quan điểm học thuật, đã có một số ngôn ngữ tốt nhưng lại thất bại do không đúng đối tượng hoặc sai thời khắc. Và đôi khi là cả hai. 

tiếng nói C và C ++ đã tồn tại hàng thập kỷ và vẫn nối phát triển mạnh mẽ. Chúng nối đóng một vai trò quan trọng đối với operating systems, device drivers cũng như những nơi cần hiệu suất tương tác cao với phần cứng. 

Tương tự như vậy, Java đã xuất hiện từ năm 1996 và ngày càng trở nên mạnh mẽ. Một trong những lý do phổ thông rộng rãi của nó là bởi việc xuất hiện đúng lúc đúng thời điểm, khi các developer muốn tăng năng suất của họ và các ngôn ngữ lập trình hướng đối tượng. Java cũng xử lý việc thực hiện nhiều quá trình song song (chủ đề) trong một quá trình độc nhất rất tốt. Khi nó xuất hiện trong năm 1996, những gì nó làm được thì hầu như không tìm thấy trong bất kì tiếng nói lập trình nào khác. Java cũng mang lại lợi ích cho việc có thể “ghi một lần chạy ở bất cứ đâu”, do đó code có thể chạy trên các kiến ​​trúc máy tính và hệ điều hành khác nhau, tạo cho nó nhiều sự quyến rũ với các các nhà phát triển. 

JavaScript là một tiếng nói lập trình ngay góp mặt trong các ngôn ngữ phổ biến nhất, nhưng ở đây cần phải phân biệt sự phổ quát về số lượng người dùng và mức độ chuộng của một tiếng nói lập trình. JavaScript là một tiếng nói đã được vận dụng rộng rãi cho phát triển web và điện thoại di động; tuy nhiên, cộng đồng developer nói chung có nhiều quan điểm khác nhau về nó. Dù gì đi chăng nữa thì web và sự gia tăng gần đây của điện thoại di động đã thúc đẩy sự phổ biến của nó. 

tiếng nói Go của Google là một điều ưa khác đáng được nhắc đến. Với chỉ vọn vẹn 10 tuổi, Go được xem là tương đối trẻ so với các tiếng nói khác đã được nêu ra ở trên, nhưng nó đang phát triển chóng vánh. Vào tháng 7 năm 2016, tiếng nói xếp thứ 55 trên TIOBE Index, và vào tháng 7 năm 2017 đã tăng lên vị trí thứ 10 . Với sự gia tăng về các công nghệ container như Docker và Kubernetes, chúng ta thấy sự quan hoài về Go cũng được cải thiện đáng kể. Trong tình huống hao hao, sự phổ biến của các thiết bị của Apple đã dẫn đến sự gia tăng mau chóng của Swift và giúp nó trở thành một ngôn ngữ lập trình hàng đầu 15, vốn bừa đáng nể khi tuổi đời của ngôn ngữ chỉ mới là con số 3. 

Tóm lại, trong khi có một số biến động trong đẳng cấp các ngôn ngữ lập trình, danh sách của chúng vẫn khá ổn định qua nhiều năm. Và một lần nữa, tôi nghĩ rằng điều quan trọng là phải phân biệt giữa sự phổ biến của một ngôn ngữ và những gì các nhà phát triển sử dụng. Thật dễ dàng để đo lường khách quan những tiếng nói lập trình đang được dùng nhưng điều đó không chỉ ra được tiếng nói nào sẽ hiệp nhất cho từng developer nếu họ chưa thử qua.