Thứ Tư, 1 tháng 8, 2018

Nền tảng phát triển game Unity hợp tác với IBM để thêm AI vào sản phẩm của họ

Nền tảng phát triển game Unity đã hợp tác với IBM để tích hợp các chức năng AI được cung cấp bởi Watson.

SDK IBM Watson Unity hiện đã có sẵn trong Cửa hàng nội dung để giúp các lập trình viên dễ dàng open beta các dịch vụ như nhận dạng hình ảnh, chuyển văn bản thành văn bản và phân loại ngôn ngữ.

unity-nhan-them-suc-manh-ai-khi-hop-tac-voi-ibm

Nathan SDK, Giám đốc tiếp thị sản phẩm của Unity cho biết: “SDK này là tài sản đầu tiên thuộc loại này để mang các dịch vụ AI có thể mở rộng đến Unity, cho phép các nhà phát triển dễ dàng tích hợp các dịch vụ Watson vào các app Unity của họ”. “Hàng triệu Developer Unity trên toàn cầu giờ đây sẽ có quyền truy cập vào các dịch vụ AI dựa trên đám mây mạnh mẽ của Watson trực tiếp trong môi trường Unity.”

Với AR / VR hiện đang là cơn thịnh nộ cho cả mục đích chơi game và doanh nghiệp, IBM đã khám phá cách chuyên môn AI của nó có thể được áp dụng cho các lĩnh vực. Tiềm năng của các công nghệ kết hợp được thể hiện trong một cuộc biểu tình ‘Immersive Insights’ gần đây, nơi dữ liệu thời gian thực được truyền trực tiếp vào AR để người dùng analytic trong một chiều hướng mới.


Cùng nhau, Unity và IBM hy vọng sẽ xây dựng trên bản trình diễn đầu tiên này và giúp cho việc phát triển các ứng dụng doanh nghiệp mang tính chuyên môn theo ngữ cảnh và khả năng AI trực tiếp tới nhân viên cho một mức tương tác mới.

Với nhận dạng giọng nói, giọng nói tự nhiên của khách hàng có thể active các sự kiện trong app đồng thời cũng có khả năng dịch và phân loại ngôn ngữ lập trình.

>>> Học Lập trình game android ở đâu?


Để nhận dạng trực quan, nhà phát triển có thể sử dụng API Vision của Watson. Một nhóm các nhà phát triển gần đây đã tham gia một cuộc chạy đua và sử dụng API để tạo ra một sản phẩm game mạo hiểm VR được gọi là Watson và Waffles.

sản phẩm game yêu cầu người chơi vẽ các đối tượng sản phẩm trò chơi bằng bộ điều khiển Vive. Sử dụng API Vision, Watson xác định các bản vẽ của người chơi và tạo các đối tượng 3D tương ứng để người chơi sử dụng.

SDK Unity Watson của IBM cung cấp cho các Developer một loạt các quyền hạn AI mới để chơi và tăng tính tương tác được tìm thấy trong các app và sản phẩm trò chơi. Chúng tôi không thể chờ đợi để xem những thông qua sống động và mạnh mẽ nào cho phép.

Bạn có dự định sử dụng SDK Unity của IBM Watson không? Hãy cho chúng tôi biết trong phần bình luận.

Thứ Hai, 30 tháng 7, 2018

3 Bài học tỷ đô từ câu chuyện của Microsoft và Nokia

Microsoft cuối cùng đã nâng cờ trắng trong cuộc chiến giành quyền thống trị điện thoại thông minh. Microsoft công bố rằng công ty sẽ giảm quy mô kinh doanh mobile mà Nokia mua lại từ 7.800 nhân viên và giảm 7,6 tỷ USD (gần như toàn bộ giá trị của thiết bị Nokia và dịch vụ trừ đi tiền mặt).

 5-bai-hoc-dat-gia-tu-cau-chuyen-cua-microsoft-va-nokia

Quyết định rất ấn tượng, nhưng hầu như không bất ngờ. David Pierce viết trong WIRED:

"Hãy cho Nadella một số tín dụng để xem các văn bản trên tường, dù là công bằng nó về căn bản được viết bằng chữ cái lớn và thắp sáng bởi đèn pha."

Các văn bản trên tường vẫn còn đó và có thể giúp chúng cho thấy nơi Internet of Things sẽ được trong một vài năm.

bài kiến thức 1. Mô hình kinh doanh, chứ không phải tính năng sản phẩm xác định vận mệnh của bạn


Trong analytic của tôi từ 3,5 năm trước trên blog VisionMobile, tôi cho rằng thách thức tối thượng đối với Microsoft và Nokia là một mô hình kinh doanh bị hỏng, không phải là tính năng SP, giao diện người dùng hoặc tích hợp phần mềm và phần cứng. (Mô hình kinh doanh mô tả cách một tổ chức tạo, phân phối và nắm bắt giá trị.) Từ blog 2012 của tôi:

“Cơ sở cho cạnh tranh trong phần mềm và mobile đã đổi thay - các mô hình kinh doanh thành công một lần của Microsoft và Nokia không còn có thể đảm bảo tăng trưởng sinh lời.

Kết hợp hai mô hình kinh doanh của những năm 1990 sẽ không giúp hai công ty lấy lại vị trí của họ theo thứ tự thế giới mới, bị chi phối bởi các đơn vị có mô hình kinh doanh thời đại Internet, như Apple, Google, Amazon và Facebook.

Nhìn vào ngành công nghiệp thông qua ống kính của các mô hình kinh doanh phần mềm đã giúp chúng tôi dự đoán chính xác nhiều năm trước khi câu chuyện làm sáng tỏ sự độc quyền của Apple và Google (2009), sự sụp đổ của Palm (2009), kết cục của sự bước tiến lớn của HP vào điện thoại di động WebOS (2010), sự sụp đổ của BlackBerry (2010), và sự thất bại của Windows Phone (2012).

Câu chuyện lặp đi lặp lại trong Internet of Things. Giống như trong smart phone, [tweetable] mô hình kinh doanh được xác định phần mềm gây ra những đổi thay chuyên sâu về cách viết ra và phân phối giá trị [/ tweetable]. Những người chiến thắng IoT sẽ được quyết định bởi sự đổi mới mô hình kinh doanh, không phải bởi công nghệ, tính năng sản phẩm hoặc ủy ban tiêu chuẩn. Stijn Schuermans của VisionMobile đã viết về nó ở đây - Internet of Things là gì.

Bài học 2. Chạy đến nơi mà sẽ được tiền, chứ không phải nơi nó đã được tiền.


Ngành công nghiệp di động tiếp tục đổi thay. Trong năm 2013, là sự tiến hóa của các mô hình kinh doanh thiết bị cầm tay:

“Một làn sóng gián đoạn thứ ba sẽ 1 lần nữa cải tổ boong tàu cho tất cả người chơi trong ngành [di động]. Chúng ta sẽ thấy sự tăng trưởng trong một loại mô hình kinh doanh mới, nơi phần cứng thiết bị cầm tay không còn được xem là nguồn sinh lời, nhưng được coi là kênh phân phối cho các sản phẩm và dịch vụ kỹ thuật số.

Khi cạnh tranh về giá tăng, áp lực hàng hóa hóa trong ngành công nghiệp điện thoại thông minh, các biến thể của “phần cứng dưới dạng phân phối”, có thể trở thành một trong những động lực chính của sinh lời.

Năm 2014, Xiaomi trở thành đơn vị công nghệ có giá trị nhất trên thế giới bằng cách thực hiện mô hình kinh doanh “phân phối phần cứng” và viết ra một thị trường thương mại điện tử mới cho chính nó. Từ "Chỉ dành cho người hâm mộ, hoặc Vì sao Xiaomi không phải là những gì bạn nghĩ":

“So sánh Xiaomi với các nhà sản xuất điện thoại thông minh truyền thống khác giống như so sánh Apple với Orange (một nhà khai thác mạng di động). Cả hai xảy ra trong cùng ngành, nhưng họ thực sự ở các doanh nghiệp khác nhau. Apple, Samsung, Huawei, Lenovo bán điện thoại để kiếm lời. Xiaomi bán điện thoại để cạnh tranh kinh doanh thương mại điện tử cạnh tranh vượt xa smart phone.

Nokia và Microsoft tập trung vào việc cạnh tranh ngày hôm nay và bỏ lỡ quá trình chuyển đổi thị trường đã biến thế mạnh của họ thành điểm yếu. Điều tương tự cũng đúng với Internet of Things (IoT): 5 năm tới, thị trường IoT sẽ rất khác so với hiện tại. Những người chiến thắng IoT trong tương lai sẽ trượt đến nơi IoT sắp tới, không phải là ngày hôm nay.

bài kiến thức 3. Theo dõi các Developer để tìm người chiến thắng trong tương lai


Microsoft và Nokia đã dành một tài sản cố gắng thu hút các lập trình viên đến nền tảng Windows Phone của mình. Nhưng đã quá trễ rồi. Google và Apple đã hiểu tầm quan trọng của các nhà phát triển sớm hơn nhiều và đã thiết lập các hệ sinh thái tiến triển thịnh vượng. Andreas Constantinou của VisionMobile đã viết trong “The Dead Platform Graveyard”:

“Bạn không thể mua tình yêu của Developer. Bạn chỉ có thể trồng những hạt giống. "

Dữ liệu từ khảo sát VisionMobile Q1 2015 của 8000 lập trình viên cho thấy rằng phần lớn các nhà phát triển, bao gồm cả những nhà sáng tạo có giá trị nhất, làm cho app dành cho người dùng Android và iOS (tương ứng là 71% và 54% lập trình viên). Câu chuyện về Windows Phone chứng minh rằng vị trí thứ 3 ở xa không khả thi trong cuộc đua hệ sinh thái. Hơn nữa, như chúng tôi đã lập luận trước đó, các hệ sinh thái sáng tạo ra "Đại dương đen" khiến cho sự cạnh tranh không thể diễn ra đối với những người đến trễ đối với bên hệ sinh thái.

>> Trở thành lập trình viên di động ngay hôm nay

Các nhà phát triển phần mềm nổi lên như một động lực trong công nghiệp sau ngành công nghiệp, không chỉ trong điện thoại di động. Stijn Schuermans của VisionMobile viết trong Megatrends lập trình viên 2015:

“Các lập trình viên đang chinh phục cổ tay, với hơn 3.500 app Apple Watch và 2.300 ứng dụng Android Wear.
Họ đang chinh phục chiếc xe. Android Auto và Apple Carplay sẽ có mặt trên hàng chục mẫu xe trong năm nay. Hơn 250 ứng dụng OBD cung cấp giải pháp hậu mãi cho dữ liệu ô tô, với sự hỗ trợ ngày càng tăng từ những khách hàng lớn trong lĩnh vực viễn thông và bảo hiểm.
Các Developer đang chinh phục ngôi nhà, tận dụng các công nghệ và nền tảng mới như Samsung SmartThings, Apple HomeKit, Google Weave, Eclipse Smart Home hoặc hàng tá API thiết bị.


Các lập trình viên thậm chí còn chinh phục bầu trời. Những khách hàng máy bay không người lái chính như DJI (từ danh tiếng Phantom), 3D Robotics (dronekit.io) hoặc Airware đang cung cấp SDK cho các app không người lái, giúp các Developer đặt máy bay để sử dụng trong công nghiệp, nông nghiệp, xây dựng hoặc khai thác mỏ.
Các thành phố, chăm sóc sức khỏe, quần áo, nhà máy, ... - Tất cả họ sẽ rơi vào làn sóng đổi mới của nhà phát triển.

Giống như trong di động, [tweetable] IoT cạnh tranh sẽ được quyết định bằng cách thu hút các lập trình viên, chứ không phải bởi các ủy ban tiêu chuẩn. [/ Tweetable]

Có rất nhiều điều cần tìm hiểu từ cách ngành công nghiệp mobile phone được định hình lại bằng các mô hình kinh doanh được định nghĩa bởi phần mềm, đổi mới sáng tạo và hệ sinh thái của lập trình viên. Các Bài học ở trong tầm nhìn đơn giản. Microsoft và Nokia đã bỏ qua chúng vì nguy hiểm của chính họ. Ai sẽ là người tiếp theo?

Andorid sẽ tham gia cùng Apple cấm các app khai thác tiền điện tử

Google đã quyết định Android sẽ tham gia cùng với chính sách cấm app iOS được sử dụng để khai thác tiền điện tử từ kho ứng dụng của Apple.

android-ios-cam-ung-dung-khai-thac-tien-ky-thuat-so

Tháng trước, Nhà phát triển báo cáo nguyên tắc của Apple đã được cập nhật để công bố rằng công ty sẽ không cho phép các app khai thác tiền điện tử trên App Store của iOS nữa.

"Các ứng dụng, bao gồm bất kỳ quảng cáo của bên thứ ba nào được hiển thị bên trong chúng, có thể không chạy các quy trình nền không liên quan, chẳng hạn như khai thác tiền điện tử", các quy tắc của Apple hiện nay nói.

Cho đến nay, Google đã yên lặng về vấn đề này. Android được biết đến với sự khoan dung hơn iOS khi nói đến những gì được cho phép trong cửa hàng, nhưng có vẻ như Google đã quyết định sẽ đứng lên chống lại các ứng dụng khai thác mỏ.

Một phần trong quyết định của Google có thể là mối đe dọa tiềm năng của việc khai thác tiền kỹ thuật số đối với hoạt động kinh doanh quảng cáo của Google.

Một số người đam mê tiền điện tử đã khai thác mỏ như là một thay thế cho quảng cáo khó coi. Thay vì kiếm tiền từ ứng dụng miễn phí trải nghiệm quảng cáo, một số sức mạnh xử lý không được sử dụng của thiết bị của khách hàng có thể khai thác cho crypto-mining trong nền.

Một vài ứng dụng râm mát đã bị bắt làm điều này trong nền. Chính sách hợp lý sẽ yêu cầu các lập trình viên app phải trả trước những gì họ đang làm và Vì sao.

Hầu hết các đồng crypto-mining yêu cầu phần cứng PC cao cấp để sinh lời, nhưng một số người chơi có thể đủ để kiếm được một khoản tiền hoàn lại để trả cho việc tiến triển ứng dụng liên tục.

Một số loại tiền tệ được thiết kế đặc biệt để khai thác trên thiết bị di động. Electroneum, ví dụ, công bố "nó sẽ cho phép một thị trường mới 3 nghìn tỷ $ bằng cách cho phép hơn 350 triệu khách hàng điện thoại thông minh trong thế giới đang tiến triển bước vào thị trường kỹ thuật số lần đầu tiên."

>> Học lập trình Android ở đâu?

App khai thác của Electroneum đã có sẵn trên Android một thời gian nhưng có vẻ như nó có thể phải bị xóa khỏi Cửa hàng Play dựa trên nguyên tắc mới của Google.

Bất kỳ app khai thác tiền kỹ thuật số nào có khả năng sẽ phải được tải trước trên thiết bị của khách hàng trong tương lai.

Bạn nghĩ gì về lệnh cấm app khai phá crypto-mining của Google? Hãy cho chúng tôi biết trong phần bình luận.

Thứ Tư, 20 tháng 6, 2018

Apple Pay phát hành tại Na Uy cho khách hàng của Santander và Nordea

Một ngày sau khi Apple Pay phát hành trực tiếp tại Ba Lan, Apple hôm thứ tư đã active dịch vụ thanh toán mobile ở Na Uy với sự hỗ trợ ban đầu từ Santander Consumer Finance và Nordea.

apple-pay-ra-mat-tai-na-uy

Như những lần ra mắt trước, Apple đã cập nhật nội dung web Apple Pay khu vực để tuyên bố và thông báo cho khách hàng về sản phẩm mới có sẵn. Giống như bản tung ra tiếng Ba Lan ngày hôm qua, trang web của Apple hiện thiếu đồ họa được bản địa hóa và thay vào đó lấy hình ảnh từ website Apple Pay của Hoa Kỳ.

Khi phát hành, Apple Pay Norway hỗ trợ hai đơn vị tài chính tại Santander Consumer Finance và Nordea. Mặc dù quan hệ hợp tác đang được hoạt động phía sau hậu trường là không rõ, mặc dù Santander là một trong những ngân hàng lớn nhất trong khu vực và nên bao gồm 1 phần đáng kể dân số.

Apple không cung cấp cho người chơi danh sách các cửa hàng bán lẻ địa phương chấp nhận Apple Pay, chỉ lưu ý rằng chủ sở hữu iPhone và Apple Watch có thể thực hiện giao dịch tại lúc đăng ký bán hàng xuất ra biểu tượng Apple Pay hoặc biểu tượng thanh toán không tiếp xúc tiêu chuẩn. người dùng cũng có thể thực hiện mua hàng trên Apple Pay trên web trải nghiệm các thiết bị iOS và macOS được hỗ trợ.

Còn muốn đọc nữa: Apple Demo diện thoại AI

Apple lần đầu tiên công bố tương lai Apple Pay sẵn có ở Na Uy vào tháng trước khi CEO Tim Cook trêu chọc một sự mở rộng sắp tới bao gồm Ba Lan và Ukraine. Tuyến đi thẳng tại Ba Lan vào thứ Ba và tại Ukraine vào tháng Năm.

Apple Pay ra mắt trong nước vào năm 2014 trải qua một số ngân hàng và tích hợp với các tổ chức thẻ tín dụng lớn. SP này đã mở rộng sang một số nước trên thế giới, bao gồm các thị trường lớn như Úc, Canada, Trung Quốc, Hồng Kông, Nhật Bản, Nga và Anh. Với tính sẵn có hiện nay, dịch vụ trả tiền còn non trẻ của Apple có sẵn cho iPhone, Apple Watch và Mac người dùng ở 24 quốc gia.

Thứ Ba, 19 tháng 6, 2018

Google show các chức năng hot cho Developer sản phẩm game Android

Nếu bạn là lập trình viên sản phẩm game Android, bạn đã được cung cấp một số tính năng mới để cùng chơi. Những bổ sung mới nhất giúp bạn phân tích thành công và những gì không thành công, kiếm tiền và mang lại trải qua chơi game 'màn hình thứ hai' giúp bạn chơi trò chơi trên Android với bạn bè hay hơn rất nhiều.

 

 google-thong-bao-tinh-nang-moi-cho-android

tính năng phân tích người dùng mới của Google

Đầu tiên là analytic khách hàng, để giúp hiểu hành vi của khách hàng theo cách tương tự như phương pháp công cụ analytic cho phép bạn tham khảo những gì đang hoạt động và những gì không có trong ứng dụng của bạn. Các tool mới cho phép các lập trình viên game tham khảo người chơi của họ đang hoạt động như thế nào trong sản phẩm trò chơi và một số người đang gặp khó khăn hoặc một vấn đề khác ngăn cản sự phát triển hơn nữa.

Update AbMob

Tiếp theo là danh sách các bản cập nhật cho AdMob, mạng quảng cáo trên thiết bị di động mà Google mua lại với số tiền 750 triệu đô la trở lại vào năm 2009. Đối với quảng cáo gốc, Developer game sử dụng Google Play có thể thử nghiệm định dạng có sẵn cho lập trình viên ứng dụng của nền tảng.

Tiếp tục update AdMob là hỗ trợ quảng cáo mới cho mua hàng trong ứng dụng có thể được hiển thị cho người dùng đã bị gắn cờ vì có nhiều khả năng chi tiền hơn cho các yếu tố sản phẩm trò chơi bổ sung này so với những người có xu hướng bỏ qua chúng. tính năng này hiện đang ở giai đoạn bản beta và sẽ được triển khai trong vài tuần tới.

Việc kết hợp các chức năng liên quan đến quảng cáo là một công cụ thú vị được gọi là ‘trình tạo đối tượng’ có ý định như tên gọi của nó, trải qua việc cho phép Developer tạo danh sách đối tượng tiềm năng được cung cấp bởi Google Analytics.

Tính năng hay ho dành cho Android TV

tính năng thú vị và thay đổi trò chơi, ít nhất là dành cho thiết bị di động, là một API màn hình thứ hai mới cho Android TV, cho phép người chơi trên điện thoại thông minh chuyển sang màn hình lớn một cách thức liền mạch nếu một người bạn muốn tham gia sử dụng thiết bị của họ và tất cả tiến trình hiện tại sẽ được đồng bộ hóa nếu yêu cầu không có rắc rối.

Màn hình thứ hai là một lĩnh vực mà tất cả các cầu thủ lớn đã được khám phá trong một số hình thức. Microsoft đã cung cấp trải qua nâng cao trải qua 'SmartGlass' cho Xbox, Nintendo dựa trên Wii U của họ xung quanh màn hình thứ hai với bộ điều khiển máy tính bảng, trong khi Sony cho phép sản phẩm trò chơi thủ PS4 tiếp tục sản phẩm game trên PS Vita.

Các Developer game trên bàn điều khiển cũng đã tạo trải nghiệm màn hình thứ hai thông qua các ứng dụng của riêng họ như Ubisoft cho các sản phẩm Watch_Dog và Assassin’s Creed.

dù là lịch sử tụt lại phía sau iOS trong doanh thu, Android đã có những bước nhảy vọt trong việc thu hẹp khoảng cách này. Tuần trước, Google công bố họ đã chi hơn 7 tỷ đô la cho các nhà phát triển ứng dụng vào năm ngoái dù là từ chối bình luận về số tiền đó đã đến với các nhà phát triển sản phẩm game. Cảm giác thông thường sẽ nói một phần lớn của nó đã làm, tham khảo xét các trò chơi dẫn đầu trong thế hệ doanh thu smartphone.

Một điều hay ho là ba trong bốn khách hàng Android tiếp tục chơi một số loại sản phẩm trò chơi, đó là một đối tượng khá cân nhắc khi có hơn một tỷ thiết bị Android trên toàn thế giới. Nghiên cứu từ Newzoo đưa doanh nghiệp sản phẩm trò chơi di động trị giá hơn 30 tỷ $ trong năm nay, do đó, cực kỳ ít ngạc nhiên khi Google muốn một phần của Key Lime Pie đó.

Thứ Năm, 7 tháng 6, 2018

SQL trở lại quyết đấu NoSQL và tương lai của dữ liệu

SQL đã trở lại sau nhiều năm bị bỏ mặc. Thế quái nào? Và ảnh hưởng của việc này đến cộng đồng data?

Từ những ngày đầu của kỷ nguyên máy tính, chúng ta đã từng thu thập một lượng dữ liệu ngày một lớn, liên tiếp đòi hỏi nhiều hơn về năng lực của công nghệ xử lý, phân tách và lưu trữ dữ liệu.
Trong thập kỷ qua, căn do này khiến cho các developer bỏ qua SQL để hướng tới một thứ có các đặc tính có thể mở mang được là NoSQL: MapReduce và Bigtable, Cassandra, MongoDB…

Tuy nhiên, SQL đang dần trở lại. ắt các nhà cung cấp dịch vụ cloud lớn giờ đều offer database dạng này như Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL (Azure chỉ vừa mới launch trong năm nay). Theo cách riêng của Amazon, Aurora database (compatible với MySQL-PostgreSQL) trở thành dịch vụ có tốc độ tăng trưởng nhanh nhất lịch sử AWS.
SQL interface bên trên lớp Hadoop/Spark tiếp phát triển. Và chỉ mới tháng trước, Kafka đã hỗ trợ SQL.

Trong bài viết này, chúng tôi sẽ rà soát tại sao tình thế lại xoay chuyển trở lại với SQL, và ý nghĩa của việc này đối với giới data engineering và analysis
Phần 1: Một niềm hy vọng mới


Để hiểu vì sao SQL trở lại, hãy bắt đầu ở khởi điểm với lý do tại sao nó được thiết kế
Câu chuyện bắt đầu tại IBM Research trong thời kỳ đầu của thập niên 70, nơi mà cơ sở dữ liệu quan hệ ra đời. Vào thời điểm đó, ngôn ngữ tróc nã dựa vào logic toán học và ký hiệu. Hai tấn sĩ Donald Chamberlin và Raymond Boyce đã bị ấn tượng bởi mô hình dữ liệu quan hệ, nhưng cũng thấy rằng ngôn ngữ truy tìm sẽ là một nút thắt cản ngăn việc vận dụng nó.
Họ đã thiết kế một ngôn ngữ truy hỏi mới (theo cách của họ): “dễ tiếp cận hơn cho người học lập trình web mà không cần được đào tạo chính quy về toán học hoặc lập trình máy tính.”
Trước thời kỳ của Internet và máy tính cá nhân, khi mà ngôn ngữ lập trình C được giới thiệu với thế giới, hai nhà khoa học máy tính trẻ nhận ra rằng, “phần lớn sự thành công của ngành công nghiệp máy tính phụ thuộc vào việc phát triển một nhóm người dùng phổ thông khác, ngoài việc đào tạo các chuyên gia máy tính”.

Họ muốn một tiếng nói truy hỏi dễ hiểu như tiếng Anh, và cũng bao gồm hệ quản trị cơ sở dữ liệu và thao tác.
Kết quả là SQL, lần đầu tiên được giới thiệu với thế giới vào năm 1974. Trong vài thập kỷ sau đó, SQL đã chứng minh được sự phổ quát rộng rãi. Khi các cơ sở dữ liệu quan hệ như System R, Ingres, DB2, Oracle, SQL Server, PostgreSQL, MySQL (và nhiều hơn nữa) đã tiếp quản ngành công nghiệp phần mềm, SQL đã trở nên tiếng nói ưu việt để tương tác đến cơ sở dữ liệu với cộng đồng đông đảo và hệ sinh thái cạnh tranh.
(Đáng buồn, Raymond Boyce chưa bao giờ có thời cơ chứng kiến sự thành công của SQL và chết vì chứng phình mạch não 1 tháng sau khi đưa ra một trong những bài thuyết trình SQL sớm nhất, chỉ 26 tuổi, để lại vợ và con gái).
Trong một giai đoạn, chừng như SQL đã hoàn thành thành công sứ mệnh của nó. Nhưng sau đó Internet ra đời.

Phần 2: NoSQL chống cự

Trong khi Chamberlin và Boyce đang tụ hội phát triển SQL, họ không nhận ra là nhóm kỹ sư thứ hai ở California khi ấy đang làm việc cho một dự án khác mà sau đó nó lan rộng và đe doạ sự tồn tại của SQL. Dự án đó là ARPANET, và vào ngày 29 tháng 10 năm 1969, nó đã ra đời.
Nhưng SQL đã đích thực tốt cho đến khi một kỹ sư khác xuất hiện và phát minh ra World Wide Web, vào năm 1989.
Giống như một loại cỏ dại, Internet và Web đã phát triển mạnh mẽ, phá vỡ thế giới của chúng ta bằng nhiều cách, nhưng đối với cộng đồng dữ liệu, nó gây ra một vấn đề nhức đầu: nhiều nguồn tạo ra dữ liệu mới với khối lượng và vận tốc cao hơn trước.
Khi Internet tiếp tục phát triển và phát triển, cộng đồng phần mềm đã phát hiện ra rằng cơ sở dữ liệu quan hệ lúc đó không thể xử lý nổi. Có một sự hỗn loạn, kiểu như hàng triệu database bỗng nhiên kêu khóc và bị quá tải.

Sau đó, hai gã đồ sộ mới của Internet đã đột phá và phát triển các hệ thống non-relational phân tán của riêng họ để giúp giải quyết vấn đề này: MapReduce (xuất bản năm 2004) và Bigtable (xuất bản 2006) của Google và Dynamo (xuất bản năm 2007) của Amazon.

Các tài liệu này đã dẫn tới nhiều cơ sở dữ liệu non-relational khác, bao gồm Hadoop (dựa trên MapReduce paper, 2006), Cassandra (lấy cảm hứng từ cả hai bài báo Bigtable và Dynamo, 2008) và MongoDB (2009). bởi đây là những hệ thống mới được viết từ đầu, họ cũng tránh SQL, dẫn đến sự gia tăng của phong trào NoSQL.

Thật dễ hiểu vì sao: NoSQL mới và sáng bóng; hứa hẹn về scale và power; nó tuồng như là con đường chóng vánh để thành công về kỹ thuật. Nhưng rồi những vấn đề bắt đầu xuất hiện.
Các nhà phát triển sớm nhận ra rằng không có SQL thực sự là khá hạn chế. Mỗi cơ sở dữ liệu NoSQL cung cấp tiếng nói truy hỏi duy nhất của riêng mình, có nghĩa là nhiều ngôn ngữ hơn để học (và dạy cho đồng nghiệp của bạn); gia tăng sự khó khăn trong việc kết nối các cơ sở dữ liệu này với các vận dụng, dẫn đến dính theo hàng tấn code; thiếu hệ sinh thái của bên thứ ba, đòi hỏi các công ty phải phát triển các dụng cụ vận hành và biểu diễn dữ liệu riêng.
Những tiếng nói NoSQL mới cũng không được phát triển đầy đủ. thí dụ, để thêm tính năng JOIN của SQL vào NoSQL rất phức tạp ở tầng application. Sự thiếu JOINs cũng dẫn đến sự không thường nhật, dẫn đến sự sụp đổ và chu toàn của dữ liệu.
Một số cơ sở dữ liệu NoSQL đã thêm các tiếng nói tầm nã “giống SQL”, như CQL của Cassandra. Nhưng điều này thường gây ra vấn đề tệ lậu hơn. sử dụng một giao diện gần giống với một cái gì đó phổ biến hơn, đích thực ám ảnh về mặt tinh thần: các kỹ sư không biết những gì đã được tương trợ và những gì không được.
Một số trong cộng đồng đã nhận thấy những vấn đề với NoSQL từ sớm (tỉ dụ, DeWitt và Stonebraker trong năm 2008). Theo thời gian, càng ngày càng có nhiều nhà phát triển phần mềm nhận ra cái điều này.

Phần 3: Sự trở lại của SQL

ban sơ bị hấp dẫn bởi “lực lượng bóng tối”, cộng đồng phần mềm bắt đầu nhìn thấy ánh sáng và trở lại với SQL.
đầu tiên là các giao diện SQL bên trên Hadoop/Spark, hướng NoSQL thành “Not only SQL”
Sự phát triển của NewSQL: cơ sở dữ liệu mới, có thể mở mang và hỗ trợ SQL. H-Store (xuất bản năm 2008) của MIT và các nhà nghiên cứu ở Brown lần đầu tiên thực hiện mở mang các cơ sở dữ liệu OLTP . Google đấu dẫn đầu việc nhân rộng cơ sở dữ liệu có giao diện SQL với bản vắng trước nhất của họ (xuất bản năm 2012) (những tác giả bao gồm các tác giả gốc MapReduce), tiếp theo là những người tiên phong khác như CockroachDB (2014).
song song, cộng đồng PostgreSQL bắt đầu hồi sinh, bổ sung các cải tiến quan trọng như kiểu dữ liệu JSON (2012) và một loạt các tính năng mới trong PostgreSQL 10: tương trợ tốt hơn cho phân vùng và replication, hỗ trợ kiêng kị văn bản toàn diện cho JSON và hơn thế nữa (dự định phát hành cuối năm nay). Các công ty khác như CitusDB (2016) và Yours Truly (TimescaleDB, phát hành trong năm nay) đã tìm ra những cách mới để mở rộng PostgreSQL cho các data workload chuyên biệt.
Trên thực tiễn, hành trình phát triển TimescaleDB của chúng tôi phản ảnh chém con đường mà ngành công nghiệp đã sang. Các phiên bản nội bộ trước hết của TimescaleDB bao gồm ngôn ngữ tầm nã SQL-like, gọi là “ioQL.” Vâng, chúng tôi cũng bị cám dỗ bởi mặt tối: việc xây dựng ngôn ngữ truy riêng của chúng tôi có cảm tưởng là sẽ mạnh mẽ. Tưởng như dễ dàng, chúng tôi lại sớm nhận ra rằng chúng ta phải làm nhiều việc hơn: thí dụ, quyết định cú pháp, xây dựng các kết nối khác nhau, giáo dục người dùng … Chúng tôi cũng tìm thấy chính mình liên tiếp trên dưới cú pháp phù hợp với truy vấn mà chúng tôi đã có thể bộc lộ bằng SQL, cho một ngôn ngữ tróc nã mà chúng tôi đã chính tay viết ra!

Một ngày chúng tôi nhận ra rằng xây dựng ngôn ngữ tầm nã riêng của chúng tôi không có ý nghĩa. Đó chính là chìa khóa dẫn đến bằng lòng SQL. Và đó là một trong những quyết định thiết kế tốt nhất mà chúng tôi đã thực hiện. tức thời một thế giới hoàn toàn mới mở ra. ngày nay, dù rằng TimescaleDB chỉ là một cơ sở dữ liệu 5 tháng tuổi, người dùng có thể sử dụng trong production và nhận được thảy các điều tuyệt vời: phương tiện trực quan (Tableau), kết nối với các ORM phổ thông, một loạt các tools và các tùy chọn sao lưu, hướng dẫn phong phú và trả lời syntax trực tuyến, v.v.

Nhưng đừng tin chúng tôi. Hãy thử tìm hiểu về Google
Google rõ ràng là người tiền phong trong lĩnh vực cơ sở dữ liệu và cơ sở hạ tầng trong hơn một thập kỷ nay. Nó khiến chúng tôi để ý đến những gì họ đang làm.
Xem paper của Google(Spanner), phát hành cách đây chỉ bốn tháng (Spanner: Becoming a SQL System, May 2017), và bạn sẽ thấy rằng nó củng cố các phát hiện của chúng tôi.
thí dụ: Google đã bắt đầu xây dựng trên Bigtable, nhưng sau đó phát hiện ra rằng việc thiếu các vấn đề tạo SQL (nhấn mạnh trong quơ các trích dẫn dưới đây của chúng tôi):

“mặc dù các hệ thống này cung cấp một số lợi. của một hệ thống cơ sở dữ liệu, nhưng họ thiếu nhiều tính năng cơ sở dữ liệu truyền thống mà các nhà phát triển ứng dụng thường dựa vào. Một thí dụ quan yếu là một tiếng nói truy tìm mạnh mẽ, có tức là các nhà phát triển phải viết mã phức tạp để xử lý và tổng hợp dữ liệu trong các ứng dụng của họ. Do đó, chúng tôi đã quyết định biến Spanner thành một hệ thống SQL đầy đủ tính năng, với việc thực hành truy vấn được tích hợp chém với các tính năng kiến trúc khác của Spanner (như tính nhất quán mạnh mẽ và nhân rộng toàn cầu). “

Sau đó trong bài báo họ tiếp kiến feature các lý do chuyển đổi từ NoSQL sang SQL:

API gốc của Spanner đã cung cấp các NoSQL methods để tra hỏi và quét dãy các bảng riêng lẻ và xen kẽ nhau. Trong khi NoSQL methods cung cấp một path đơn giản để khởi chạy Spanner, và tiếp chuyện bổ ích trong các kịch bản thu hồi kết quả đơn giản, SQL đã cung cấp giá trị bổ sung đáng kể trong việc thể hiện các mẫu truy cập dữ liệu phức tạp hơn và đẩy tính toán vào dữ liệu.

Bài báo cũng biểu thị cách họ không ngừng nghỉ ứng dụng SQL vào Spanner, mở rộng ra ắt phần còn lại của Google, nơi mà nhiều hệ thống hiện thời có chung một phương ngữ SQL:

SQL engine của Spanner san sẻ một phương ngữ SQL phổ thông, được gọi là “Standard SQL”, với một số hệ thống khác của Google bao gồm các hệ thống nội bộ như F1 và Dremel (các hệ khác) và các hệ thống bên ngoài như BigQuery …
Đối với người dùng Google, điều này làm giảm rào cản làm việc giữa các hệ thống. Nhà phát triển hoặc nhà phân tích dữ liệu có thể viết SQL trong cơ sở dữ liệu Spanner để transfer sự hiểu biết của họ về tiếng nói này sang Dremel mà không quan tâm đến sự khác biệt nhỏ về syntax, xử lý NULL, v.v …

Sự thành công của cách tiếp cận này nói lên bản thân nó. Spanner đã là “suối nguồn chân lý” cho các hệ thống lớn của Google, bao gồm cả AdWords và Google Play, trong khi khách hàng tiềm năng của đám mây quan hoài đến việc sử dụng SQL.
Xét rằng Google đã giúp chủ xướng phong trào NoSQL, thì điều đáng để ý là ngày nay, họ đang nắm bắt SQL .

Điều này có ý nghĩa gì đối với mai sau của data?

Trong computer networking, có một khái niệm gọi là “narrow waist”.
Ý tưởng này xuất hiện để giải quyết một vấn đề mấu chốt: Trên bất kỳ thiết bị nối mạng nào, hãy tưởng tượng một ngăn xếp, với các lớp phần cứng ở dưới cùng và các lớp phần mềm trên đầu. Có thể tồn tại một loạt các phần cứng mạng; na ná có thể tồn tại một loạt các phần mềm và ứng dụng. Cần một cách để bảo đảm rằng bất kể vấn đề về phần cứng, phần mềm vẫn có thể kết nối với mạng; và bất kề vấn đề về phần mềm, phần cứng mạng vẫn biết cách xử lý các yêu cầu mạng.
Trong thế giới mạng, vai trò của narrow waist được thực hành bởi Internet Protocol (IP), đóng vai trò như một giao diện chung giữa các giao thức mạng cấp thấp được thiết kế cho mạng cục bộ và các giao thức áp dụng và giao thức cấp cao hơn. Giao diện chung này đã trở nên tiếng nói giữa các máy tính, cho phép các mạng kết nối, thiết bị truyền thông và “mạng lưới các mạng” này phát triển thành Internet phong phú và đa dạng ngày nay.

Chúng tôi tin rằng SQL đã trở nên narrow waist để phân tách dữ liệu.

Chúng ta đang sống trong thời đại mà dữ liệu đang trở nên “nguồn tài nguyên quý báu nhất thế giới” (The Economist, tháng 5 năm 2017). Kết quả là, chúng ta đã chứng kiến ​​sự bùng nổ của các cơ sở dữ liệu chuyên dụng Cambri (OLAP, time-series, document, graph, etc.), các phương tiện xử lý dữ liệu (Hadoop, Spark, Flink), data buses (Kafka, RabbitMQ). càng ngày càng nhiều ứng dụng cần dựa vào hạ tầng cơ sở dữ liệu này, kể cả là các phương tiện trực quan hoá dữ liệu của bên thứ ba (Tableau, Grafana, PowerBI, Superset), các web frameworks (Rails, Django) hay các custom-built data-driven applications.
Giống như networking, stack phức tạp với cơ sở hạ tầng ở dưới cùng và các vận dụng bên trên. thường ngày, chúng ta sẽ viết rất nhiều code để làm cho stack hoạt động và chúng cần phải được maintain.

Những gì chúng ta cần là một giao diện chung cho phép các phần của stack này giao thông với nhau. Một điều gì đó đã được chuẩn hóa trong ngành. Cái gì đó sẽ cho phép chúng ta đàm luận trong / ngoài các lớp khác nhau với thất thoát tối thiểu.

Đó là sức mạnh của SQL. Giống như IP, SQL là một giao diện chung.

Nhưng SQL đích thực khác biệt hơn IP. Bởi vì dữ liệu cũng được phân tích bởi con người. Và đúng với mục đích mà người sáng tạo ra SQL gán cho nó thuở Ban đầu: SQL có thể đọc được.
SQL hoàn hảo? Không, nhưng đó là ngôn ngữ mà hồ hết chúng ta biết. Và mặc dầu đã có các kỹ sư đang làm việc trên giao diện tiếng nói tự nhiên hơn, những hệ thống này sau đó sẽ kết nối với những gì? Yes, SQL.

thành ra, có một lớp ở trên cùng của stack. Và lớp đó là chúng ta.

SQL đã trở lại

SQL đã trở lại. do thế giới đang đầy ắp dữ liệu. Nó vây quanh và kết liên mọi người. Lúc đầu, chúng ta dựa vào các cảm quan của con người và hệ tâm thần cảm giác để xử lý nó. giờ phần mềm và các hệ thống phần cứng cũng đủ sáng dạ, sự phức tạp của các hệ thống lưu trữ, xử lý, phân tách…chúng thu thập dữ liệu ngày càng nhiều hơn để hiểu rõ hơn về thế giới của chúng ta.

Thứ Hai, 28 tháng 5, 2018

Tại sao nên học lập trình ngay bây giờ nếu có thể?

(12/9) - ngày 256 của năm cũng là ngày tôn vinh các lập trình viên quốc tế. 256 chính là số lượng các giá trị khác nhau hiện diện trong 1 byte (8-bit).
Nhân ngày Quốc tế Lập trình, ông Vũ Minh Trí, giám đốc điều hành Microsoft Việt Nam chia sẻ 5 lý do khuyến khích mọi người nên thử học lập trình:

Trình độ kỹ thuật số đi đôi với tăng trưởng kinh tế: Theo một nghiên cứu gần đây của Accenture, hiện hơn 1/5 GDP của thế giới được tạo ra bởi các hình thức năng lực khác nhau của kỹ thuật số như kỹ năng, vốn, hàng hóa hoặc dịch vụ số hóa. Công nghệ số hóa có thể tạo ra giá trị 2.000 tỷ USD trong sản lượng kinh tế toàn cầu tính đến năm 2020, chứng minh rõ vai trò của kỹ thuật số trong việc xúc tiến tăng trưởng kinh tế chung. bởi vậy, nhiều quốc gia châu Á như Nhật Bản, Hàn Quốc, Singapore, Malaysia và Việt Nam đã chính thức lên kế hoạch đưa các ngành học hệ trọng đến khoa học máy tính và công nghệ phần mềm vào chương trình giảng dạy.

Lập trình là nguồn dẫn đến sự đổi mới: dù rằng, nghe đâu khái niệm một vận dụng đáp ứng cho toàn bộ nhu cầu hiện đang tồn tại, nhưng thế giới luôn luôn chờ một điều gì đó lớn lao hơn. Những ứng dụng công nghệ dự định ​​sẽ mang lại gấp đôi lợi nhuận, lên đến 101 tỷ USD vào năm 2020, nên chi, nếu có một ý tưởng tiệt và biết lập trình, đó chính là lợi thế trong tương lai.

Theo số liệu mới nhất từ ​​Bloomberg, 5 công ty hàng đầu thế giới về vốn trên thị trường chứng khoán hiện tại là Apple, Alphabet, Microsoft, Amazon và Facebook. Đây chính là phản chiếu rõ rệt rằng, cán cân tăng trưởng đã được chuyển từ các ngành công nghiệp truyền thống là Dầu khí, Ngân hàng và Tự động hóa sang các ngành liên hệ đến Công nghệ.

tiếng nói lập trình là ngoại ngữ: Tương tự như cách chọn một ngoại ngữ để tiếp cận thêm một nền văn hóa mới, tiếng nói lập trình cũng vậy. bây giờ, bốn tiểu bang Mỹ đang mong muốn đưa tiếng nói lập trình vào danh sách các ngoại ngữ bắt của chương trình học. Như vậy khả năng thạo tiếng nói lập trình cũng quan trọng không kém khả năng ngoại ngữ trong thế giới việc làm đầy cạnh tranh hiện tại.

Kỹ năng lập trình giúp bổ sung và củng cố kỹ năng quan yếu như giải quyết vấn đề và làm việc theo nhóm: Lập trình mang lại ích lợi nhiều hơn cho những người muốn đeo đuổi nó một cách chuyên nghiệp. Trong quá trình học tập, người học có thể xây dựng những nguyên tắc cơ bản quan yếu riêng, như cách đơn giản hóa các hệ thống phức tạp. Học lập trình giúp nuôi dưỡng những tư duy sáng tạo, góp phần vào khả năng giải quyết vấn đề, phát triển logic và nuôi dưỡng tiềm năng cá nhân chủ nghĩa, tạo động lực hướng đến nền kinh tế công nghệ.

Thứ Sáu, 25 tháng 5, 2018

Trong hackathon chống buôn bán tình dục của Facebook

Những người khổng lồ công nghệ đã bỏ cuộc cạnh tranh của họ sang một bên trong hai ngày trong tuần để viết mã cho một căn do phổ thông: bảo vệ con trẻ trên internet. Sâu bên trong hội sở Menlo Park của Facebook, các nhóm được rút ra từ Uber, Twitter, Google, Microsoft và Pinterest đã làm việc qua đêm để thí điểm các phương tiện mới được thiết kế để giúp các tổ chức phi lợi nhuận trong cuộc chiến chống buôn bán tình dục trẻ con.

Phần lớn công việc của họ từ hoạt động hackathon an toàn con nít hàng năm của Facebook thực thụ quá nhạy cảm để xuất bản. Để đi trước một bước của bọn phạm nhân, các chi tiết cụ thể về cách các công cụ này theo dõi kẻ buôn người và trẻ thơ bị mất trên các trang web phải được giữ bí ẩn. Nhưng các sản phẩm thu được, tuốt tuột đều được quyên góp cho các tổ chức phi chính phủ như Thorn và Internet Watch Foundation, có thể giúp các công ty công nghệ hội tụ một chiến trận hợp nhất chống lại những người muốn làm tổn thương con trẻ.

Guy Rosen, phó giám đốc quản lý sản phẩm của Facebook và là một trong những giám khảo của sự kiện cho biết: “Điều có liên can đến an toàn và an ninh và chống lạm dụng là một lĩnh vực mà ngành công nghiệp hợp tác. “Hackathons là một cách tuyệt trần để đưa mọi người lại gần nhau để đích thực phát động một số ý tưởng này. . . bảo đảm rằng các kỹ sư có ý tưởng sáng dạ thực sự có thể hiểu được những điểm đau và ứng dụng suy nghĩ đó cho những vấn đề này. ”

 

Người thắng lợi trong cuộc đua Hackathon năm 2016 đã phát triển thành một nguồn tài nguyên vô giá cho các nhóm như trọng tâm quốc gia về trẻ em mất tích và bị bóc lột. công cụ "công cụ tìm người con" khớp với các bức ảnh trực tuyến, như các phương tiện trên danh sách dịch vụ hộ vệ, đến cơ sở dữ liệu của con trẻ mất tích của NCMEC. Nó giúp giảm thời kì phản ứng của cơ quan thực thi pháp luật để họ có thể triển khai các sĩ quan với hy vọng cứu những đứa trẻ này.

 

Phát biểu trong tiếng nói công nghệ của mã máy tính, quản lý kỹ thuật Facebook Cristian Canton Ferrer tả dụng cụ này nói rằng: “Mọi người bị ảnh hưởng = 1; độ lớn của thay đổi = rất lớn; tác động lâu dài của thay đổi = mãi mãi. ”

 

Trong khi Facebook gần đây đã bị chỉ trích vì sự cai trị của nó trong mạng từng lớp và cách tiếp cận quyền riêng tư dữ liệu, thì quy mô của nó đã tạo cho nó nguồn lực cho các dự án mũi nhọn như thế này. Và vày nó đã quen với việc hack các phương tiện được chia tỷ lệ, việc hiệp tác với các tổ chức phi chính phủ và các nền tảng web khác có thể cho phép trái cây của 10 năm cần lao xung quanh an toàn con nít được truyền cho những người chẳng thể tự xây dựng chúng.

 

“Nó không có lợi cho công ty nếu nhận thức chung là Internet không phải là một nơi an toàn,” người đứng đầu toàn cầu của Facebook về an toàn Antigone Davis nói. “tất cả chúng ta đều có sở thích cá nhân cũng như sự quan hoài của ngành trong việc đảm bảo rằng không chỉ mọi người coi đó là một nơi an toàn mà là nơi an toàn.”

 

 

Trong số các dự án tại cuộc đua Hackathon năm nay là một cách để sử dụng tầm nhìn của máy để xác định người và các tính năng phân biệt khác trong ảnh từ các trang web được biết là được dùng để buôn bán dục tình. Trí thông minh nhân tạo có thể giúp một số gánh nặng của các nhà điều tra con người có thể bị đánh thuế tình cảm bằng cách liên tiếp xem hình ảnh của người bị khai khẩn.

 

Dự án thắng lợi, được gọi là "Xu hướng Spotting", sử dụng phân tách phân cụm để theo dõi các kẻ buôn người khi họ di chuyển trên internet. Đề cập đến việc chấm dứt gần đây của một thị trường mại dâm trực tuyến phổ biến, Rosen nói với những người tham dự hackathon rằng "Backpage xuống là một sự kiện lớn, nhưng những kẻ xấu vẫn còn ở ngoài đó."

 

 

Nhóm Spotting Trends đã không được trao một bản soát mới lạ khổng lồ hoặc một số danh hiệu vàng. Thay vào đó, họ sẽ có dịp tả tác phẩm của mình tại Hội nghị chống tù nhân trẻ thơ lớn Dallas, năm ngoái đã cuốn hơn 4.300 chuyên gia từ ngành an toàn.

“Loại người đến đây, họ thực sự có động lực và đích thực kiêu hãnh về công việc bởi các công ty internet chúng tôi hoạt động ở quy mô hàng trăm triệu hoặc hàng tỷ người dùng. Nhưng khi bạn làm công việc này, bạn sẽ nghe những câu chuyện cá nhân đó, ”Rosen giảng giải. "Chỉ cần biết những điều chúng tôi làm việc trên có một tác động thực thụ đến những người đích thực là những gì giữ toàn bộ những người này đến mỗi buổi sáng và thúc đẩy để làm thuê việc thực sự tốt."

 

Davis kết luận: “Tôi nghĩ rằng họ là công việc hậu trường tĩnh mà không được chiến thắng gần như đủ.”

Thứ Năm, 24 tháng 5, 2018

Phát triển tốc độ Facebook với “Máy ảo HipHop”, Trình xử lý PHP nhanh hơn 60%

ảnh minh họa - học lập trình php

“Hãy coi xét rằng nhiều kỹ sư của Facebook dành nhiều ngày để phát triển mã PHP trong một chu trình gỡ rối-tải lại-sửa lỗi bất tận. Sự dị biệt giữa tải lại 8 giây và 5 giây do chuyển từ trình thông dịch HipHop sang Máy ảo HipHop tạo ra sự khác biệt lớn về năng suất. ”Đó là cách Facebook giải thích tầm quan trọng của người thực thi PHP mới của mình, HipHop Virtual Machine, được công bố ngày hôm nay. Nhanh hơn 60% so với thông ngôn viên HipHop mà Facebook hiện đang sử dụng. HHVM sẽ cải thiện hiệu suất của mã Facebook và tăng tốc quá trình phát triển mà không buộc Facebook phải tắt PHP, mà các kỹ sư của nó được đào tạo.

Facebook ban đầu triển khai HipHop nguồn mở của nó cho PHP vào tháng 2 năm 2010 để chuyển đổi PHP thành C ++. Điều này cho phép nó lưu các chu kỳ CPU trên các máy chủ web của nó. Tuy nhiên, nó làm cho nó khó khăn để tối ưu hóa mã và đề nghị một người giảng giải HipHop mà đã "rất nhiều núm để duy trì".

do vậy, trong năm qua nó đã phát triển HHVM để thay thế thông ngôn viên đó. hiện thời, “so với thông ngôn viên HipHop, trình thông dịch bytecode HHVM nhanh hơn khoảng 1,6 lần cho một bộ tiêu chuẩn thực tại trên Facebook thực tiễn.” Tuy nhiên, chúng tôi đã nhận được thông báo rằng phiên dịch viên HipHop cũ của Facebook tương đối chậm để bắt đầu, so với thông ngôn viên PHP gốc.

Để biết thêm chi tiết kỹ thuật, hãy xem bài đăng blog chuyên sâu về Máy ảo HipHop. rốt cục, Facebook có thể chạy vơ PHP của nó phê chuẩn HHVM. Đầu tiên, nó đang làm việc ra khỏi dịch giả HipHop. Khi HHVM tích hợp sâu vào mã nguồn của HipHop, có sẵn trên GitHub, Facebook hy vọng “rằng cộng đồng PHP sẽ tìm hhvm hữu dụng khi nó trưởng thành và dự với chúng tôi để mở rộng tính bổ ích của nó chuẩn y các cuộc trao đổi kỹ thuật, báo cáo lỗi và đóng góp mã . ”

Cập nhật: Do lỗi của bộ phận Cơ quan OutCast, cơ quan PR của Facebook, bài viết này ban sơ đã nêu không chính xác rằng HHVM đã cung cấp "giảm 90% hoài bộ nhớ" thông qua trình thông ngôn HipHop hiện có của Facebook. Cơ quan đã gửi cho chúng tôi thông tin không chuẩn xác này dựa trên một bản nháp chưa được xuất bản trước đây của bài đăng trên Facebook về HHVM mà sau đó đã được các kỹ sư của Facebook tu chỉnh.

Thứ Ba, 22 tháng 5, 2018

Chọn một số thông tin chi tiết về tương lai di chuyển với giám đốc điều hành Gett Dave Waiser ở Tel Aviv

 

Dave Waiser đã đi đầu trong cuộc cách mệnh công nghệ di động ở Israel trong tám năm qua, kể từ khi ông ra mắt Gett vào năm 2010.

Một trong những công ty cuối cùng đứng trong thị trường san sớt toàn cầu, siêu cạnh tranh, Gett đã chịu đựng sự cạnh tranh từ Didi Chuxing, Grab, Ola, Lyft và Uber và theo kịp với những đối thủ đó vì nó tuyên bố một phần của một thị trường trên toàn thế giới trị giá hàng tỷ.

phê chuẩn các hoạt động trực tiếp và quan hệ đối tác với các công ty như lái xe và hậu cần kinh dinh Carey International, Gett đã đạt được một dấu chân của 1.000 tỉnh thành trải rộng trên toàn cầu. Nó hoạt động trực tiếp tại 100 tỉnh thành ở bốn nhà nước (bao gồm cả một vị trí cạnh tranh ở New York) và đã huy động được 640 triệu đô la trong kinh phí mạo hiểm - bao gồm khoản đầu tư 300 triệu đô la từ Tập đoàn Volkswagen.

Đối với Waiser, sự thành công của Gett chỉ là thành công mới nhất trong một chuỗi các thay mà thương lái thành đạt đã thực hành từ những ngày đầu của thiên niên kỷ mới. Một trong những công việc trước tiên của Waiser, vào năm 2000, là giới thiệu công ty của Nga, nhà cung cấp phần mềm viễn thông đầu tiên được giao tế công khai, Comverse.

Tại Tel Aviv, Waiser sẽ san sẻ nghĩ suy của mình với chúng tôi về ngày mai của tính di động, các đỉnh và thung lũng của hành trình của doanh gia, và điều tiếp theo cho Gett khi nó tiếp tục xúc tiến trong một thị trường cạnh tranh cao.

Đó là một viễn ảnh mà không ai muốn bỏ lỡ và một cái sẽ dành riêng cho khán giả của chúng tôi ở Tel Aviv. Vé đang được bán ngay hiện giờ.

Thứ Ba, 15 tháng 5, 2018

học tester bắt đầu như thế nào

 

Tôi viết bài này để san sẻ với các bạn sinh viên có dự kiến làm về kiểm thử phần mềm (tester) trong ngày mai, hy vọng sẽ cung cấp thêm thông tin giúp các bạn dễ dàng có được định hướng cho con đường của mình. Để đáp câu hỏi “Học gì để trở thành một Tester?” tôi nghĩ cần phải đi qua các ý sau:

1. Tester sẽ làm những công việc gì?

Nhìn chung công việc chính của tester là đảm bảo chất lượng của phần mềm, rà soát để phát hiện các lỗi đang tồn tại trước khi giao sản phẩn cho khách hàng, tùy thuộc vào dự án cũng như công ty mà vai trò của tester tham dự sâu đến mức nào. Tester thường chia ra làm 2 hướng chính là Manual test và Automation test.
Manual testing: đây là lựa chọn của phần nhiều các bạn bắt đầu làm test, với lựa chọn này bạn không cần nhiều tri thức về lập trình cũng như sẽ ít đụng vào code trong lúc làm, tuy nhiên cần phải nắm khá vừng về các định nghĩa, kỹ thuật test manual và có tư duy tìm lỗi tốt.
Automation testing: đây thường là chọn lọc của các bạn đang làm Developer mà muốn chuyển sang làm Tester, hoặc các bạn làm manual lâu năm muốn học hỏi thêm cái gì đó mới mẻ và nâng cao trình độ của mình. Automation test có thể nói là Dev trong Test, công việc chính là sẽ viết code để thực hành việc soát một cách tự động và phần lớn thời kì sẽ làm việc với code như một developer. Người làm automation sẽ không cấp thiết phải nắm sâu về các tri thức test manual nhưng thay vào đó phải biết rõ về các automation tools & frameworks cũng như có thể làm việc được trên nhiều tiếng nói lập trình khác nhau như Java, C#, AutoIT, Python, C++ v.v, tùy theo đề nghị dự án.

Automation không phải là nâng cao của manual vì nó là hai nhánh khác nhau, cả hai đều quan yếu cũng như có độ khó nhất thiết nếu phải học và tìm hiểu sâu. Người làm manual tốt không chắc có thể viết code được và người làm automation cũng chưa chắc sẽ có được tư duy, khả năng quan sát & tri thức kiểm thử manual nên bạn cứ chọn một hướng hiệp với khả năng và bắt đầu học, không nên tìm hiểu cùng lúc cả hai trong tuổi mới vào sẽ tốn rất nhiều thời gian.


2. Tester cần những tri thức gì?

– trước hết, tester cũng giống như bất cứ ngành nào khác trong lĩnh vực phần mềm là cần một nền tảng căn bản về máy tính. kiến thức cơ bản này bạn có thể học được trong chương trình cao đẳng, đại học. bây chừ giáo trình đào tạo cao đẳng, đại học về công nghệ thông tin của các trường cũng khá đầy đủ, bao quát nhiều tri thức như hệ điều hành, database, lập trình, mạng…. Những tri thức này tuy có vẻ không áp dụng được gì trong lúc học nhưng sẽ rất hữu ích cho việc học test và đi làm sau này, nếu bạn tụ hợp học trong tuổi sinh viên thì sau khi ra trường việc học thêm một khóa về kiểm thử là khá nhanh và đơn giản hơn nhiều.

– Nếu bạn học ngành khác nhưng muốn chuyển sang làm test (chưa học gì nhiều về công nghệ thông báo trong trường) thì sẽ khó khăn và tốn nhiều thời kì hơn vì bạn phải học lại căn bản, cũng như sẽ bị sót nhiều tri thức nếu chỉ đăng ký một khóa học test ngắn hạn. Nhưng nói vậy không có nghĩa là không thể, cũng có nhiều bạn đang làm test và khá thành công nhưng phát xuất từ các ngành khác như sư phạm, kinh tế. Nếu bạn cũng đang học trái ngành thì có 2 bước cần thực hiện đó là dành thời kì học cách sử dụng tốt máy tính, tin học văn phòng, đọc thêm các sách cơ bản về máy tính, lập trình (có thể mượn từ các bạn đang học CNTT). thời đoạn này sẽ tốn khoảng 3 đến 6 tháng (hoặc hơn), tuy hơi dài nhưng sẽ rất có giá trị. Tiếp theo bạn cần học thêm về các tri thức chuyên ngành testing, giai đoạn này sẽ ngắn hơn, thường là khoảng 2 đến 3 tháng, chi tiết học gì tôi sẽ nói ở phần sau.

– Tiếng Anh, cái này không can hệ test nhưng rất quan trọng, tiếng Anh tốt bạn có nhiều dịp để đậu vào các công ty hơn cũng như dễ dàng học thêm về test sau này vì tài liệu đa số là tiếng Anh.

Vậy tóm lược lại, có 3 tri thức tester cần trang bị là nền móng về máy tính + tri thức Test cơ bản + Tiếng Anh


3. Học gì để trở nên tester?

3.1. tri thức chung: (dù bạn chọn theo hướng nào thì cũng nên nắm các kiến thức này).

– kiến thức căn bản về máy tính, tin học văn phòng căn bản, cài đặt phần mềm, sử dụng internet.
– tri thức về lập trình: cơ bản SQL, HTML, CSS. Đây là 3 món tôi nghĩ rất cần thiết khi làm test, bạn không cần phải học sâu để viết code nhưng chí ít phải đọc hiểu được và có thể chỉnh sửa code đơn giản.
– tri thức tổng quan về test, bao gồm việc hiểu các định nghĩa căn bản, các thuật ngữ, quy trình phát triển phần mềm, quy trình test. Bạn có thể học theo cuốn ISTQB Foundation hoặc tham khảo các mục gợi ý sau:
What is Software Testing? – Tìm hiểu phần này để biết được testing là gì? các định nghĩa, khái niệm căn bản về kiểm thử phần mềm.
Why is Software Testing Important? – Tại sao testing lại quan trọng và cấp thiết? nếu không có tester thì sản phẩm sẽ ra sao?
Software Development life cycle: Vòng đời phát triển phần mềm, vị trí của testing trong các thời đoạn phát triển sản phẩm.
Software Test life cycle: Vòng đời của kiểm thử, thứ tự các công việc kiểm thử.
Defect Life Cycle: Vòng đởi của lỗi và trạng thái qua các giai đoạn.
Quality Assurance vs. Quality control, Verification vs Validation: Phân biêt sự giống nhau và khác nhau giữa một số khái niệm.
Software Testing Levels: Các mức độ trong kiểm thử, đi từ nhỏ nhất đến các mức độ cao nhất.
Software Testing types: Các loại testing thư Functional testing, Non-functional testing, Structural testing, Change related testing.

3.2. Phần tri thức riêng:

Manual Test:

Đây là danh sách các kiến thức bạn nên tìm hiểu sâu thêm nếu sẽ làm test theo hướng manual.
Create a Test Plan: Các thành phần cần có trong một test plan căn bản, cách viết test plan.
Design Test case: Cách tạo và viết một testcase thông dụng.
Test Design Techniques: Các kỹ thuật thiết kế testcase, giúp cho testcase hiệu quả và tối ưu hơn.
Test reporting, Daily status reports – cách viết report để thưa kết quả test của mình.
Defect management: Finding defects, Logging defects, Tracking and managing defects – Học cách report & quản lý một bug cũng như sử dụng tools tracking thông dụng như Jira, Mantis, Bugzilla, Application Lifecycle Management (ALM).
Mobile application testing (iOS, Android, Windows Phone): Cách cài đặt và test ứng dụng mobile, cách giả lập thiết bị điện thoại trên máy tính.
Windows, Website testing & Tools support: Cách test một áp dụng desktop, một trang web và giả lập các trình duyệt khác nhau trên máy tính.
Risk based testing process and implementation: Đánh giá rủi ro trong kiểm thử, đây là phần nâng cao nhưng cũng nên tìm hiểu qua.
Coding: SQL, HTML, CSS.

Một số trang để tự học các tri thức về manual testing căn bản, các trang này cung cấp đầy đủ các kiến thức bên trên cũng như mở mang thêm khá nhiều tri thức liên tưởng đến test khác:

 


Automation Test:
Học thêm về lập trình: Java, C# (.Net) là hai ngôn ngữ căn bản mà những người làm automation hay sử dụng, ngoài ra có các tiếng nói khác dùng để tương trợ như AutoIT, Python.
Học về các Automation Tool/Framework phổ biến như: Ranorex, Selenium, Appium, TestComplete.
Các Tools khác như: Jmeter, SoapUI.

Các địa chỉ học về Automation & Lập trình:

 


Nếu chưa biết nên bắt đầu từ đâu tôi gợi ý là bắt đầu vơi bộ tools Selenium (thường dùng Java) hoặc Ranorex (C# hoặc .Net nói chung). Với Selenium (miễn phí) bạn có thể làm được automation cho website còn Ranorex thì có thể làm được trên website, mobile application và desktop application nhưng có tốn phí khá cao.

4. Học test ở đâu?


Có ba cách cơ bản để học test là tự học, học ở trọng tâm và học nhóm. đa số các tester thuộc thế hệ 8x hay 9x đời đầu đều tự học mà làm vì tuổi đó testing chưa phát triển và cũng chưa có trung tâm chuyên đào tạo, các trường đại học cũng chưa đưa vào chương trình dạy. Nhưng tôi thấy đa số tester ở giai đoạn này thường xuất thân từ CNTT nên việc tự học và học thêm về test cũng khá nhanh. Để tự học test bạn có thể vào các nguồn tôi cung cấp ở phần bên trên, nó khá đầy đủ kiến thức căn bản.
Thứ hai là có thể đi học ở trọng điểm hay một nhóm nào đó, các trọng điểm thường có các khóa đào tạo ngắn hạn trong khoảng 3 tháng đỗ lại, một số trọng điểm thì có chương trình dài hơn nhưng thường không quá 6 tháng. Tôi tự học và chưa trải nghiệm qua trọng điểm nào nên cũng không rõ chất lượng ở những nơi đó, nhưng tôi cũng rất vui lòng nếu bạn gởi email cá nhân đến tôi để tham khảo về các trọng tâm bạn đang định học, tôi sẽ ưng chuẩn một số mối quan hệ và bạn bè để hỏi giúp ban chất lượng của những nơi đó.
ngoại giả còn một cách học khác là học nhóm, dạy kèm test, cách này tôi đang áp dụng ở một vài nhóm và thấy khá hiệu quả vì nó vừa linh động về thời gian và số lượng học viên thường giới hạn ít nên sẽ dễ thu nhận hơn, thời kì học khoảng 1 đến 2 tháng. Nếu bạn quan hoài đến những khóa học này cũng có thể email đến tôi, khi nào bắt đầu khóa mới về testing căn bản tôi sẽ cho bạn biết.

5. Tổng kết.

Trong thời đoạn mà chất lượng sẽ quyết định sự tồn vong của sản phẩm phần mềm thì tầm quan trọng của Tester ngày một được nâng cao và đóng vai trò quan yếu, các dự án cũng cần nhiều tester hơn nên trong tương lai nghề test sẽ phát triển mạnh mẽ, việc định hướng và trang bị tri thức sớm từ hiện nay là rất cần thiết. Sau khi nắm được các kiến thức cơ bản, bạn hãy tìm một công ty hay một dự án nào đó để bắt đầu làm, giai đoạn này rất quan trọng vì chỉ có bắt tay vào làm bạn mới hình dong rõ ràng hơn các khái niệm đã đọc cũng như học thêm cái mới trong lúc làm thực tại. Hy vọng bài này sẽ cung cấp những thông báo giúp bạn có thể bắt đầu vào việc học thuận tiện hơn.

Như mọi khi, đừng ngại email đến tôi hoặc comment tại bài này nếu bạn có thắc mắc hay muốn bàn luận thêm điều gì đó trong lúc học, tôi rất vui để san sẻ.