버전마다 설치화면이 조금씩 변경되고 있습니다. 자신이 가지고 있는 rufus 파일의 버전을 확인하고 작업을 진행 하시기 바랍니다. 작업 방법은 거의 차이가 없습니다.

최신 버전은 rufus 사이트에 가시면 받을 수 있고 저는 무설치(Portable) 버전을 추천 합니다. 제가 작업 중에 받은 파일을 첨부 합니다이 파일은 GNU GPL v3에 준하여 배포 합니다.

 

rufus-3.4p.exe

 

사이트에서 직접 다운로드 하시려면 아래 주소로 이동하시고 그림에 나와 있는 곳에서 원하는 형태의 파일을 다운로드 받으시면 됩니다.


https://rufus.ie/


windows_install_usb_Rufus


준비물


rufus 실행 파일

 - Windows 7 또는 10 iso 파일

 - 포맷해도 되는 USB 메모리 8GB 정도 용량


준비 되었다면 설치 USB 만들기를 시작 하면 됩니다.

USB 메모리를 미리 컴퓨터에 연결 합니다.

rufus-x.x.exe 파일을 실행 합니다.


windows_install_usb_Rufus


장치에 연결한 USB가 나타나는데 만일 자료가 들어있는 다른 USB가 있다면 혼동을 일으켜 포맷될 수 있으니 제거를 하는게 좋습니다선택 버튼을 눌러 운영체제 iso 파일을 선택 합니다.


windows_install_usb_Rufus


부트선택에 iso 파일명이 나타나는걸 확인하고 USB 볼륨 레이블을 적당한 이름으로 수정 합니다.

설정이 완료 되었으니 시작 버튼을 클릭하기만 하면 됩니다.

 

모든걸 기본값으로 하는데 파티션 방식만 설명 드리면

- MBR(Master Boot Recorder) : 예전 방식. HDD 2TB 까지 인식. 4개 파티션 가능

- GPT(GUID Partition Table) : HDD 8ZB 까지 인식. 128개 파티션 가능.

 

파일 시스템은 USB에 2GB이상 되는 파일을 저장 하려면 NTFS로 변경하고 작업을 진행 합니다.


설치를 하기 전에 USB에 있는 데이터가 모두 삭제 된다는 안내를 하게 됩니다작업하려는 USB가 맞는지 다시 한번 잘 보고 진행을 합니다.


windows_install_usb_Rufus


확인 버튼을 클릭하면 작업이 시작 됩니다.


windows_install_usb_Rufus


설치 USB 생성이 완료되면 특별한 완료 메시지가 나오지 않습니다.  장치 명이 설정한 값으로 변경이 되고 프로그래스 바가 완료로 표시 되면 완료되었구나 하시면 됩니다.


windows_install_usb_Rufus


이제 USB를 사용하여 Windows 7을 설치 할 수 있습니다그런데 USB 용량이 16BG인데 윈도우즈 설치로는 4GB 정도 사용하였습니다.


windows_install_usb_Rufus


10GB정도 여유가 있으니 Win7(G) 폴더로 이동해서 디렉토리를 생성하고 자료들을 저장해서 USB 본연의 데이터 저장 기능으로도 사용 합니다


windows_install_usb_Rufus


저는 OS 설치 후 필요한 util들을 저장해놓고 설치하자 마자 바로 장치 드라이버나 필요한 프로그램들을 설치 합니다.



이미지를 회전시키기 위한 RotateAnimation() 함수 입니다.  parameter2, 4개 또는 6개를 포함한 함수를 제공 하는데 회전 중심을 어디로 어떻게 설정 하는가에 따라 선택해서 사용 합니다.  



1. RotateAnimation() 함수

 

여기서는 중앙을 중심으로 회전을 시키는 parameter 6개의 함수를 사용 합니다.

 

public RotateAnimation (float fromDegrees,

                float toDegrees,

                int pivotXType,

                float pivotXValue,

                int pivotYType,

                float pivotYValue)


Type

 Parameter

 설명

 float

 fromDegrees

 회전을 시작하는 각도

 float

 toDegrees

 회전을 종료하는 각도

 int

 pivotXType

 x축 설정

Animation.ABSOLUTE,

Animation.RELATIVE_TO_SELF,

Animation.RELATIVE_TO_PARENT

 float

 pivotXValue

 x축 위치. 0은 좌측 끝, 1.0은 우측 끝, 0.5는 중앙

 int

 pivotYType

 y축 설정.

Animation.ABSOLUTE,

Animation.RELATIVE_TO_SELF,

Animation.RELATIVE_TO_PARENT.

 float

 pivotYValue

 y축 위치. 0은 상단 끝, 1.0은 하단 끝, 0.5는 중앙



2. layout

 

회전에 사용할 이미지를 대충 잘라서 res/drawable에 추가해 줍니다.


RotateAnimation


왼쪽 회전, 오른쪽 회전을 위한 버튼 2개를 추가하고 회전시킬 이미지를 하단에 추가 합니다.

<Button
    android:id="@+id/btn_left"
    android:text="left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/btn_right"
    android:text="right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="250dp"
    android:layout_marginTop="10dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<ImageView
    android:id="@+id/rotImage"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/rotateimage"
    android:layout_marginTop="100dp"
    app:layout_constraintTop_toTopOf="parent"/>

이런 모양이 되겠죠?


RotateAnimation



3. 구현

 

3.1 버튼 기능 구현


이미지 정의와 버튼 클릭 이벤트를 이용하여 기능을 구현 합니다. 버튼을 클릭 하면 10도씩 시계방향, 반시계 방향으로 회전 하도록 testRotation() 함수를 호출하여 줍니다.

Button btnLeft = (Button)findViewById(R.id.btn_left);
Button btnRight = (Button)findViewById(R.id.btn_right);

mImageView =  (ImageView)findViewById(R.id.rotImage);

btnLeft.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        testRotation(nBefore - 10);
        Toast.makeText(MainActivity.this, "Left", Toast.LENGTH_SHORT).show();
    }
});

btnRight.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        testRotation(nBefore + 10);
        Toast.makeText(MainActivity.this, "Right", Toast.LENGTH_SHORT).show();
    }
});

3.2 이미지 회전

 

받아온 값을 RotateAnimation()에 대입하여 이미지를 회전 시켜 줍니다.

public void testRotation(int i) {
    RotateAnimation ra = new RotateAnimation(
            nBefore,
            i,
            Animation.RELATIVE_TO_SELF, 0.5f,
            Animation.RELATIVE_TO_SELF, 0.5f
    );
    ra.setDuration(250);
    ra.setFillAfter(true);
    mImageView.startAnimation(ra);
    nBefore = i;
}


4. 프로젝트 생성


4.1 프로젝트 만들기

 

RotateAnimation 으로 프로젝트를 생성합니다.


RotateAnimation


Activityempty를 선택해 줍니다.


RotateAnimation

 

나머지는 그냥 Next를 눌러줍니다.

 

 

4.2 전체 소스코드

 

- activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_left"
        android:text="left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn_right"
        android:text="right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="250dp"
        android:layout_marginTop="10dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/rotImage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/rotateimage"
        android:layout_marginTop="100dp"
        app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>


- MainActivity.java

package copycoding.tistory.com.rotateanimation;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private ImageView mImageView;
    private int nBefore = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnLeft = (Button)findViewById(R.id.btn_left);
        Button btnRight = (Button)findViewById(R.id.btn_right);

        mImageView =  (ImageView)findViewById(R.id.rotImage);

        btnLeft.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                testRotation(nBefore - 10);
                Toast.makeText(MainActivity.this, "Left", Toast.LENGTH_SHORT).show();
            }
        });

        btnRight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                testRotation(nBefore + 10);
                Toast.makeText(MainActivity.this, "Right", Toast.LENGTH_SHORT).show();
            }
        });

    }

    public void testRotation(int i) {
        RotateAnimation ra = new RotateAnimation(
                nBefore,
                i,
                Animation.RELATIVE_TO_SELF, 0.5f,
                Animation.RELATIVE_TO_SELF, 0.5f
        );
        ra.setDuration(250);
        ra.setFillAfter(true);
        mImageView.startAnimation(ra);
        nBefore = i;
    }
}


5. 결과

 

상단에 있는 Left, Right 버튼을 누르면 이미지가 10도씩 회전합니다.


RotateAnimation



어느날 갑자기 sch.exe의 작동이 중지되었습니다. 라는 팝업 창이 나타나기 시작했습니다.


windows_sch_exe


무엇 때문인지 찾아보기 위해 작업 관리자를 확인해 봅니다윈도우 하단 작업표시줄마우스를 대고 우측 버튼을 클릭해서 작업 관리자 시작 메뉴를 선택 합니다.


windows_sch_exe


작업 관리자에서 프로세스 탭으로 들어가 sch.exe를 찾아 봅니다.  sch.exe가 보이면 마우스를 대고 우측  버튼을 클릭하고 팝업 메뉴에서 파일 위치 열기를 선택 합니다.대부분 모르는 프로그램 위치는 이런식으로 하면 찾을 수 있습니다.


windows_sch_exe


C:\Program Files (x86)\CacaoEncoder 이곳에 있었네요.  카카오인코더(CacaoEncoder)라고 얼마전에 음성파일을 변환하기 위해 설치한 유틸인데 언어팩과 충돌을 한다는 사람도 있고 가상화폐 채굴을 하는데 사용 된다는 사람도 있고, 확인할 방법은 없고 그냥 삭제 하려고 합니다.


windows_sch_exe


안전하게 제어판에 들어가서 삭제를 시도 합니다.


windows_sch_exe


제어판에서 프로그램 제거를 선택 합니다.


windows_sch_exe


리스트에서 CacaoEncoder를 찾아 더블클릭 합니다.


windows_sch_exe


삭제를 진행하고 다시 컴퓨터를 부팅 합니다.

이게 뭔일 입니까그대로 오류가 나옵니다. 제어판에는 사라졌는데 팝업과 디렉토리는 그대로 존재 하고 있습니다.


windows_sch_exe


CacaoEncoder 디렉토리에 있는 uninstaller를 찾아서 삭제를 해봅니다.


windows_sch_exe


windows_sch_exe


windows_sch_exe


windows_sch_exe


제거가 되었습니다.

 

카카오엔코더 디렉토리로 이동해서 디렉토리에 남은 파일들도 모두 삭제를 합니다.


windows_sch_exe


다시 부팅을 하면 이제 sch.exe의 작동이 중지되었습니다. 라는 팝업 창은 나타나지 않습니다.



예전에 아마존에 회원가입을 했었는데 드디어 구매 해야할 물건이 생겼습니다.

[아마존] 아마존 쇼핑몰 직구용 회원 가입

 

1. 구매 물건 선택

2. 장바구니 확인

3. 배송지 선택

4. 구매

5. 구매 결정

6. 구매내역 확인


- 2019.02.18 : 아마존 물품 구매 결제

- 2019.02.28 : 인천공항 통관 완료

- 2019.03.02 : 배송 완료

 

처음으로 직구를 하려니 당연히 별일 없겠지만 혹시나 배송에 문제가 발생해도 땅을 칠만큼 후회하지 않을 물건을 구매 하기로 했습니다대상은 칫솔 이고요한국보다 가격이 저렴한 것으로 선택을 했습니다.

 

 

1. 구매 물건 선택

 

구매하려는 제품은 필립스 소닉케어 칫솔모인데 처음 선택한 제품은 한국으로 배송이 되지 않는다고 하네요.


amazon_purchase


다음에 선택한 제품은 배송이 되는데 좀 걸린다고 하는데 내일 써야하는 것도 아니고 4달러 내면 두배로 준다니 이것으로 선택을 했습니다.


amazon_purchase


[Add to Cart] 버튼을 클릭하고 상단 우측에 있는 Cart 아이콘을 선택하면 최초에는 비밀번호를 입력하라고 하는데 그 다음 부터는 바로 장바구니를 확인 할 수 있습니다.


 

2. 장바구니 확인


amazon_purchase


물건을 확인 했으면 우측 [Processed to checkout] 버튼을 클릭하여 배송지 선택단계로 넘어 갑니다.

 


3. 배송지 선택


amazon_purchase


직구를 한다고 했으니 한국 주소지를 선택 합니다.


amazon_purchase


배송비를 5불내면 3월 초에 받고 더내면 빨리 준다는데 남는게 시간. 5불을 선택 합니다.

지불 단계로 넘어가기 위해 Continue 버튼을 클릭 합니다.

 


4. 구매

 

돈내라고 카드 정보를 입력 하라네요우측 카드그림에 자신의 카드가 속하는지 확인하고 카드에 적혀 있는 그대로 이름과 카드 번호, 유효기간을 입력 합니다저는 VISA 카드가 있군요.


amazon_purchase


정보를 입력하고 결제 통화를 선택 하러 Add your card 버튼을 클릭 합니다.

ㅎㅎ. 카드번호에 를 적었는데도 잘 먹히는군요.


amazon_purchase


결제는 USD로 선택을 했습니다원으로 선택하면 구매를 위해 환전하고 다시 카드사에서 청구할 때 또 환전하고 여러 번의 환전이 발생한다고 합니다결제 통화를 결정하면 우측에 Continue 버튼이 노란색으로 활성화 됩니다

청구서 주소지 선택 화면으로 넘어가기 위해 Continue 버튼을 클릭 합니다.


amazon_purchase


청구서 주소지를 선택하라고 하는데 직구이니 한국주소를 선택 합니다.

 


5. 구매 결정


amazon_purchase


구매내역을 검토합니다.  후회하지 않는다면 우측 [Place your order] 버튼을 클릭하여 구매를 완료 합니다.

 


6. 구매내역 확인

 

구매내역을 확인해 볼까요상단의 Orders 를 클릭하고 비밀번호를 입력하면 다음처럼 구매 내역을 확인 가능합니다.


amazon_purchase


핸드폰으로 카드사에서 구매확인 문자가 도착했습니다.


amazon_purchase


이제 3월 초에 물건이 도착하기만 기다리면 되겠군요물건이 도착하면 인증 사진 한번 더 올리겠습니다.



6. 결과


6.1 수입 통관


2월 28일 구매 물건이 인천공항에서 통관 되었다고 메세지가 왔습니다. 


amazon_purchase


6.2 배송 도착


3월1일이 휴일이라 오늘 도착 했습니다.


amazon_purchase


amazon_purchase


이정도면 1년간 가족들이 사용할 수 있을것 같습니다.


1···88899091929394···118

+ Recent posts