Tài Nguyên

Kho báu template, e‑book và tool miễn phí – “vũ khí bí mật” giúp dân code tăng tốc dự án trong một nốt nhạc.

75 bài viết

Agile là gì? Scrum là gì? Các công cụ quản lý dự án theo Agile mà bạn nên biết

Agile là gì? Scrum là gì? Các công cụ quản lý dự án theo Agile mà bạn nên biết

Agile là gì? Scrum là gì? Hiện nay Agile là phương thức phát triển phần mềm được nhiều doanh nghiệp sử dụng, đặc biệt là Scrum. Bài viết này sẽ giải thích các khái niệm cơ bản nhất cũng như những giá trị cốt lõi về Agile và Scrum hiểu được lí do tại sao nó lại được sử dụng phổ biến đến vậy. Agile là gì? Agile là một phương pháp phát triển phần mềm linh hoạt, là một hướng tiếp cận cụ thể cho việc quản lý dự án phần mềm. Nó gồm một quá trình làm việc tương tác và tích hợp để có thể đưa sản phẩm đến tay người dùng càng nhanh càng tốt. Trong các dự án phần mềm, đặc biệt là các dự án chúng ta sẽ gặp rất nhiều khó khăn trong việc thu thập đầy đủ và chính xác các requirements của product để lập plan tốt ngay từ đầu. Có quá nhiều vấn đề gây ảnh hưởng đến việc phát triển phần mềm mà chúng ta không lường trước được. Ví dụ như những vấn đề có thể đến từ những yếu tố như kinh doanh, kỹ thuật, con người, thời gian ra mắt …. Những phương pháp phát triển phần mềm theo cách truyền thống ngày càng bộc lộ nhiều nhược điểm và tỷ lệ các dự án thất bại cao trong thời kỳ bùng phát của ngành công nghệ. Nhận ra vấn đề đó, một số cá nhân và công ty riêng lẻ đã đưa ra các phương pháp phát triển phần mềm hiện đại hơn và khác nhau để thích ứng với tình hình mới. Những phương thức phát triển phần mềm này giúp phần nào giải quyết được một số vấn đề nhưng lại phát sinh...

By stationd
20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp

20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991 . Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Với các đặc điểm gần như là triết lý căn bản của ngôn ngữ Python như: “đẹp đẽ tốt hơn xấu xí, minh bạch tốt hơn che đậy, đơn giản tốt hơn phức tạp, phức tạp tốt hơn rắc rối và dễ đọc” được trình bày trong tài liệu “The Zen of Python”. Ngôn ngữ lập trình Python có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết command code với số lần gõ phím tối thiểu. Với việc tài liệu lập trình Python hiện nay tuy có nhiều nhưng tài liệu Python tiếng Việt lại khá ít, hi vọng bài viết tổng hợp dưới đây bao gồm tài liệu tiếng Việt và tiếng Anh sẽ giới thiệu đến các bạn để học tập và trao dồi kiến thức về ngôn ngữ này tốt hơn, dựa theo các tài liệu này các bạn có thể tự học ngôn ngữ lập trình Python từ cơ bản tới nâng cao cũng như được cập nhật kiến thức mới nhất từ các chuyên gia. Các vị trí python tuyển dụng từ top công ty tập đoàn Tại sao nên học Python? Điểm nổi bật nhất của Python so với các ngôn ngữ khác đó chính là nhờ cú pháp cực kỳ đơn giản và thanh lịch, rất thích hợp cho các bạn newbie chưa biết gì về lập trình, nhưng không vì thế mà đánh giá...

By stationd
IDE là gì? Hiểu rõ hơn về IDE và Text Editor

IDE là gì? Hiểu rõ hơn về IDE và Text Editor

IDE là gì? IDE là gì? – IDE viết tắt là từ ( I ntegrated D evelopment E nvironment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng. Ngoài ra IDE tích hợp các tool hỗ trợ khác như trình biên dịch ( Compiler ), trình thông dịch ( Interpreter ), kiểm tra lỗi ( Debugger ), định dạng hoặc highlight code, tổ chức thư mục code, tìm kiếm code… Các môi trường IDE thường bao gồm Một trình soạn thảo mã nguồn ( source code editor ): dùng để viết mã. Trình biên dịch ( compiler ) và/hoặc trình thông dịch ( interpreter ). Công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết ( linking ), và có thể chạy chương trình một cách tự động. Trình gỡ lỗi ( debugger ): hỗ trợ dò tìm lỗi. Ngoài ra, còn có thể bao gồm hệ thống quản lý phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI). Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp ( class browser ), trình quản lý đối tượng ( object inspector ), lược đồ phân cấp lớp ( class hierarchy diagram ),… để sử dụng trong việc phát triển phần mềm theo hướng đối tượng. Phân theo số lượng các ngôn ngữ được hỗ trợ, ta có thể chia các môi trường phát triển hợp nhất được sử dụng rộng rãi ngày nay thành hai loại: Môi trường phát triển hợp nhất một ngôn ngữ: làm việc với một ngôn ngữ cụ thể, ví dụ: Microsoft Visual Basic 6.0 IDE. Môi trường phát triển hợp nhất nhiều...

By stationd
Kinh nghiệm làm việc tại Google qua phỏng vấn với kỹ sư chuyên về phát triển Node.js

Kinh nghiệm làm việc tại Google qua phỏng vấn với kỹ sư chuyên về phát triển Node.js

Tôi đã có một buổi phấn thú vị với Matt Loring, một kĩ sư đang làm việc cho team Node.js runtime của Google. Anh ấy cũng đã từng góp công vào nhiều project khá tuyệt khác. Sau đây là những gì Matt đã nói. Công việc của anh tại Google là gì vậy Matt? Tôi làm bên profiling, diagnostic tooling và tối ưu hóa hiệu suất cho Node.js runtime cũng như là V8 JavaScript engine. Chúng tôi tập trung vào việc đảm cho các client có thể yên tâm mà sử dụng Node.js cho dịch vụ backend của họ. Nói cụ thể hơn, tôi đã đóng góp vào sự phát triển của project mã nguồn Node.js cũng như tạo ra các tool giúp cho việc sử dụng và theo dõi các ứng dụng của nền tảng Node.js được chạy trên Google Cloud Platform. Anh có thể nói thêm về Google cloud Platform cũng như Node.js đóng vai trò gì trong đó? The Google Cloud Platform giúp các công ty tập trung vào khâu cuối của những ứng dụng phần mềm thay vì phải bỏ thời gian xây dựng và quản lí cũng như là cung cấp servers. Node.js là một trong những lựa chon tốt nhất để đưa các app đó lên Google Cloud, đó đồng thời cũng là trách nhiệm của team tôi. Anh thích nhất điều gì của Node.js? Chắc chắn đó là cộng đồng mạng rồi. Bởi ở Node.js, các nhà developer và maintainer sẵn sàng bỏ thời gian giúp đỡ người dùng và khuyến khích cộng đồng hoạt động tích cực. Trước khi vào làm cho Google thì tôi chả biết Node.js là gì cả nhưng may thay là công đồng đã gúp tôi rất nhiều. Anh có bí quyết gì để học về Google Cloud...

By stationd
8 câu hỏi phỏng vấn dành cho các lập trình viên Mobile app

8 câu hỏi phỏng vấn dành cho các lập trình viên Mobile app

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. Vì vai trò này rất quan trọng đối với các startups tương lai, việc tuyển chọn các ứng viên managers phù hợp đòi hỏi tính chọn lọc cao và rất khắt khe. Nếu bạn là 1 dev mobile app tài năng và đã từng ứng tuyển vào các công việc ở mảng này, bạn có thể đọc tiếp. Chúng tôi liệt kê danh sách 8 câu hỏi mà bạn có thể nhận được khi đi phỏng vấn cho vị trí Mobile Apps Developer 1. Loại smartphones mà bạn sử dụng là gì? Đúng là câu hỏi vô nghĩa nhỉ! Bạn đang lập trình ứng dụng cho di động, tất nhiên smartphone của bạn phải là 1 trong các công cụ chính. Tôi đoán là bạn sẽ chẳng có vấn đề gì khi trả lời câu hỏi này nhưng nếu bạn thể hiện sự quen thuộc và kiến thức sử dụng nhiều hơn 1 hệ điều hành/ thương hiệu thì sẽ tốt hơn nhiều. 2. Kể tên 3 mobile apps mà bạn thích Nếu bạn chọn lập trình app là nghề nghiệp mà bản thân theo đuổi, bạn phải cập nhật kiến thức về những apps mới nhất. Người quản lý mảng tuyển dụng sẽ muốn bạn luôn thử nghiệm và kiểm tra nhiều app khác nhau, từ đó đưa ra những tiêu chuẩn chắc chắn về những điểm được xây dựng tốt và những điểm cần cải thiện trong app. Đảm bảo chắc chắn là bạn sở hữu vài app yêu thích trong smartphone của mình và sẵn sàng thảo luận về chúng từ chức năng...

By stationd
20 câu hỏi phỏng vấn Javascript dành cho Intern/Fresher

20 câu hỏi phỏng vấn Javascript dành cho Intern/Fresher

Câu hỏi phỏng vấn Javascript dưới đây sẽ giúp bạn vượt qua được những câu hỏi của nhà tuyển dụng. Giới thiệu Theo một cuộc điều tra cách mạng ẩn danh mà mình tìm hiểu được thì trong cuộc sống có 2 thứ khó hiểu nhất. Đối với nam giới thì đó là phụ nữ, còn đối với lập trình viên thì đó hẳn là javascript rồi. Javascript là ngôn ngữ không thể thiếu trong thời đại hiện nay. Dù bạn có học ngôn ngữ gì đi chăng nữa thì bạn vẫn cần phải biết về javascript. Hôm nay mình xin chia sẻ một chút kiến thức về javascript, cụ thể là các câu hỏi phỏng vấn JavaScript mà nhà tuyển dụng thường sẽ hỏi bạn. Bài viết này mình viết với mục đích dành cho các bạn Intern, Fresher trong quá trình đi phỏng vấn có thể tham khảo vì đây là những câu hỏi liên quan đến javascript mà rất dễ bị “sờ gáy”. Bắt đầu nào! Tôi đã phỏng vấn ở Silicon valley như thế nào (Phần 1) Câu hỏi phỏng vấn JavaScript dành cho Intern/ Fresher #1. Javascript là gì? Trả lời: Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa ra, javascript được sử dụng rộng rãi trong các ứng dụng Website. Nó là một ngôn ngữ thông dịch . #2. Các kiểu dữ liệu trong Javascript? Trả lời: Có 6 kiểu đó là String , Number , Object , Undefined , Boolean , Array , Null Ví dụ: // String var a = 'viblo'; // Number var b = 3; // Object var c = { a: 1, b: '2' } // Undefined var d; // Boolean var e = 10 <...

By stationd
Lập trình viên, hãy tự cứu lấy đôi mắt mình trước khi quá muộn

Lập trình viên, hãy tự cứu lấy đôi mắt mình trước khi quá muộn

Nghề lập trình viên làm việc nhiều giờ liên tục, cường độ cao với máy tính là điều không thể tránh khỏi. Đó chính là nguyên nhân của các vấn đề về mắt cảm giác mệt mỏi, mờ nhạt đôi khi đi kèm những cơn nhức đầu vào buổi chiều muộn. Đặc biệt, khi cùng một lúc sử dụng nhiều thiết bị: máy tính, điện thoại, máy tính bảng, tivi,.. thì những dấu hiệu này càng đến sớm hơn. Đó là những dấu hiệu cho thấy mắt bạn bắt đầu có vấn đề, và đã đến lúc cần quan tâm tới nó nhiều hơn. Với đặc thù công việc của mình, thật khó để yêu cầu lập trình viên hạn chế hay không sử dụng máy tính. Nhưng may mắn thay, có một vài lời khuyên từ chuyên gia có thể giúp bạn có được đôi mắt sáng, khỏe mà vẫn có thể đảm bảo tốt công việc của mình: Sử dụng style chữ hợp lý Có thể bạn chưa biết, cỡ chữ và màu sắc của trang văn bản được hiển thị cũng rất quan trọng đối với thị giác. Cỡ chữ lý tưởng là cỡ chữ gấp 3 lần cỡ chữ nhỏ nhất mà bạn có thể đọc được dù đứng xa máy tính một khoảng cách gấp 3 lần khoảng cách thông thường khi sử dụng máy. Bạn nên chọn chữ đen trên nền trắng hoặc chữ đậm trên nền sáng. Cần nhớ không nên chỉnh cho độ tương phản giữa chữ và nền quá kém hoặc đọc chữ trên một nền quá rối rắm sẽ không tốt cho thị giác của bạn chút nào. Chớp mắt đúng cách Nhìn chằm chằm vào máy tính liên tục nhiều giờ liền khiến chung ta quên chớp mặt, dẫn...

By stationd
Cách trở thành 1 Kỹ sư Phần mềm thực tập chỉ với 4 tháng tự học

Cách trở thành 1 Kỹ sư Phần mềm thực tập chỉ với 4 tháng tự học

Mình không thể ngờ rằng mình đã trở thành kỹ sư phần mềm thực tập tại 1 công ty có tiếng chỉ với 4 tháng tự học, dù từng là 1 tay mơ và tự học lập trình chỉ vào khoản tháng Giêng đầu năm. Trong xã hội ngày nay, dù ở bất cứ lĩnh vực nào, để tìm 1 internship (thực tập) khá là khó khăn, nói chi là trở thành 1 kỹ sư phần mềm thực tập , nhất là đối với 1 tay lơ-tơ-mơ như mình. Trải qua cả 1 quá trình dài với khá nhiều công đoạn: gửi CV IT nè, nghiên cứu để trả lời các câu hỏi chuyên ngành, dĩ nhiên nó làm mình ám ảnh trong suốt 1 thời gian, và phần tệ hơn: các bạn sẽ trải qua nó hết lần này đến lần khác. Và để nhận được lời đề nghị cho bản thân như bây giờ, các bạn chắc cũng không ngờ là mình đã phải rải đơn tới hàng trăm công ty, nước chảy đá mòn, giờ thì mình đã quá quen thuộc với những khó khăn này rồi. Đừng quá lo lắng, mình đã làm được, vậy thì các bạn, các lập trình viên , cũng sẽ làm được, chỉ cần cứng rắn 1 tí và học đúng phương pháp thôi. Giới thiệu khá dài dòng rồi, giờ mình sẽ đi vào phần chính, và dưới đây là bản ghi chép các bước hướng dẫn và những bước quan trọng qua kinh nghiệm để trở thành 1 kỹ sư phần mềm thực tập mà mình đã trải qua và đã thực hiện. BƯỚC 1: ĐỂ TRỞ THÀNH KỸ SƯ PHẦN MỀM THỰC TẬP – HÃY HỌC CĂN BẢN !!! Rõ ràng dù có là thiên tài và làm...

By stationd
Top 10 thư viện Python tốt nhất cho Data Scientist nửa đầu năm 2024

Top 10 thư viện Python tốt nhất cho Data Scientist nửa đầu năm 2024

Khi Python ngày càng nhận được nhiều sự quan tâm của cộng đồng Data Science trong những năm gần đây, tôi đã muốn tổng hợp cho các data scientists và engineers những thư viện được sử dụng nhiều nhất, dựa trên kinh nghiệm làm việc của bản thân. Và vì tất cả các thư viên đều là nguồn mở, nên chúng tôi đã thêm các commits, số lượng các contributors và các chỉ số khác từ Github với vai trò là các chỉ số proxy thể hiện mức độ nổi tiếng của thư viện đó. 1. NumPy (Commits: 15980, Contributors: 522) Khi bắt đầu giải quyết task về khoa học bằng Python, tập hợp phần mềm được thiết kế riêng cho scientific computing trong Python sẽ không thể không hỗ trợ SciPy Stack của Python (đừng nhầm lẫn với thư viện SciPy – là 1 phần của stack này, và cộng đồng của stack này). Tuy nhiên, stack này khá rộng, có hơn cả tá thư viện trong nó và chúng ta thì lại muốn tập trung vào các core packages (đặc biệt là những packages quan trọng nhất). Package cơ bản nhất, khi computation stack về khoa học được xây dựng là NumPy (viết tắt của Numerical Python), cung cấp rất nhiều tính năng hữu ích cho các phần operations trong n-arrays & matrics trong Python. Thư viện này cung cấp khả năng vector hóa các vận hành về toán trong type array NumPy, giúp cải thiện hiệu suất và theo đó là tốc độ execution. Năm 2024 rồi, tình hình ngôn ngữ Python như thế nào? 2. SciPy (Commits: 17213, Contributors: 489) SciPy là 1 thư viện phần mềm cho engineering và khoa học. Một lần nữa bạn cần phải hiểu sự khác biệt giữa SciPy Stack và...

By stationd
Trưởng bộ phận tuyển dụng của Linkedin làm gì đầu tiên với ứng viên khi phỏng vấn?

Trưởng bộ phận tuyển dụng của Linkedin làm gì đầu tiên với ứng viên khi phỏng vấn?

Bài viết lý giải nguyên nhân tại sao mỗi khi phỏng vấn ứng viên, Trưởng bộ phận tuyển dụng của Linkedin – Brendan Browne – lại đưa cho họ 1 cây bút đánh dấu xóa được, yêu cầu họ đến thẳng chiếc bảng trắng treo trên tường. Browne đã cầm lái đội ngũ tuyển dụng của kênh mạng xã hội nổi tiếng Linkedin từ năm 2010, và trong quá trình xây dựng đội ngũ của mình, anh đã tìm ra được 1 bài tập mới lạ, nhờ đó Browne biết được có nên tuyển ứng viên đó hay không. Bất kể đang tuyển vị trí gì, Browne cũng sẽ hỏi ứng viên: “Điều bạn tâm huyết nhất trong cuộc sống là gì? Hãy sử dụng bảng trắng kia, giải thích cho tôi quy trình hoạt động của nó” “Vì đây là 1 tình huống khá mơ hồ nên các ứng viên có khuynh hướng trả lời 1 cách rất tự nhiên” Ví dụ, nếu 1 ứng viên thích uống bia tự pha khi có thời gian rảnh, anh ta sẽ vẽ ra 1 quy trình pha bia và giải thích quy trình đó. Tương tự với 1 ứng viên có đam mê theo vai trò cụ thể (role-specific) như product management. 4 điều mà Browne học được từ bài tập này: Điều gì khiến các ứng viên quan tâm sâu sắc nhất? 2. Họ có thể giải thích về bản thân ở mức độ nào? 3. Cách suy nghĩ về quy trình? 4. Cách giải quyết câu hỏi/ tình huống… mơ hồ? Nhờ có bài tậ trên, Browne đã thể hiện rõ quan điểm của CEO của LinkedIn CEO, Jeff Weiner về 1 nhân viên lý tưởng sẽ phù hợp với 3 mảng sau: mơ những điều lớn lao, biết...

By stationd
Tổng hợp tài liệu môn học ngành công nghệ thông tin (Phần 2)

Tổng hợp tài liệu môn học ngành công nghệ thông tin (Phần 2)

Tài liệu ngành công nghệ thông tin đã tiếp tục được Station D tổng hợp, Station D xin tiếp tục gửi đến cho các bạn phần tiếp theo các môn học của ngành CNTT tại Việt Nam, đặc biệt là những bạn sinh viên ngành Công nghệ thông tin đang sắp làm quen với các môn học chuyên ngành. Hi vọng tài liệu ngành công nghệ thông tin sẽ giúp cho các bạn học tập được hiệu quả hơn khi còn đang chập chững những bước đầu trên con đường trở thành 1 lập trình viên tương lai! Tài liệu làm chủ Python trong vòng 4 tuần (Phần 1) Tài liệu làm chủ Python trong vòng 4 tuần (Phần 2) Phần này sẽ là nội dung các môn học thuộc ‘Kiến thức cơ sở ngành’, bao gồm: 1. Cấu trúc dữ liệu và giải thuật 🌟 : Trong khoa học máy tính, cấu trúc dữ liệu là một cách lưu dữ liệu trong máy tính sao cho nó có thể được sử dụng một cách hiệu quả. Thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn của các chỉ thị hay phương cách được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán trước. Bài giảng ⭐️ : https://bit.ly/cau-truc-du-lieu-va-giai-thuat Đề thi ⭐️ : https://bit.ly/de-thi-cau-truc-du-lieu-va-thuat-toan 2. Cơ sở dữ liệu: Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách...

By stationd
Bí mật giúp bạn thành công khi phỏng vấn (P1)

Bí mật giúp bạn thành công khi phỏng vấn (P1)

Nếu bạn đã từng tham gia phỏng vấn, hoặc tìm kiếm trên Google về vấn đề này, rất có thể bạn đã nghe nói về cuốn sách bán chạy Cracking the Coding Interview của tác giả Gayle Laakmann McDowell . Cuốn sách của McDowell đã nhanh chóng trở thành tác phẩm kinh điển cho những ai muốn làm việc cho những gã khổng lồ như Facebook , Amazon và Salesforce . Với sơ yếu lý lịch bao gồm các vị trí tại Google , Microsoft và Apple , cô ấy có đủ uy tín và kinh nghiệm để viết nên tuyệt phẩm đó. 300+ vị trí PHP đang chờ bạn tại Station D Gần đây, McDowell đã nói chuyện với Emily Moore của Glassdoor để chia sẻ một số mẹo hay để vượt qua các kỳ phỏng vấn cam go – hãy cùng xem để biết cách thể hiện tốt trong buổi phỏng vấn tại các công ty mà bạn luôn mơ ước. Glassdoor: Giữa HackerRank, whiteboarding, paired programming v.v Hiện nay các kiểu phỏng vấn rất đa dạng. Theo chị ứng viên thực sự mong muốn điều gì nhất ở một buổi phỏng vấn ? McDowell: Một buổi phỏng vấn điển hình bắt đầu với một hoặc hai cuộc phỏng vấn qua điện thoạ i (ít nhất một trong số đó là về kĩ thuật), tiếp theo sẽ có từ 4 đến 6 buổi phỏng vấn tại công ty. Trong những buổi phỏng vấn tại công ty, một trong những loại câu hỏi phổ biến là câu hỏi về hành vi. Những câu khác sẽ nghiêng về kĩ thuật, thường bao gồm coding / thuật toán, thiết kế hoặc các kiến ​​thức công nghệ chuyên sâu và kĩ năng. Một buổi phỏng vấn bình thường diễn ra từ 45...

By stationd