Chủ Nhật, 27 tháng 12, 2015

Thứ Sáu, 4 tháng 12, 2015

Nhúng Video từ Youtube

Có nhiều cách nhúng video từ Youtube, đa phần các trang chia sẻ trên mạng đều dựa vào URL gốc của video hoặc Playlist, sau đó học trích xuất ra Video ID và xử lý embed bằng các trình HTML5 Video hoặc Flash Video. Cách mình trình bày dưới đây dùng Youtube API để nhúng video, và tạo Playlist từ các video riêng lẻ.
HTML & Javascript Code.
Bonus:
Để lấy ảnh đại diện cho video bạn dùng đường dẫn theo cấu trúc sau:

https://i.ytimg.com/vi_webp/{ID}/0.webp
Thay cái chổ {ID} bằng cái video ID là được, ví dụ:
https://i.ytimg.com/vi_webp/j6xasB5TOVM/0.webp
Sẽ có được ảnh sau:

Chúc cuối tuần vui vẻ.

Thứ Hai, 30 tháng 11, 2015

Một vài function về thời gian viết bằng C# có thể hữu ích cho bạn.

1. Tính thời gian trôi qua kể từ một thời điểm.

Một hàm nho nhỏ giúp bạn lấy ra khoảng thời gian tường minh cho con người dễ hiểu từ một khoảng thời gian. Ví dụ như "x days ago", "x hours ago", "x minutes ago". Đặt biệt hữu ích cho các bạn làm web.


2. Lấy số thứ tự của một tuần trong năm.

Trong một năm dương lịch ta có khoảng 52 tuần (cũng tùy năm có thể là 53, 54 tuần). Vậy câu hỏi đặt ra là với một ngày bất kỳ trong năm dương lịch thì ta đang ở tuần thứ mấy tính từ đầu năm. Hãy tham khảo cách trả lời bằng đoạn code dưới đây nhé.
to be continue......

Chúc một ngày tốt lành.


Thứ Sáu, 20 tháng 11, 2015

Chuyển hình ảnh thành Base64 và ngược lại bằng C# - Convert Image to Base64 and back

Xin chào !
Hôm nay Thi muốn giới thiệu đến các bạn một class C# dùng để chuyển đổi một hình ảnh về dạng base64 và ngược lại. Class này đặt biệt hữu dụng trong trường hợp các bạn muốn chuyển các Object về dạng lưu được để lưu vào xml.
 Ví dụ Thi có hình ảnh sau muôn chuyển sang base64:

Khi chuyển sang base64 sẽ có dạng :

Nhúng vào web ta dùng:

Như vậy có thể thấy sự tiện lợi của base64 như thế nào rồi phải không? và class chuyển đổi viết bằng C#.

Giờ thì xin chào.

Chủ Nhật, 1 tháng 11, 2015

Quản lý Source code trên Github đơn giản với TortoiseGit.

Ai đã dùng qua Tortoise SVN chắc chắn sẽ nghĩ ngay đến cái TortoiseGit này làm việc tương tự. Đúng vậy hai cái làm việc gần như là giống nhau, đơn giản để quản lý source. Nếu bạn đã từng dùng các công cụ quản lý source code trên github khác, cũng nên tham khảo chút.



1. Đầu tiên là bạn phải có tài khoản tại github.com cái đã, nhấn vào liên kết và tạo một tài khoản cho mình thôi, nếu đã có tài khoản bạn có thể skip bước 1.

2. Tạo một ripository rồi làm tiếp.

3. Tiếp theo ta tải về git-for-windows tại đây. Và cài vào máy.

4. Tải và cài đặt TortoiseGit tại đây. Tải thêm pack ngôn ngữ nếu bạn muốn (optional)

Giờ ta tiến hành làm việc thôi:

Nhấp chuột phải vào thư mục muốn chứa code, ta chọn Git Clone.
Điền  địa chỉ của cái Repository mà bạn tạo hồi nãy vào vị trí 1 nhấn OK và phần mềm kết nối với Github tải source về.

Bạn tạo source và đặt vào trong thư mục mà phần mềm TortoiseGit vừa tạo ra. Giờ ta sẽ đưa source lên trên github.

Nhấp chuột phải vào thư mục chọn Git Commit -> "master"...


Nó sẽ báo nếu bạn chưa khai báo email và Username. Nhấn OK để tiếp tục

Điền và thực hiện như trên hình.

Ghi vài dòng chú thíc và OK.

Tiến trình tải lên thành công nhấn nút Push bên phía tay trái.

Điền Username

Điền Password, Nhấn OK

Thông báo như hình là bạn đã commit xong lên github rồi.

Bạn vào lại trang repository trên github để kiểm tra kết quả của mình làm từ nãy giờ ra sao. Giờ các bạn tự Vọc thoải mái nhé.

Chúc thành công.

Thứ Ba, 27 tháng 10, 2015

Root HTC One Mini 2

Đây là bài thứ 2 cũng là bài cuối trong bài ghi nhận lại mình đã root con HTC One Mini 2 của mình như thế nào. Bạn muốn làm được theo hướng dẫn dưới vui lòng xem bài đầu tiên tại đây.

Trước tiên vẫn như bài trươc bạn tải tài nguyên về máy cái đã. Vì vẫn sử dụng tiếp tool adb của bài trước nhé. Bạn cần tải các thứ sau:
Một trong 2 con sau, khuyến cáo dùng con 2.7
     SuperSU.zip
      twrp-2.7.1.0-20140802-memul.img
     twrp-2.8.1.0-20142812-memul.img

Các bạn tải về không giải nén nhé để vào trong thư mục adb theo bài trước.
- Bật gỡ lỗi USB: Cài đặt - Tùy chọn nhà phát triển - Check Chế độ USB debug.
- Cắm cáp điện thoại vào máy tính thông qua USB. Đợi cho máy tính nhận.
- Copy file SuperSU.zip vào điện thoại để vào nơi nào dễ tìm nhất cho Bạn.
- Tiếp tục Command line theo bài trước, ta gõ adb reboot-bootloader. Máy sẽ khởi động lại và tự động vào fastboot cho Bạn.
- Khi màn hình trắng chữ nhiều màu xanh đỏ hiện lên. Bạn tiếp tục gõ: fastboot flash recovery Name_der_recovery.img . Bạn thay Name_der_recovery.img bằng tên file bạn đã tải ở trên VD: fastboot flash recovery twrp-2.7.1.0-20140802-memul.img
- Điện thoại sẽ khởi động lại, Bạn chọn mode recover.
- Chọn Install và đã đến lúc bạn tìm file SuperSU.zip rồi. Nó bắt bạn kéo mũi tên sang phải giống kiểu (slide to unlock của Iphone) để xác nhận cài đặt, đợi 30s để xong.
- Chọn Reboot sau đó chọn System.
- Điện thoại khởi động xong vào android là coi như bạn đã root xong.
- Bạn vào CHPlay tải về ứng dụng root checker basic để kiểm tra xem root có ổn không. Nếu báo root không thành công bạn phải làm lại rồi.
- Khi vào CHPlay nhớ update ứng dụng SuperSU nhé.
- Tới đây có thể bạn muốn lock bootloader lại rồi đó. Đọc cuối bài viết trước để xem cách lock nhé.

Root HTC One Mini 2, đơn giản nhỉ vậy mà làm mình tốn nhiều thời gian quá. Mình chậm hiểu quá mà :D. Thực ra tốn nhiều thời gian ở chổ tìm phần mềm cho tương thích với máy vậy mới mệt. Nhưng bạn đọc được bài viết này của mình là Bạn đã rút được rất nhiều thời gian rồi đó.

Chúc các bạn thành công.


Unlock bootloader cho HTC One Mini 2 Kinh nghiệm cá nhân Thi

Sau một ngày vật lộn tìm cách Root con HTC One Mini 2 của mình, mình đã tìm được một số kinh nghiệm, muốn chia sẻ với các bạn muốn root cái điện thoại này. Bạn đừng nên tin tưởng vào ứng dụng root tự động như framaroot, hay kinggo root với em này, vì mình tốn thời gian mà fail vậy nên mới buồn.

Đây là bài đầu tiên trong serie Root HTC One Mini 2 với nội dung là Unlock bootloader. Bài tiếp theo tại đây.

Trước tiên phải lấy driver về cài đã, bạn chọn 1 trong 2 cái dưới. 

HTC Driver 4.10.0.001.rar

HTCDriver v4.11.0.001.rar

Lưu ý: Bạn phải backup dữ liệu trên điện thoại trước khi làm theo các bước sau, vì sau khi Unlock bootloader thì toàn bộ dữ liệu trên máy sẽ mất. Không backup ráng chịu.

Tải về cài vô.

- Bật gỡ lỗi USB: Cài đặt - Tùy chọn nhà phát triển - Check Chế độ USB debug.
- Cắm cáp điện thoại vào máy tính thông qua USB. Đợi cho máy tính nhận.

Tiến hành Unlock bootloader ,các bước thực hiện như sau:
  1. Để bắt đầu thì trước tiên bạn cần truy cập vào http://www.htcdev.com/ và tự tạo cho mình một tài khoản HTCDEV.
  2. Tải về adb-setup-1.4.2 (một số trang gọi là fastboot) Files tại đây, tải về xong nhấp cuột phải giải nén ra, chạy file install.bat, nhấn y y mấy cái là xong.
  3. Bắt đầu truy cập vào http://www.htcdev.com/bootloader/ và làm theo hướng dẫn. Trước tiên chọn "HTC One Mini 2" và nhấn "then begin unlock bootloader"
  4. 2 -3 cái thông báo hiện ra nói về các điều khoản, cứ nhấn chọn rồi ok hay next là xong
  5. Các Step 1 đến 4 là nhắc bạn cách kích hoạt chế độ Fastboot và sau đó cắm điện thoại vào máy tính.
  6. Bỏ qua bước 5 6 7 và thực hiện bước số 8 như dưới đây
  7. Trong thư mục giải nén ra có thư mục adb vào đó, nhấn chuột vào khoảng trống, giữ phím Shift và click chuột phải, menu sổ ra sẽ có dòng "Open command window here", chọn vào đó để chạy cửa sổ CMD. Lưu ý là bạn chạy quyền administrator nhé, tắt antivirus đi, tắt firewall đi.
  8. Tại cửa sổ lệnh hiện lên đánh vào fastboot oem get_identifier_token
  9. Bạn sẽ thấy rất nhiều ký tự. Copy đoạn từ <<<< Identifier Token Start >>>> đến <<<<< Identifier Token End >>>>>
  10. Paste nó vào cái khung ở trên trang web htc (bước số 10). Nhấn Submit
  11. Done. Check email để nhận file Unlock_code.bin nhé.
  12. Copy file Unlock_code.bin vào cùng thư mục abd lúc nãy.
  13. Tại cửa sổ lệnh hiện lên đánh vào fastboot flash unlocktoken Unlock_code.bin
  14. Khi đó điện thoại sẽ hiện lên 1 bảng yêu cầu xác nhận, các bạn dùng phím volume (tăng âm lượng, giảm âm lượng) và phím Power (phím nguồn) để chọn nhé, chọn dòng có chữ Yes là đc. ( Trường hợp ko hiện lên bảng xác nhận này do file Unlock ko đúng token, Bạn copy chuỗi code để unlock ko đúng hoặc làm lỗi ở bước nào đó, cần làm lại từ đầu bao giờ nó hiện đc bảng này thì mới xong)
  15. Sau khi máy khởi động lại, toàn bộ dữ liệu trong máy sẽ bị reset. Và các phần mềm sẽ được cài lại. Tới đây bạn restore lại dữ liệu để mọi thứ trở về nguyên dạng. Mình đã backup nhưng mà quên mấy cái ảnh và giờ em nó đã thỉnh kinh.
Chúc các bạn thành công!


P/S : Để lock lại thì rất đơn giản, chuyển máy về chế đ fastboot, cắm vào máy tính và gõ lệnh: fastboot oem lock. Tuy nhiên chỉ nên khóa sau khi bạn đã root máy xong nhé.

Thứ Ba, 20 tháng 10, 2015

Tạo đối tượng trong c# với JSON từ một URL API

Trong lập trình, đôi lúc ta truy vấn thông qua API và nhận được JSON từ API đó. Cách đơn giản nhất là serialization nó và đặt tên các property cho đúng. Mình tìm ra một cách để serialization JSON nhanh chóng đó là dùng trang web http://json2csharp.com/

Ví dụ mình ta có một API về các đối tượng trong tất cả các tập film Star War ( Chiến tranh giữa các vì Sao) tại http://swapi.co/api/. Ta muốn lấy tất cả các nhân vật có địa chỉ truy vấn tại http://swapi.co/api/people/

Truy cập vào http://json2csharp.com/ và Paste địa chỉ  http://swapi.co/api/people/ vào nhấn Enter ta đã có được Class đối tượng People tương ứng. Ta có thể Paste chuỗi JSON vào cũng được thay cho URL.

Tới đây Copy và Edit một chút là được rồi, Rất nhanh chóng và tiện lợi phải không nào.
Chúc Bạn một ngày vui vẻ, hãy cố gắng thành công sẽ đến nhanh thôi. Bye bye

Thứ Sáu, 16 tháng 10, 2015

Thứ Tư, 14 tháng 10, 2015

Marlett Font và cách dùng trong C#.

   Marlett là một phông chữ TrueType ẩn bên trong hệ điều hành Windows, được Microsoft phân phối từ Windows 95. Nó là một phông chữ hệ thống dùng để tạo ra các Icon thường gặp trên các Menu và cửa sổ. Tuy nhiên không phải ai cũng biết đến nó đang tồn tại và hằng ngày vẫn có người cắm đầu code để có thể vẽ được những họa tiết cơ bản này, hoặc save resource các icon này cho vào picturebox.


   Ví dụ như các icon close, maximize và minimize trên góc phải bên trên mỗi cửa sổ Windows. Một ví dụ khác là nút radio button được tạo từ 6 ký tự từ font Marlett.

Trong lập trình C# muốn dùng font Marlett này ta không thể chọn trực tiếp từ danh sách phông chữ, vì phông này là phông chữ ẩn. Ta phải dùng lệnh như sau:
 this.lblMinimized.Font = new Font("Marlett", 12, FontStyle.Regular);
Giờ đây Label lblMinimized hiển thị theo phông chữ này sẽ là một cái hình rất đẹp và mịn theo các size to nhỏ (theo code trên là Size 12pt). Hệ thống hình họa theo phông này ta có thể tham chiếu theo ảnh sau :
Ký tự và hình họa tương ứng trong font Marlett.
Phông chữ này hiện tại release theo các phiên bản Windows nên không cần phải cài đặt.
Cuối cùng, hy vọng Bạn đã biết thêm một kiến thức phù hợp cho việc Custom các control cho winform.

Chúc các Bạn vui khỏe và vui code. bye..

Thứ Hai, 12 tháng 10, 2015

Dùng WHILE để thay thế Cursors trong sql server

Dùng cursor trong sql server sẽ chiếm dụng tài nguyên CPU và RAM nhiều, nên trong lập trình người ta hạn chế hết sức có thể để tránh viết Cursor, ngoại trừ các trường hợp không tránh được. Ví dụ mình nêu dưới đây sẽ giúp các bạn dùng vòng lặp while thay thế cho cursor.

Lấy ra tên các đối tượng trong một cơ sở dữ liệu.
Chúc các bạn thành công.

Lấy kết quả sau khi chạy command line với C#

Trong lập trình với windows đôi lúc bạn cần chạy một đoạn command line nào đó để lấy kết quả từ MS-DOS. Đoạn code như trong ảnh dưới sẽ giải quyết được vấn đề của Bạn.
Tìm các Instane của SQL server cài sẵn trong PC.
 Chúc thành công.

Chủ Nhật, 11 tháng 10, 2015

Thứ Hai, 28 tháng 9, 2015

Bảo vệ Code .net của bạn với ConfuserEx

Bất cứ một vị phụ huynh nào đều không muốn đứa con của mình bị nhìn lén với không một mảnh vải che thân. Tôi cũng vậy và có thể bạn khi đọc bài viết này cũng mong đứa con tinh thần của mình không bị bóc trần source. Tất nhiên là ở mức độ nào đó thôi chứ cao thủ decode thì chịu kiểu nào cũng có người làm được. Ông bà ta có câu là "Tránh được người ngay chứ sao tránh được kẻ gian". Tất nhiên nhiều "kẻ gian" chỉ đơn giản là tò mò làm chơi thôi chứ không có ý xấu, và cũng không ít kẻ lười suy nghĩ xem code rồi copy để làm abc... xyz.



ConfuserEx là công cụ obfuscators for .NET miễn phí tốt nhất theo danh sách List of obfuscators for .NET . Bạn có thể theo link trên mà tìm hiểu thêm, còn nhiều công cụ khác nữa nhưng free cũng tốt như SkaterLight hay Eazfuscator.NET (3.3.161.40493).

DOWNLOAD

Đầu tiên bạn cần công down bản release cuối cùng tại địa chỉ https://github.com/yck1509/ConfuserEx/releases
Sau khi tải xuống giải nén ra một thư mục là xong.

SỬ DỤNG

- Chạy file ConfuserEx.exe trong thư mục đã giải nén.
- Trong "Project" tab
          Chọn "base directory" là thư mục sẽ làm việc.
          Click vào nút + để thêm các file dll sẽ mã hóa, chọn nhiều cũng được.
- Chuyển sang "Settings" tab
          Click chọn < Global settings > và nhấn nút + Một rule sẽ được thêm vào. Khi mà trùng với mẫu cài đặt rule sẽ hoạt động, nó trả về true nghĩ là rule này luôn hoạt động được.
          Click chọn nút Edit (nút thứ 3 từ trên xuống bên phải). Một form mới sẽ xuất hiện
          Chọn preset về "Maximum" sau đó đóng lại close.(Bạn đọc thêm tài liệu của ConfuserEx sẽ hiểu có thể chỉnh thêm những cái gì !?!)
- Chuyển qua "Protect" tab
          Nhấn nút Protect và đợi một chút là xong việc!

LỜI CUỐI

Sau khi ConfuserEx hoàn thành bạn có thể tiến hành kiểm tra lại kết quả của nó bằng các chương trình deobfuscator như ILSpy, dotPeek... nếu muốn.

Hy vọng đóng góp cho bạn một cách để bảo vệ "con yêu" của mình trước những người hàng xóm không thân thiện.

Xin chào và chúc may mắn.

Thứ Tư, 16 tháng 9, 2015

Upload ảnh lên host Image Shack miễn phí với C#

Trong bài viết trước mình đã giới thiệu các bạn code upload ảnh lên host imgur.com. Tiếp theo tinh thần bài viết đó mình viết tiếp bài này giới thiệu đến các bạn code upload ảnh lên host ImageShack cũng là một hosting cho phép upload ảnh miễn phí và dễ dàng chia sẻ lên các trang mạng internet.

Trước tiên cũng như imgur bạn phải đăng ký một tài khoản của ImageShack. Sau khi đăng nhập bạn vào đường dẫn https://imageshack.us/api_request/ để yêu cầu ImageShack cung cấp cho các bạn một api key. Bạn đợi một thời gian sẽ có email thông báo api key cho bạn. Khi có api key rồi bạn lấy api điền vào code mình chia sẻ dưới đây để có kết quả hoàn chỉnh nhé.


Tới đây bạn có thể upload ảnh lên trên ImageShack rồi. Bạn có thể tham khảo thêm code upload ảnh lên Imgur.com tại bài viết Upload ảnh lên host Imgur miễn phí với C# của mình.

Chúc bạn nhiều niềm vui trong lập trình. Mọi thắc mắc vui lòng comment bên dưới, mình, sẽ rất vui nếu giúp được bạn.

Upload ảnh lên host Imgur miễn phí với C#

Hi all !

Hôm nay Thi muốn chia sẻ với mọi người một đoạn code dùng upload ảnh từ máy local lên trang chia sẻ ảnh Imgur.com. Đoạn code viết bằng C# sử dụng WebClient và một chút regular expression. Nhưng trước hết bạn phải đăng ký 1 tài khoản trên trang Imgur trước đã nhé để lấy ClientID đã, phần đăng ký mình không giới thiệu bạn tự tìm hiểu.
Sau khi đăng nhập bạn vào setting => applications sẽ thấy ClientID của mình. Sau đó bỏ ClientID vào code để thực hiện nhé.




Tới đây bạn có thể upload ảnh lên trên Imgur rồi. Bạn có thể tham khảo thêm code upload ảnh lên ImageShack.com tại bài viết Upload ảnh lên host Image Shack miễn phí với C# của mình.
Goodbye! see you soon

Chủ Nhật, 13 tháng 9, 2015

Xây dựng form dạng kéo thả tạo code bootstrap

Khi xây dựng biểu mẫu cho web dùng bootstrap ta có thể sử dụng công cụ online http://bootsnipp.com/forms để xây dựng form online nhanh chóng và hiệu quả. Có tính tái sử dụng cao và trực quang. Ngoài ra còn có rất nhiều resource ta có thể tham khảo thêm trên trang này http://bootsnipp.com/resources.

Chúc vui vẻ.