Thursday, August 29, 2013

Wednesday, August 28, 2013

XSLT - Resize External Graphic

Resize External Graphic
<fo:external-graphic 
src="s\image.png"  
content-height="scale-to-fit" 
height="2.00in"  
content-width="2.00in" 
scaling="non-uniform"/>

Or

<xsl:attribute-set name="googleMap">
  <xsl:attribute name="height">2.50in</xsl:attribute>
  <xsl:attribute name="content-width">6.50in</xsl:attribute>
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
  <xsl:attribute name="scaling">non-uniform</xsl:attribute>
</xsl:attribute-set>

<fo:external-graphic 
src="url('s\image.png')"
xsl:use-attribute-sets="googleMap" />
    

Tuesday, August 13, 2013

Starling Framework

Starling is a pure ActionScript 3 library for Adobe Flash.

It recreates Flash's display list architecture on the GPU — providing a performance unlike anything before! Starling runs in the browser and on all major mobile platforms, like iOS and Android.

Website:
http://gamua.com/      

Tutorial:
http://www.hsharma.com/tutorials/

Thursday, August 8, 2013

Protect Website in Linux Hosting

1. Thứ nhất

Thư mục gốc của website (và các thư mục con bên trong) đang được phân quyền với chmod=750 và 755, các file php là chmod=644, với quyền trên các items này là rất kém bảo mật, các website khác hoàn toàn có thể thấy được và đọc được nội dung (code) của các file php.

2. Thứ hai

File config.php / configuration.php / wp-config.php có chmod=644 ngay cả các web "hàng xóm" khác cũng có thể đọc và biết được thông tin kết nối đến database. Nên việc hacker tấn công từ đây quá dễ dàng và một khi họ đã vào được database thì việc đăng nhập vào quản trị (admin của website) là điều không khó.

3. Thứ ba

Sau khi đã vào được quản trị. Các hacker thường không để lại dấu tích gì trên log của hệ thống nên không thể xác định được, ngoài ra hacker sau khi xâm nhập vào admin thì ngay lập tức upload các công cụ, shell lên để vào một thư mục nào đó để dễ điều khiển cho lần sau. Chính vì lẽ đó mà một khi web đã bị hack thì khả năng tái diễn hack là rất cao.

4. Thứ tư

+ Các file trong template / theme dễ bị điều chỉnh.

+ Tất cả các cấu hình đều để mặc định (VD: database vẫn để tiếp đầu ngữ là: jos_, file configuration.php vẫn để tại thư mục gốc và không mã hoá...).

+ Mật khẩu Backend (tức Administrator) quá đơn giản.

+ Các bugs của mã nguồn mở chưa được vá.

Các bạn nên tham khảo phương thức xử lý như sau :

  • Download toàn bộ web về máy local (backup) và thực hiện rà soát một lượt trên các thư mục xem nếu có file nào "lạ" thì vui lòng xoá để làm sạch website.
    Hoặc vui lòng upload lại source code. Thường thì các backdoor này hacker dấu trong các thư mục được phân full quyền như : Upload, images, ...

  • Vui lòng phân quyền cho tất cả thư mục (kể cả thư mục gốc website) với chmod=711. Các file là chmod=444 để an toàn bảo mật. Chức năng Change Permissions của CPanel có thể hỗ trợ nhanh chóng việc này.

  • Reset lại toàn bộ mật khẩu, bảo gồm: mật khẩu database, mật khẩu quản trị web và mật khẩu của Hosting.

  • Có thể mã hoá PHP Base64 cho file config.php / configuration.php / wp-config.php (hoặc các file cần bảo mật code).

  • Sau khi thực hiện các thao tác trên Chúng tôi khuyến khích bạn: tạo password Protect cho thư mục admin để hạn chế tối đa tình trạng này tái diễn.

  • Thường xuyên cập nhật phiên bản mới, các bản vá lỗi.

JavaScript - Determines whether a value is an illegal number

The isNaN() function determines whether a value is an illegal number (Not-a-Number).
This function returns true if the value is NaN, and false if not.

Syntax

isNaN(value)

Example

Example

Check whether a number is an illegal number:
<script>

document.write(isNaN(123)+ "<br>");
document.write(isNaN(-1.23)+ "<br>");
document.write(isNaN(5-2)+ "<br>");
document.write(isNaN(0)+ "<br>");
document.write(isNaN("Hello")+ "<br>");
document.write(isNaN("2005/12/12")+ "<br>");

</script>
The output of the code above will be:
false
false
false
false
true
true

Reference:
http://www.w3schools.com/jsref/jsref_isnan.asp

Eclipse - Uninstall Plugin

How do I remove a plug-in?

You should not remove plug-ins from Eclipse. Plug-ins should be installed as features using the Update Manager. The same Update Manager can be used to disable plug-ins by disabling the feature they belong to. Run Help > About Eclipse > Installation Details, select the software you no longer want and click Uninstall. (On Macintosh it is Eclipse > About Eclipse > Installation Details.) In older versions, you might need to Run Help > Software Updates > Manage Configuration..., select the feature of interest, and disable it with the task shown in the right window.
When a feature is disabled, all its plug-ins will be disabled also. They are still available on disk, and they can be enabled at any time in the future.
To physically remove the feature and its plug-ins, you will have to manually remove the feature from the eclipse/features directory and its plug-ins from the eclipse/plugins directory. We advise extreme caution here. Remove the wrong ones, and you may have quite some trouble restoring your Eclipse to a stable state. Unless you care a lot about hard disk use, we recommend leaving the plug-ins where they are.


Wednesday, August 7, 2013

Eclipse - UML Pluggin

If you're a designer then Papyrus is your best choice it's very advanced and full of features, but if you just want to sketch out some uml diagrams and easy installation then ObjectAid is pretty cool and it doesn't require any plugins.


Generate UML Diagrams from Java code in Eclipse with ObjectAid


UML diagrams compliment inline documentation ( javadoc ) and allow to better explore / understand a design. Moreover, you can print and bring them to table to discuss a design.

In this post, we will install and use the ObjectAid plugin for Eclipse to produce jUnit lib class diagrams. Then, we will be able to generate UML diagrams by simply dragging and dropping classes into the editor. We can further manipulate the diagram by selecting which references, operations or attributes to display. 
  • Open Eclipse and go to Help > Install New Software
  • Click on add to add a new repository
  • Enter name ObjectAid UML Explorer
  • Enter Location http://www.objectaid.net/update

Next, select the ObjectAid Class Diagram plugin - it is free - and click Next. The Sequence Diagram one requires a paid license.


Click Finish to confirm your choices and start the instalation process.
  • Click Ok on the security warning
  • Select Restart Now after the installation completes to restart Eclipse.

To create a new UML diagram we start the ObjectAid wizard with File > New > Other... and start typing in the textbox Class Diagram to filter the desired wizard. Click Next, and enter a directory and name for the diagram.


Drop java source or compiled class files into the visual UML editor to start populating the diagram. Right click on a generated class to bring up a context menu and adjust visibility, operations attributes, etc as you like.
Below, we see the Assert class from the jUnit library with all operations and fileds hidden.


From the context menu, we can add implementations and associations for a selected class. In the following screen, we add the interface Test implemented by the TestCase class.


This is how part of the jUnit UML class diagram look after adding some more classes.


To auto layout the diagram right click anywhere within the editor and select Layout Diagram. From the same menu, you can export the diagram to an image ( gif png jpeg ) by clicking the Save As Image... menu item

Comparison
ObjectAid: 
- require license for Sequence Diagram, 
- can drag class from .jar file

GreenUML: has no Sequence Diagram
Modelgoon: has Sequence, Package Diagram
- cannot drag class from .jar file

Reference:
http://fuzz-box.blogspot.co.at/2012/09/how-to-generate-uml-diagrams-from-java.html
http://stackoverflow.com/questions/10697824/uml-plugin-for-eclipse-class-diagrams-java-code-generation-indigo-juno
http://www.objectaid.net/update
http://green.sourceforge.net/ 
http://www.eclipse.org/papyrus/
http://tips4ufromsony.blogspot.co.at/2012/07/eclipse-plug-in-to-create-class-and.html
http://www.modelgoon.org/?page_id=75