Overloadable operators

C# cho phép dùng operator với Class, Struct

public struct Complex
        {
            public double Real { get; set; }
            public double Imaginary { get; set; }

            public static Complex operator +(Complex c1, Complex c2)
            {
                return new Complex
                {
                    Real = c1.Real + c2.Real,
                    Imaginary = c1.Imaginary + c2.Imaginary
                };
            }
        }

Nhiếp Phong

Đếm số dòng code (Line of Code, LOC)

Nếu xài Visual Studio thì có cái tool Calculate Code Metrics trong menu Analyze.

Hoặc không thì mở Power Shell lên cd vô folder cần đếm rồi chạy, nhớ thêm/ xóa mấy cái file ext cần thiết nha.

(gci -include .cs,.xaml,.js,.cshtml -recurse | select-string .).Count

Làm thế nào để dịch ngược (decompile, reverse engineering) Android APK

Có nhiều lý do để phải decompile một file APK trên Android, nếu bạn cần thì theo các bước sau đây và chỉ với 3 câu lệnh là xong.

Vì các tool này đều viết bằng Java nên đầu tiên là cài đặt Java 8, trang chủ https://www.java.com/en/ mấy chục năm rồi vẫn thế, chả có thay đổi gì. Trên Windows nếu cài xong mà chạy lệnh java -version không có gì thì nhớ thêm Path đến folder cài java trong System environment variables.

Xong rồi thì tải apktool về, coi hướng dẫn chi tiết trong này https://ibotpeaches.github.io/Apktool/install/. Không nhất thiết phải move vào C:\Windows hay /usr/local/bin chi đâu, vẫn có thể chạy lệnh apktool từ chỗ khác được.

Sau khi đã rebuild file APK bằng lệnh thì chúng ta cần sign APK này mới có thể đem cài trên thiết bị được, tải nguyên cục này về https://github.com/techexpertize/SignApk.

Nhiếp Phong

Taskbar Windows 10 trên Win11

Windows 11 ngon lành nhưng mà taskbar hơi chán, nhất là với ai xài màn hình rộng, độ phân giải cao muốn nhanh chóng thì đâu có ai phải rê chuột vô group rồi mới click. Vậy mà chả hiểu sao MS lại giấu luôn cái chức năng ungroup.

Có cái tool miễn phí ở đây https://github.com/valinet/ExplorerPatcher/releases, rất tuyệt vời, chỉ cần tải về rồi chạy file ep_setup.exe là xong.

Phong Vân

Làm sao để Google Chrome auto update trên Ubuntu

First you have to install the key. This can be done by opening Terminal and typing

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

Step two is to add the repository

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

Then you update and, if you haven't already, install Google Chrome

sudo apt-get update sudo apt-get install google-chrome-stable

Phong Vân