Breaking News

Thứ Năm, 24 tháng 7, 2014

Thứ Tư, 23 tháng 7, 2014

Định huớng chuyên ngành công nghệ thông tin cho dân IT năm 1, năm 2 năm 3, . . .

Đầu tiên bạn cần định huớng là mình thích cái gì để sau này làm việc với nó, và bạn chỉ cần học tốt cái đó là đc.
Mình ví dụ:


  • Bạn thích lập trình Web,  Web có nhìu ngôn ngữ: PHP, ASP.NET, JAva,. . .-> cần chọn 1 ngôn ngữ để học . . . .
  • Ứng dụng di dộng: android, iOS, Winphone, . ..
-> chọn 1 để học
(android -> JavaiOS ->Object C, SwiftWinphone -> C#)Di động đầu tư 1 trong 2 mảng: ứng dụng or game
, . . .

P/S: Các bạn cùng chia sẽ
Read more ...

Thứ Hai, 21 tháng 7, 2014

Bộ sách TỰ LUYỆN TOEIC 900 A và TOEIC 900 B

Bộ sách TỰ LUYỆN TOEIC 900 A và TOEIC 900 B là bộ sách được cô Mai Phương – Giám đốc Trung tâm Ngoại Ngữ 24h biên soạn. Cô Mai Phương đã giảng dạy luyện thi Toeic tại Hà Nội trên 6 năm, cô liên tục thi Toeic hàng tháng để đánh giá mức độ đề thi với số điểm rất cao luôn trên 970, cô 2 lần đạt 990, lần mới nhất là vào ngày 05/7/2013

Bộ sách TỰ LUYỆN TOEIC 900 A và TOEIC 900 B

Link download (Bao gồm cả sách và file nghe)

Download:
  ▶ 900A:  Tại đây 

  ▶ 900B:  Tại đây 


Bộ sách dành cho các bạn làm test Toeic, đang chuẩn bị thi Toeic thật để làm quen với bài thi thật, đã nắm rõ kỹ năng, chiến lược, và ngữ pháp cần luyện tập để thành thạo thêm.
Trải qua 3 lần chỉnh lý, bộ sách TỰ LUYỆN TOEIC 900 đã đạt chuẩn về hình thức và nội dung với cam kết sẽ tăng được 200 điểm TOEIC sau khi học xong của chính cô Mai Phương.
Bộ DVD và sách tự luyện thi TOEIC 900 do cô Mai Phương biên soạnTrang bìa 2 cuốn Tự luyện TOEIC 900 A và B
Mỗi bộ Tự luyện Toeic 900 A hoặc B gồm 10 bài test reading và listening chia làm 3 cuốn, 1 cuốn đề và 2 cuốn giải thích đề. Mỗi một câu được giải thích rõ ràng tỉ mỉ, vì sao chọn đáp án này, đáp án kia và tất cả đều được dịch sang tiếng Việt (kể cả phần script listening nhé).
2 cuốn tự luyện 900 A và B khác nhau như thế nào: Cuốn A dễ hơn cuốn B, cuốn A được sản xuất từ năm 2011, cuốn B được sản xuất năm 2013. Cuốn B nội dung được update theo đề thi TOEIC 2013. 
Read more ...

Thứ Sáu, 18 tháng 7, 2014

Built on Android Game Application Use AndEngine

Step 1: extends BaseGameActivity on AndEngine
PHP:
onLoadEngine
onLoadResources
onLoadScene
onLoadComplete
Step 2: Declaration variable
PHP:
    private static final int CAMERA_WIDTH 720;
    private static final 
int CAMERA_HEIGHT 480;

    private 
Camera mCamera;
    private 
BitmapTextureAtlas mBitmapTextureAtlas;
    private 
TiledTextureRegion mFaceTextureRegion;
Step 3: new variable on method
PHP:
public Engine onLoadEngine() {
        
// TODO Auto-generated method stub
        
this.mCamera = new Camera(00CAMERA_WIDTHCAMERA_HEIGHT);
        return new 
Engine(new EngineOptions(trueScreenOrientation.LANDSCAPE,
                new 
RatioResolutionPolicy(CAMERA_WIDTHCAMERA_HEIGHT),
                
this.mCamera));
    }
Step 4: Load Resources on Method onLoadResources
PHP:
@Override
    
public void onLoadResources() {
        
this.mBitmapTextureAtlas = new BitmapTextureAtlas(6432,
                
TextureOptions.BILINEAR_PREMULTIPLYALPHA);
        
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
        
this.mFaceTextureRegion BitmapTextureAtlasTextureRegionFactory
                
.createTiledFromAsset(this.mBitmapTextureAtlasthis,
                        
"face_circle_tiled.png"0021);

        
this.mEngine.getTextureManager().loadTexture(this.mBitmapTextureAtlas);
    }
Step 5: Load game on onLoadScene
PHP:
@Override
    
public Scene onLoadScene() {
        
// TODO Auto-generated method stub
        
this.mEngine.registerUpdateHandler(new FPSLogger());

        final 
Scene scene = new Scene();
        
scene.setBackground(new ColorBackground(0.09804f0.6274f0.8784f));

        final 
int centerX = (CAMERA_WIDTH this.mFaceTextureRegion.getWidth()) / 2;
        final 
int centerY = (CAMERA_HEIGHT this.mFaceTextureRegion
                
.getHeight()) / 2;
        final 
Ball ball = new Ball(centerXcenterYthis.mFaceTextureRegion);

        
Log.d("FishingonLoadScene",  "onLoadScene dx = " ball.getX()
                + 
"dy = " ball.getY());

        
scene.attachChild(ball);

        return 
scene;
    }
Insert class Ball:
PHP:
private static class Ball extends AnimatedSprite {
        private final 
PhysicsHandler mPhysicsHandler;

        public 
Ball(final float pX, final float pY,
                final 
TiledTextureRegion pTextureRegion) {
            
super(pXpYpTextureRegion);
            
this.mPhysicsHandler = new PhysicsHandler(this);
            
this.registerUpdateHandler(this.mPhysicsHandler);
            
mPhysicsHandler.setVelocity(DEMO_VELOCITYDEMO_VELOCITY);
        }

        @
Override
        
protected void onManagedUpdate(final float pSecondsElapsed) {
            if (
this.mX 0) {
                
this.mPhysicsHandler.setVelocityX(DEMO_VELOCITY);
            } else if (
this.mX this.getWidth() > CAMERA_WIDTH) {
                
this.mPhysicsHandler.setVelocityX(-DEMO_VELOCITY);
            }

            if (
this.mY 0) {
                
this.mPhysicsHandler.setVelocityY(DEMO_VELOCITY);
            } else if (
this.mY this.getHeight() > CAMERA_HEIGHT) {
                
this.mPhysicsHandler.setVelocityY(-DEMO_VELOCITY);
            }
            
Log.d("FishingonManagedUpdate""onManagedUpdate dx = " this.getX() + "dy = "
                    
this.getY());
            
super.onManagedUpdate(pSecondsElapsed);
        }
    }
Notes library on using project:
PHP:
package studycoding.net.movingball;
import org.anddev.andengine.engine.Engine;import org.anddev.andengine.engine.camera.Camera;import org.anddev.andengine.engine.handler.physics.PhysicsHandler;import org.anddev.andengine.engine.options.EngineOptions;import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;import org.anddev.andengine.entity.scene.Scene;import org.anddev.andengine.entity.scene.background.ColorBackground;import org.anddev.andengine.entity.sprite.AnimatedSprite;import org.anddev.andengine.entity.util.FPSLogger;import org.anddev.andengine.opengl.texture.TextureOptions;import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;import org.anddev.andengine.opengl.texture.region.TiledTextureRegion;import org.anddev.andengine.ui.activity.BaseGameActivity;
import android.util.Log;

  Step 6: Buil applition: 
Xây Dựng Ứng Dụng Game trên Android Sử dụng AndEngine


Read more ...

Thứ Năm, 17 tháng 7, 2014

Hướng dẫn cài đặt Mac OS trên VMware, máy thật PC, Laptop

0


1. Hướng dẫn cài đặt Mac OS trên VMware
Những điều lưu ý trước khi tiến hành
- Máy chạy Windows 7 trở lên, ram tối thiểu 4gb
- Cài đặt sẵn VMWare phiên bản 9
- Với các bạn ở windows 8 hay 8.1 để lập trình winphone hay windows app gì đó, lưu ý là cách cài máy ảo này sẽ xung đột với Hyper-V, nên để chạy được máy ảo ta cần turn off Hyper-V đi.
- Mở ảo hóa Intel Vitualization(ko biết ghi có đúng không) trong BIOS, nếu đã mở sẵn mà trong quá trình chạy sắp tới mà bị báo lỗi thì các bạn tắt đi rồi mở lại.
- Tải trước gói OS X Mavericks 10.9 Retail VMware Image ở địa chỉ sau, hoặc có thể liên hệ mình để copy, đây là gói MacOS đã được config sẵn, sau khi đã chạy được lần đầu các bạn chỉ cần làm thêm vài bước nữa là có thể sử dụng.
hoặc sử dụng torrent:
http://kickass.to/os-x-mavericks-10-9-retail-vmware-image-t7981468.html
- Đã tải sẵn file Xcode.dmg để có thể tiến hành cài đặt Xcode luôn, các bạn cũng có thể liên hệ mình để copy.
---------------------------------------------------------------------------------------------------------
Các bạn thực hiện lần lượt các bước sau:
Hướng dẫn cài đặt Mac OS trên VMware
Dơwnload file huớng dẫn:
  ▶ Link dơwnload:  Tại đây
2. Hướng dẫn cài đặt Mac OS trên PC
 HƯỚNG DẪN CÀI ĐẶT MAC OSX TRÊN PC TOÀN TẬP.
hướng dẫn cài đặt MAc OS trên PC

Dơwnload file huớng dẫn:
  ▶ Link dơwnload:  Tại đây
Read more ...

Thứ Tư, 16 tháng 7, 2014

20 câu lệnh SSH phổ biến được dùng nhiều nhất

Yêu cầu

  • Cài SSH client như Putty (Windows) hay Terminal (Mac và Linux).
  • Một VPS với SSH server đang hoạt động.
  • Một cốc cà phê đen hay một cốc sữa Mộc Châu không đường :p.
  • Một máy tính với kết nối Internet ổn định (tránh mất kết nối khi đang điều khiển, tránh phải kết nối lại).

Một số ước định

  • Nhấn Enter hoặc Return trên bàn phím sau mỗi dòng lệnh được nhập xong.
  • Đường dẫn kết thúc với “/” thì đó là thư mục (VD: /home/admin/http/ , thì http ở đây là thư mục).
  • Đường dẫn tới thư mục luôn có “/” (xem VD trên).
  • Đường dẫn đến file không kết thúc bằng “/” (VD: /home/admin/private/tailieu.doc , thì private là thư mục,tailieu.doc là tên file).
  • File không phải lúc nào cũng phải đuôi đi kèm.
Ok, bắt đầu với các dòng lệnh phổ biến mà bạn cần biết nào.

Lệnh điều hướng

1. Di chuyển đến thư mục khác
Dùng lệnh cd để đến thư mục khác
cd [tên thư mục]
VD: di chuyển đến thư mục “download” thì đánh lệnh
cd download
2. Về thư mục Home
cd ~
3. Trở về thư mục gần nhất bạn vừa làm việc
cd -
4. Đến thư mục bao phủ phía trên.
cd ..
VD: thư mục “docs” nằm trong thư mục “office”, bạn đang ở ở cửa sổ làm việc với thư mục “docs”, muốn quay trở lại thư mục “office” thì dùng lệnh
cd ..
5. Xem đầy đủ đường dẫn thư mục hiện tại (demo)
pwd
6. Hiển thị tất cả file và thư mục trong thư mục hiện tại (demo)
ls
7. Hiển thị tất cả file kèm thông tin cụ thể (demo)
ls -al
8. Hiển thị các file có đuôi theo ý muốn (demo)
ls *.ext
VD: muốn hiển thị các file có đuôi .avi trong thư mục đang làm việc
ls *.avi
9. Hiển thị tất cả file và thư mục với thông tin chi tiết, kể cả dung lượng (demo)
ls -alh
10. Thoát khỏi SSH Client như Putty
exit

Lệnh quản lý file

11. Copy và đổi tên file
cp [tên file] [tên file mới]
VD: Tạo bản sao chép file “tailieu.doc” và lấy tên là “tailieumoi.doc”
cp tailieu.doc tailieumoi.doc
VD: copy “tailieu.doc” vào thư mục “tonghop”
cp tailieu.doc tonghop/tailieu.doc
VD: copy và đổi tên file cùng trong 1 lệnh
cp tailieu.doc tonghop/tailieumoi.doc
p/s: file gốc vẫn giữ nguyên, chỉ tạo bản sao chép
12. Di chuyển và đổi tên file
mv [tên file] [tên file mới]
VD: Đổi tên file
mv tailieu.doc tailieumoi.doc
VD: Di chuyển file sang thư mục khác
mv tailieu.doc tonghop/tailieu.doc
VD: Di chuyển file sang thư mục khác và đổi tên
mv tailieu.doc tonghop/tailieumoi.doc
p/s: file gốc bị đổi tên/di chuyển; bạn cũng có thể áp dụng lệnh mới thư mục
VD: Di chuyển thư mục “tailieu” đến thư mục”tonghop”
mv tailieu/ tonghop
VD: Di chuyển thư mục tailieu lên thư mục bao phủ bên trên
mv tailieu/ ..
13. Xóa file
rm [tên file]
VD: xóa file “tailieu.doc”
rm tailieu.doc
14. Xóa tất cả file trong thư mục đang làm việc
rm *
15. Xóa file với đuôi nhất định
rm *.ext
VD: xóa các file có đuôi là .zip
rm *.zip
16. Copy thư mục kèm file và thư mục con nằm trong nó
cp -r [thư mục] [thư mục mới]
17. Tạo thư mục mới (demo)
mkdir [tên thư mục]
VD: Tạo thư mục tên là “giaitri”
mkdir giaitri
18. Tìm file trong thư mục đang làm việc (demo)
find . -name [tên file] -print
VD: Tìm file “tailieu.doc” trong thư mục đang làm việc
find . -name tailieu.doc -print
19. Tìm chữ bên trong file (demo)
VD: tìm chữ “sidebar” nằm trong file “index.php”
grep sidebar index.php
20. CHMOD – đổi quyền của file, thư mục (demo)
chmod [loại quyền] [tên file/thư mục]
VD: Phân quyền đọc, ghi, thực thi với file “config.php”
chmod 777 config.php
Các loại quyền (dưới đây không phải lệnh)
Số đầu dành cho owner, số thứ 2 cho group, số thứ 3 cho tất cả.
7 = Read + Write + Execute
6 = Read + Write
5 = Read + Execute
4 = Read
3 = Write + Execute
2 = Write
1 = Execute
0 = All access denied
( Read: Đọc, Write: Ghi, Execute: thực thi )
Read more ...

Thứ Ba, 15 tháng 7, 2014

Nguyên tắc ngón tay cái trong thiết kế ứng dụng cho điện thoại

Nguyên tắc ngón tay cái trong thiết kế ứng dụng cho điện thoại
Điện thoại di động ngày nay đã quá phổ biến và trở thành vật bất li thân của nhiều người. Điện thoại không chỉ đơn thuần là công cụ nghe gọi, liên lạc giữa mọi người với nhau nữa, mà nó được tích hợp nhiều ứng dụng và trở thành vật dụng giải trí và nhiều tính năng hỗ trợ người dùng như bản đồ, đọc viết email, ….
Thiết kế những ứng dụng cho điện thoại di động cũng đòi hỏi nhiều kĩ thuật, tính toán chi tiết để chiếc điện thoại trở nên hữu dụng và sử dụng một cách dễ dàng, thuận tiện nhất. Dựa vào thói quen sử dụng điện thoại và một số đặc điểm bàn tay con người, Infographic dưới đây đưa ra một số gợi ý cho bạn khi thiết kế ứng dụng cho điện thoại di động.
Phần mở rộng: Tìm hiểu thêm về định luật Fitt
Như trong bài infographic trên có đề cập đến định luật Fitt trong thiết kế. Để hiểu rõ thêm mình xin tóm tắt ở đây. Về cơ bản, công thức định luật Fitt được tính theo khoảng cách đến mục tiêu và kích thước của mục tiêu đó. Công thức nhìn có vẻ phức tạp nhưng ý nghĩa thì lại khá đơn giản.
  1. Mục tiêu càng xa thì thời gian để tiếp cận được nó sẽ lâu hơn.
  2. Mục tiêu càng nhỏ thì thời gian để tiếp cận được với nó sẽ lâu hơn.
Khi áp dụng định luật Fitt trong thiết kế giao diện, chúng ta rút ra được 3 kinh nghiệm sau:
Kinh nghiệm 1: Kích thước của các nút bấm hoặc các phần tử tương tác phải đủ lớn để tương xứng với quãng đường cần di chuyển.
Đối với việc độ phân giải của màn hình ngày càng được nâng cao, điều đó đồng nghĩa với việc khoảng cách di chuyển của chuột trên màn hình cũng sẽ dài ra thì cách duy nhất để thỏa mãn định luật Fitt là tăng kích thước của các nút bấm. Tuy nhiên, việc tăng kích thước lại gây ra tác dụng ngược khi số lượng nút bấm quá nhiều dẫn đến chiếm hết cả màn hình. Để giải quyết vấn đề trên, ý tưởng "rubbon" đã được đưa ra. Bằng cách chia nhóm và phân loại, những nút bấm nào người dùng thao tác nhiều nhất sẽ được thiết kế với kích thước lớn, ngược lại những tác vụ người dùng ít dùng tới nút bấm sẽ được làm nhỏ hoặc ẩn đi. Ý tưởng này đã giúp giữ lại các nút bấm vừa thỏa mãn định luật Fitt vừa tiết kiệm không gian hiển thị trên màn hình.
Kinh nghiệm 2: Những tác vụ thông thường nên để gần vị trí con trỏ người dùng.
Ví dụ dễ thấy nhất để mô tả cho việc này là khi bạn click chuột phải vào màn hình desktop hay màn hình trình duyệt web, bạn sẽ thấy một menu hiện ra ngay vị trí con chuột. Tại sao nó lại hiện ngay vị trí đó? Tại sao nó không hiện ở góc trái trên cùng của màn hình? Trả lời được câu hỏi này thì bạn đã hiểu kinh nghiệm 2 là gì.
Kinh nghiệm 3: Những vị trí đặc biệt trên màn hình mà thời gian tiếp cận luôn là ngắn nhất.
Những vị trí đó chính là 4 cạnh và 4 góc của màn hình chúng ta. Nếu có ai đó bất ngờ kêu bạn đưa chuột đến góc màn hình hoặc bất kì cạnh nào thì bạn chỉ đơn giản là "phóng tay" rê chuột đến đó mà không cần phải quan tấm đến đường đi hay vị trí dừng của nó. Lý do rất đơn giản, 4 cạnh hay 4 góc là giới hạn cuối cùng của màn hình, cho dù bạn cứ tiếp tục kéo chuột thì con trỏ chuột trên màn hình vẫn ở đó thôi. Nhưng ngược lại, khi ai đó kêu bạn đưa chuột đến vị trí cách cạnh phải màn hình 5 pixel thì hẳn bạn sẽ ngồi canh từng pixel một khi di chuyển con trỏ chuột đến gần đó. Đó là lý do tại sao nút "Start" từ đời Windows XP (các đời Windows 95, 98, 2000 và ME nút Start cách các cạnh 1 pixel) lại nằm trọn ở góc trái màn hình và thanh "Finder" của Mac OS nằm cạnh trên. Đây đều là những vùng dễ tiếp cận nhất.
Tóm lại, định luật Fitt là một trong những định luật cơ bản và thú vị nhất khi bạn thiết kế trải nghiệm người dùng. Để có được một ứng dụng hoản hảo, bên cạnh thiết kế cho ứng dụng của bạn một bộ cánh đẹp (UI design - user interface) thì việc nghiên cứu trải nghiệm người dùng (UX design - user experience) sẽ tạo ra giá trị sử dụng cho bộ cánh đó. Không ai muốn sản phẩm của mình làm ra mà không người nào sử dụng đươc!
Nguồn: Visual.ly​, Tinh tế.
Read more ...
Designed By thanhbpc