728x90

google map 서비스 만드는 과정 

1. sdk manager로 들어가서 google play service를 설치한다.


2. 라이브러리를 등록한다.



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.vincentgoo.myapplication">


<!-- 내 프로젝트에 대한 보안 수준 설정. 내 프로젝트의 패키지가 com.example.vincentgoo.myapplication 인 경우 -->
<!--android:name="com.example.myapplication.permission.MAPS_RECEIVE"-->
<permission
android:name="com.example.vincentgoo.myapplication.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />

<!-- 구글맵 API v2의 권한 설정 -->
<uses-permission android:name="com.example.vincentgoo.myapplication.permission.MAPS_RECEIVE" />

<!-- 구글맵 API v2의 일반 권한 설정. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<!-- 일반 권한 설정 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- OpenGL 사용 설정 -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<!-- 라이브러리 사용 설정 -->
<uses-library android:name="com.google.android.maps" />

<!-- 구글맵 API v2 키 설정 -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyAnZOuHXGxWoTuxXejtC0BWfuEJE7vnJAI" />

<!-- GMS 라이브러리 버전 설정 -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

<구글 map api key 받기>


작업 1 : 고급설정에 path에 C:\Program Files\Java\jdk1.7.0_40\bin 설정여부를 확인한다. 작업 2 : C:\Users\a\.android/debug.keystore을 이용해서 MD5값을 생성하기 위해서 콘솔창을 실행하고 C:\Users\a\.android/으로 경로를 이동한다. 작업 3 : keytool -v -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 실행한다. 작업 4 : 'SHA1:'뒤에 있는 값을 이용하여 구글맵을 사용하기 위한 API키를 발급받는다. 작업 5 : 구글맵을 사용하기 위한 API키를 발급받기 위해 https://code.google.com/apis/console/사이트에 접속한다. 작업 6 : Google Maps Android API v2 을 'API사용설정'을 클릭한다. 작업 7 : Api Acess서브메뉴선택후 create new android key버튼을 클릭한다. 작업 8 : SHA1;어플리케이션 패키지명을 입력후 create버튼을 클릭한다. 작업 9 : 작업8단계에서 생성된 API키를 androidmanifast.xml파일에서 <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="API키" /> value속성에 작성한다



https://code.google.com/apis/console/ 접속





Google Maps APIs 에서 Google Maps Android API 클릭



Credentials 클릭



API key 설정




728x90
728x90




역사상 위대한 여자 성악가 중 한 사람으로 기록되고 있는
미국의 콘트랄토(여성 최저음 영역의 가수) 마리안 앤더슨.

그녀는 가난한 가정 형편과 흑인이라는 이유로 많은 어려움이 있었지만 
1925년 28세의 나이에 '뉴욕 필하모닉' 주최 신인 콩쿠르에서 
많은 경쟁자를 뒤로하고 1등으로 합격하였습니다.

1935년 흑인 최초로 잘츠부르크 음악제에 섰고 
이 공연을 본 거장 지휘자 아르투로 토스카니니는 
한 세기에 한 번 나올만한 소리를 가졌다며
아낌없는 찬사를 보내기도 했습니다.

그리고 1939년 워싱턴 링컨 기념관 광장에서 진행한
무료 야외 연주회에서는 7만 5천여 명의 청중이 몰릴 정도로
그녀는 많은이들에게 유명해졌습니다.

어느 날 그녀가 서는 무대마다 빠짐없이 참석해 취재했던 
한 기자가 그녀에게 다음과 같이 질문했습니다.

"당신의 인생 중에서 가장 행복했던 때는 언제입니까?"

기자는 그녀가 공연을 마친 뒤 감격으로 눈물을 흘리던
모든 순간을 함께했었기 때문에 
그녀가 어떤 대답을 할지 짐작할 수 있었습니다.

그런데 그녀의 입에서 뜻밖의 대답이 흘러나왔습니다. 
"제 일생에서 가장 행복했던 순간은 늙으신 어머니께 
이젠 피부색으로 인한 차별을 받지 않게 되었다고 말씀드릴 때였습니다."



마리안 앤더슨은 가난했고 차별당했지만
꿈을 향한 도전을 포기하지 않았고
결국 그녀는 가장 행복한 순간을 얻을 수 있었습니다.

우리는 원하는 것에 주저하지 않을 때 
비로소 행복해질 수 있습니다.
꿈을 향해 도전하는 삶을 사시길 바랍니다. 

728x90
728x90

=============================================================
키 | 자바스크립트 코드(숫자)
=============================================================

←(백스패이스) = 8
TAB = 9
ENTER = 13
SHIFT = 16
CTRL = 17
ALT = 18
PAUSEBREAK = 19
CAPSLOOK = 20
한/영 = 21
한자 = 25
ESC = 27

스패이스 = 32
PAGEUP = 33
PAGEDN = 34
END = 35
HOME =36

←(중간) = 37
↑(중간) = 38
→(중간) = 39
↓(중간) = 40

0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57
INSERT = 45
DELETE = 46

A = 65
B = 66
C = 67
D = 68
E = 69
F = 70
G = 71
H = 72
I = 73
J = 74
K = 75
L = 76
M = 77
N = 78
O = 79
P = 80
Q = 81
R = 82
S = 83
T = 84
U = 85
V = 86
W = 87
X = 88
Y = 89
Z = 90

윈도우(왼쪽) = 91
윈도우(오른쪽) = 92
기능키 = 93
0(오른쪽) = 96
1(오른쪽) = 97
2(오른쪽) = 98
3(오른쪽) = 99
4(오른쪽) = 100
5(오른쪽) = 101
6(오른쪽) = 102
7(오른쪽) = 103
8(오른쪽) = 104
9(오른쪽) = 105
.(오른쪽) = 110
/(오른쪽) = 111
*(오른쪽) = 106
+(오른쪽) = 107
-(오른쪽) = 109
F1 = 112
F2 = 113
F3 = 114
F4 = 115
F5 = 116
F6 = 117
F7 = 118
F8 = 119
F9 = 120
F10 = 121
F11 = 122
F12 = 123
NUMLOCK = 144
SCROLLLOCK = 145
=(중간) = 187
-(중간) = 189
`(왼쪽콤마) = 192
(중간) = 220

 

 


































출처 : http://Ssemi.net


728x90
728x90

평소에 시간이 나는대로 팝송을 들으면서 따라 불러보세요. 분명히 어느 순간 자신의 영어 실력이 늘어있음을 스스로 느낄 것입니다.


I’m yours (전 당신 거예요)

 

 

sung by Jason Mraz

 

Well you done done me in, you bet I felt it

(당신이 제게로 왔고, 제가 느꼈음을 당신도 알 거예요)

I tried to be chill but you're so hot that I melted

(냉정해지려 했지만, 당신이 너무도 멋져 난 주체할 수 없었어요)

I fell right through the cracks (전 당신에게 완전히 빨려들었어요)

Now I'm trying to get back (이제 난 당신에게서 빠져나오려고 해요)

Before the cool done run out (내 마음이 식어버리기 전에)

I'll be giving it my bestest (내 모든 것을 줄 거예요)

And nothing's gonna to stop me but divine intervention (무엇도 절 막을 수는 없어요)

I reckon it's again my turn to win some or learn some

(제가 이길지 아니면 좀 더 배워야 하는 건지 가늠해봤어요)

 

But I won't hesitate no more, no more (난 더 이상 주저하지 않을 거예요, 더 이상은)

It cannot wait, I'm yours (기다릴 수 없어요, 전 당신 거예요)

 

Well open up your mind and see like me (마음을 열고 저처럼 바라봐요)

Open up your plans and damn you're free (계획 따위는 치워버려요, 당신은 자유로우니까요)

Look into your heart and you'll find love love love love (당신의 마음속에는 사랑이 있을 거예요)

Listen to the music of the moment, people dance and sing (사람들이 춤추고 노래하는 순간에)

We're just one big family (우리는 한 가족이에요)

And it's our God-forsaken right to be loved love loved love loved

(버림받은 당신의 마음이 사랑으로 변할 거예요)

 

So I won't hesitate no more, no more

It cannot wait I'm sure (난 정말 기다릴 수 없어요)

There's no need to complicate (복잡하게 생각하지 말아요)

Our time is short (우리에게 주어진 시간은 짧으니까요)

This is our fate, I'm yours (이건 우리의 운명이에요, 전 당신의 것이니까요)

 

Scooch on over closer dear (가까이 다가와 보세요)

And I will nibble your ear (당신의 귀를 살짝 물 수 있도록)

 

I've been spending way too long checking my tongue in the mirror

(내 혀를 거울로 보기 위해 시간을 꽤 많이 허비했어요)

And bending over backwards just to try to see it clearer

(확실하게 보려고 구부리기까지 했어요)

But my breath fogged up the glass (내 숨결이 거울 안에 가득했고)

And so I drew a new face and I laughed (거기에 내 얼굴을 그리고는 웃어버렸죠)

I guess what I'll be saying is there ain't no better reason

(제가 지금 하는 말은 더 좋은 이유가 없을 거예요)

To rid yourself of vanities and just go with the seasons

(당신의 자존심을 버리고 그냥 이 순간을 따라가세요)

It's what we aim to do (이게 우리의 목표에요)

Our name is our virtue (우리의 이름이 곧 우리의 장점이에요)

 

But I won't hesitate no more, no more

It cannot wait, I'm yours

 

Well open up your mind and see like me

Open up your plans and damn you're free

Look into your heart and you'll find that the sky is yours

(당신의 마음속에는 사랑이 있고, 저 하늘이 당신의 것이라는 걸 알게 될 거예요)

So please don't please don't please don't (제발 그러지 마세요)

There's no need to complicate

'Cause our time is short

This oh this oh this is our fate I'm yours!


728x90
728x90
이란에서는
아름다운 문양으로 섬세하게 짠 카펫에
의도적으로 흠을 하나 남겨 놓는다
그것을 ‘페르시아의 흠’이라 부른다

인디언들은 구슬 목걸이를 만들 때
살짝 깨진 구슬을 하나 꿰어 넣는다
그것을 ‘영혼의 구슬’이라 부른다

제주도의 돌담은
여간한 태풍에도 무너지지 않는다
돌담을 잘 살펴보면 돌과 돌 사이를
메우지 않았는데,
그 틈새로 바람이 지나가기 때문이다

우리는 틈이 없는 완벽한 사람보다
어딘가 약간 부족한 듯한 사람에게서
인간미와 매력을 느낀다

내 마음에 빈틈을 내고
나 자신의 빈틈을 인정하고
다른 이들의 빈틈을 받아들이는 것이

제주도의 돌담처럼
태풍에도 무너지지 않는
인간관계를 만드는 비결 아닐까?

- <멘토의 수첩> 중에서 / 이효진 옮김-

소통도 이와 같습니다
틈이 너무 없으면 서로 꽉 막히지요!

-빈틈 있는 사람 되십시오^^-

 

728x90
728x90


아버지는 살아생전 자신이 쓰는 노트를 보물처럼 여기셨습니다. 
다른 일엔 

일체 비밀이 없으셨지만 

오직 노트에 대해서는 함구하셨지요.

아버지가 돌아가시던 날, 비로소 나는 노트를 펴 볼 수 있었습니다.

그런데 그 노트에 적힌 것은
남몰래 말 못한 비밀이나, 비상금 목록이 아닌
가족들의 이름과 친구들의 이름 그리고 낯선 사람들의 이름이었습니다.

무언가 대단한 것을 생각했던 나는 적잖이 실망했습니다.
그때 어머니가 다가와 인자한 목소리로 말했습니다.
"아버지의 노트를 보고 있구나."
"어머니는 이 노트를 아세요?"
어머니는 그 노트를 들고 한장 한장씩 넘기면서
추억에 잠기시는 듯했습니다.

"이건 너희 아버지가 기도할 때 쓰던 노트란다.
매일 밤 가족들과 친구들의 이름을 불러가며 조용히 기도하곤 하셨지."

어머니의 뜻밖의 이야기에 놀란 나는 낯선 이름들에 대해서도 물었습니다.
"이분들은 누구신가요?"
"아버지에게 상처를 주신 분들이란다.
아버지는 매일 그들을 용서하는 기도도 하셨단다." 




누군가를 위해 기도하는 것만큼 멋지고 아름다운 일은 없습니다.
오늘은 내 주변에 힘들어하는 사람을 위해
한마디라도 간절히 기도해보는 건 어떨까요?


728x90
728x90

 




말을 타고 길을 가던 한 신사가
재목을 운반하기 위해 땀을 흘리면서 열심히 일하는 군인들을 보았습니다.
그런데 그 와중에 편안히 앉아 구경만 하는 상사가 있었습니다.

신사가 그 상사에게 물었습니다.
"당신은 왜 같이 일을 하지 않으십니까?"

상사는 주저 없이 대답했습니다.
"나는 졸병이 아니고 명령을 하는 상관이기 때문입니다."

그 말을 듣자 신사는 말에서 내려 윗옷을 벗어 놓고
병사들과 함께 재목을 운반하기 시작했습니다.

신사는 한참 동안 작업을 했고 많은 땀을 흘린 뒤에야
재목을 목적지까지 운반하는 일을 마무리할 수 있었습니다.

신사는 이마의 땀을 닦으면서 상사에게 말했습니다.
"앞으로 목재를 운반할 일이 있거든 총사령관을 부르십시오."

그 신사가 유유히 자리를 떠나갈 때 즈음.
상사와 병사들은 그제야 그 신사가 조지 워싱턴 장군임을 알았습니다.




권위나 지위는 스스로 만들어낼 수 없습니다.
먼저 섬기는 겸손한 자에게 리더십의 기회가 마련되는 것입니다.

 

출처 : 사랑밭 편지

728x90
728x90

최근의 대부분 프로젝트는 Sitemesh를 사용하여 개발했었다.
이번에 문서들을 보면서 확인해보니 Tiles2가 나오면서 성능등이 많이 개선이 되었다고한다.
그럼, 해봐야 하지 않겠어?! 해보자.

pom.xml 추가

<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-core</artifactId>
	<version>2.2.2</version>
</dependency>
<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-jsp</artifactId>
	<version>2.2.2</version>
</dependency>
<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-servlet</artifactId>
	<version>2.2.2</version>
</dependency>


스프링소스 사이트에서 다운로드받은 STS의 경우 메이븐 pom.xml업데이트만 해도 자동으로 라이브러리가 추가되더라.
따로 메이븐을 설치하여 사용해야하나 고민하고 있었는데, 조금 두고 봐야겠다. 

이제 servlet-context.xml에 Tiles사용을 위한 설정을 해보자.

<beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
	<beans:property name="definitions">
		<beans:list>
			<beans:value>/WEB-INF/config/tiles_layouts.xml</beans:value>
		</beans:list>
	</beans:property>
	<beans:property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
</beans:bean>
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
	<beans:property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/> 
</beans:bean>


Tiles2에서 view를 연결하기 때문에 InternalResourceViewResolver를 사용하지 않아도 된다.
하지만, 나는 혹시나 발생할 수 있는 레이아웃없이 jsp페이지만 호출할 일이 있을까 싶어서,
InternalResourceViewResolver를 삭제하지 않았다.

이제 Tiles2의 레이아웃 설정이다.
설정파일은 위에서 지정한 "/WEB-INF/views/config/tiles_layouts.xml" 이 파일이 되겠다.

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
	<definition name="layouts-tiles" template="/WEB-INF/views/template/layouts-tiles.jsp">
		<put-attribute name="header"    value="/WEB-INF/views/template/header.jsp" />
		<put-attribute name="content"   value="" />
		<put-attribute name="footer"    value="/WEB-INF/views/template/footer.jsp" />
	</definition>
	 
	<definition name="*.tiles" extends="layouts-tiles">
		<put-attribute name="content"   value="/WEB-INF/views/{1}.jsp" />
	</definition>
	<definition name="*/*.tiles" extends="layouts-tiles">
		<put-attribute name="content"   value="/WEB-INF/views/{1}/{2}.jsp" />
	</definition>
	<definition name="*/*/*.tiles" extends="layouts-tiles">
		<put-attribute name="content"   value="/WEB-INF/views/{1}/{2}/{3}.jsp" />
	</definition>
</tiles-definitions>


layouts-tiles설정에서 기본 레이아웃 페이지와 이름을 설정한다.
content의 경우는 유동적으로 바뀌기에 하단에서 layouts-tiles를 extends받아서 추가해 준다.
자신에 맞게 바꾸면 되겠다.

layouts-tiles.jsp 내용

<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>Digigroove Intranet</title>
</head>
<body>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="content"/>
<tiles:insertAttribute name="footer"/>
</body>
</html>


여기까지가 끝이다.
header와 footer는 일반적인 html레이아웃 짜듯이 구성해 주면되겠다.
하나 불편한 점이 있는데, sitemesh의 경우는 header와 body의 내용 혹은 속성을 레이아웃에서
받아서 처리할 수 있있지만 Tiles녀석도 가능한지 아직모르겠다.
문서를 좀 읽어봐야겠다. 

아름답게도 잘 설명해준 블로그가 있어서 살살 따라하다보니 쉽게 되었다.
출처를 밝히며 감사의 마음을 표한다. 앞으로도 이곳 저곳의 자료를 모아올 것 같다.. ㅋㅋ

출처 : http://blog.naver.com/PostView.nhn?blogId=jazz1234k&logNo=40123376205 

728x90

+ Recent posts