2016년 8월 29일 월요일

아주대 동떡이 ★★★★

아주대 앞에 있는 즉석떡볶이 집
대학교 앞이라 떡볶이 집이 많은데
이집은 항상 바글바글하다.

맛있다.

기본에 충실하고 모듬떡볶이로 시키고 순대, 만두, 김말이 추가. 하앍
라면사리까지 넣으면 완성!






범죄의 여왕 ★★★★

재밌게 봤다. 완전 취향 저격

케릭터들이 다 살아있다.
스핀오프가 나오면 좋겄다.
족구왕 아직 안 봤는데 보고싶다.

2016.08. @롯데시네마 롯데몰

2016년 8월 28일 일요일

롯데마트 요리하다 가츠동★★★

맛난데 돈까스가 얇은편
얇은데 비하면 식감은 좋다. 

양파1, 계란2이 필요한데 
양파가 반개밖에 없어 파를 넣었당


2016년 8월 21일 일요일

제우스 명령어 jeus command

*참고
$는 ja전 프롬프트에서
>는 ja후 프롬프트에서

0. 제우스접속
$ jeusadmin [호스트명] -Uadministrator -P[패스워드]
일반적으로
$ jeusadmin [호스트명] -Uadministrator -Pjeusadmin
$ ja
[링크] ja의 세부내용은??

1. 컨테이너 리스트
> conlist

11. 앱 리스트
> applist

12. 엔진 리스트
> englist
> allenglist

2. 컨테이너 다운
> downcon [컨테이너명]
> downcon all  // 모든 컨테이너 종료


3. 컨테이너 시작
> startcon [컨테이너명]
> startcon all  // 모든 컨테이너 구동

31. 컨테이너 선택
> setcon [컨테이너 번호]
*이번호는 콘리스트로 확인한다.

32. 스래드정보(thread infomation)
> ti
> ti -fa(액티브만 보여주기)
>strace 51 (51번 스레드 stack trace 조회)

33. jdbc connection pool 모니터링(제우스 6기준)
> dsinfo
> dsinfo -active // 생성된 커넥션풀만 출력
> dsinfo -k 10  // 10번 출력해용
> dsinfo -i 5   // 5초에 한번씩 출력해요. (-i 5 하고 -k생략하면 무한 반복한다. 엔터두번누르면 끝)
*제우스5에서는 da로 컨테이너 고르고, info로 확인한다.

34. st
> st -m (엔진컨테이너의 메모리 상태 확인)

4. pid 리스트 - downcon 중 멈춘 경우 piflist로 확인 후 kill로 강제종료
> pidlist
*(활용예제) 다운콘을 해도 반응이 없거나, oom이 발생하여 컨테이너가 죽은뒤에 불완전하게 올라와서 서비스에 문제가 생기는 경우가 있다. 그런 경우 제우스상에서 pidlist를 이용하여 pid를 확인한 후, os로 돌아가서 kill명령어로 해당 프로세스를 죽인다. 다시 제우스로 들어가서 해당 컨테이너 스타트!

5. pid 종료
$ kill -9 [pid번호]

6. 제우스다운
$ jdown
[링크] jdown 세부내용

7.제우스시작
$ jboot

지동시장 지동순대타운 고향집 ★★★☆

지동순대타운의 원조엄마네가 유명해서 갔지만 휴가여서, ㅜㅠ
옆에 있는 고향집으로 갔다.

신림동 순대타운 백순대를 좋아하는데,
지동순대타운은 백순대가 읎다.
순대곱창 8,000원

생각보다 맛나다. 또 가고싶당
냠냠




안면도 일곱번째고양이 ★★☆

숙박 : 08.20
가격 : 99,000원(쿠팡)
꽃지해수욕장이랑은 걸어서 갈만한 위치이고,
사진으로 봤을때는 깔끔하게 이뻐보였는데
실제 가보니 좀 작고, 덜 이쁘다.
방은 깔끔한 편인데 욕실에는 꺼먼 곰팡이들이 있었다. (세면대 뒤쪽+문)

방 입구쪽에 개별 바비큐 공간이 있고,
주인아저씨가 잘 준비해주셔서 편하고 맛나게 먹었다.
참나무숯 20,000원(테이블에 비닐보, 모기향까지)

추천할만한 숙소는 아니다.


2016년 8월 5일 금요일

대만 곱창국수 아종면선 阿宗麵線 아쫑미엔시엔 ★★★★

시먼(西門)역 6번 출구에서 걸어가면 된다.
구글지도 gps 25.043366, 121.507624
사람들이 바글바글하다. 무지 더웠는데 저 안에는 더 덥다 으아
대만은 건물 1층에 그늘로 인도를 만들어 둔게 많으니
닌자처럼 태양을 피하며 가면 좋다.

사람은 많지만 큰냄비로 다 되어있고 퍼주기만 하는거라 금방 받았다. 

맛은 뿔은 소면이랑 따듯하고 짭잘한 궁물이 혼연일체가 되어 맛있다.

5월의 대만은 무지 더웠고, 역에서 아종면선까지 가는 길도 무지 덥다. 
곱창국수도 뜨겁고 서서 먹느라 더더 더운데도 곱창국수는 맛있다.

또 먹고싶다 

참고:
1. 의자가 몇개 없다.
2. 실외에 서서 먹는다.
3. 큰 선풍기가 몇대 있다.
4. 따로 뿌려먹는 소스가 몇개 있다. 넣어도 맛나고 안넣어도 맛나고.


그 시절, 우리가 좋아했던 소녀 (You Are the Apple of My Eye, 2011) ★★★★

포스터만 보고 진지한 로맨스인줄 알았는데
몽정기 같은 부분도 있고, 풋풋하고 귀여운 청춘물이라 굿

대만 또 놀러가고프

수어사이드 스쿼드 (Suicide Squad, 2016) ★★★☆

"DC는 어둡다." "망작이다." "할리퀸이 멱살잡고 캐리한다."
는 기대감을 낮추는 말을 많이 들었지만,

좀비 인생작이었던 새벽의 저주 , 스파르타!의 300 을 만들었던 잭형이기에

기대반 걱정반의 마음으로 보러갔다.

보고난 후 첫생각은 "읭? 재밌는데?"

개인적으론 쩌리들을 모았다는 점에서 비슷한 마블의 가오갤보다 낫다.

아쉬운점 :
1. 할리퀸 누님이 더 미쳐 날뛰었으면
2. 악어형은 가슴근육이 좀 약하다.(판타스틱4 돌친구랑 스파이더맨 도룡농이랑 차별화를 둔것인지..)

좋은점:
1. 진리의 윌형님 꺄
2. 이쁜 할리퀸
3. 적당히 섞은 유머에 치유된 dc의 진지병

2016.08.05. @롯데시네마

2016년 8월 3일 수요일

Java 1-10 예외처리


public class MainEx1 {

public static void main(String[] args) {

int[] num = { 10, 20, 30};
for(int i = 0; i<=3; i++){
try {
// 예외가 발생할 수 있는 상황이 들어간다.
System.out.println("num["+i+"] : "+num[i]);
} catch (ArrayIndexOutOfBoundsException e) { // 예외 발생상황 적어주기.
// 예외 발생할때 여기로 넘어온다.
// 배열 넘침
System.out.println("error : "+e);
} catch(Exception e){
// 알수 없는 에러 발생
System.out.println("error : "+e);
}

}

}

}
-----------------------------------------------------------------------------
import java.io.IOException;

class CharInput {
int input;
public char getInput() throws IOException{
input = System.in.read();
return (char)input;
}
}

public class MainEx2 {

public static void main(String[] args) {

CharInput ci = new CharInput();
System.out.println(ci.getInput());

}

}
----------------------------------------------------------------------------------
class MyException extends Exception{
public MyException() { super(); }
public String toString() { return "MyException입니다";}
}

class MyExceptionTest{
// 예외발생하면 MyException 던진다.
public void testFunc(int x) throws MyException{
// x가 10초과하면 MyException던진다.
if(x>10) { throw new MyException(); }
// x가 10이하이면 x 출력
else { System.out.println(x); }
}
}


public class MainEx3 {

public static void main(String[] args) {

// MyExceptionTest 객체 생성
MyExceptionTest test1To20 = new MyExceptionTest();
// MyExceptionTest클래스의 testFunc메서드 실행 (매개변수 1~19)
for(int i=0;i<20;i++){
System.out.println("i는 "+i+"입니다.");
try {
test1To20.testFunc(i);
} catch (MyException e) {
System.out.println(e);
}
}

}

}

Java 1-9 클래스 class 제어문 연습

package kr.hunhun.unit;

public abstract class Car {

// 자식까지만 제어가 가능하도록 오픈한다.
protected float oil;

//기름 넣기
void addOil(float oil){
this.oil += oil;
}

// 상속받는 모든 클래스가 info라는 동일한 이름으로
// 정보를 확인할 수 있도록 함
public abstract String info();

}
-----------------------------------------------------------------------------
import kr.hunhun.common.Singleton;



public class Main {

public static void main(String[] args) {
// 생성자 private이라 생성불가 확인
// Singleton common = new Singleton();
Singleton common = Singleton.getInstance();
common.playcount++;
Singleton test = Singleton.getInstance();
System.out.println(test.playcount);

}

}
------------------------------------------------------------------------
import kr.hunhun.unit.MiniCar;

public class Main2 {

public static void main(String[] args) {
MiniCar myCar = new MiniCar();
System.out.println(myCar.info());

}

}
------------------------------------------------------------------------------------
package kr.hunhun.unit;

public final class MiniCar extends Car {

@Override
public String info() {
return "미니카";
}

}
-----------------------------------------------------------------
package kr.hunhun.common;

// 상속금지. 상속을 통해서 생성자를 만드는 문제 해결
final public class Singleton {
// 유일하게 하나만 존재할 객체인 관계로 static 적용
// 내부에서만 사용가능하게 private 적용
private static Singleton _s; 
// 공용으로 이용할 변수
public int playcount;
// 공개 거부 제어자 설정 - 직접적인 생성 불가
private Singleton() { }
public static Singleton getInstance(){
// Singleton 객체가 없으면 만들어라
if(_s == null){
_s = new Singleton();
}
return _s;
}

}
------------------------------------------------------------------------

Java 1-8 클래스 class 상속 오버라이드


public class Bus extends Car {


int count;

// 재정의 = 오버라이드
@Override
void printInfo() {
// 부모의 기능이나 변수를 이용할때 super를 쓴다.
super.printInfo();
System.out.println("버스");
}

}
-----------------------------------------------------------------------

public class Car {
float oil;
void oilCheck(){
System.out.println("남은 기름 : " + oil);
}
float oilRefuel(float oil){
this.oil += oil;
return this.oil;
}
void printInfo() {
System.out.println("자동차");
}

}
---------------------------------------------------------------------------

public class Main {

public static void main(String[] args) {
// 자식객체를 만들 때 부모객체도 쌍으로 같이 만들어진다.
Bus tourBus = new Bus();
// Car라는 부모가 가진 oil변수를 이용가능
tourBus.oil = 10F;
tourBus.count = 13;
tourBus.oilCheck();
tourBus.printInfo();
// 다형성 - 하나의 객체가 다양한 형태를 띄는 개념
// 자식의 객체를 부모의 그릇에 담는 상황. ???
Car car = tourBus;
// 자식의 변수와 기능이 사용 불가능해진다.
// car.count = 10; // error
car.oil = 15F;
car.printInfo();
System.out.println(tourBus.oil + "," + car.oil);
// 다형성의 장점
// 1. 부모의 배열을 이용해서 자식들의 객체를 한곳에 모을 수 있다.
// (예) Car배열에 Bus,Truck등등 넣을 수 있지
// 2. 매개변수나 리턴시 부모의 자료타입을 지정해서 다양하게 주고 받는게 가능하다.
// object 그릇은 모든걸 다 받을 수 있다.


}

}

Java 1-7 클래스, class, 오버로딩, 생성자, 전역변수, 지역변수


public class Main {

public static void main(String[] args) {

Game game = new Game();
game.dice(3);
game.dice(6,10);
game.dice(3L);

}

}

// 오버로드 테스트를 위한 동일한 이름의 메서드 2개 구현
// 같은 이름의 함수를 매개변수의 갯수나 타입이 다르면 만들 수 있다.
class Game{
/**
* dice
* @param type - 주사위의 모양, 면의 수
*/
void dice(int type) {
int dice = (int)(Math.random() * type) + 1;
System.out.println("주사위 : " + dice);
}
//오버로드는 메서드 이름은 같고 매개변수는 달라야 한다.
/**
* dice
* @param type - 주사위의 모양, 면의 수
* @param count - 주사위를 굴릴 횟수
*/
void dice(int type, int count){
int sumDice = 0;
for(int i = 0 ; i < count ; i++){
sumDice += (int)(Math.random() * type ) + 1;
}
System.out.println("주사위 : " + sumDice);

}
// 오버로드 구현할때 원형 메서드를 재활용 할 수도 있다.
void dice(long type) {
dice((int)type,1);
}


}
-----------------------------------------------------------------------------------

public class MainInit {

public static void main(String[] args) {

Game2 game = new Game2(3);
System.out.println(game.money);

}

}

class Game2{
int playerCount = 4;
long money = 0;
//생성자
//생성자는 무조건 클래스 이름으로만 만들고, 리턴값이 존재하지 않는다.
//생성자를 정의할때, 매개변수를 넣을 수도 있다. 하지만 매개변수가 존재하는 생성자를 만들면, 기본 생성자는 사라진다.
Game2(int playerCount){
this.playerCount = playerCount;
money = playerCount * 1000000;
}
// 매개변수생성자를 만들어서 기본생성자가 없어졌으므로, 기본생성자를 따로 정의해준다.
// 생성자도 오버로딩이 가능하다.
Game2(){
money = playerCount * 1000000;
}
}

2016년 8월 2일 화요일

Java 1-6 클래스 class, 접근제어자

1. 가시성

접근제어자
같은 클래스
같은 패키지
상속관계,
다른 패키지
상속관계 아님,
다른 패키지
public
Y
Y
Y
Y
protected
Y
Y
Y
N
default
Y
Y
N
N
private
Y
N
N
N

// 클래스 절차
// 1. 구현과정

// 권한표기-public class 클래스이름-Aircon { }
public class Aircon { //에어컨 클래스

// 인스턴스 변수 선언 공간
int wind = 0;   //바람세기
int value = 25; //온도
boolean power = false; //전원

int turnType = 0; // 회전상태 - 0 : 회전안함, 1 : 좌우회전, 2 : 상하회전, 3 : 좌우상하회전
// 인스턴스 메서드
// 리턴타입-void,int,... 함수명(매개변수 선언1, 매개변수 선언2, ...) { }
// 자바는 주석이 하나 더있다. 색깔도 다름 "/**"치면 된다.
/**
* setTurn - 에어컨의 회전 설정
* @return int - 회전상태
* @param int type - 0 : 좌우회전 변경, 1 : 상하회전 변경
*/
int setTurn(int type) {
// 기능 구현전 예외상황처리 파트
// 전원이 꺼져있다면 회전 아닌 상태로 리턴
if (!power) return 0; //if (power == false) return 0; 와 같은 표현..

// 기능성 코드
if (type == 0) {
// 구현해야 하는 상황 -> 아래 방법1,2,3으로 구현 가능
// 0 -> 1
// 1 -> 0
// 2 -> 3
// 3 -> 2
//방법1 if (turnType == 0) { turnType = 1;}
// else if (turnType == 1) { turnType = 0;}
// else if (turnType == 2) { turnType = 3;}
// else if (turnType == 3) { turnType = 2;}
//방법2 if (turnType % 2 == 0) { turnType++;}
// else { turnType--; }
/*방법3*/ turnType += turnType%2==0 ? 1 : -1;
} else if (type == 1) {
// 구현해야 하는 상황
// 0 -> 2 -- +2
// 1 -> 3 -- +2
// 2 -> 0 -- -2
// 3 -> 1 -- -2
turnType += turnType<2 ? 2 : -2;
}
//리턴타입이 존재하는 경우(void가 아닌 경우) return 키워드를 통해 전달할 값을 명시해야 한다.
return turnType;
}

}


---------------------------------------------------------------------------------------------------

public class ClassEx {

public static void main(String[] args) {

// 클래스를 이용한 객체 생성 절차
Aircon myAircon = new Aircon();
// 인스턴스 변수를 외부에서 직접적으로 수정하는 상황
myAircon.power = true;
// 인스턴스 메서드(함수) 사용중. 리턴도 받고 있음
int type = myAircon.setTurn(1);
// 리턴 받은거 출력해봄
System.out.println("회전상태: " + type);
RemoteCon airRemote = new RemoteCon();
airRemote.aircon = myAircon;
}

}
------------------------------------------------------------------------------------------------

public class RemoteCon {
Aircon aircon;
float battery; //배터리
int setTemp(int updown){
int temp = aircon.value;
if (updown == 1) { aircon.value++;}
else if (updown ==0) { aircon.value--;}
showLcd();
return aircon.value;
}
boolean setPower() {
if (aircon.power == false) { aircon.power=true;}
else if (aircon.power == true) { aircon.power=false;}
return aircon.power;
}
void showLcd() {
System.out.println(aircon.value);
System.out.println();
}

}