Dạo gần đây tôi có thử sức với Matasano’s crypto challenges (cryptopals.com). Về cơ bản đây là tập hợp các thử thách về mã hóa, mật mã; trong đó người chơi sẽ cố gắng hoàn thành các bài tập thực hành về mã hóa (bao gồm cài đặt các thuật toán mã hóa thông dụng, phá mã) từ cổ điển cho đến hiện đại.
Bạn có thể khám phá ra giải pháp tốt hơn
Khi tôi dạy cho các beginner cách lập trình và cho họ làm các bài tập về coding, một trong các thử thách mà tôi yêu thích nhất là: Hãy viết một đoạn code giải quyết vấn đề mà không sử dụng IF (hoặc ternary operators, hoặc switch statements).

Xem thêm: Thử một lần code mà không dùng If xem nào?
Gửi Lifehacker,
Sau khi tham khảo nhiều thông tin về học lập trình, tôi đã quyết định thử học về nó. Vấn đề là, tôi không biết phải bắt đầu từ đâu. Ngôn ngữ lập trình tốt nhất cho người mới bắt đầu như tôi là gì?
Nếu có thể trả lời chính xác câu hỏi sau và giải thích tại sao, bạn có thể bỏ qua bài này:
Gần đây cả Docker và M$ đều thông báo là có thể chạy Docker Container trên Windows Server. Với mình đây là tin khá là shock vì trước giờ mình luôn cho rằng việc chạy docker engine trực tiếp trên Windows (không thông qua máy ảo Linux) hoặc tạo một container với OS không phải là Linux là điều không thể. Thế nên mình quyết định là tìm hiểu xem nó là cái gì.
Xem thêm: Chụp ảnh màn hình điện thoại Android không cần cài app
Báo cáo từ Kaspersky cho thấy hiện nay trên mạng Internet đang chứa tràn lan các sách giáo khoa tham khảo, bài tiểu luận và điều đáng nói là những tập tin này có chứa đầy rẫy mã độc, phần mềm độc hại. Dù tiềm ẩn nhiều nguy cơ bảo mật cũng như có thể gây ảnh hưởng nặng nề, các sinh viên vẫn không chùn tay tải các phần mềm độc hại này về để làm tài liệu ôn tập cuối kỳ.
Khi phát hành ứng dụng hoặc game trên các app store, bạn sẽ có thể tiếp cận được với tất cả người dùng trên toàn thế giới. Đặc biệt, các thị trường mới nổi như Ấn Độ, Mỹ Latinh và Đông Nam Á là những thị trường rất dễ tiếp cận vì smartphone và internet đang tăng trưởng rất mạnh mẽ ở đây.
Xem thêm: Tối ưu hóa ứng dụng của bạn cho các thị trường mới nổi để nó đạt được nhiều thành công hơn
Rất nhiều người có khái niệm khá mơ hồ và thiếu chính xác về thuật ngữ thông dụng này.
Về “máy móc”, API là viết tắt của Application Programming Interface (giao diện lập trình ứng dụng). Hầu như công ty nào cũng đã từng xây dựng qua API cho khách hàng, hoặc cho mục đích nội bộ.
Tab Bar
Tab bar cho phép người dùng nhanh chóng điều hướng thông qua các views riêng biệt của app và nó cũng chỉ nên dùng cho mục đích này. Tab bar luôn xuát hiện ở cuối cùng ở màn hình. Theo mặc định, tab bar trong suốt 1 chút và sử dụng cùng 1 hệ thống làm mờ cho nội dung bên dưới như navigation bar.
Cách đây 2 năm, tôi chỉ tập trung vào lập trình Android native. Nhưng đến năm ngoái, khi công ty yêu cầu tôi học lập trình iOS, tôi đã khá phấn khích lúc đầu, nhưng sư phấn kích đó nhanh chóng phai nhạt dần, năng suất làm việc của tôi cũng suy giảm đi. Tôi nhận ra, mình phải học lại từ đầu tất cả mọi thứ như framework, các công cụ, IDE…

Xem thêm: Lập trình app sử dụng React Native, so với Android/ iOS
Đọc tên điểm dừng xe buýt tiếp theo hay đọc thực đơn, một ứng dụng mới vừa được phát triển để giúp cuộc sống của những người khiếm thị dễ dàng hơn.
Xem thêm: app giúp người khiếm thị tìm đường và đọc thực đơn
Các câu hỏi về HashMap là một phần không thể thiếu trong buổi phỏng vấn Java.
Mọi người sẽ giải quyết dễ dàng những câu hỏi đại loại như: “Phân biệt giữa HashMap và Hash table”. Nhưng đến những câu “sâu” hơn như: “cơ chế làm việc của HashMap”, không ít ứng viên đã “bỏ mạng”.
Hệ thống định vị toàn cầu GPS là gì? Bạn có biết GPS hoạt động như thế nào không? Đâu là bí mật của sự chính xác gần như tuyệt đối của GPS?
GPS, viết tắt của "global positioning system" (hệ thống định vị toàn cầu), thực chất là một mạng lưới bao gồm 27 vệ tinh quay xung quanh trái đất. Trong số 27 vệ tinh này, 24 vệ tinh đang hoạt động, 3 vệ tinh còn lại đóng vai trò dự phòng trong trường hợp 1 trong số 24 vệ tinh chính bị hư hỏng. Dựa vào cách sắp đặt của các vệ tinh này, khi đứng dưới mặt đất, bạn có thể nhìn được ít nhất là 4 vệ tinh trên bầu trời tại bất kì thời điểm nào.
Như thiên hạ nói, Node.js là 1 nền tảng dựng trên trình biên dịch Javacript Google Chrome V8 của thằng Google – hàng hịn đừng hỏi. Trình biên dịch này rất nhanh trên trình duyệt nên người ta nghĩ cách đưa nó vào server side. Thế là Node.js ra đời.
Khi làm việc với React, hẳn bạn đã nghe đến tính bất biến của dữ liệu (immutability). Đặc tính này, nói một cách đơn giản, là khả năng giá trị của dữ liệu không bị thay đổi sau khi đã được khai báo. Tính bất biến giúp cho chương trình trở nên dễ dự đoán, ít xảy ra lỗi và trong một số trường hợp còn tăng hiệu suất của ứng dụng. Do đó, React (và Redux) đều khuyến khích mọi người viết code để hướng đến đặc tính này.
Xem thêm: TUYỆT CHIÊU ĐẢM BẢO TÍNH BẤT BIẾN TRONG JAVASCRIPT
Có một sự thật đắng lòng mà nhiều lập trình viên không muốn phải đối mặt đó là sự nghiệp lập trình của họ sẽ tiến đến một đỉnh cao và sau đó là một sự suy tàn không thể tránh khỏi. Cuối cùng sẽ rất khó khăn để bạn có thể tìm thấy và giữ được một công việc với tư cách là một lập trình viên. Đối với nhiều người, họ phát hiện ra sự thật này mà không chuẩn bị trước và thường bị sốc. Hôm nay, chúng tôi sẽ cung cấp cho bạn một số thông tin nghề nghiệp quan trọng mà bạn cần phải suy nghĩ, từ đó bạn có thể chuẩn bị trước tương lai cho bản thân mình.
Việc lựa chọn nền kinh tế tuần hoàn là yêu cầu tất yếu nhằm khắc phục hạn chế của mô hình tăng trưởng truyền thống, gắn với mục tiêu phát triển nhanh, bền vững, tiết kiệm năng lượng và bảo vệ môi trường. Tuy nhiên, nền kinh tế tuần hoàn cũng đòi hỏi nhiều điều kiện khắt khe về thể chế, nguồn lực. Vì thế, việc nghiên cứu kinh nghiệm của các nước đi trước, chỉ ra những khó khăn, thuận lợi, từ đó soi chiếu vào Việt Nam, xác định các điều kiện để có thể chuyển đổi từ nền kinh tế tuyến tính sang nền kinh tế tuần hoàn.
Xem thêm: KINH TẾ TUẦN HOÀN là gì? Tất tần tật về KINH TẾ TUẦN HOÀN
Khi một mạnh điện bị đứt (đoản mạch) thì thường bạn nghĩ tới sử dụng hàn điện để hàn lại, tuy nhiên với bo mạch của điện thoại di động, máy tính bảng, bàn phím laptop... thường rất nhỏ và thường in trên nhựa bằng một loại mực có khả năng dẫn điện (pha bạc). Vì vậy khó có thể dùng cách hàn truyền thống. Lúc đó bạn cần một chất có khả năng dẫn điện và kết dính tốt nhưng lại không dùng nhiệt để hàn.
Kinh tế chia sẻ (sharing economy) - mô hình kết nối để những người tiêu dùng có thể tận dụng nguồn lực dư thừa của nhau - được đánh giá là mô hình đem lại giá trị kinh tế cao, tác động không nhỏ đến người tiêu dùng cũng như những doanh nghiệp kinh doanh kiểu truyền thống. Việt Nam được xem là một trong những thị trường tiềm năng của mô hình này.
Khi lập trình ứng dụng iOS, các lập trình viên thường nghĩ tới những ngôn ngữ và IDE do Apple cung cấp như Objective- C, Swift và Xcode. Tuy nhiên, đây không phải là những lựa chọn duy nhất – bạn vẫn có thể tạo được apps iOS sử dụng rất nhiều ngôn ngữ và frameworks khác.
Tỷ phú mới nhất của Ấn Độ là một cựu giáo viên phát triển một ứng dụng giáo dục đạt mức định giá khoảng 6 tỷ USD...
Byju Raveendran - Ảnh: Bloomberg.
Xem thêm: Thầy giáo Ấn Độ thành tỷ phú đô la nhờ viết ứng dụng dạy học
BEM là gì?
Để ngắn gọn, xúc tích và dễ hiểu nhất thì mình định nghĩa BEM với 1 vài gạch đầu dòng như sau:
- BEM là 1 phương thức viết tên class trong HTML, CSS
- BEM được tạo bởi 1 team của Yandex.
- BEM là viết tắt của từ Block, Element, Modifier
- Mục đích của BEM là đem lại cách viết hiệu quả tên class trong HTML theo hướng module, cũng như là viết CSS theo 1 cách có tổ chức và hiệu quả.
Làm thế nào để chuỗi cung ứng không bị hack?
Bạn có biết chính xác kinh doanh của bạn đang cần tiền vào những khoản gì? theo một khảo sát của AmeriQuest Business Services thì số lượng lớn các công ty không thể trả lời được câu hỏi này.
Advanced Apk Tool là một trong những công cụ top trong những công cụ dịch ngược và chỉnh sửa file apk, hay được dùng để chỉnh sửa hoặc thêm ngôn ngữ cho các ứng dụng cải sẵn trên smartphone chạy Android.
Ưu điểm của tool này là có giao diện, còn nhiều tool khác thì thường dùng môi trường dòng lệnh.
Một ngăn xếp là một cấu trúc dữ liệu trừu tượng (Abstract Data Type – viết tắt là ADT), hầu như được sử dụng trong hầu hết mọi ngôn ngữ lập trình. Đặt tên là ngăn xếp bởi vì nó hoạt động như một ngăn xếp trong đời sống thực, ví dụ như một cỗ bài hay một chồng đĩa, …
PHẦN HTML
Trước hết, chúng ta sẽ xây dựng khung HTML để có thể render game này.
jQuery là một trong những framework được yêu thích và sử dụng bởi phần lớn lập trình viên front-end. jQuery cung cấp hàm và phương thức giúp đơn giản hóa tác vụ thường gặp trong quá trình viết web. Giờ đây, khi các trình duyệt ngày càng được phát triển và hỗ trợ nhiều tính năng hơn, chúng ta có thể thay thế những tác vụ của jQuery bằng các phương thức mặc định.
Twitter cung cấp tính năng bảo mật giúp bạn đăng xuất khỏi tài khoản của mình trên tất cả các thiết bị cùng một lúc. WikiHow này sẽ hướng dẫn bạn qua quá trình này.
Chỉnh sửa Bước
Xem thêm: Dưới đây là cách đăng xuất Twitter của bạn trên tất cả các thiết bị cùng một lúc
Thường ngày chúng ta hay gặp một số thuật ngữ phổ biến của một số chức danh trong các công ty hiện đại ngày nay đặc biệt là các công ty nước ngoài với các chức danh như CEO, CMO, CFO, CPO, CCO, COO, CHRO… vậy chúng có ý nghĩa ra sao ? Xin mời bạn cùng tìm hiểu một số thông tin cho các thuật ngữ vị trí này.
Trong thời đại số hóa ngày nay, mật mã đóng một vai trò rất quan trọng. Và tôi nghĩ người lập trình viên cần phải trang bị các kiến thức cơ bản về mã hóa. Vì vậy, trong bài viết này tôi muốn giới thiệu đến các bạn tổng quan về các hệ mật mã, cách chúng làm việc, ưu và nhược điểm của từng hệ mật mã, cách chúng phối hợp, bổ sung cho nhau như thế nào.
Theo Sách trắng CNTT, năm 2011, cả nước có khoảng hơn 127 triệu thuê bao di động. Đặc biệt số thuê bao băng rộng 3G đã đạt 16 triệu thuê bao, chiếm 12% tổng số thuê bao di động. Hiện có khoảng 60% người dùng di động sử dụng Internet và con số này tiếp tục tăng.
Theo công ty nghiên cứu thị trường IHS iSuppli, doanh số bán máy tính bảng trên toàn cầu trong năm 2012 dự kiến tăng mạnh 56% so với năm 2011, lên 126,6 triệu chiếc nhờ khả năng thị trường tiêu thụ nhiều mẫu máy tính bảng "đình đám" iPad và các dòng máy tính bảng khác có kích thước nhỏ gọn hơn.
Xem thêm: ứng dụng trên điện thoại và máy tính bảng, tiềm năng chưa được khai phá
Ở bài Part 1 lần trước mình đã giới thiệu về Model và Dictionary trong ObjC. Mình có nêu ra một số ý tưởng về Model như:
- Model tự init data dựa trên JSON mà không phải tự viết hàm initWithDictionary cho mỗi model mới khai báo dựa trên thư viện objc-runtime.
- Model cho phép add các target cũng như cài đặt callback để tự động trigger events mỗi khi một thuộc tính của Model thay đổi giá trị bằng cách viết thư viện key-value observing. Vấn đề ở đây là nó sẽ không crash và tối ưu hoá hơn khi sử dụng cái mặc định của Apple.
- Model lấy ý tưởng tương tự như một ActiveRecord trong Ruby on Rails.
Xem thêm: Làm việc với Model và Dictionary trong ObjC và Swift (phần 2)
Bạn đang bực mình vì không truy cập facebook được trong khi những người khác đang vào facebook bình thường, nếu việc này xẩy ra trên laptop hay máy tính của bạn thì chắc bạn sẽ nghĩ tới việc đổi DNS mạng, tuy nhiên để làm việc này trên điện thoại chạy hệ điều hành Windows Phone thì sao? Để làm được điều này thì bạn có thể tham khảo nội dung hướng dẫn sau của DVMS.
Vào Settings => vào phần cài đặt Wi-Fi => Click đúp vào wifi đã kết nối để biết mình đang xài IP nào trong mạng wifi. Nhớ Ip của mình để vào phần cài đặt IP tĩnh.
Tại sự kiện đình đám WWDC, Apple cho biết họ đã trả cho các developer với khoảng tiền cực khủng, lên tới 70 tỉ đô (tiền chi cho nằm ngoái chiếm khoảng 30%). Đó là mức tăng rất lớn khiến chúng tôi vô cùng ngạc nhiên bởi người dùng đâu có chi nhiều cho ứng dụng đến vậy. Bản thân tò mò muốn biết được thu nhập khủng đó đến từ đâu, tôi đã vào App Store để kiểm tra các top ứng dụng.

Xem thêm: Bí quyết kiếm $80,000 hàng tháng từ ứng dụng trên Apple Store
- Sử dụng MVVM để tableView của bạn trở nên mượt mà hơn
- Hướng dẫn sử dụng phần mềm subversion (svn) toàn tập
- Tổng hợp mẫu hợp đồng tiếng Anh thương mại để giao thương quốc tế
- SEO mũ đen và SEO mũ trắng
- Tạo app mobile miễn phí, thu phí kiếm tiền như thế nào?
- Làm thế nào để phát triển hệ thống báo cáo hoạt động trên mạng xã hội
- Facebook bị hack và những nguy hiểm khó lường hết
- Xu hướng Internet năm 2019. Các Thống kê & Thực tế ở Hoa Kỳ và Trên toàn Thế giới
- Ngăn ngừa lãng phí bộ nhớ trong Java Collections như thế nào?
- Sử dụng Docker (và cả Docker Compose) cho dự án Django
- 10 thuật toán hàng đầu dành cho lập trình viên
- Cấu trúc và thuật toán Advanced Encryption Standard (Chuẩn mã hóa nâng cao)