Sử dụng git-flow để tự động hóa workflow

Sử dụng git-flow để tự động hóa workflow

Trong bài viết trước về giới thiệu git, chúng ta đã được thấy một trong những workflow cho git rất hiệu quả để tracking các feature, hotfix hay release branch cho dự án. Đây chính là workflow của anh Vincent Driessen với bài viết A successful Git branching model rất chi tiết. Tuy nhiên, với việc phải nhớ khá nhiều lệnh để hiện thực hóa, nhất là khi có nhân sự mới chưa biết nhiều về workflow này thì việc hướng dẫn khá mất thời gian và dễ gây sai sót. Chính vì thế Vincent Driessen đã xây dựng một ... »

Một vài best practice khi tunning Spark

Một vài best practice khi tunning Spark

1. Lựa chọn RDD Operation thích hợp RDD hỗ trợ 2 loại operation: transformation và action. Khi kết hợp các transformation và action khác nhau, có thể cho cùng một kết quả. Tuy nhiên hiệu năng của chúng lại khác nhau, nên việc lựa chọn operation một cách thích hợp có thể cải thiện hiệu năng của chương trình. Sử dụng reduceByKey hoặc aggregateByKey sẽ cho hiệu năng tốt hơn groupByKey Ví dụ với bài toán đếm từ, sau đây là 2 cách dùng groupByKey và reduceByKey val words = Array("one", "two", "two", " ... »

Tóm tắt sách ”Team Geek: A Software Developer's Guide to Working Well with Others”

Tóm tắt sách ”Team Geek: A Software Developer's Guide to Working Well with Others”

Qua truyền thông, mọi người đều biết đến những huyền thoại trong giới công nghệ thông tin như Linus Torvalds hay Bill Gates. Nhưng những phầm mềm gắn liên với tên tuổi họ là Linux và Windows đều được tạo ra từ công sức của rất nhiều lập trình viên khác nhau. Những ngôi sao nổi tiếng như Lionel Messi hay Micheal Jordan cũng vậy, họ không chơi bóng một mình. Lập trình phần mềm là một môn thể thao đồng đội mà đa phần người tham gia – những lập trình viên – đều không phải là thiên tài. Nhiệm vụ ... »

Giới thiệu về Git - Phần 2

Giới thiệu về Git - Phần 2

Mời các bạn xem qua phần 1 Sử dụng git trong thực tế Tại sao lại là git? Git mang lại cho chúng ta 1 cách tiếp cận mới, nó thay đổi cách nghĩ của người phát triển phần mềm về việc merging và branching. Với những công cụ truyền thống là CVS/Subversion thì nguời phát triển luôn luôn lo lắng, e ngại mỗi lúc mergeing/branching với những confict tiềm tàng ẩn chứa rủi ro. Nhưng đối với git, việc đó trở nên dễ dàng và an toàn hơn bao giờ hết, việc mergeing và branching đã trở ... »

Giới thiệu về Git - Phần 1

Giới thiệu về Git - Phần 1

Git là gì? Git là 1 hệ thống Distributed revision control (Distributed version control or Decentralized version control), tạm dịch là hệ thống quản lý source phân tán. Git được phát triển và phân phối trên Linux kernel bởi Linus Torvalds (Người tạo ra Linux) vào năm 2005 và ngày càng trở thành công cụ phổ biến để phát triển phần mềm. Được phát triển khi có nhiều nhà phát triển nhân Linux bắt đầu từ bỏ BitKeeper (1 tool distributed revision control). Torvalds muốn 1 hệ thống phân tán mà sử dụng tương tự như BitKeeper nhưng vào thời ... »

Giới thiệu Chi nhánh Hồ Chí Minh

Giới thiệu Chi nhánh Hồ Chí Minh

Với mong muốn phát triển mở rộng  về quy mô công ty GMO-Z.com VietNam Lab Center không chỉ ở chi nhánh Hà Nội mà công ty mong muốn mở thêm chi nhánh Hồ Chí minh. Chi nhánh Hồ Chí Minh đã được thành lập vào ngày 01/04/2015 và ngay sau đó buổi lễ thành lập được tổ chức tại khách sạn Sài Gòn thuộc thành phố Hồ Chí Minh. Trong buổi lễ có sự tham gia của ban giám đốc công ty GMO-Z.com Vietnam Lab Center, ban giám đốc chi nhánh Hồ Chí Minh của công ... »

Chương 12: Chuyển các suy nghĩ vào code (Turning Thoughts into Code)

Chương 12: Chuyển các suy nghĩ vào code (Turning Thoughts into Code)

“Bạn chưa thật sự hiểu rõ 1 vấn đề trừ khi bạn có thể giải thích được nó cho bà của mình” — Albert Einstein Khi giải thích một ý tưởng phức tạp cho ai đó, rất dễ dàng gây ra sự nhầm lẫn cho họ với những chi tiết nhỏ nhặt. Có thể giải thích một ý tưởng “bằng Tiếng Anh” cho người hiểu biết ít hơn có thể hiểu là một kỹ năng vô cùng giá trị. Nó đòi hỏi bạn phải chắt lọc những nội dung quan trọng nhất của ý tưởng. Việc này không chỉ giúp người ... »

Trích rút vấn đề nhỏ không liên quan

Trích rút vấn đề nhỏ không liên quan

Một kỹ sư không chỉ biết code mà phải biết chia những vấn đề lớn thành những vấn đề nhở và giải quyết lần lượt từng vấn đề một. Hay nói ngắn gọn lại là “Chia để trị”. Trong bài viết này mình sẽ đưa ra vài lời khuyên để đồng nhất, trích rút chương trình con. Cụ thể là: Nhìn vào một function hoặc môt block (gọi chung là chương trình con), hãy tự hỏi rằng “Mục đính cao hơn của đoạn code này là gì” Mỗi dòng code nó đã thực hiện trực tiệm mục đích đó chưa? ... »