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).

Giới thiệu
Về mặt lịch sử, từ Visual Basic đến Windows Forms ngày nay, nếu chúng ta muốn tạo ra một giao diện tùy biến cho ứng dụng, chúng ta bị giới hạn khi thay đổi các thuộc tính chuẩn của controls như màu nền, chiều rộng đường viền hoặc kích thước phông chữ. Nếu muốn đi xa hơn, lựa chọn duy nhất là tạo ra một control, kế thừa từ control đã có và override phương thức vẽ để đáp ứng nhu cầu riêng.

Xem thêm: Tùy chỉnh ứng dụng với Style và Control Templates – Phần 1
Ý tưởng tạo ứng dụng chỉ sử dụng một kiểu mẫu cho tất cả các nền tảng có vẻ không thực tế chút nào. Tuy nhiên, React Native, mặc dù chưa thật sự hoàn thiện, nhưng cho phép đẩy nhanh quá trình xây dựng các ứng dụng trên các nền tảng khác nhau, nhờ khả năng sử dụng lại hầu hết các code giữa chúng.
Xem thêm: 9 ứng dụng tuyệt vời được viết bằng React Native
Với các dòng điện thoại iPhone 7, 7 plus 8, 8 plus, X, XS, XS MAX, XR trở về sau, Apple không còn trang bị lỗ cắm headphone 3.5mm, chỉ có một lỗ cắm sạc Lightning, vừa dùng để sạc pin vừa dùng để cắm Headphone nghe nhạc. Vậy có cách nào vừa nghe nhạc vừa sạc Pin không?

Xem thêm: Vừa nghe nhạc vừa sạc Pin trên iPhone và iPad
Dưới sự phát triển nhanh như vũ bão của công nghệ số, xu hướng mua sắm trực tuyến qua mạng xã hội cũng như sàn thương mại điện tử đang làm mưa làm gió. Mở ra cơ hội cho doanh nghiệp, các nhà bán lẻ thay đổi hình thức kinh doanh giúp tăng doanh thu. Bài viết dưới đây sẽ phân tích sự khác nhau khi kinh doanh trên sàn thương mại điện tử và mạng xã hội. Từ đó giúp các nhà bán lẻ hiểu và lựa chọn được kênh bán hàng phù hơp với quy mô cửa hàng.

Xem thêm: Kinh doanh trên sàn thương mại điện tử hay mạng xã hội?
Tóm tắt
Lập trình Cặp (Pair-Programming) là cách hai lập trình viên cùng làm việc trên chỉ một máy tính, một người lái (driver), một người làm hoa tiêu (navigator), thú vị hơn bạn tưởng tượng nhiều. Việc hoán đổi vai trò liên tục giúp cho giao tiếp thông suốt, họ cùng nhau hoàn thành công việc tốt hơn và nhanh hơn khi họ làm một mình.

Xem thêm: Lập trình Cặp: chúng ta giúp nhau thành công?
Ở 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)
Hướng dẫn dùng fastlane để build, up test tự động
Fastlane là 1 công cụ hỗ trợ cho iOS, Android developer trong việc release, build test cực kỳ tốt. Các tính năng chính của nó các bạn có thể tham khảo trên trang chủ: https://fastlane.tools/. Trong khuôn khổ bài viết này, mình sẽ hướng dẫn các bạn dùng Fastlane để build, up file ipa test lên TestFlight hoặc Crashlytics, giúp cho việc test dễ dàng hơn.

Xem thêm: Hướng dẫn dùng fastlane để build, up test tự độngsudo gem install fastlane –verbose
Phiên bản ios 10 phát hành với một sô tính năng, API notifications, cho phép bạn ta có thêt custom ( tuỳ biến) UI của Notification với Framework : UserNotificationsUI , UserNotificationsUI thay vì mặc định như các phiên bản IOS trước.

Xem thêm: Push Notifications trong IOS 10
Developer là một trong những ngành Hot nhất hiện nay. Có thể nói với sự phát triển vũ bão của công nghệ, làm lập trình viên bỗng được khoác lên mình vẻ hào nhoáng. Cũng không có gì quá lạ lẫm khi thiên hạ cứ đồn nhau việc lương chục triệu, làm việc văn phòng máy lạnh. Chưa kể, báo mạng cứ đua nhau tung hứng ca thán nghề lập trình viên như con ngỗng đẻ ra vàng, với tay nghề cao có khi lương đến trăm triệu là chuyện bình thường.
Xem thêm: Tôi code vì tiền?
Với tỷ lệ thâm nhập của điện thoại di động ở Việt Nam trên 80% và số lượng người sở hữu tài khoản ngân hàng dưới 15% dân số, có thể nhận định thị trường Việt Nam là rất có tiềm năng về m-commerce trong tương lai khi những rào cản về chính sách, cơ sở hạ tầng được phá bỏ đồng thời với một chiến lược kinh doanh rõ ràng và quyết liệt.

Xem thêm: Hiểu hơn về M-Commerce ( Mobile Electronic Commerce - thương mại di động )
Trong ngày thứ 5, các khách hàng có thể gọi một chiếc xe Uber đặc biệt đến và sẽ có một y tá bước xuống, vào nhà bạn và tiêm cho bạn một mũi vaccine phòng ngừa cúm. Uber hy vọng có thể tiêm phòng cho khoảng 10.000 người trên khắp 36 thành phố của Mỹ.

Xem thêm: Uber triển khai dịch vụ chăm sóc sức khỏe lưu động
1. Tại sao nên từ bỏ OOP:
OOP thật sự sự rất tuyệt vời, trái tim của Cocoa chính là OOP, không có OOP chúng ta không thể viết được 1 ứng dụng iOS nào. Nhưng với OOP vẫn có những điều chưa thật sự tốt.
![[165]92](https://techtalk.vn/wp-content/uploads/2017/05/16592-696x489.png)
Xem thêm: Tạm biệt OOP, chào đón POP
Xin chào, nếu đã từng lập trình với Javascript, hẳn bạn đã có đôi lần nghe nói / sử dụng callback. Và với sự phát triển như hiện nay của Javascript, thì có một vấn đề cực kỳ nhức nhối đã được thể hiện với callback của Javascript, đó là callback hell.

Xem thêm: Giới thiệu về Promise trong Javascript
Thế giới lập trình là không ngừng thay đổi, và phát triển. Những xu hướng mới xuất hiện hàng ngày, thậm chí hàng giờ cùng với các chiến lược tiếp thị và công nghệ mới. Do đó, bất cứ ai muốn tồn tại trong lĩnh vực này sẽ cần phải theo dõi tất cả mọi thứ và sẵn sàng để tìm hiểu.

Xem thêm: Lập trình viên, học bao nhiêu là đủ?
F-Complex, ngày 30 tết
Đã 2 giờ sáng, đội dự án XXX vẫn ngồi miệt mài làm việc. Theo yêu cầu của PM, toàn đội phải ON để hoàn thành sản phẩm cho đợt deliver ngày mai.
Ngày cuối năm, toàn bộ khu nhà không một bóng người, chỉ có tiếng gió rít và tiếng cửa sổ kẽo kẹt nghe đến rợn người.

Xem thêm: Hồn ma coder
Messenger bots của facebook ra cũng khá lâu rồi. Đã có nhiều người sử dụng cho page facebook của mình. Bài này của mình sẽ hướng dẫn các bạn viết 1 con bot tự động trả lời theo pattern có sẵn bằng Go – cho server và ngrok – để publish localhost ra ngoài.

Xem thêm: Viết một facebook messenger bot đơn giản cùng Go + ngrok
1. Mở đầu
Linux, chắc hẳn đây là cái tên mà nhiều bạn đã biết tới, nhưng xung quanh đó vẫn còn nhiều khái niệm mơ hồ và nhiều điều chưa được tường tận, có phải nó là một hệ điều hành không ?
Đặc biệt, đối với nhiều người dùng phổ thông, đây lại là một cái gì đó huyền bí, nhất là màn hình Terminal với các dòng lệnh chạy vun vút, thật là đáng sợ.

Xem thêm: Linux bắt nguồn từ đâu?
Thời gian gần đây, các khái niệm về "nền kinh tế chia sẻ " hay "mô hình kinh tế chia sẻ " đã được đề cập và bàn thảo sôi nổi trên nhiều diễn đàn. Ở Việt Nam, tại Nghị quyết phiên họp thường kỳ tháng 1/2018, Chính phủ đã thống nhất xây dựng Đề án về mô hình kinh tế chia sẻ . Bài viết khảo sát những mô hình thuộc nền kinh tế chia sẻ đã xuất hiện trên thế giới, từ đó nhận diện rõ hơn về cơ hội, thách thức cũng như khả năng phát triển kinh tế chia sẻ tại Việt Nam. (ThS. Lê Thanh Thủy - Học viện Công nghệ Bưu chính Viễn thông)

Xem thêm: Các mô hình kinh tế chia sẻ nổi bật trên thế giới và vấn đề đặt ra với Việt Nam
Adhere Ad Server là một hệ thống quản lý quảng cáo, đặc biệt là nó hỗ trợ quản lý quảng cáo trên mobile, hỗ trợ cả các dòng điện thoại cũ. Ngoài ra hệ thống này có tính năng và giao diện tương đối đơn giản, dễ quản lý.

Xem thêm: Adhere Ad Server - opensource quản lý quảng cáo
Bài viết tổng hợp 34 phần mềm hỗ trợ doanh nghiệp xây dựng các social networks tốt nhất.

Phần mềm ứng dụng quản lý nguồn lực, kế hoạch ( Enterprise Resource Planning: ERP) và phần mềm quản lý quan hệ khách hàng ( Customer Relationship management: CRM) hiện nay đang được xem là rất cần thiết cho tất cả tổ chức hay công ty. Những tính năng và lợi ích của những chương trình này có ảnh hưởng trực tiếp tới hiệu quả và phát triển của kinh doanh. Tuy nhiên, tổ chức hay công ty khác nhau có những yêu cầu về phần mềm ERP có những chức năng khác nhau mà khó có thể áp dụng chung bằng cách quản lý truyền thống. Một giải pháp để giải quyết vấn đề này đó là sử dụng phần mềm nguồn mở ERP (Open Source ERP ). Bởi vì mã nguồn của phần mềm có thể được tùy chỉnh theo yêu cầu của từng tổ chức cụ thể.
Một vài phần mềm nguồn mở ERP có thể tải trực tiếp về từ trên mạng Internet và có nhiều phần mềm là hoàn toàn miễn phí. Sau đây là danh sách 10 phần mềm nguồn mở ERP đang được sử dụng rộng rãi hiện nay.

Xem thêm: Top phần mềm ERP mã nguồn mở miễn phí
Trong nền kinh tế chia sẻ hiện nay, làm thế nào để giao hàng (ship) trở thành một nghề nghiệp thực sự và bền vững, để những nhân viên giao hàng (shipper) yên tâm gắn bó lâu dài với nghề này, có thu nhập ổn định và được đảm bảo cuộc sống sau 20 - 30 năm làm việc?

Các đại biểu tại tọa đàm Làm việc hiệu quả với shipper. (Ảnh: TL)
Xem thêm: Giao hàng là một nghề thực sự trong nền kinh tế chia sẻ?
Trong những năm gần đây, ứng dụng web phía client đang ngày càng trở nên phức tạp. Cũng vì lẽ đó, trình duyệt cũng có ngày càng nhiều tính năng, hỗ trợ JavaScript tốt hơn với đủ thứ API như geolocation hay p2p communication.

Xem thêm: Làm quen với PouchDB JavaScript Database cho Client
Theo thống kê của mạng lưới an ninh Kaspersky Security Network (KSN), số lượng người dùng Việt Nam bị ảnh hưởng bởi các mối đe dọa ngoại tuyến đã giảm đến 57% trong 4 năm qua.

Các mối đe dọa ngoại tuyến bao gồm: các đối tượng xâm nhập vào máy tính bằng cách lây nhiễm các tệp, phương tiện di động hay bắt đầu xâm nhập vào hệ thống máy tính ở dạng kín như các chương trình bên trong các trình cài đặt phức tạp, các tệp được mã hóa…
Xem thêm: Việt Nam dẫn đầu Đông Nam Á về số lượng các mối đe dọa mạng ngoại tuyến