Single Responsibility trong SOLID Principle

Bài viết này bàn về S trong SOLID principle. Trong bài viết này http://longka.info/blog/2015/10/26/a-note-about-solid-principles-demo-in-symfony2/ , mình nói sơ qua về ý nghĩa của từng nguyên tắc trong SOLID và demo với symfony2. S: Single Responsibility - tức là một class chỉ nên đảm nhận một nhiệm vụ, hoặc một class nếu có một lý do nào đó để thay đổi thì chỉ có một lý do (_ A class should have only one reason to change_ [1])...

January 24, 2016 · 5 min · longka

My vim editor

what I am using with vim now ? vundle https://github.com/VundleVim/Vundle.vim Plugins: Plugin 'VundleVim/Vundle.vim' |~ Plugin 'tpope/vim-fugitive' |~ Plugin 'L9' |~ Plugin 'Valloric/YouCompleteMe' |~ Plugin 'shawncplus/phpcomplete.vim' |~ Plugin 'scrooloose/nerdTree' |~ Plugin 'altercation/vim-colors-solarized' |~ Plugin 'ctrlp.vim' ~/.vimrc content ( personal preference) set number "show line number set tabstop=4 "set tab stop 4 spaces set encoding=utf-8 "set encoding utf-8 " NERD tree config nmap <C-\> :NERDTreeToggle<cr> set autoindent set copyindent " color config syntax enable set background=dark colorscheme solarized " ctrlp option let g:ctrlp_map = '<c-p>' let g:ctrlp_cmd = 'CtrlP' Some shortcuts that I used to use:...

January 23, 2016 · 1 min · longka

composer namespace và autoload với psr 4

Mục đích bài viết: Bạn muốn sử dụng namespace va` psr4? namspace là gì: khi lập trình với JAVA hoặc .NET, chúng ta muốn gom những class liên quan đế nhau vào một package hay namespace. psr4 là gì http://www.php-fig.org/psr/psr-4/ - là chuẩn để autoload các classes từ đường dẫn chứa classes cần load tự động (autoload) Vậy autoload là gì? Nhiều người trong chúng ta viết chương trình theo phương pháp hướng đối tượng (OOP) và cứ mỗi class lại viết một file cho nó (theo cách mà JAVA hay ....

January 23, 2016 · 3 min · longka

php 7 return types and overriding an interface

interface IA { public function func1() : bool ; } class A implements IA { public function func1() : bool { //echo 'this is func1 override from IA'; return "this is string"; } } $objA = new A; echo($objA->func1()); interface IA { public function func1() : bool ; } class A implements IA { public function func1() : string { //echo 'this is func1 override from IA'; return "this is string"; } } $objA = new A; echo($objA->func1()); declare(strict_types=1) ?...

January 20, 2016 · 1 min · longka

Laravel 5 BindingResolutionException in Container.php line 827

Error: [caption id=“attachment_248” align=“aligncenter” width=“300”] laravel-ioc-binding-exception[/caption] Context that caused this eror [caption id=“attachment_249” align=“aligncenter” width=“300”] test controller[/caption] [caption id=“attachment_250” align=“aligncenter” width=“300”] foo service with php primitive type[/caption] When working with laravel 5, have you ever ask yourself that how** Laravel IOC** work, how **Laravel IOC** can handle concrete class binding instead of defining in somewhere (for laravel in Service providers). Basically, if you inject a concrete class to another class, it will automatically bind to that class by laravel Container...

January 18, 2016 · 2 min · longka

Note về dhcp và file /etc/resolv.conf

Mấy tháng này mò mầm, config trên NetworkManager để chỉnh dns sang 8.8.8.8 mà không được. Hôm ni rảnh rảnh ngồi vọc trên google thì phát hiện ra nên chỉnh trong file /etc/resolv.conf. Đại loại là dùng lệnh vim /etc/resolv.conf Sau đó chỉnh lại nameserver 8.8.8.8 Tuy nhiên, lại thắc mắc một điều là cứ mỗi lần vào một mạng nào đó, file này lại bị edit. Để tránh trường na`y....

January 7, 2016 · 2 min · longka

Góp nhặt những cái nhìn đầu tiên khi đặt chân lên đất Malaysia

Về mặt tổ chức hành chính: Malaysia chia theo từng bang(theo bác bạn ngồi cạnh chuyến bay - từng làm trợ lý cho vua xứ Mãlay thì có 5 bang lớn, theo chủ hostel thì 14 bang, theo wikipedia thì 15 bang, ??). Trong từng bang lại có một vị vua, và trong các vị vua này sẽ luôn phiên nhau làm vua của vua (vua của Malaysia hiện tại gần 90 tuổi) - vòng xoay là 5 năm (tay chủ hostel thì nói 4 năm)....

January 6, 2016 · 4 min · longka

User Acceptance Test with Behat (PHP)

[embed]http://www.slideshare.net/logaloga/acceptance-test-with-behat-56168729[/embed]...

December 15, 2015 · 1 min · longka

Liệt kê toàn bộ tập tin, lưu vào mảng và các ví dụ liên quan trong bash script

Đôi lúc chúng ta cần lưu kết quả sau khi thực hiện lệnh ls hoặc lệnh find vào một mảng (array) để xử lý cho một yêu cầu nhỏ nào đó. Trong bài này chúng ta sẽ tìm các file có đuôi .sql trong một thư mục, sau đó in ra tên không chứa đuôi .sql của từng tập tin. Đầu tiên chúng ta cần list ra những file có đuôi ....

December 14, 2015 · 2 min · longka

Viết cho ngày mới, thiệt là mới

Những ngày qua nhiều cảm xúc đến với mình. Và quả thật mình có quá nhiều cảm xúc :D Mình quyết định sẽ mở một chuyên mục riêng về những suy nghĩ và kinh nghiệm trong cuộc sống. Dành cho blog cá nhân thầm kín kia chỉ những chuyện cả nhân và góc riêng chỉ mình biết. Chả biết từ khi nào văn phong của mình lại dài dòng văn tự khúc dạo đầu như rứa ( làm tình thì chắc cần phải dài dòng thì mới hiệu quả - sách vở nói vậy :v) Sáng ni khi đi làm mình vừa đi vừa nghĩ về chuyện khởi nghiệp và những trường hợp xoay quanh nó....

December 11, 2015 · 2 min · longka