자바스크립트에서 변수 선언은 아래 세가지 키워드를 사용하는 방법이 있습니다.  

var / let / const


먼저 var 키워드에 대해 알아 볼까 합니다. 



■ var 키워드


일반적으로 javascript 에서 변수 선언을 할때 가장 많이 사용하는 키워드 입니다. 

선택적으로 변수 값을 초기화하여 변수를 선언합니다. 



1
var x = 20;
cs


위와 같이 x 라는 변수 값을 20으로 초기화 할 수 있습니다. 



1
2
var x;
= 20;
cs


처음에 var x; 와 같이 변수 값을 초기화 하지 않고 선언만 한 이후 

필요한 경우에 x = 20; 과 같은 방법으로 초기화 할 수 있습니다. 


첫번재와 두번재 모두 아래 코드를 실행 시 동일한 값을 리턴 합니다. 


1
console.log('x = '+x);
cs


결과는 아래와 같습니다. 

x = 20



중요한것은 var 키워드는 로컬(local) 및 글로벌(global) 변수로 모두 사용 가능합니다. 


1
2
3
4
5
6
7
8
9
10
var x = 20;
console.log('1. x = '+x);
 
if(true){
    var x = 16;
    console.log('2. x = '+x);
}
 
+= 20;
console.log('3. x = '+x);
cs


이미 글로벌 변수로 var x = 20 으로 선언 했지만 if절 안에서 로컬변수로 다시 var x = 16 으로 선언했습니다. 

그리고 다시 if 절 밖에서 x 값에 + 20을 했을때 처음 글로벌로 선언한 20 에 20을 더한것이 아니라 로컬에서 선언한 16 에 20을 더했습니다. 


즉, var 키워드는 로컬이든 글로벌이든 변수명이 동일하면 하나의 변수로 사용하게 됩니다. 



변수 선언 순서는 크게 상관 없습니다. 


1
2
var a;
console.log('a 값은 ' + a);
cs


일반적으로 변수선언을 먼저 하고 사용하고자 하는 곳에서 호출 합니다. 



1
2
console.log('b 값은 ' + b);
var b;
cs


위와 같이 변수선언을 뒤에서 해도 문제가 없습니다. (다른 언어들과 다르게 조금 특이한 케이스 입니다.)



1
console.log('c 값은 ' + c);
cs


하지만 변수 선언이 되지 않은 변수 값을 호출 하고자 하면 Uncaught ReferenceError 가 발생 합니다.

c 가 정의되지 않았다는 오류 메세지를 보실 수 있습니다. 



위 세 코드를 실행 하면 아래와 같은 결과가 나옵니다. 


a 값은 undefined

b 값은 undefined

Uncaught ReferenceError: c is not defined




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



javascript 에서 comment 를 이용하는 방법은 c++ 이나 java 등 여타 다른 언어들과 별반 다르지 않습니다. 


사용 방법은 아래와 같이 크게 세가지 정도 있습니다. 



■ One-Line Comments


1
// 한줄 코맨트 사용하기
cs


위와 같이 두개의 슬래시 (/) 를 붙여 사용하여 뒤에 따라오는 줄은 모두 comment 로 인식하게 하는 방법이 있습니다. 



■ Multi-Line Comments


1
2
3
4
5
/*
 * 여러줄의 코멘트 작성 시 사용 - 코멘트 라인 1
 * 코멘트 라인 2 
 * 코멘트 라인 3
 */
cs


위와 같이 /* 로 시작하여 */ 로 끝날때까지 그 사이에 들어 오느 모든 내용은 comment 로 인식하게 됩니다.



■ Nest Comments


1
/* Nest Comments */
cs


한 라인에서 /* 로 시작하여 */ 로 끝나는 모양새를 nest comments 라고 부릅니다. 

사실 Multi-line Comments 와 비슷합니다. 


1
2
3
4
5
/*
   여러줄의 코멘트 작성 시 사용
   별(*) + 슬래시(/) 로 닫기전까지는 
   무한대로 작성 가능
 */
cs


Multi-Line Comments 와 비슷한 구조입니다.



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,


안녕하세요. 제임스 입니다. 


JSON.stringify ( value[, replacer[, space]] ) 

위 함수를 이용하여 문자열의 가독성을 높이는 방법을 알아 보겠습니다. 



1
2
3
4
5
6
7
var lottoDrawNum = 
    {"bnusNo":42,"firstAccumamnt":17064247876,"firstWinamnt":4266061969,
    "returnValue":"success","totSellamnt":73065981000,    "drwtNo3":13,
    "drwtNo2":12,"drwtNo1":3,"drwtNo6":32,"drwtNo5":31,"drwtNo4":18,
    "drwNoDate":"2018-05-05","drwNo":805,"firstPrzwnerCo":4};
 
console.log('JSON.stringify(a) = \n'+JSON.stringify(a));
cs


var lottoDrawNum 이라는 변수값이 JSON string 입니다. 

변수명을 보시면 아시겠지만 나눔로또 (805회) 당첨 번호 정보 입니다. 


이를 위와 같이 호출 하게 되면 결과는 아래와 같이 나옵니다. 


JSON.stringify(a) = 

{"bnusNo":42,"firstAccumamnt":17064247876,"firstWinamnt":4266061969,"returnValue":"success","totSellamnt":73065981000,"drwtNo3":13,"drwtNo2":12,"drwtNo1":3,"drwtNo6":32,"drwtNo5":31,"drwtNo4":18,"drwNoDate":"2018-05-05","drwNo":805,"firstPrzwnerCo":4}


가독성이 좀 떨어집니다.

만약 정말... 엄청 긴 json 값이 있다면... 상상하기도 싫을 겁니다.


가독성을 뛰어나게 해줄 수 있는 방법이 있습니다. 

바로 JSON.stringify() 의 replace 와 space 파라미터를 활용 하는 방법입니다. 

더 정확하게는 replace 는 사용하지 않고 space 를 잘 이용하는 방법입니다. 



1
console.log('JSON.stringify(a, null, 2) = \n'+JSON.stringify(a, null2));
cs


replacer 에 null (사용하지 않습니다) 을 space 에 2를 입력했습니다. 

space 파라미터에 숫자값이 들어 갈 경우 최종 문자열의 간격을 제어 할 수 있습니다. 

2를 입력 함으로써 각각의 문자열 (key:value, 또는 {, } 등등)의 간격을 스페이스 2칸으로 지정 했습니다. 


위 코드를 실행 시키면 아래와 같은 결과가 나옵니다. 


JSON.stringify(a, null, 2) = 

{

  "bnusNo": 42,

  "firstAccumamnt": 17064247876,

  "firstWinamnt": 4266061969,

  "returnValue": "success",

  "totSellamnt": 73065981000,

  "drwtNo3": 13,

  "drwtNo2": 12,

  "drwtNo1": 3,

  "drwtNo6": 32,

  "drwtNo5": 31,

  "drwtNo4": 18,

  "drwNoDate": "2018-05-05",

  "drwNo": 805,

  "firstPrzwnerCo": 4

}


가독성이 정말 좋아 졌습니다. 


첫번째 "{" 이후 줄바꿈이 일어나고 첫번째 key:value 값이 프린트 되는데 두칸의 스페이스 공간이 생겼습니다. (직접 코드 작성해서 테스트 해보세요 ^^)



space 에 숫자뿐만 아니라 TAB 효과를 주는 문자를 사용 할 수 있습니다. 

이미 많이 알고 있는 TAB 효과를 주는 문자는 !!! "\t" 입니다. 샘플 코드 보실까요?


1
console.log('JSON.stringify(a, null, \\t) = \n'+JSON.stringify(a, null'\t'));
cs


앞선 코드의 2 대신에 '\t' 가 들어 갔습니다. 

실행 결과는 아래와 같습니다. 


JSON.stringify(a, null, \t) = 

{

"bnusNo": 42,

"firstAccumamnt": 17064247876,

"firstWinamnt": 4266061969,

"returnValue": "success",

"totSellamnt": 73065981000,

"drwtNo3": 13,

"drwtNo2": 12,

"drwtNo1": 3,

"drwtNo6": 32,

"drwtNo5": 31,

"drwtNo4": 18,

"drwNoDate": "2018-05-05",

"drwNo": 805,

"firstPrzwnerCo": 4

}


문자열간 간격이 확실히 넓어 졌습니다. 실제로 위 코드를 실행 해보신 후 결과 값에 마우스 커서를 가져가 보면 탭 공간으로 한칸만 잡혀 있습니다. 


JSON 문자열 가독성 높이기 JSON.stringify() 함수의 세번째 인자 "space" 부분만 잘 사용하면 간단하게 할 수 있습니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D





블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


이전 포스팅에서 JSON.stringify() 에 대해 알아 봤는데요. 이번에는 반대의 역할을 하는 JSON 의 parse() 함수에 대해 알아 보겠습니다. 


JSON.parse() 함수는 JSON 문자열을 javascript 객체로 변환합니다. 


Syntax

 JSON.parse( text[, reviver ] )



Parameters


text

javascript 객체로 변환하고자 하는 JSON 문자열 


reviver (Optional - 선택적)

만약 함수라면, 파싱을 통해 원래 생성 된 값이 반환되기 전에 어떻게 변환 될지를 지정




Examples


1
console.log(JSON.parse('{}'));
cs


실행 결과는 아래와 같습니다. 

{} 



1
2
console.log(JSON.parse('true'));
console.log(JSON.parse('"true"'));
cs


실행 결과는 아래와 같습니다. 

true

true


보기에는 동일해 보이지만 데이타 형이 다릅니다. 

첫번째 값은 boolean 값인 true

두번째 값은 String 값인 "true" 입니다. 


1
2
console.log(JSON.parse('[1, 5, "false"]'));
console.log(JSON.parse('[1, 5, false]'));
cs


실행 결과는 아래와 같습니다. 

[1, 5, "false"]

[1, 5, false]


첫번째 값은 배열에 문자열 false 가 

두번째 값은 배열에 boolean 값 false 가 리턴 되었습니다. 



1
2
console.log(JSON.parse('"string test"'));
console.log(JSON.parse('string test'));
cs


실행 결과는 아래와 같습니다. 

string test

Uncaught SyntaxError: Unexpected token s in JSON at position 0


첫번째는 문자열 string test 를 리턴 했습니다. 

하지만 두번째는 오류가 발생 했습니다. position 0 에 위치한 값이 string test 의 첫번째 문자 s 입니다. 

뭐가 문제일까요? 


문자열을 나타내고자 한다면 " " (double quotation marks) 로 감싸야 합니다. 그런데 " " 없이 string test 라는 문장을 입력 했기 때문에 문자열로 인식하지 못해 오류가 발생 한 것입니다. 

이런 실수 하지 않도록 조심해야 겠죠? ^^




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D












블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,




안녕하세요. 제임스 입니다. 


미국현지 시간으로 5월 8일 Google I/O 2018 에서 차세대 안드로이드 API 인 Android Jetpack 를 출시 했습니다. 


Andorid Jetpack 은 최고의 안드로이드 앱을 쉽고 빠르게 만들 수 있는 구성요소, 도구 및 아키텍처 안내 집합체 입니다. 구성 요소는 개별적으로 채택 가능하지만 Kotlin 언어 기능을 활용하며 함께 작업 시 더 생산적으로 개발 할 수 있도록 만들어 졌습니다. Android Jetpack 은 백그라운드 작업, 탐색 및 라이프사이클 관리와 같은 지루한 작업을 관리해 줍니다. 그렇기 때문에 개발자는 좀더 상용구 코드를 제거하고 앱을 더 멋지게 만드는데 집중할수 있습니다. 

Jetpack 구성 요소는 현대적인 설계법을 기반으로 구축되어 이전 버전과 적은 충돌과 적은 메모리 누출을 가능하게 합니다. 






https://developer.android.com/jetpack/

위 링크는 Android Developer 공식 사이트 내 jetpack 페이지 입니다. 참고 하세요.





공식사이트 메인 탭에 jetpack 메뉴를 별도 위치 시켰습니다. 

Google 에서 얼마나 중요하게 생각하는 API 인지 예상 할 수 있습니다. 





Jetpack 은 각각의 기능들을 Foundation, Architecture, UI 그리고 Behavior 등 4가지 섹션으로 구분 짓고 묶어서 관리 하게 됩니다. 



어떻게 사용하고 어떤 부분이 좋아 졌는지 좀더 명확하게 알기 위해서는 직접 앱 개발에 사용해봐야 할 것 같습니다. 

샘플 코드등을 이용하여 테스트 후 좀더 디테일한 내용 추가 하겠습니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


웹서버와 클라이언트 사이에서 통신을 하기 위해서는 문자열을 이용합니다. 클라이언트에서 사용하는 javascript 객체를 웹서버로 보내기 위해 많이 사용하는 것이 JSON 입니다. 

(앞선 포스팅 내용을 간단히 정리 했습니다)


JSON 의 stringify() 라는 함수를 이용하여 javascript 객체를 JSON 문자열로 변환할 수 있습니다. 


Syntax

 JSON.stringify ( value[, replacer[, space]] ) 


stringify 는 사전적 의미로는 아래와 같습니다. 

  • (computing) To convert to a textual representation.

"(컴퓨터 언어로) 텍스트 표현으로 변환한다"는 의미가 됩니다. 

즉, 여기서는 입력받은 값을 JSON 문자열로 변환한다는 의미가 됩니다. (한글 번역은 없습니다)



Parameters


value

JSON string (문자열)로 변환하고자 하는 javasript 객체


replacer (Optional - 선택적)

문자열화 프로세스의 동작을 변경하는 함수 또는 JSON 문자열에 포함될 객체의 속성을 선택 / 필터링하기 위한 화이트리스트 역할을 하는 String 및 Number 객체의 배열

이 값이 null 이거나 제공되지 않을 경우 객체의 모든 속성이 결과 JSON 문자열에 포함


space (Optional - 선택적)

가독성을 위해 출력 JSON 문자열에 공백을 삽입하는데 사용되는 String 또는 Number 객체

    • Number - 공백분자로 사용할 공백 문자 수를 의미함. 최대 10, 10 이상의 값일 경우 10으로 적용
    • String - 문자열이 공백으로 사용됨

space 값이 null 이거나 제공되지 않을 경우 공백이 사용되지 않음



위 내용을 요약하자면...


JSON string 으로 변환하고자 하는 value 값은 필수 입력 값이지만 객체 속성을 선택 / 필터링 하기 위한 replcacer 와 공백문자열을 지정하는 space 는 선택적으로 입력 또는 입력 하지 않아도 됩니다. 



Description


■ Boolean, Number 및 String 객체들이 변환될때는 각각의 primitive type 에 맞는 값으로 변환됩니다. 


1
console.log(JSON.stringify({x: 1004, y: 7942}));
cs


x 및 y 값을 Number 로 입력 했습니다. 

JSON 문자열로 변환된 값은 아래와 같습니다. 


"{"x":1004,"y":7942}"



1
console.log(JSON.stringify({x: 'true', y: 'false'}));
cs


x 및 y 값을 String 형으로 입력 했습니다. 

JSON 문자열로 변환된 값은 아래와 같습니다. 


"{"x":"true","y":"false"}"



1
console.log(JSON.stringify({x: true, y: false}));
cs


x 및 y 값을 boolean 형으로 입력 했습니다. 

JSON 문자열로 변환된 값은 아래와 같습니다. 


"{"x":true,"y":false}"


바로 앞서 문자열 true / false 와 달리 double quotation marks ( " " ) 가 달려 있지 않습니다.



■ 만약 변환 중 undefined, 함수 또는 Symbol 이 객체에서 발견되면 undefined 가 리턴되며 array 에서 발견되면 null 을 리턴 합니다. 


1
2
3
console.log(JSON.stringify(undefined));
console.log(JSON.stringify(function(){}));
console.log(JSON.stringify(Symbol('')));
cs


위 코드의 결과 값은 아래와 같습니다. 


undefined

undefined

undefined


객체에서 undefined, 함수 또는 Symbol 이 들어왔기 대문에 undefined 로 리턴 되었습니다. 



1
console.log(JSON.stringify([undefined, function(){}, Symbol('')] ));
cs


위 코드는 객체가 아닌 배열 (array) 에 undefined, 함수 그리고 Symbol 이 들어 왔습니다. 

결과는 아래와 같습니다. 


[null,null,null]


배열에서 위 값들이 들어 올 경우 null 로 리턴 됩니다. 



■ Number Infinity 와 NaN 그리고 객체 null 등은 모두 null 로 리턴됩니다. 


1
2
3
console.log(JSON.stringify(NaN));
console.log(JSON.stringify(null));
console.log(JSON.stringify(Infinity));
cs


위 코드 실행 결과는 아래와 같습니다. 


null

null

null



1
console.log(JSON.stringify([NaN, null, Infinity]));
cs


위 코드 실행 결과는 아래와 같습니다. 


[null,null,null]



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


이번에 포스팅할 내용은 JSON 입니다. 참 많이 들어 보고 써보기도 했었지만 막상 사용하고자 하면 기억이 안나고 그렇죠? JSON 에 대해 알기 쉽게 정리 해보겠습니다. 



■ JSON 이란? 


JSON은 JavaScript Object Notation 의 약자로 자바스크립트 객체의 형태를 가지는 문자열을 의미 합니다. 

JSON은 데이터를 저장하거나 주고 받기 위한 구문입니다. 

JSON은 javascript 구문을 사용하고 있으나 JSON 의 포맷은 text 형태를 취하고 있습니다. Text 는 어떤 프로그래밍 언어에서건 데이터 포맷으로 사용되기에 언어 독립적 입니다. 



Client (웹 브라우저) 와 Server 사이에서 데이터를 주고 받을 때, 이 데이터는 text 형태입니다. 

JSON 은 text 형이므로 최소한의 Client 와 Server 사이에서 통신을 위한 데이터 형으로는 적합합니다. 


어떠한 Javascript 객체라도 JSON 으로 변환 가능하며 이를 Sever 로 전송 가능합니다. 

반대로 Sever 로 부터 받은 어떠한 JSON 값도 Javascript 객체로 변환 가능합니다. 



■ Sending Data 


Javascript 객체에 저장된 데이터가 있다면 javascript 객체를 JSON 형으로 변환하여 sever 에 전송할 수 있습니다. 


1
2
3
var jsObj = { "name":"James""occupation":"Developer""city":"Seoul" };
var myJSON = JSON.stringify(jsObj);
window.location = "json_test.jsp?jsonParam=" + myJSON;
cs


jsObj 라는 javascript 객체를 생성하여 JSON 의 stringify() 함수를 이용하여 json_test.jsp 에 jsonParam 이라는 key 값으로 맵핑하여 변환한 JSON 값을 전달하는 코드 입니다. 


2018/05/14 - [javascript] - [ javascript 코딩 ] JSON.stringify() 사용방법 - JSON 가독성 높이기




■ Receiving Data


전송과 달리 JSON 형이 데이터를 받았을 경우 JSON 을 javascript 객체로 변환 할 수 있습니다. 


1
2
3
var jsObj = jsonParam;
var myObj = JSON.parse(jsObj);
console.log('myObj.name = '+myObj.name);
cs


Sending Data 샘플 코드에서 jsonParam 이라는 key 값으로 전달 한 값을 받는 형식으로 작성 했습니다. 

jsObj 는 JSON format 이므로 JSON 의 parse() 함수를 이용하여 javascript 객체로 변환 해줍니다. 


2018/05/11 - [javascript] - [ Javascript 코딩 ] JSON.parse() - JSON 문자열을 자바스크립트 객체로 변환하기



위 코드를 실행 하면 결과 값은 아래와 같습니다. 


myObj.name = James



만약 위 코드를 아래와 같이 작성 한다면 어떻게 될까요? 


1
2
3
var jsObj = { "name":"James""age":30"city":"Seoul" };
var myObj = JSON.parse(jsObj);
console.log('myObj.name = '+myObj.name);
cs


jsObj 를 JSON 형을 취하고 있는 자바 객체로 제공할 경우 오류가 발생 합니다. 


Uncaught SyntaxError: Unexpected token o in JSON at position 1


이는 jsObj 가 이미 javascript 객체인데 이를 JSON 의 parse 함수를 이용하여 javascript 객체로 변환하려 시도 했기 때문에 발생하는 오류 입니다. 


이런 실수는 안하는 게 좋겠죠? 




JSON 을 설명하기 위해 stringify() 함수와 parse() 함수가 샘플 코드에 등장 했는데요. 

이 함수들은 별도 포스팅으로 정리 하겠습니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다.


지난 주말 오랜만에 날씨도 좋고 딸아이가 좋아 할 만한 것을 찾다가 남양주에 코코몽 팜빌리지가 있다는 이야기를 듣고 가봤습니다. 


공식홈페이지에서 안내 중인 입장권 가격표입니다. 



초등학생 이상... 즉, 성인도 입장료가 4천원입니다. 

유아가 더 비싸네요 ㅎㅎ


참고로 남양주 시민은 특별할인 대상입니다.

바로 앞에 들어가시는 분들이 할인받고 들어 가시는데... 그 몇천원이 왜 그렇게 부럽던지 ㅋ




딸 아이는 24개월 미만이라 무료 입장을 했구요. 저와 짝꿍은 이렇게 붉은 띠를 손목에 두르고 다녔습니다. 




역시 코코몽 하면 생각나는 거대한 로보콩이 가장먼저 눈에 들어 옵니다. 

엄마도 아빠도 돌아 보지 않고 로보콩으로 달리는 딸램 ㅎㅎ





작은 놀이터도 있습니다. 

울 딸램은 요즘 미끄럼틀에 푹 빠져서 한참을 놀았습니다. 

결국... 아빠가 강제 연행???을 하여 이곳을 빠져 나갔습니다 





동물 사육장으로 가는 길목에 있는 젖소와 황소 동상을 신기한듯 바라보네요.




타이밍 정말 졸묘했나 봅니다. 

공작이 날개를 활짝 펼쳤습니다. 





책으로 양을 볼대는 그렇게 좋아 하더니...

실물을 보니 반응이 좀 ... ㅎㅎ


그래도 먹이 줄때는 너무 신나 합니다. 




귀여운 토끼들도 많이 있습니다. 

역시나... 토끼를 볼때 만큼은 정말 신기한지 눈을 때지 못합니다. 





충전중인 열차...

운행시간을 확인 하고 준비 해야 합니다. 

그렇지 않으면... 줄이 상당히 깁니다 ㅎㅎ




짝꿍의 프라이버시를 위해 모자이크 처리하는 센스 ㅎㅎ

열차 탑승 후 출발전 한컷 ... 

다음 부터는 한명이 내려서 밖에서 사진을 찍어줘야 할 것 같네요





역시 아이들이 그냥 지나칠 수 없는 놀이 기구!!!

딸램은 아롱이는 싫다고... 

굳이 기다려서 코코몽을 타고 갑니다.


이용료는 500원 동전 두개!!! 천원입니다.





요즘들어 부쩍 꽃에 관심을 가지는 딸램입니다. 




지게에 올라 타보기도 하고




아기들 용으로 만든 작은 지게를 메어 보기도하고




맷돌도 돌려 봅니다. 

음... 맷돌은 안돌아 가니 짜증내네요 ㅋㅋㅋ






포토 존인가 봅니다. 

사람들이 많아서 단독 컷 찍기 힘들었는데

열차 시간 되면서 사람들이 다 사라졌네요 ㅎㅎ




이름이 헛간 놀이터 였는데요. 


사실 왠만한 키즈카페보다 놀기 좋았습니다. 

모든 곳을 성인이 같이 따라 다니면서 놀수 있었기에 아기의 안전에 더 신경 쓸수 있었구요.

여기저기 키즈카페 많이 가 봤지만 가장 마음에 들었던 곳이 바로 이곳입니다. 


물론, 이용시간이 한정되어 있어 플레이 타임이 끝나면 나와야 하는 것은 아쉽지만... 또 들어 올수 있으니 그렇게 나쁘지는 않을 것 같습니다. (저도 좀 쉬어야 했습니다 ㅠㅠ)


다른건 다 제쳐 두고라도 헛간 놀이터 때문에 짝꿍에게 또 오자고 했습니다 ㅋㅋ



딸램이 이렇게 즐겁게 놀아 준곳도 드물었기에 정말 최고의 선택이 아니었나 생각됩니다. 

미세먼지가 좀 걷히고 나면 다시 방문해야 겠습니다. 







블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

몇일 전 회식장소로 새로운 곳을 찾다가 

다른 직원들의 추천을 받아 을지로입구에 위치한 

"착한고기" 

에서 회식을 했습니다. 






처음 이곳을 찾아 올라 갈때 계단으로 올라갔습니다.

올라가면서 추천한 직원들 욕을 좀 ㅎㅎ;; 했는데요

올라가다 보니 반대편에 엘리베이터가 있었다는...


4층입니다. 

꼭 엘리베이터 타세요 ㅠㅠ


덕분에 입구 사진 찍을 생각도 못했습니다. 

결국 위 두개 사진은 네이버 검색을 통해 

업체에서 제공하는 사진으로 올려 봤습니다 ㅎㅎ;


물론 그 아래는 제가 직접 ...

찍어서 좀 상태가 별로인 사진들입니다 ㅋ




메뉴판이 자리마다 한장씩 깔려 있습니다. 

시킬때마다 메뉴판 달라는 소리 안해도 좋긴 하네요 ㅎㅎ





밑반찬은 별것 없습니다. 

좀 아쉽... ㅠㅠ




첫 고기는 한우 꽃등심으로 시작했습니다. 

사진찍고 직원들에게 앞으로 사진 찍지 마시라는 소리를 들은... 

바로 그 샷입니다 ㅎㅎ;


그래도 연습을 해야 사진 찍는 기술도 좋아 지는거 아니냐며 

열심히 찍었습니다 ㅋ





불판에 맛깔나게 올라갔습니다. 






정말 맛있게 익어 갑니다. 

저는 사진 찍자마자 저 붉은 색 감도는 저 녀석을

입안으로 직행 시켰습니다!



완전 입안에서 사르르 녹습니다 ㅎㅎ

술을 부르는 이 맛!!!

잘 먹겠습니다앙~~





두번째 시킨 채끝과 함께 나온 육회

보통 많이 보던 육회와는 약간 다른게...

계란 노른자가 안보입니다 

하지만 맛은 아주 깔끔한게 오히려 기름기 가득한 입안에

착착 감겨 와서 좋았습니다. 





두번째 종목인 한우 채끝...

여기서도 사진 못 찍는 티를 냈습니다 ㅠㅠ





아직 채 사라지지 않은 등심들 사이에 채끝이 등판했습니다. 


물론 아주 깔끔하게 처리했죠 ㅎㅎ

우리는 절대 음식을 남기지 않습니다. 

특히 그것이 한우느님이라면 말할것도 업죠!!!





세번째는 토시살을 시키려 했지만...

토시살은 이미 다 팔렸다고 합니다 ㅠㅠ


아쉬움을 뒤로하고 치마살을 시켰습니다. 

캬!!! 저 마블링!!!


역시 기막힌 맛을 선사해줍니다.





그리고 마지막으로 등판한 부채살까지 

고기 한조각도 안남기고 모두 먹어 치운 우리 테이블...


안주가 맛있으니 술도 술술 들어 갑니다. 




회식하면서 한우를 이렇게 맛나게

그리고 편안한 마음으로 먹어본건 정말 

오랜만인것 같습니다. 


"착한고기"

정말 착한 가격과 맛있는 고기로

입을 호강시켜 줬습니다. 




다만 개인적으로는 냉면이 없어 아쉬웠습니다. 


물론 직원들 말을 빌리면

냉 메밀 국수도 맛있다고 합니다만...

역시 고기먹은 후에는 냉면이라는 제 신조는...

냉면 아닌 후식을 받아 들일 수 없네요 ㅎㅎ




'먹거리' 카테고리의 다른 글

[ 명동 맛집 ] 스시지로 명동점  (517) 2018.06.01
명동 맛집 - 엉터리 생고기  (489) 2018.05.28
[ 종로 맛집 ] 팬아시아  (468) 2018.03.19
[ 명동 맛집 ] Pho Duck 포덕 (이베리코 돼지고기)  (468) 2018.02.28
을지로3가 평래옥  (488) 2018.02.14
블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

웹 개발을 할때 적용하는 순서는 보통 아래와 같습니다. 


로컬 서버 > 개발 서버 > 테스트 서버 (만약 운영하고 있다면) > 운영 서버 Deploy


물론 개발 환경에 따라 로컬 서버를 사용하지 않고 바로 개발이나 테스트 서버에 적용하여 개발을 하는 경우도 있습니다. 실제 모 카드사에서 사용하고 있는 프레임워크에서는 로컬 서버 운영이 불가능하여 코드 작성만 로컬 PC 에서 하고 소스는 개발서버에 올려서 확인 하고 있습니다. 

그런 특별한 케이스를 제외하고는 보통 로컬 서버 설정을 하여 개발을 많이 하고 있습니다. 



개발한 웹 프로그램을 로컬 서버에서 돌려 보려고 하는데 아래와 같은 오류가 발생한다면 어떻게 해야 할까요? 


Project facet Java version 1.8 is not supported.


Java 버전 1.8이 지원되지 않는다는 이야기 인데요. 해결방법을 알아 보겠습니다. 





웹 프로그램을 실행시켜 보기 위해 Run on server 를 클릭 하였지만... 위와 같은 오류가 보입니다. 



해결방법은 두가지가 있습니다. 

하나는 Project Facet 의 Java Version 을 1.7 로 맞춰 주거나 또는 JRE 8 및 Apache Tomcat 8 으로 모든 설정을 바꾸는 방법이 있습니다. 


어떤 방법을 사용해도 문제 없지만 이번 포스팅에서는 상위 버전으로 맞추는 방법을 알아 보겠습니다. 





프로젝트 우클릭 후 Properties 를 선택 합니다. 





좌측 목록에서 Project Facets 를 찾아 선택하면 Java 의 version 정보가 보입니다. 

지금 제가 실행하고자 하는 프로젝트의 자바가 1.8 인것으로 확인 되었습니다. 





우측 탭에서 Runtimes > New 를 선택 합니다. 





Apache Tomcat 8.0 을 선택 합니다. 





Tomcat은 8.x 버전이 설치 되어 있는 root 디렉토리를 찾아서 선택하면 됩니다. 

저는 이미 8.0.51 버전의 톰캣이 설치 되어 있어 디렉토리를 바로 지정 했지만 없으신 분들은 아래 링크를 따라가셔서 다운 받으시고 원하시는 위치에 압축 해제 하시면 됩니다. 


☞ Apache Tomcat 8.x 받으러 가기 (클릭)



두번째로  Installed JREs... 를 클릭 합니다. 





설치되어 있는 JRE 목록이 나오는데요... 

설치 목록에 없으므로 Add 를 클릭하여 추가를 합니다. 


jre8 이 없으신 경우 아래 링크를 통해 설치를 받으시면 됩니다. 


☞ Server JRE 8 다운로드 받으러 가기 (클릭)





각자의 PC 환경에 맞게 다운을 받으시면 됩니다. 

저는 Windows x64 로 다운을 받아 압축을 풀었습니다. 





JRE 8 이 설치된 (압축을 풀어 둔 root directory) 를 선택 하시고 JRE 명을 입력 후 Finish 를 클릭합니다. 





지정한 이름으로 JRE 가 등록된 것을 확인 할 수 있습니다. 

등록한 JRE 를 선택 하여 OK 를 클릭 합니다. 





JRE: 의 드롭다운 리스트에서 등록한 이름의 JRE 를 찾아 선택후 Finish 를 클릭합니다. 





Runtimes 탭 아래 Apache Tomcat v8.0 이 등록 되었습니다. 

Apply 를 클릭 후 OK 버튼을 클릭 해줍니다. 



여기까지가 개발하는 웹 프로젝트의 설정 방법입니다. 





이제 서버에도 작업을 해줘야 합니다. 


Servers 프로젝트를 우클릭 하여 Properties 를 선택 합니다. 





Project Facets > Runtimes 탭을 선택하면 Apache Tomcat v7.0 이 선택되어져 있습니다. 

Apache Tomcat v8.0 을 선택해주고 Apply 를 클릭 그리고 다시 OK 를 클릭하여 설정을 종료 합니다. 





이제 다시 Run On Sever 를 선택하여 웹 프로젝트를 실행 시킵니다. 


Tomcat v8.0 으로 잘 잡혀 있습니다. 

이제 Finish 를 선택하여 웹 프로젝트를 실행 하시면 됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D

블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,