Các trang web giải mã những đoạn code Javascript đã được mã hoá

Bài viết này gởi đến bạn vài trang web hữu ích cho mục đích trên, thường xuyên cập nhật.

Lưu ý, bài viết này có thể sẽ làm bạn vướng đến những vấn đề pháp lý khi bạn cố tình giải mã những đoạn code thương mại. Chúng chỉ mang tính chất tham khảo là chính.

 

Bạn vui lòng đọc bài viết này để nhận biết mã mà bạn gặp phải là mã gì.

  1. http://dean.edwards.name/unpacker : trang này hoạt động khá hiệu quả, với những template blogger từ trang ThemeXpose. Lưu ý khi giải mã, bạn chỉ copy những đoạn code đã được mã hoá, sau đó giải mã từng đoạn một, không nên copy tất cả.
  2. http://jsbeautifier.org : trang này vừa giải mã vừa có chức năng làm đẹp cho đoạn JS quá dài dòng và rối rắm. Đọc thêm bài này để biết.
  3. http://ddecode.com/hexdecoder : chuyển giải các mã HTML/Hexa/Octa. 
  4. http://closure-compiler.appspot.com/home 
  5. http://base64decode.net : trang này chuyên chuyển các mã dựa trên base64 encoding. 
  6. http://www.strictly-software.com/unpack-javascript 
  7. đang cập nhật….

AngularJs: Giao tiếp giữa các controller

AngularJs Scope được tổ chức theo dạng phân cấp và lồng nhau. Mỗi ứng dụng có duy nhất 1 $rootScope. Các $scope khác đều kế thừa và nằm dưới nó.

Trường hợp bạn muốn chia sẽ dữ liệu giữa các controller, thì có rất nhiều cách khác nhau.

Angularjs hỗ trợ 2 phương thức: $broadcast và $emit. Vận dụng 2 hàm này, bạn có thể chia sẽ dữ liệu dễ dàng, đặc biệt là nó rất hữu ích khi bạn làm ứng dụng Single Page Application.

$broadcast: lan truyền sự kiện xuống các con của nó
$emit: lan truyền sự kiện theo hướng lên trên

Ví dụ về broadcast

Để lan truyền sự kiện từ 1 controller đến tất cả controller còn lại, bạn tạo 1 service để thực hiện việc lan truyền từ rootScope. Khác...

Xóa tất cả dòng trống trong Visual Studio

  1. Bấm Ctrl+H (Find and Replace)
  2. Chọn"Use Regular Expressions"
  3. Gõ "^$\n" trong ô Find what
  4. Để trống ô Replace With.
  5. Bấm"Replace All"
 

Tất cả các dòng trống sẽ bị xóa
Giải thích:

  1. ^: bắt đầu 1 dòng
  2. $: kết thúc 1 dòng

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

Nguồn: http://nhatkyhoctap.blogspot.com/2014/04/xoa-tat-ca-dong-trong-trong-visual.html

Một số lệnh về Identity Column ở SQL Server

set identity về 0

DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)

Nếu muốn sét giá trị cho identity thì chạy lệnh 

-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to prevoius track
SET IDENTITY_INSERT YourTable OFF

 

AutoMapper

AutoMapper là gì?

AutoMapper là một thư viện dùng để mapping object tới object (object-to-object mapper). Nó cho phép bạn mapping các thuộc tính trong cùng một object tới các thuộc tính của một object kiểu khác. Ví dụ, bạn có thể mapping một heavy enity (một entity có nhiều thuộc tính) Customer tới một đối tượng thuộc lớp CustomerDTO hoàn toàn tự động bằng cách sử dụng AutoMapper.

Vấn đề

Đã bao giờ bạn viết đoạn code như này chưa:

Customer customer = GetCustomerFromDB();

CustomerViewItem customerViewItem = new CustomerViewItem()
                           {
                               FirstName = customer.FirstName,
                               LastName = customer.LastName,
                               DateOfBirth = customer.DateOfBirth,
                               NumberOfOrders = customer.NumberOfOrders
                           };

ShowCustomerInDataGrid(customerViewItem);

Chúng ta có entity Customer, và chúng ta sắp bind các đối tượng Customers lên DataGrid, nhưng như chúng ta đã biết, entity Customer quá nặng, và có quá nhiều thuộc tính không cần thiết, chúng ta cần một object nhẹ cân và duyên dáng hơn, do đó chúng ta sẽ ưu tiên bind object CustomerViewItem lên grid.Khác...