Mình sưu tầm được của một anh share trên FB về quy trình phát triển phần mềm bất hủ, không sách nào nói đến nhưng thực tế nó vậy:
Đôi điều muốn nói trước
Bài viết này được tổng hợp từ những tài liệu nghiên cứu dành cho người mới lập trình. Mục đích của nó là nhằm chỉ ra phong cách lập trình mà các bạn đang sử dụng ngày nay được sinh ra từ đâu, với mục tiêu nâng cao chất lượng code của các bạn chứ không nhằm mục đích giới thiệu lịch sử của ngành IT. Nếu các bạn muốn biết về lịch sử ngành IT xin hãy xem những cuốn sách có chủ đề tương tự.
Xem thêm: Những dấu chân của nhân loại trên con đường đến với lập trình hướng đối tượng (phần 1)
Xác định mục tiêu cho app
Một khi bạn đã đánh giá được tình trạng hiện diện của web, xác định được người dùng app và các trường hợp sử dụng, việc tiếp theo là tìm kiếm lý do để lập trình app.
Xem thêm: Khi bạn chuyển từ trải nghiệm web sang native app (phần 1)
Trong một vài trường hợp, bạn cần sử dụng nhiều lần annotation tại cùng 1 vị trí như trên một method, constructor.
Ví dụ khi viết cơ chế về authorization và cho phép chỉ có admin và superAdmin có thể tạo 1 user
Strong Parameters
Action Controller parameters bị cấm sử dụng với tính năng Mass Assignment (cho phép update 1 model) trong Active Model, vì vậy chúng ta phải quyết định những attributes nào được phép mass update. Parameters được mark là cần thiết. Khi tất cả các params yêu cầu được không được thỏa mãn thì kết quả sẽ trả về là 400 Bad Request.
Xin bắt đầu bằng câu chuyện rùa và thỏ.
Phiên bản 1: Như mọi người đã biết, rùa thắng thỏ vì rùa rất chăm chỉ, chậm và chắn chắn.
Sau khi thua rùa, thỏ ta rất cay cú nói với thỏ con: “Đời cha đã thua rùa vì không chăm chỉ, đời con, con nhất định phải lấy lại danh dự cho nhà Thỏ, không được lười biếng tích cực luyện tập để phục thù”. Và khi thỏ con trưởng thành, thỏ con thách đấu với rùa con.
Giới thiệu
Mấy hôm trước, khi mình lên stackoverflow hỏi một số câu liên quan tới SQL thì nghe nhắc tới khái niệm SQL Antipattern. Khác với design pattern, anti pattern là những cách thiết kế để giải quyết vấn đề, nhưng sử dụng nó lại… gây ra nhiều vấn đề hơn. Một antipattern được nhiều người biết đó là hút thuốc lào thay cho thuốc lá, cách này cai được thuốc lá nhưng sẽ gây ra nhiều vấn đề vệ sinh và môi trường hơn.
Thiết bị Android giờ đây có nhiều lõi, nên viết app mượt mà trở nên quá dễ dàng đúng không? Sai rồi. Vì mọi thứ trên Android có thể được thực hiện theo nhiều cách khác nhau, việc chọn ra một cách tốt nhất không hề dễ dàng. Nếu muốn chọn được cách hiệu quả nhất, bạn cần hiểu được những gì đang thực sự diễn sâu bên trong.
Cơ hội việc làm dành cho các mobile dev đang ngày càng mở rộng với số lượng tăng cao các doanh nghiệp ứng dụng công nghệ mobile vào công việc kinh doanh của mình.
Xem thêm: 8 câu hỏi phỏng vấn dành cho các lập trình viên mobile app
Khi bạn muốn thực thi một câu truy vấn (query), MySQL Query Optimizer sẽ cố gắng đưa ra một kế hoạch tối ưu nhất cho việc thực hiện query. Bạn có thể thấy thông tin về kế hoạch đó bằng cách thêm lệnh EXPLAIN
vào đầu mỗi query. EXPLAIN
là một trong những công cụ quan trọng giúp hiểu và tối ưu truy vấn MySQL, tuy nhiên, điều đáng tiếc là rất nhiều lập trình viên hiếm khi dùng nó.
Giới thiệu
Trong một project, mình có cơ hội làm quen và sử dụng 1 thử viện front-end khá là mới. Đó là Atlassian
Mình thấy thư viện này khá phù hợp cho việc dùng trong các website hệ thống hoặc dùng làm layout cho phần admin.
Xem thêm: Atlassian UI – Thư viện frontend phù hợp cho những webiste hệ thống hay layout admin
1. Không chịu đọc tài liệu trước khi dùng
Đây là một trong những thói quen tệ hại nhất nhưng lại thường gặp nhất. Có lẽ thói quen này nảy sinh từ tính thân thiện của “giao diện đồ hình” (GUI) khiến cho người dùng bồi đắp thói quen mò mẫm mà không cần đọc hướng dẫn nhưng cũng sử dụng được máy.
Xem thêm: Chín thói quen xấu cần bỏ nếu muốn theo ngành CNTT
Hiện nay, trên thị trường vẫn còn rất nhiều doanh nghiệp, tổ chức chỉ sử dụng web app hoặc chỉ đem đến cho khách hàng duy nhất mỗi trải nghiệm web. Mặc dù nhận ra được tiềm năng để tiếp cận các khách hàng mới hoặc cung cấp thêm giá trị cho người dùng hiện tại, các doanh nghiệp này vẫn chưa tạo native app để đăng trên App Store của Apple hoặc Google Play.
Xem thêm: Khi bạn chuyển từ trải nghiệm web sang native app (phần 2)
Thiết kế apps iOS không hề dễ dàng nhưng nếu các dev tìm được nguồn thông tin chính xác và cập nhật về tất cả các thiết bị của Apple thì sẽ không còn quá khó khăn nữa. Những chỉ dẫn về thiết kế sau sẽ giúp các designer đang lập trình cho iOS bắt đầu áp dụng trong vòng vài giây.
SPA – Single Page (Web) Application là một design pattern hướng đến việc đem lại trải nghiệm người dùng trên web giống như trên desktop bằng việc gói toàn bộ nội dung của website hay một web application chỉ trong một trang duy nhất.
Xem thêm: Tạo một javascript SPA framework đơn giản với phong cách chính mình
Không nên dùng tiếng lóng
Nếu những cái tên là quá đặc trưng, thường chúng sẽ được ghi nhớ với người chia sẻ cảm nhận vui vẻ và chỉ những người này mới nhớ những câu chuyện đó. Liệu chúng ta có biết hàm được đặt tên HolyHandGrenade hỗ trợ làm gì không?
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
Giới thiệu
Gần đây thấy bản thân chém gió rất nhiều về MapReduce, Hadoop v.v nhưng chưa thấy có bài viết nào tổng hợp + giải thích cụ thể về MapReduce vì vậy mình quyết định viết một bài Chém gió về Map-Reduce. Bài viết này sẽ giới thiệu 3 vấn đề sau:
Tôi là một lập trình viên Ruby (Rubyist) không có kĩ năng design, gần đây tôi đã làm thử một ứng dụng Web như sau.
Tên ứng dụng là “Reminderr”, có chức năng nhắc nhở người dùng khi có thông tin quan trọng chưa đọc xuất hiện trên Pocket hay feedly.
Làm việc với 1 lập trình viên ứng dụng hoặc 1 agency ứng dụng cũng không có gì quá khác biệt với bất kì nhà cung cấp, nhà bán lẻ hay đơn vị thầu. Bạn phải liên tục nhắc nhở 1 cách công bằng để công việc hoàn thành đúng tiến độ, đúng chất lượng.
Tôi thích Go ngay từ đầu. Tương tự với C và Java, tôi cảm thấy rất thân thuộc với các ví dụ, các tutorials dễ hiểu để tôi có thể viết code ngay. Tôi đã từng muốn học Go vì sự nổi tiếng của ngôn ngữ này trong vài năm trở lại đây.
Đa số các bạn newbie thường phạm phải một sai lầm cơ bản: Quá mức quan tâm về tốc độ thực thi của code, của ngôn ngữ lập trình. Đây là một thói quen nên bỏ!
Trong bài viết hôm nay, mình sẽ giải thích về việc tối ưu code: Optimize code một cách pro nhất! Khi nào cần optimize, khi nào không nên optimize code?
Một diễn biến và bước ngoặt to lớn trong cuộc đời của tài năng trẻ vẫn còn ngồi trên ghế nhà trường này.
Đầu năm 2015, Ryan Pickren – sinh viên trường Công nghệ Georgia – đã nổi đình nổi đám trên các mặt báo khi bị bắt vì tội truy cập trái phép vào hệ thống thông báo lịch trình của “đối thủ” Đại học Georgia trước thềm diễn ra một trận đấu bóng bầu dục, sau đó thêm vào dòng chữ “Lũ thua cuộc”.
Với Firebase, bạn có thể lưu trữ và đồng bộ hóa dữ liệu lên NoSQL cloud database. Dữ liệu được lưu trữ ở dạng JSON, được đồng bộ hóa với tất cả client được kết nối theo thời gian thật, và vẫn dùng được khi ứng dụng offline.
Xem thêm: Tạo Cloud Backend Cho Ứng Dụng Android trong Firebase
Giới thiệu
- SharedPreference là một lớp cho phép lưu trữ và nhận dữ liệu theo key-value với các kiểu dữ liệu nguyên thuỷ như integer, string, boolean, float, long.
- Preference gần giống với Bundle nhưng nó có thể lưu trữ dữ liệu còn Bundle thì không.
QR Code là dạng mã vạch hai chiều (2D) có thể được đọc bởi một máy đọc mã vạch hay smartphone có chức năng chụp ảnh (camera) với ứng dụng chuyên biệt để quét mã vạch… QR code được sử dụng khá phổ biến trên thế giới và được ứng dụng nhiều nhất trong việc nhận diện thương hiệu hoặc danh tính cá nhân.

Dạo gần đây mình hay gặp một số topic kiểu “Cảm thấy mất định hướng khi học Đại học”, “Liệu em có nên bỏ Đại Học hay không?”, “Kiến thức Đại học toàn thứ vô bổ!”. Các topic này cho thấy nhiều bạn sinh viên đang cảm thấy hoang mang về giá trị của việc học đại học.
- Thiếu niên 17 tuổi hack cả nhà mạng lớn ở Mỹ để dùng chùa Internet di động
- Một số cách phục hồi code trên Git
- Design Pattern – Proxy
- Giá như đố vui và lập trình thật đơn giản!
- Lệnh Git hữu dụng và ý nghĩa của chúng
- Top 5 yêu cầu để lựa chọn 1 platform lập trình mobile app
- Xcode 8 đã chính thức được ra mắt
- Tôi yêu Go. Và tôi cũng ghét Go (phần 1)
- Làm game 2D với Javascript thuần (phần 1)
- Hướng dẫn dùng fastlane để build, up test tự độngsudo gem install fastlane –verbose
- Một thế giới GitHub hoàn toàn mới: công cụ, forum và tính năng mới
- Học cách học: Kỹ năng quan trọng nhất cho lập trình viên
Cần biết
Form Hồ sơ ứng tuyển theo mẫu tại đây >>
Lời Khuyên Cho Ứng Viên
* Điền thông tin vào form Hồ sơ ứng tuyển cùng với CV rõ ràng khi gửi ứng tuyển qua email.
* Gửi email có tiều đề, nội dung lịch sự... công ty sẽ loại ngay các ứng viên nếu thấy email không được chăm chút cẩn thận.
* Các file đính kèm > 2MB, vui lòng sử dụng các dịch vụ lưu trữ onnline và chỉ gửi link qua email.
Khi đi phỏng vấn:
* Chuẩn bị trang phục chỉnh chu, lịch sự.
* Xem trước bản đồ chỉ đường trong phần Liên hệ trên website, Không nên đến trễ.
* Đừng coi phỏng vấn là việc bạn bị hỏi và có nhiệm vụ trả lời, hãy coi đó là một cuộc trò chuyện, trả lời ngắn gọn và thẳng vào câu hỏi, tránh dài dòng, lan man.
* Hãy giữ bình tĩnh, Không nên quá căng thẳng.
* Hãy luôn mỉm cười khi trao đổi phỏng vấn.
* Nên tìm hiểu trước các thông tin về công ty, văn hóa công ty, vị trí đang ứng tuyển...
* Đừng đi phỏng vấn với tâm thế mình phải đạt được vị trí này, hãy coi cuộc phỏng vấn như là một thử thách, cho nên dù bạn có hài lòng với cuộc phỏng vấn như thế nào thì cũng hãy chuẩn bị tư thế rằng mình có thể bị out.
* Nên tự trả lời câu hỏi: "Tôi có thể làm được gì, hay mang lại gì cho doanh nghiệp nếu được tuyển dụng? ".
* Hãy tự tin, quyết đoán bạn sẽ ghi điểm trong mắt nhà tuyển dụng.
Bộ phận nhân sự:
Email: hr@dvms.vn
Tel:
Bản đồ chỉ đường tới công cty xem tại đây >>
Nội quy công ty, xem tại: Scribd >>
hoặc Slideshare >>
Nhiều người quan tâm
- Các nền tảng công nghệ hỗ trợ cho KHỞI NGHIỆP và CHUYỂN ĐỔI SỐ tiết kiệm, hiệu quả,...
- 5 lý do sở hữu một ứng dụng di động là cần thiết đối với doanh nghiệp vừa và nhỏ
- Hệ thống điều hành, tìm gọi và quản lý xe sử dụng công nghệ mới
- Khắc phục lỗi đăng nhập Windows 10, không thể login vào Windows 10
- Mạng xã hội là gì? Hiểu đầy đủ nhất về mạng xã hội
- 100 Website đặt backlink miễn phí chất lượng
- IoT là gì? ứng dụng của IoT trong cuộc sống hiện đại
- Hướng dẫn cài ứng dụng, phần mềm cho Android trực tiếp bằng tập tin APK
- Ứng dụng bán hàng trên smartphone, smart TV, mạng xã hội...
- Platform là gì?
- Top danh sách hơn 300 website submit PR cao
- Cách đổi tên thiết bị Android
Giải pháp cho doanh nghiệp
- Bác sĩ gia đình, chăm sóc sức khỏe tại nhà
- Ứng dụng bán hàng trên smartphone, smart TV, mạng xã hội,...
- Phòng khám, bệnh viện thông minh
- Hệ thống chấm công từ xa thông minh SAttendance và hệ thống định vị STracking
- Lời giải cho xe trống chiều về – vấn đề nan giải của ngành vận tải Việt Nam
- Giải pháp xem truyền hình trên smartphone và cơ hội hợp tác
- Nhà thuốc, dược trên smartphone và tablet
- Bán vé máy bay thông qua smartphone và tablet, smart TV
- Phần mềm quản lý cho thuê xe ô tô thường có những tính năng gì?
- Hệ thống đánh giá đại lý, chi nhánh, cửa hàng SKPI ( hệ thống đánh giá thông minh trên smartphone và tablet)
- Phân hệ Quản lý Đội xe (Fleet Management) trong một hệ thống ERP thường có gì?
- App hẹn lịch chăm sóc sắc đẹp, book vé spa, massage
Giải pháp cho khởi nghiệp
- Tìm giúp việc, sửa điện nước, dịch vụ tại nhà,...
- Ứng dụng mobile để marketing và phân phối rượu vang
- Gọi GAS chỉ với một nút bấm trên smartphone
- Đặt món dễ dàng
- App giúp việc và dịch vụ tại nhà, Tư vấn, xây dựng, chuyển giao, đồng hành cùng quý vị triển khai
- Ứng dụng công nghệ vào giáo dục (Edu Tech)
- Điều hành taxi, ứng dụng gọi xe trên smartphone
- App chăm sóc thú cưng, dịch vụ thú y
- Ứng dụng smartphone và tablet cho ngành du lịch, travel, team building
- Hệ thống order chuyên nghiệp cho quán ăn, cafe, nhà hàng,...
- Mua bán rau củ quả, nông sản trên smrtphone và tablet
- Chat, nhắn tin, gọi điện, đàm thoại
App hữu ích
- Tra cứu thông tin doanh nghiệp tại Việt Nam
- Kiểm tra thực phẩm VietGAP trên smartphone
- Tra cứu thông tin đăng kiểm cơ giới
- app SOS, gọi khẩn đường dây nóng khi gặp nạn, cháy nổ, nguy hiểm tính mạng, cấp cứu, cứu hộ,...tại Việt Nam
- Quản lý chi tiêu, thu/chi kinh doanh, tài chính cá nhân,... trên smartphone
Thế hệ số
- AI giao thông, kết hợp camera và AI nhận diện người không đội nón bảo hiểm
- Hướng dẫn kiểm tra giấy phép lái xe là thật hay giả trên điện thoại
- Sửa lỗi MySQL ERROR 1067 Invalid default value for date, sửa ngay trên phpmyadmin
- Cách tạo máy chủ web trên thiết bị Android của bạn mà không cần root
- Biến điện thoại di động của bạn thành máy chủ, Biến điện thoại di động thành web hosting
- Cách thiết lập OpenVPN cho Android, Cấu hình Chính xác OpenVPN Server
- Cách xây dựng mạng đám mây của riêng bạn Tương thích với Android và iOS
- Biến Android TV box hoặc điện thoại cũ thành máy chủ lưu trữ đám mây
- Bí Ẩn Về Pin Di Động, Được Khám Phá Chỉ Trong 5 Phút
- Chiếm đoạt hàng tỷ đồng chỉ trong vài giây, Cảnh giác chiêu lừa người dùng cài ứng dụng giả mạo
- Lừa đảo rút tiền ngân hàng bằng nhiều thủ đoạn tinh vi, lừa cả ngân hàng, doanh nghiệp vẫn thông
- Công nghệ tạo ra điện từ sóng biển
- Trạm giữ xe đạp ở Nhật, Giải Pháp Giao Thông
- Cách tạo ra pin cho smartphone, pin cho laptop, pin cho xe điện
- Hướng dẫn tự độ iPhone 12 Pro Max, 1 sim thành 2 sim đơn giản
CTY DVMS
Mời quý vị tham khảo hồ sơ năng lực của DVMS tại đây >>
Head Office: 95/2/26 Bình Lợi, Phường 13, Q. Bình Thạnh, TP.HCM, Việt Nam.
Tel: 02836028937 |
Email: sale@dvms.vn
BạnCầnGìCứHỏiDVMS: Chuyển đổi số giao thông, vận tải, giao nhận thông minh ; Giải pháp Blockchain ; Tư vấn, xây dựng, chuyển giao mạng xã hội ; Dịch vụ dữ liệu, Big data ; Uber Giúp việc, uber dịch vụ tại nhà ; Chuyển đổi số cho bệnh viện, y tế ; Chuyển đổi số Bác sĩ gia đình, y tế tại nhà ; Chuyển đổi số cho công ty tín dụng, ngân hàng, Fintech ; Chuyển đổi số cho công ty bảo hiểm ; Chuyển đổi số bán hàng, quản lý hệ thống phân phối ; Chuyển đổi số lĩnh vực du lịch; Chuyển đổi số lĩnh xăng dầu, gas; Giải pháp OTT; Chuyển đổi số nhà thuốc và công ty dược; Chuyển đổi số doanh nghiệp taxi; Chuyển đổi số doanh nghiệp vận tải; Chuyển đổi số dịch vụ tại nhà; Chuyển đổi số nông nghiệp; Giải pháp QRCODE ; Đào tạo chuyển đổi số, xây dựng đội ngũ CNTT cho doanh nghiệp và start-up; Giải pháp chăm sóc sức khỏe tại nhà ; ứng dụng định vị vệ tinh vào cuộc sống;Giải pháp truyền hình; thực tế ảo; mobile game; và giải pháp cho nhiều lĩnh vực khác