
同時に複数のgitブランチを編集する方法
複数のgitブランチを同時に編集する方法を発見したのでメモ git worktree このワークツリーというコマンドが救世主だった 使い方はこう git worktree add 生成するフォルダのパス ブランチ名 このコマンドでフォルダを生成すると、そのブランチの中身がそのフォルダの中に生成される。 gitコマンドも普通に使えるので、コミットをすることも可能 ただし、databese.yml等のgit管理されていないファイルは生成されないので注意(当然のことではあるがハマったのでメモ)

Các bước để khắc phục vấn đề Encoding trong Ruby
Gần đây khi là dự án với khách hàng Nhật tôi gặp chút rắc rối trong việc encoding các chuỗi ký tự khác nhau, để cho dễ hình dung thì tôi xin đưa ra 1 đoạn exception mình nhận được khi format vài ký tự sang SHIFT-JIS từ UTF-8 irb ( main ) : 005 : 0 > x = "㈱" irb ( main ) : 007 ...

CI/CD with Jenkins (P2)
Chào các bạn, Trong bài trước, mình đã giới thiệu các khái niệm cơ bản về CI/CD, cách set up 1 ví dụ đơn giản với Jenkins. Trong bài viết này, mình sẽ hướng dẫn các bạn xây dựng 1 chuỗi các tiện ích bằng Jekins có thể áp dụng trong dự án: Setting quyền truy cập vào hệ thống Jenkins sử dụng ...

7 nguyên tắc thiết kế cho IoT
Ngày nay, IoT đang trở thành một xu hướng cho sự phát triển của xã hội thông minh, nơi mà mọi vật có thể kết nối Internet và giao tiếp với nhau. Cuộc sống hằng ngày của chúng ta ngày càng tràn ngập những đồ vật thông minh, nó xuất hiện trong nhà, trong môi trường làm việc và tại các thành phố cũng ...

Continuous Integration with Jenkins - Bài 2: Cài đặt và cấu hình Jenkins
Chào các bạn! Chúng ta lại gặp nhau trong phần 2 của loại bài viết về Continuous Integration with Jenkins của mình. Ở bài 1, chúng ta đã được giới thiệu về CI, các ưu điểm và khó khăn khi triển khai CI trong phát triển phần mềm. Mình cũng đã giới thiệu về Jenkins - một open source cho CI server, ...

[NodeJS]Use GraphQL with ExpressJS
Mở đầu Ở phần trước mình đã giới thiệu về GraphQL, phần này mình sẽ hướng dẫn cách tích hợp graphql vào project expressjs sử dụng mongodb. Tạo project bằng ExpressJS express --view=pug graphql-express Cấu trúc project: public: Assest folder routes: Chứa các routes schema: ...

Jbuilder
Trước đây, việc tạo nguồn cấp dữ liệu JSON thích hợp có thể rất phức tạp. May mắn thay Ruby on Rails làm cho giao dịch với JSON dễ dàng hơn nhiều. Hôm nay chúng ta sẽ học cách sử dụng gem JBuilder , cho phép chúng ta dễ dàng xây dựng các nguồn cấp dữ liệu phức tạp. Trước tiên, chúng ta cần phải ...

Code Smells - Part 1 - Long Method
Joker: What? How can code "smell"?? Developer: Well it doesn't have a nose... but it definitely can stink! Definition Code smell hay bad code (dịch nôm na là code bốc mùi hay code xấu) trong lập trình, đề cập đến bất kỳ triệu chứng bất ổn nào bên trong mã nguồn của một chương trình, mà vì ...

Immutability Helpers - Reactjs
Importing import update from 'react-addons-update'; // ES6 var update = require('react-addons-update'); // ES5 with npm note: update là một add-on và không liên quan đến react. Tuy nhiên nó thường được sử chung với react. Overview React cho phép ta sử dụng bất kì kiểu quản lý dữ liệu nào ...

Lập trình C cho hệ thống nhúng (P5- Serial Interface trong V850E)
1.Giới thiệu về UART Bài viết này sẽ giới thiệu cho các bạn về các khái niệm về truyền thông nối tiếp UART và cách sử dụng truyền thông nối tiếp trên V850. Định nghĩa Thuật ngữ USART trong tiếng anh là viết tắt của cụm từ: Universal Synchronous & Asynchronous serial Reveiver and ...

Triển khai website lên Amazon Cloud
Ngày nay cloud đã trở lên …bla bla… Nhìn chung lợi ích của việc sử dụng cloud thì rất là nhiều, nhưng xét trên góc nhìn của 1 developer thì nổi bật nhất đó là “không phải quan tâm quá nhiều tới infra”. Sau khi code xong một web application, chúng ta chỉ việc upload đống ...

Locking with rails
Mình có lướt FB và có 1 xem đc 1 câu hỏi của 1 bạn khá hay như sau: Vậy câu hỏi đặt ra là tại sao tài khoản của 1 vài người bị âm. Và cách khắc phục như thế nào? Đầu tiên hãy giả sử Tôi là khách hàng và trong tài khoản của tôi có 10 triệu VND. Tôi bắt đầu truy cập vào 1 trang web mua hàng online ...

Reactjs - Bài 1 - Helloworld
1.Giới thiệu về React React là một thư viện javascript được phát triển bởi Facebook, dùng để xây dựng giao diện người dùng(User Interface – UI). UI tất nhiên là quan trọng, nhưng không phải là tất cả. Để phát triển ứng dụng hoàn chỉnh, một mình React Js là không làm được tất cả, bạn sẽ cần ...

Tìm hiểu về Phaser
1.Phaser là gì? Phaser là một HTML5 game framework mã nguồn mở. Phaser sử dụng Pixi.js để rendering trên WebGL và Canvas , Phaser hỗ trợ các trình duyệt web trên cả desktop và mobile. Game được phát triển bởi Phaser có thể dễ dàng được biên soạn thành ứng dụng cho iOS, Android và desktop thông ...

Sự phát phì của phần mềm (software bloat), thực trạng, nguyên nhân và quản lý.
Thời gian gần đây, trên phương tiện thông tin đại chúng, ở các quán cafe hay lúc trà dư tửu hậu, một chủ đề mà người ta thường nói nhiều là tình trạng béo phì của trẻ em, của người lớn. Những chiếc ghế trên xe buýt, trên tàu hỏa, hay trên những chuyến bay giá rẻ trở nên chỉ còn phù hợp khi 2 chiếc ...

Khi nào cần đánh index trong cơ sở dữ liệu
Các dự án Rails ban đầu thường sẽ hoạt động nhanh và ổn định. Nhưng sau khoảng vài tháng, khi số lượng người dùng sản phẩm bắt đầu tăng lên, các web request sẽ trở nên chậm hơn, việc sử dụng CPU của cơ sở dữ liệu tăng lên quá cao. Điều này dẫn đến việc, mặc dù chúng ta không thay đổi gì nhưng sản ...

Một vài method hay trong rails
1. Mở đầu Sau đây mình xin giới thiệu 1 vài method hay trong rails (Hay sử dụng hoặc hay ho) 2. Sử dụng Object#try(:method_name) thay vì kiểm tra nil if parent . children && parent . children . singleton ? singleton = parent . children . first send_mail_to ( singleton ) ...

Top 8 tools for Ruby on Rails code optimization and cleanup
Giữ code của bạn sạch sẽ và tổ chức cấu trúc tốt trong khi phát triển một ứng dụng Rails lớn là một thách thức ngay cả đối với một lập trình viên có kinh nghiệm. Thật may mắn, có một số gem giúp chúng ta trong công việc này trở nên dễ dàng hơn. Đa số lập trình viên đều tạo ra những "mã chết" ...

Rails refactoring
I. Đặt vấn đề: Website bạn phát triển ngày càng lớn, cùng với đó là số người trong team cũng dần tăng lên. Bạn nhận thấy app design theo style "Fat models, skinny controllers" ngày càng khó khăn và nhiều bug. Hôm nay chúng ta sẽ thảo luận xem sử dụng PORO (Plain Old Ruby Object) như thế nào ...

Giới thiệu về ReactJS - Phần I (Các khái niệm cơ bản)
React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với xu hướng Single Page Application. Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác. Nếu như AngularJS là ...