itstart-190126의 등록된 링크

 itstart-190126로 등록된 티스토리 포스트 수는 329건입니다.

[취미생활 : 그림] 숲속의 고양이 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 숲속의 고양이 (고양이 그림 : 펜그림) 퇴근하고 지쳤는데 퇴근길에 집근처 길영희씨를 봤어요 진짜… 너무 귀엽고 순한 고양이라 힐링했어요 고양이를 봐서 기분도 좋고 힐링된 마음을 담아서 그림을 그렸습니다 ^^ 뒷배경은 좀 아쉽지만 그래도 고양이는 잘 그렸구나 하는 마음으로 올려보아요 표정만은 행복하게 ^^ 그려졌네요 다들 집 근처 또는 친한 고양이가 있나요?? 키우는 고양이도 좋아요 저 말고 다른 분들도 고양이의 매력을 느끼셨으면 좋겠습니다 ^^ * 인스타그램 @huindungi2020 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=로그인 • Instagramwww.instagram.com

코닥 울트라 F9 - 코닥 GOLD 200 : 컬러 사진 [내부링크]

[코닥 울트라 F9 - 코닥 GOLD 200 : 컬러 사진] 이번 사진은 코닥 울트라 F9 토이카메라와 코닥 GOLD 200 36컷 필름을 이용하여 사진 찍은 걸 디지털 인화했다 조리개가 있었다면 빛의 양을 조절하고 뷰파인더로 초점을 잡을 수 있었다면 좋았을텐데 토이 필름 카메라이다 보니 초점이 잘 안잡힌 게 많았고 날씨가 흐릴수록 초점이 안맞았다... 마지막에 날씨 좋은 날 찍은 것도 초점이 안맞았는데 이유가 무엇인지 아직도 모르겠다 사진은 배울수록 재미있는 거 같다 [총평] 셔터를 누르는 것은 쉬우나 잘 나오게 하는 것은 어려움 창덕궁 온실 근처에 고양이들이 엄청 많아서 사진을 냅다 찍었는데 초점도 안맞아~ 다 흐리게 나오고 아주 난리났다 올림픽 공원 SG워너비 공연 보러 갔을 때 찍은 사진 이 날도..

[서비스 기획] 서비스 기획에서 중요한 것과 알아야 할 것 [내부링크]

[서비스 기획] 서비스 기획자의 역량 서비스 기획의 3요소 : 비즈니스, UX, IT 서비스 기획자는 UI만 설계하는 사람도아니고 고객 분석만 하지도 않는다. 핵심 비즈니스를 IT 기술이 가능한 형태로 UX를 고려해서 만드는 것이 기획자다. 포스트잇을활용한 방법론을 쓰지 않는다 하여 회사 일에서 배울것이 없다고 결론을 내려서는 안 된다. 포스트잇은 쓰지 않더라도 충분히 다른 방식으로 IT 비즈니스에 대한 노하우와 UX에 대한 검증을 하고 있을 수 있다. 충분한 사고의 과정을 꼭 비주얼로 보여줄 필요는 없다. 다만 비주얼로 나타내는 것이 인지하기에 효과적이라 방법론이 각광받는 것 뿐이다. 서비스 기획에서 중요한 것 현장에서 서비스 기획을 할 때 가장 중요한 점은 무엇일까? 서비스 기획은 UX를 분석하여 얻..

[일상] 용산 아이파크몰 나들이 [내부링크]

[일상] 용산 아이파크몰 나들이 용산에 발을 내딛었습니다!!~!! 가족나들이로 어제 용산 아이파크몰로 왔는데요 오빠가 씨네프쉐프 상품권이 생겨서 외식겸 나들이 왔었네요 ㅎㅎㅎㅎ 아래 씨네프쉐프와 카페 유니콘플랜 드 베이크 포스팅도 있으니 보시는 걸 추천드려요 저희 가족은 용산역에 내려서 영풍문고쪽으로 들어갔는데요 이쪽이 리빙파크 쪽이었던걸로 기억해요 잠실 롯데월드몰만 가다가 여기오니 다들 첫마디가 '이렇게 넓을 수가??!?!?!' 넓은 장소에 다들 놀라지 않을 수 없었는데요 롯데월드몰도 넓지만 여기는 더 넓더라구요 그래서 놀랐습니다 통로도 넓어서 돌아다니면서 구경하기도 어찌나 좋던지 볼거리도 엄청 많았습니다. 영풍문고 근처로 피규어도 팔고 악세서리 문구, 키보드 등 여러가지 팔았습니다. 그 중 제 눈에 ..

[일상] 용산 아이파크몰 - 씨네드쉐프 맛집(?) [내부링크]

[일상] 용산 아이파크몰 - 씨네드쉐프 맛집(?) 오빠가 씨네드쉐프 상품권이 있어서 가족들과 나들이 겸 왔어요 위치는 용산 아이파크몰 6층 CGV 근처에 있습니다. 음식 메뉴 보니까 가격이 많이 비싸더라구요 상품권이 있어서 다행이었어요 내부 엄청 넓죠? 5시 30분에 예약해서 아직 사람이 없더라구요 ㅎㅎ 저희 가족이 앉은 자리는 안쪽에 있는 자리였는데요 여기는 옷도 걸어준다고 하시고 비싼곳이라 그런지 서비스가 좋았어욘ㄹ 씨푸드 파스타, 전복 현미 빠에야 그리고 양갈비 이렇게 시키고 모히또와 핸드릭스 진 이렇게 시켰어요 각 가격은 25.000원 정도 선이 었고 양갈비만 38.000원 이었어요... 가격 비싼거에 비해 양도 적구... 파스타 면은 안 익은것처럼 거의 살아있는 느낌이에요 전복 현미 빠에야랑 양..

[일상] 용산 아이파크몰 카페 - 유니콘플랜드베이크 아이파크몰 테이스트파크점 : 소보루빵과 아크커피가 맛있는 곳 [내부링크]

[용산 아이파크몰 카페 - 유니콘플랜드베이크 아이파크몰 테이스트파크점] 소보루빵과 아크커피가 맛있는 곳 용산 아이파크몰에 놀러갔습니다~~!! 날씨가 흐려서 아쉬운 점이 있지만 그래도 3일 연속 쉬는 날이라 가족 나들이를 해볼까 하여 가족들과 같이 나왔습니다. 집에서 나왔을 때는 바람은 불지만 꽤 시원한 날씨였는데 용산에 오니 한... 2시 조금 넘었을까요 좀 더 바람이 차게 느껴지더라구요. 암튼 용산에 도착해서 아이파크몰을 한... 두시간쯤 돌았더니 가족들도 다리 아파하고 저도 힘들어서 밥먹기 전에 카페에서 쉬자고 하고 카페를 찾아봤는데 카페는 많았으나 .... 사람들이 바글바글 어느 카페도 들어갈 수 없었을때!!!!!!! 두둥!!!! '유니콘플랜드베이크' 카페가 보였습니다 핑크 LED 조명이 있어서 핑..

[취미생활 : 그림] 나는.. 꼬지리다.. (햄스터 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 나는.. 꼬지리다.. (햄스터 그림 : 펜그림) 요즘 인스타그램 릴스를 보다 보면 '나는 꼬질이다...' 라는 릴스가 많이 올라오고 있는데 저도 한 번 그려볼까 싶어서 그렸어요 그 중 햄찌 꼬질이가 눈에 띄었어서 햄찌를 그렸는데 그리고나서 색칠까지 하고 보니 정말 꼬질꼬질 하네요 ㅋㅋ 가족이 제 그림 보자마자 햄스터가 못생겼다고 하더라구요 저는 제가 생각한대로 잘 그려졌다고 생각해서 그 반응이 너무 좋았네요 아래 그림을 보시면 아시겠지만 입을 살짝 벌리고 있는 햄스터의 모습이 멍충미(?)도 가득해보이고 꼬질해서 덜 귀여워보일 수 있다고 생각했거든요 ㅋㅋ 다른분들은 어떻게 보실지 궁금하네요 보시는 분들이 더 많아지면 댓글도 달리겠지 라고 생각하고 현재는 블로그 유입을 늘려보는 걸 목표..

[취미생활 : 그림] 한번만 만져보고 싶다 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 한번만 만져보고 싶다 (고양이 그림 : 펜그림) * 인스타그램 @huindungi2020 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y= 로그인 • Instagram www.instagram.com

[취미생활 : 그림] 쭙쭙 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 쭙쭙 (고양이 그림 : 펜그림) 인스타그램 @huindungi2020 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y= 로그인 • Instagram www.instagram.com

[일상] 안국 / 북촌 카페 - 도토리 가든 [내부링크]

[[일상] 안국 / 북촌 카페 - 도토리 가든] 몇 번 들렀던 카페인 도토리 가든이에요 귀여운 마스토트 고양이(?)가 생각나서 간만에 들렸어요 블로그를 시작하고 나서 이 카페는 블로그에 포스팅해서 사람들이 많이 봤으면 좋겠다 생각했던 카페인데요 이유는 너무 귀여운 빵들과 내부 인테리어 때문이었어요 아래와 같이 메뉴가 그림으로 그러져 있어요 엄청 귀엽지 않나요??? ㅎㅎ 제가 그림을 좋아하는데 이렇게 메뉴를 그림으로 그린다는게 어찌보면 평범하지만 그림에 따라 눈이 가느냐 안가느냐가 중요하다고 생각하고 있어서 이 그림은 정말 눈이 잘 가게 메뉴들을 잘 표현했다고 생각이 들었던거 같아요 ㅎㅎ 그래서 인상이 좀 깊게 남아있네요 ㅎㅎ 도토리 마들렌 이건 나중에야 인터넷 보고 알았어요 ㅠㅠ 다음이 가게되면 꼭 먹어..

[일상] 안국 / 북촌 - 타코 맛집 (멕시코, 남미 음식) [내부링크]

[안국 / 북촌 - 타코 맛집 (멕시코, 남미 음식)] 오늘의 회사 점심시간 메뉴는 두구두구두구 멕시코 음식 타코 입니다 ㅎㅎ 저는 타코 처음 먹어보는데요 오늘 완전 타코에 빠져버렸어요 우선 갓잇이라는 가게가 어디에 위치해 있냐면 안국에서 유명한 깡통만두집으로 가는 골목이 있는데 바로 그 앞에 위치해 있습니다 사람이 많이 있던 관계로 내부사진이나 외부사진을 찍진 못했고 그냥 메뉴판과 음식 사진만 찍었어요 ㅎ 음… 여기는 분위기나 가게 자체가 괜찮아서 제가 가게 분위기 많이 따지는데 여기 괜찮습니다 남자친구 또는 여자친구랑 데이트하러 와도 좋아요 내부 사진 찍은 게 이게 다예요 ㅎㅎ 가게 내부는 제가 인정합니다 깨끗하고 데이트하거나 친구들과 놀러 와서 먹기엔 무리 없어요 저는 B세트로 시켰습니다 ㅎㅎ 데낄..

[서비스 기획] 서비스 기획자란? / 서비스 기획자 와 전략/마케팅 기획자의 차이 [내부링크]

[서비스 기획] 서비스 기획자란? / 서비스 기획자와 전략/마케팅 기획자의 차이 서비스 기획자란? 기획이란 '일을 꾀하여 계획'하는 것을 의미함 '목표를 위해 없었던 일을 새로이 만들고, 그것을 세부적인 계획까지 연결하는 사람'이라고 해석할 수 있다. 최근에는 데이터를 이용하여 의사결정구조와 UX 판단을 중요시하는 '데이터 주도형 디자인' 개념까지 들어오면서 기획자의 역할이 데이터 분석까지 확장되는 실정이다. '웹마스터' 혹은 새로운 전략과 프로젝트를 다루는 '웹기획자'를 거쳐 UX까지 관리하는 'UX 기획자'가 되었다가 이젠 자연스럽게 '서비스 기획자'로 명칭이 변해왔다. 서비스 기획자 와 전략/마케팅 기획자의 차이 회사에서 새로운 서비스를 추진하자라고 할 때 아이디어를 주고받는 아이데이션 단계는 시작..

[취미생활 : 그림] 빠안히 바라보기 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 빠안히 바라보기 (고양이 그림 : 펜그림) 넥카라가 귀여운 고양이 그림을 그렸어요 빨간색 넥카라 너무 귀엽지 않나요? 기존 고양이 얼굴과는 좀 다르게 그려졌지만 제가 그린 고양이의 모습은 또 다른 매력이 있는 거 같아요 눈망울도 맑고 이쁘게 그려져서 마음에 듭니다 저는 다음 주는 근로자의 날이라 다른 분들은 어떨지 모르겠네요 다들 쉬시나요??? 쉬시면서 취미로 그림 한 컷 그려보는 건 어떨까요? 아무 그림도 좋습니다 구름 하나 꽃 하나 마음이 드는 사물을 그려보세요 2023.04.25 - [취미생활/@흰둥이 그림 모음] - [취미생활 : 그림] 내가 이 구역 짱이다!! (고양이 그림 : 펜그림) [취미생활 : 그림] 내가 이 구역 짱이다!! (고양이 그림 : 펜그림) [취미생활 : ..

[취미생활 : 그림] 내가 이 구역 짱이다!! (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 내가 이 구역 짱이다!! (고양이 그림 : 펜그림) 모든 이들이 '내가 짱이다!' 라는 걸 마음속으로 외치면서 살았으면 좋겠네요 회사를 다니면서도 그렇고 인간관계에서 위축되는 날들이 생기기 마련인데요 그런 마음이 생길 때면 '내가 왜 그랬지...' '아.. 나 너무 바보 같아...' 라고 자책하는 사람들이 요즘 많은 것 같아요 자기 자신의 감정을 돌아보고 돌볼 줄 알아야 건강한 정신상태 온전한 나일 수 있는 것 같아요 오늘 밤에 잠자기 전에 내일 출근하면서 '내가 짱이다!!' 라고 속으로라도 외쳐보시길 바랍니다. ㅎㅎ 2023.04.25 - [취미생활/@흰둥이 그림 모음] - [취미생활 : 그림] 세상아 덤벼라 (고양이 그림 : 펜그림) [취미생활 : 그림] 세상아 덤벼라 (고양이 ..

[일상] 안국/인사동 맛집 - 오레노라멘 (강추!) [내부링크]

[안국/인사동 맛집 - 오레노라멘 (강추!)] 하앗!! 오늘은 강추하는 라멘집을 소개합니다 바로바로바로~~~ ‘오레노라멘’ 금일 점심식사로 오레노라멘집에 갔는데 너무너무 맛있게 먹었습니다 ㅎㅎ 오레노라멘집은 안국역 1번출구 왼쪽에 걸스카우트 건물 옆 골목으로 들어가면 있어요 조금만 늦으면 바로 웨이팅이고 또 웨이팅이 있는게 내부가 그리 넓지 않은 이유도 있어요 예약도 안되기 때문에 점심이든 저녁이든 조금 일찍 찾아가는게 좋을거 같아요 저는 오늘 시오라멘을 먹었는데요 시오라멘은 맑고 깔끔한 맛이 일품이고 라임이 들어가 있다고 설명되어 있었어요 또 제가 좋아하는 닭과 해산물이 베이스인 청탕 육수라고 명시되어 있어요 먹어보기 전까진 아무생각 없었는데 먹어보니 오~~~ 국물이 일품이었어요!! 맛있는 국물인데 뭔..

[일상] 안국/인사동 맛집 - 사월의물고기 [내부링크]

[일상] 안국/인사동 맛집 - 사월의물고기 금일 점심시간은 '사월의 물고기' 카페를 다녀왔습니다. 회사가 안국이어서 참 좋은 게 북촌한옥마을도 가까이 있고, 인사동, 익선동도 가까이 있어서 볼거리도 많고 카페도 많다는 거예요. 그래서 오늘은 인사동 쪽으로 걸어서 '사월의 물고기' 카페에 갔어요 비도 오고 날씨도 흐렸지만 생각해 보니 지금 4월이잖아요? 사월의 물고기라니... 빗속에서 첨벙첨벙 돌아다니는 물고기가 된 것 마냥 웃으면서 갔네요 ㅋ 사월의 물고기 내부는 넓은 편이에요 항상 어느 카페를 가든 12시 조금 넘은 시간대라 사람이 없어요. 조용하니 얘기 나누기 딱 좋은 시간대죠 시간이 지나니 차차 사람이 많아져서 카페 내부를 꽉 채웠습니다. 빵이 엄청 맛있어 보이죠? 타르트도 큰 타르트 더라고요 신기..

[독서] 도서 : 자존감 관계법 - 가토 다이조 [내부링크]

[도서 : 자존감 관계법 - 가토 다이조] 다른 사람과의 관계에서 휘둘리지 않고 좀 더 자신감 있는 태도로 인생을 살도록 돕는 심리학자에게 배우는 자존감 관계법 가족관계에서 형성되는 감정에 대해서 많이 비유해서 설명하는 거 같다. 어렸을 때 엄마한테 들었던 말들로 인해 형성되는 감정조절, 생각 등을 얘기하며 그렇게 자라온 사람들이 겪는 불안감, 우울증에 대해 설명하는 데 솔직히 많이 와닿지는 않았다. 그렇다고 아예 공감되지 않는 것은 아니었는데 그것은 내가 현재 느끼고 있는 감정들에 대해 명시해놓은 것은 거의 맞았기 때문에 저자가 이런 상황과 감정에 대해 원인을 자꾸 가정환경에서 도출해 내려고 하는 것 같아 조금 불편했다. 이런 환경에서 자란 사람들은 이해했을 수도 있다. 하지만 조금... 뭐랄까... ..

[취미생활 : 그림] 세상아 덤벼라 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 세상아 덤벼라 (고양이 그림 : 펜그림) 직장인의 새로운 아침이 시작됐네요 새로운 상황과 새로운 업무와 새로운 사람들과의 만남으로 이루어진 하루를 보낼 생각에 머리가 지끈이신 분들도 있을거라 생각합니다 왜냐하면 저도 그렇게 생각하며 출근 중이거든요 ㅋㅋ 하루하루가 힘들지만 힘을 내야하는 직장인분들 또 다른 이유로 힘든 마음이 있으신 분들을 위해 그려보았습니다 제목은 ‘세상아 덤벼!!!’ 입니다 진짜 세상이 자꾸 본인에게 힘듦을 주어도 덤벼봐! 와봐! 하고 맞설 수 있는 힘을 복돋아줬으면 하는 마음에 그렸어요 오늘 하루도 다들 힘찬 하루 보냈으면 좋겠습니다 다들 아자아자!!! 퇴근길 이시라면 아래 그림과 글을 추천드려요 2023.04.24 - [취미생활/@흰둥이 그림 모음] - [취미..

[취미생활 : 그림] 귀여운 토끼 (토끼 그림 : 펜그림) [내부링크]

[귀여운 토끼 (토끼 그림 : 펜그림)] 요즘에 고양이 그림만 그리다가 토끼그림을 그려보았습니다. 이번 년도가 토끼해인건 아시죠?? 새해 되고 나서 토끼 그림 그린 것도 있는데 인스타 그램에 올려놓았어요 인스타그램에서 확인해보셔도 좋을 거 같습니다. 저는 요즘 정말 바쁘게 살고 있는데요 취미생활의 중요성을 굉장히 많이 느끼고 있어요 회사생활을 하다보면 자존감이 떨어지기도 하는데요. 위축되고 힘든 마음을 돌아보는 것도 중요하고 그 마음을 환기시키는 것도 중요하다고 생각합니다. 나 자신이 가장 중요하잖아요 ㅎㅎ 저는 그래서 취미생활로 그림을 그리거나 또는 독서를 하거나 또는 비즈공예를 합니다. 이렇게 그림을 그리거나 비즈공예를 하거나 독서를 하면서 잠시 안좋은 생각에서 벗어나 생각을 멈추기도 하고 또는 독서..

[일상] 안국/북촌 - 카페 수달 [내부링크]

[안국/북촌 - 카페 수달] 저번부터 가고싶었던 카페 수달! 오늘 가봤습니다 사실 저번에 갔었는데 회사동료들이랑은 또 가보질 못 했었어요 근데 오늘 마침 점심도 카페 수달 근처에서 먹어서 점심먹고 후식으로 카페 수달을 가기로 했습니다 카페 수달은 골목 안쪽에 있어서 잘 보고 찾으셔야 되요 아재커피라고 있는데 그 근처 골목길로 들어가야 있습니다 글 아래 지도 올려놓을테니 참고 바라요 ㅎㅎ 카페 수달 입구!! 수달 로고가 너무 귀여웠습니다 ㅎㅎ 좌식도 있는데 이쁘죠??? 가까이서 찍고 싶었으나 음료 드시는 분들이 계셔서 찍을 순 없었어요 아빠다리기 힘들어서 앉을 생각은 못하겠더라구요 신발벗고 들어가서 한옥의 멋을 느끼는 것도 좋을 것 같습니다 이쁜 글도 쓰여있고 옆에는 책장이 책도 놓여져 있어요 혼자 와서 ..

[일상] 성남 은행시장 을지대점 - 롤링파스타 [내부링크]

[성남 은행시장 을지대점 - 롤링파스타] 친구와 함께 스터디하고 저녁 먹으러 성남 은행시장 건너편에 있는 롤링파스타에 갔습니다 롤링파스타는 백종원 프랜차이즈로 가성비의 맛집인데요 원래 은행시장에는 없었었는데 언제 생겼는지 정확히 모르겠지만 새로 생겨서 갔습니다 내부는 엄청 협소해요. 조그마하게 둘이 앉을 수 있는 테이블 두 개와 위에 보이듯 벽에 앉을 수 있도록 4개의 좌석이 있어요 인원이 둘이면 먹기 좋을거 같고 여기는 배달을 위주로 하는거 같더라구요 저희는 파스타 , 리조또, 피자 S사이즈로 한 판 시켰는데요 빼쉐 파스타와 리조또(이름이 생각이 안나네요) 마르게리따 피자 이렇게 시켰습니다 음식이 모두 엄~~~~청 맛있습니다 리조또는 크림인데도 불구하고 전 크림 잘 못먹는데 전혀 느끼함 없이 먹었습니다..

[일상] 티스토리 블로그 유입 늘리기 [내부링크]

[티스토리 블로그 유입 늘리기] 티스토리 또는 수익형 블로그를 만들고 싶은데 웹사이트 상위 노출을 어떻게 해야하는지 잘 모르겠어서 여러 블로그들을 살펴보았다. 티스토리 수익형 블로그를 만들라고 애드센스 광고를 붙여 운영한지 한달이 지났다. 평일에는 하루에 150 ~ 200명 정도의 유입이 있는데 주말로 갈 수록 유입이 확연하게 줄어드는게 보인다. 구글 상위 노출은 티스토리의 검색의 꽃이라고 불리던데... 상위권에 노출되게 되면 길게 한... 1 ~ 2년?! 또는 더 길게 지속적으로 많은 양의 방문자 유입을 하게 되서 안정적인 수익을 얻을 수 있다고 때문이라고 한다. (그렇다면 더더욱... 노력해야지!!!! 으아자!!!!) [티스토리 구글 유입을 늘리기 위한 꿀팁!!] 1. URL 주소를 문자로 해주기 -..

[일상] 티스토리 광고 - 직접유입 보다 검색 유입이 더 많아야 한다 [내부링크]

[티스토리 광고 - 직접유입 보다 검색 유입이 더 많아야 한다] 직접유입보다 검색 유입이 더 많아야 하는 이유 직접유입은 홍보 목적으로 뿌렸다는 것이 되기에 일시적으로 방문 수가 증가하는 것으로 금방 감소할 수 있는 방문자로 파악된다. 검색 유입의 경우는 블로그가 상위에 노출되어 사람들이 클릭해서 들어온 것으로 지속적으로 방문자 수가 됨 [검색유입] -> 블로그 상위 노출이 잘 되고 있음을 의미 (방문자 수가 지속적으로 증가할 수 있음) * 이제 블로그 상위 노출이 잘 되게 하려면 어떻게 해야하는지를 알아봐야겠다.

[JAVA] XML 파싱하기 - Document Class 사용 / 마샬, 언먀샬 [내부링크]

[XML 파싱하기 - Document Class 사용] https://mchch.tistory.com/221 [JAVA] XML 파싱 / XML 출력 / XML 변환 / XML 읽기 XML 문서 00 NORMAL_CODE 2 55 0.002 2 57 0.002 10 1 23 DocumentBuilderFactor : 어플리케이션으로 XML 문서로부터 DOM 객체 트리를 생성하는 파서를 취득할 수 있는 팩토리 API를 정의합니다. DocumentBuilder : 현재 설정 mchch.tistory.com 개인적으로 XML 파싱할때는 DOCUMENT Class 보다는 언마샬을 사용해 Lombok을 사용하여 VO에 노드별로 객체를 만들어 놓고 파싱하는 방법이 더 나은데 이 방법의 경우 VO에 필요한 데이터를 ..

[취미생활 : 그림] 엄마냥 애기냥 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 엄마냥 애기냥 (고양이 그림 : 펜그림)

[일상] 성남 남한산성입구역 오리고기/쭈꾸미 - 직화에 빠지다 [내부링크]

[성남 남한산성입구역 오리고기/주꾸미 - 직화에 빠지다] 오늘은 가족 외식을 했어요 오늘 가려던 가게는 항상 지나갈 때마다 맛있는 냄새가 코를 찔러서 먹어보고 싶다는 생각이 들었던 집입니다 베스킨라벤스 근처에 위치해 있어요 ㅎㅎ 직화에 빠지다는 프랜차이즈라서 다른 곳에도 많이 가게가 위치해 있는 것으로 알고 있어요 하지만 가게마다 맛은 조금씩 다를 거라 생각이 드는데요 이 집은 과연 어떨지 먹어봤습니다 우선 내부는 깔끔하고요 제가 들른 시간은 5시 30분으로 이른 시간대라 사람이 2~3팀 밖에 없었습니다 메뉴는 오리구이가 있고 주꾸미! 가 메인이고 단품메뉴에 묵사발과 들깨수제비가 있었습니다 저는 모둠으로 로스/양념/훈제구이를 시켰는데 밑에 보니까 오리구이 주문 시 들깨수제비탕 인분으로 제공한다고 적혀있더..

[Spring] gradle maven 하기 : implementation (org.json) 추가하기 [내부링크]

[gradle maven 하기 : implementation (org.json) 추가하기]

[일상] 안국/북촌 - 그린마일커피 북촌점 [내부링크]

[안국/북촌 - 그린마일커피 북촌점] 그린마일커피 북촌점 함 가보고 싶었는데 오늘 드디어 가게 됐다 입구만 보았을때는 내부가 작을거라 예상되지만 입구에서 주문하고 계단으로 올라가면 조금 어둡긴 하지만 내부가 넓찍하다 [2층 내부] 꽤 넓어보이지 않나??? 앉을 곳이 많지 않아보이지만 북촌이 사람도 많고 관광객도 많기 때문에 나쁘지 않다 역시 가게 위치 선점이 젤 중요함!! 몰랐는데 회사 동료가 위에도 올라갈 수 있네요~ 하길래 같이 따라올라갔다 그랬더니 요로코롬 테라스가 있었다 좀 더 이쁘게 꾸몄으면 좋았을 듯… 공간 활용 0% 옥상 ㅠㅠㅠㅠ 그래서 그냥 내려와서 커피 시켜서 먹고 회사로 돌아갔다 ㅋㅋㅋㅋ 감성카페 찾는다면 여기는 비추!! 다만 2층은 감성있다고 느낄 수 있고 사람 없을때 온다면 얘기하기..

[취미생활 : 그림] 오늘도 싸운다 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 오늘도 싸운다 (고양이 그림 : 펜그림) 오늘도 싸우는 고양이 그림을 그려본다 어제 퇴근길에 그리고 오늘 출근길에 마저 그렸는데 조금 미흡하지만 배경까지 같이 그려봤다 색칠이 관건인데 색칠을 잘 할 수 있을지 걱정되네… ㅎㅎ 자매들끼리는 어릴때 저렇게 싸운다던데 진짜일까??? 갑자기 궁금해졌다 안 그런 집도 있겠지만 콘텐츠로 접했을땐 저렇게 싸우는 걸 많이 본 거 같다 나는 남매라 저렇게 싸운적은 없던 듯… ㅋㅋ 저렇게 싸우면 난 무조건 진다… ㅋㅋㅋ 힘으로 당연해 밀림.. ㅋㅋ 이렇게 싸우다 크면 정들기도 하고 자매끼리는 많이 여행도 가고 하던데 조금 부러워지는 아침이다 [순한 버전] [취미생활 : 그림] 냥싸움 (고양이 그림 : 펜그림) - https://itstart-19012..

[일상] 안국/북촌 - 카페 비담 [내부링크]

[안국/북촌 - 카페 비담] 안국역 한 바퀴 돌다가 북촌한옥마을 입구까지 걸어가서 카페 아이사구아 옆 골목길에 있는 카페 비담을 갔다 들어올 때 입구 문의 오로라 빛으로 되어 있어서 몽환적인 느낌이 강하다 점심식사 후에 온 거라 정신도 없고… 사진도 제대로 못 찍어서 입구랑 내부도 제대로 담지 못했다 문을 열고 들어오면 이렇게 이쁜 정원이 보인다 좌식테에블도 있다 ㅎㅎㅎ 너무 이쁜 것… 오른쪽에 있는 공간에 앉고 싶었으나 아빠다리하고 앉아야 돼서 힘들어서 왼쪽자리로 갔다 ㅎㅎ 이 공간 너무 이뻐 ㅎㅎ 몽블랑에다가 솔티드 크림 라테를 시켰다 몽블랑은 7500원 솔티드 크림라테는 6500원으로 무난 무난한 가격이었다 물론 맛도 무난 무난!! 솔티드는 첫 입 댔을때 살짝 짠맛이 올라와서 그 맛이 좋았다 ㅎㅎ ..

[JAVA] XML 파싱하기 - XML to JSON 변환 (org.json 라이브러리 사용 XML.toJSONObject()) [내부링크]

[XML 파싱하기 - XML to JSON 변환 (org.json 라이브러리 사용 XML.toJSONObject())] Open api 사용하는데 다 못 끝내서 퇴근하고 집 가는 길에 머릿속으로 정리 중!! OpenApi가 Xml로 지원해서 문자열 받아올 때 Json으로 변환해서 필요한 값을 꺼내는 작업 필요 집가서 재정리 필요!! 파라미터값이 많거나 또는 지정된 사업장만 조회해 오는 거였으면 좋았을 텐데 몇만 개 데이터라 음… 페이징 처리로 불러오던데 총 몇 개를 불러와야 좋을지 집 가는 길이 고민 좀 해봐야겠다. * 참고 https://codechacha.com/ko/java-convert-xml-to-json/ Java - XML을 JSON으로 변환 Java에서 XML(eXtensible Marku..

[JAVA] Invalid character found in method name. HTTP method names must be tokens 에러 [내부링크]

[Invalid character found in method name. HTTP method names must be tokens 에러] Invalid character found in method name. HTTP method names must be tokens 에러는 Postman으로 HTTP 통신 확인을 하다가 위와 같은 에러가 발생하여 발생원인을 찾아보니 Https가 활성화되어있지 않은데 Https로 post 요청을 하여 에러가 발생했다. URL을 http로 변경하여 통신하니 정상적으로 구동되었다. 어떤 글을 보니 정식적으로 운영되는 서비스는 https로 서비스되게끔 설정해 놓아서 postman에서 POST 방식으로 통신해도 정상적으로 구동되었지만, 사내 및 아직 오픈하지 않은 서비스는 ss..

[취미생활 : 그림] 캠핑느낌 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 캠핑느낌 (고양이 그림 : 펜그림) 감성적이고 정적인 그림을 그리고자해서 아침에 인스타그램에 있는 사진을 찾아봤는데 여러장 고른것중에 하나 선택해서 그려보았다 어두운 배경이기는 하나 고양이가 그루밍 하고 있는 모습이랑 램프가 너무 이뻤다 나뭇잎이 더 숱이 더 많았어야 크고 많았어야 했는데 미스됐다 나뭇잎을 빼고 나머지는 색칠한것과 표현이 잘 됐다고 생각된다 하아~~ 너무 평온하고 따뜻한 느낌이다 캠핑은 좋아하지 않지만 고양이랑 함께라면 생각해볼 수 있을듯…?! ^^ [취미생활 : 그림] 호이짜! (펜그림) - https://itstart-190126.tistory.com/m/365 [취미생활 : 그림] 호이짜! (펜그림) [[취미생활 : 그림] 호이짜! (펜그림)] 최근에 그림이 잘..

[IT 관련 업무] ESG (Environmental(환경), Social(사회), Governance(지배구조)) [내부링크]

[ESG (Environmental(환경), Social(사회), Governance(지배구조))] ESG는 Environmental(환경), Social(사회), Governance(지배구조)의 첫 글자를 조합한 단어로 기업의 친환경 경영, 사회적 책임, 투명한 지배구조 등을 의미합니다. 실질적인 ESG는 기업이 ‘지속가능한’ 비즈니스를 달성하기 위한 세 가지 핵심 요소로, 재무제표에는 직접적으로 보이지 않아도 기업의 중장기 기업가치에 막대한 영향을 주는 비재무적 지표로 정의할 수 있습니다. ESG의 숨은 핵심 키워드는 바로 기업의 지속가능성, 기업가치, 그리고 비재무적 성과지표입니다.라고 하는데 무슨말인지 전혀 모르곘다.... ㅠㅠ 좀 더 자세한 내용을 찾아봐야될 것 같다. 위 내용을 토대로 보면 조..

[Spring] - Lombok 어노테이션 @Builder [내부링크]

[Lombok 어노테이션 @Builder ] 어노테이션을 자주 사용하는데도 불구하고 정확히 이해하고 사용하는 건 없는 것 같아서 하나씩 정리해보고자 한다. https://esoongan.tistory.com/82 https://www.daleseo.com/lombok-popular-annotations/ [자바] 자주 사용되는 Lombok 어노테이션 Engineering Blog by Dale Seo www.daleseo.com

[Spring] - org.apache.ibatis.exceptions.TooManyResultsException 예외 [내부링크]

[[Spring] - org.apache.ibatis.exceptions.TooManyResultsException 예외] - returnType은 결과값이 1개 나와야하는데 결과값이 여러개 나오는 경우에 발생하는 예외이다. * 결과값을 하나만 나오게 쿼리를 수정하거나 또는 returnType을 List로 바꾸어주면 해결된다.

[일상] 안국/북촌 카페 - 카페 레이서 [내부링크]

[일상] 안국/북촌 카페 - 카페 레이서] (금일은 읽으시는 분 입장에서 포스팅했습니다.) 오늘은 북촌한옥마을로 들어가는 입구 쪽 옆에 있는 카페로 갔습니다. 회사 나들이로 북촌한옥마을로 많이 오는데 이 근방에는 아시다시피 카페가 많기 때문에 돌아다니면서 카페 탐방을 많이 하고 있는데요 금일은 '카페 레이서' 라는 카페를 탐방했습니다. 입구 깔끔하죠?? 2층은 테라스로 되어있어서 오늘 같이 날씨가 좋은 날에는 2층에 올라가서 햇살도 만끽하면서 여유로움을 즐기기 좋습니다. 그래서 저는 금일 2층 테라스에 앉기로 했습니다. 내부에 사람이 없어서 사진을 더 찍고 싶었으나 위에 동료들이 기다리고 있어서 사진을 하나밖에 못 찍었네요 내부나 테라스 둘 다 사람이 많지 않습니다. 근처에 카페가 많기도 하고 '레이서'..

[취미생활 : 그림] 호이짜! (고양이 그림 : 펜그림) [내부링크]

[[취미생활 : 그림] 호이짜! (고양이 그림 : 펜그림)] 최근에 그림이 잘 그려져서 하루에 하나씩은 그리는 거 같다 리프레쉬하려고 그리는 것도 있는데 나 같은 경우는 생각이 많아서 이렇게 환기시켜 줘야 회사 업무도 잘 되는 편이다 금일은 퇴근하고 그림을 그렸는데 일반적인 고양이 모습보다 다채로운 표정이나 재미있는 모습, 행동에 눈이 가서 일반적인 모습의 그림이 없구나 싶었다 ㅋㅋ 이번 그림 다음엔 조금 정적이고 감성적인 그림을 그려볼까 한다 ㅎㅎ [취미생활 : 그림] 이봐 토끼는 처음이지?? (펜그림) - https://itstart-190126.tistory.com/m/361 * 인스타그램 @huindungi2020 https://instagram.com/huindungi2020?igshid=YmM..

[Thymeleaf] 사용법 [내부링크]

* 참고자료 https://cyberx.tistory.com/132 thymeleaf (server-side template engine) 사용법 정리 - 1 저희 회사 제품인 CMS 솔루션 bizXpress는 Thymeleaf Template Engine 2.1.5 을 채택하여 사용하고 있습니다. 과거에는 JSP만 사용하다가 Thymeleaf 를 처음 접하면서 조금 생소하고 비교적 까다로운 사용법 때문 cyberx.tistory.com

[JavaScript] input Box 자동 submit 막기 - form 태그의 속성값으로 막기 [내부링크]

[input Box 자동 submit 막기 - form 태그 속성값] 아래 코드와 같이 onsubmit="return false"만 넣어주면 자동으로 submit을 막는다. - input 박스 내에서 엔터를 쳤을 경우 refresh 되는 경우가 있는데 submit을 막으면 refresh를 막을 수 있다. - 코드 짜다가 input box에서 엔터를 두번 쳤을 때 refresh되는 이슈가 있었는데 위와 같이 해결하였다.

API와 전문통신이란 (개념 알아두기) [내부링크]

[API와 전문통신이란 (개념 알아두기)] 전문통신방식이란 통신에 참여하는 애플리케이션들이 주고 받을 데이터의 포맷을 서로 약속한 후 약속된 데이터 패킷을 전송하고 수신하는 것 'Fixed Length Format'은 전문을 구성하는 field들의 길이를 입력받을 수 있는 최대 사이즈로 고정시키는 방식 초창기 클라이언트/서버 환경에서 애플리케이션 사이의 통신은 네트워크 패킷 기반의 전문 방식이 주로 사용됐다 클라이언트는 약속된 데이터 패킷의 포맷에 맞춰 패킷을 생성, 서버로 전송한다. 서버는 패킷을 읽어 들이고 패킷에 기록된 데이터를 해석해 필요한 서버 측 작업을 수행하고 그 결과를 데이터 패킷에 기록해 클라이언트로 반환하는 것 대규모의 프로젝트를 진행하다 보면 서로 다른 시스템끼리 데이터를 주고받아야 ..

[취미생활 : 그림] 이봐 토끼는 처음이지?? (토끼 그림 : 펜그림) [내부링크]

[이봐 토끼는 처음이지?? (토끼 그림 : 펜그림)] 고양이만 그리다가 간만에 토끼를 그렸다 여유만만인 토끼였는데 나도 이렇게 살고 싶다는 생각이 자연스레 들었다 직장인이면 누구라도 꿈꾸는 여유로운 나날! 이 토끼는 여유로우면서도 건방져보이지만 궁극적으로 나도 여유롭게 살고 싶다!!! 2023.04.17 - [취미생활/@흰둥이 그림 모음] - [취미생활 : 그림] 놀라쪄! (펜그림) [취미생활 : 그림] 놀라쪄! (펜그림) [취미생활 : 그림] 놀라쪄! (펜그림) 인스타그램 릴스 반차 쓰고 집에 왔더니 우리 집 고양이 반응 오잉????!!!!! 잉????!!!! 앙????!!! 집사가 왜 집에 있어???!! ㅋㅋㅋㅋ 이렇게 놀랄 일인가 ㅋㅋㅋ 귀 itstart-190126.tistory.com 인스타그램..

[일상] 안국/북촌/계동 카페 - 썸머골드 [내부링크]

[안국/북촌/계동 카페 - 썸머골드] 여기 꽤 돌아다녔다고 생각했는데 못 보던 카페가 보였다 생긴 지 얼마 안 된 건지… 잘은 모르겠지만 들어가 봤다 아참!! 이 카페 이름은 썸머골드였다 들어가기 전에 사진 찍으려고 했는데 놓쳤다 입구이 들어가면 빵이 놓여있다 이 카페가 베이커리 카페였더랬다 진짜 먹음직스럽게 생겼는데 밥 먹은 지 얼마 안돼서 음료만 시켰다 빵 빵사진 진짜 가짜 같지 않은가?? 처음엔 모형인 줄 알았는데 아니어서 깜짝 놀랐다 [내부 사진] 빈티지하고 그냥 음… 개인적으로 앉아있기만 해도 여유가 느껴졌다 사람도 많지 않았고 회사동료들도 한 몫했겠지만 조용히 공부해도 좋은 공간이었다 빈티지 멜론소다와 선셋 오렌지 아이스 아메리카노 빈티지 멜론소다와 선셋오렌지는 나오자마자 이뻐서 바로 핸드폰을..

[취미생활 : 그림] 놀라쪄! (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 놀라쪄! (고양이 그림 : 펜그림) 인스타그램 릴스 반차 쓰고 집에 왔더니 우리 집 고양이 반응 오잉????!!!!! 잉????!!!! 앙????!!! 집사가 왜 집에 있어???!! ㅋㅋㅋㅋ 이렇게 놀랄 일인가 ㅋㅋㅋ 귀여워! 나도 고양이!!! 2023.04.17 - [취미생활/@흰둥이 그림 모음] - [취미생활 : 그림] 냥싸움 (펜그림) [취미생활 : 그림] 냥싸움 (펜그림) [취미생활 : 그림] 냥싸움 (펜그림) 내 그림자료의 원천은 인스타그램이다 릴스에서 아래 애들 두마리가 신명나게 싸우는데 ㅋㅋ 생각해보니 고양이가 싸우는 모습은 한 번도 그린적이 없었다 itstart-190126.tistory.com 인스타그램 @huindungi2020 아래주소로 많이 놀러 와주세요 htt..

[일상] 안국/북촌 카페 - 이채 [내부링크]

[안국/북촌 카페 - 이채] 작년에 북촌에 혼자 놀러갔다가 괜찮았던 카페가 있었어서 포스팅한다 카페 ‘이채’라는 곳인데 골목안으로 들어가야 있는 곳이었다 이 곳으로 들어가게 된 계기는 내가 한옥카페를 좋아하기 때문이었다 안으로 들어오면 오른쪽에 화장실이 있고 보는 것처럼 마당에 파라솔을 설치해서 앉을 수 있는 공간을 마련해 놨고 곳곳에 원목 반상(소반)을 놔두어서 앉아서 먹을 수 있었다 공간 활용을 잘 한 거 같다 옛날 할머니댁 생각도 나고 감성에 젖을 수 있는 공간이었다 가게 안쪽에도 앉을 수 있는 자리가 넉넉하게 있다 나는 밖에 앉았다 이때가 한… 12시 반?? 한창 사람들에 식사할 시간이라 카페는 한적했다 그래서 사진을 이렇게도 찍고 저렇게도 찍고 했던 기억이… ㅋㅋ 다시 방문하고 싶은 곳이다 이글..

[일상] 안국/북촌 - 카페 노티드 [내부링크]

[안국/북촌 - 카페 노티드] 안국/북촌에서 유명한 카페 노티드 에 갔다 왔다 점심식사 후에 들린건데 점심시간인데도 사람이 북적였다 전에 도넛도 먹어봤는데 존맛탱… ㅠㅠ 사가시는 분 중에 남자분들도 많았는데 딱 봐도 여자친구 가져다주려고 사가시는 분들이 많았다 입구에 이렇게 큰 곰돌이도 있다 (귀여워 ㅎㅎ) 여기는 핫스팟!! 카페 구조가 사각형 구조라서 가에는 한옥으로 앉을 수 있는 공간으로 구성해 놓았고 가운데는 뚫려있어서 햇빛도 들어오고 개방감을 준거 같다 조명으로 곰돌이가 각각에 달려있다 한쪽 벽면은 영상이 플레이 되고 있었다 (애기들이 엄청 좋아할 듯^^) 유명한 프렌차이드인 만큼 음료도 평균 이상이다 점심시간에는 그래도 사람이 적으니 사람많은거 안 좋아하시는 분은 이 때 잠시 쉬어가는 것도 좋을..

[일상] 익선동 카페 - 한옥랑솜 [내부링크]

[익선동 카페 - 한옥랑솜] 익선동에 새로 생긴 카페 한옥랑솜에 갔다 간만에 익선동에 갔다가 새로 생긴 카페나 음식점들이 많아서 둘러보던중 고른 곳 내부는 생긴지 얼마 안되었기도 했고 마당처럼 꾸며놔서 깔끔하고 귀여웠다 중간이 보면 지붕에 검은색판?! 이라고 해야하나 저게 너무 아쉬웠다… 디자인한 한옥을 다 가리는…. ㅠㅠ 인테리어적으로 너무 아쉬웠다… 허니자몽블랙티 가격 : 8000 음..ㅋㅋ 너무 비싸게 받는거 같다… 인테리어 별점 3개 음료 별점 3개 맛 별점 2개 이글은 직장인의 내돈내산 후기입니다

[일상] 티스토리 광고 - 방문 통계 직접 유입과 간접 유입의 차이 [내부링크]

[티스토리 광고 - 방문 통계 직접 유입과 간접 유입의 차이] 티스토리 설정에서 방문통계 중 가타 항목이 있는데 기타 항목의 경우 직접유입과 기타 유입으로 나뉘어 있다. 직접유입 자신이 작성한 글을 검색하지 않고 직접 접속하는 경우를 말한다. 블로그나 포스트의 주소를 주소창에 직접 입력하여 들어오거나 즐겨찾기를 통해 들어온 경우를 말한다. 기타유입 블로그 글을 일고 블로그 내의 다른 글로 이동한 경우를 의미한다. 글 안에 있는 링크나 목록을 통해 다른 글로 이동했거나 또는 다른 블로그에서 포스트나 댓글을 통해 방문한 것을 의미한다. * 직접유입도 좋지만 현재의 나로서는 기타유입이 많아야 좋다.!! * 2023.04.02 - [내 삶/메모하는 습관] - 04.02 구글 애드센스 사용기 - 광고수익 늘리는 ..

[javascript] chart 라이브러리 [내부링크]

[javascript] chart 라이브러리] 자바스크립트 차트 라이브러리 소개 [TOAST UI] : https://ui.toast.com/tui-chart TOAST UI :: Make Your Web Delicious! TOAST UI is an open-source JavaScript UI library maintained by NHN Cloud. ui.toast.com [amChart] : https://www.amcharts.com/demos/ Chart Demos - amCharts www.amcharts.com

[javascript] reduce 사용하기 [내부링크]

[[javascript] reduce 사용하기] Array 객체의 메소드 reduce는 배열 요소를 순환하면서, 정의된 callback 함수에 의해 단일 값으로 누적시킬 수 있다. reduce 메소드의 형태는 인자로 callback 함수와 초기값을 받는다. 첫번째 callback 함수는 기존 다른 메소드와 달리 여러 매개변수를 정의한다. 최대 4개까지 매개변수를 받고, 첫번째 누적된 값과 현재 요소 값은 필수이다. reduce 메소드가 처음에 실행할 때, 누적된 값은 두번째 인자(초기값)을 할당받는다. 이후에는 배열 순환이 끝날 때까지 callback 함수에서 반환된 값으로 재할당된다. 배열.reduce(누적된 값, 현재 요소 값, 현재 인덱스, 원본 배열) => { return 누적값으로 반환되는 값 ..

[javascript] find 사용하기 [내부링크]

[find 사용하기] Array 객체의 find 메소드는 인자로 대입된 callback 함수를 통해 배열 내부를 순환하면서, 특정 조거믈 만족하는 첫 번째 요소를 반환한다. 확인하는 방식은 callback 함수 내부에 정의된 문장들을 통해 테스트하게 되는데, callback 함수의 반환값은 무조건 true 또는 false 이어야 한다. const arr = [ {name : '우림', age : 2}, {name : '현아', age : 5}, {name : '탄이', age : 30}, {name : '현일', age : 3}, {name : '혜림', age : 6} ]; const myFriend = arr.find(a => a.age === 30); console.log(myFriend); 결과 ..

[javascript] 모듈 이해하기 [내부링크]

[모듈 이해하기] 모듈은 파일이나 코드의 묶음 단위로 애플리케이션 하나의 구성요소로 볼 수 있다. 이렇게 모듈로 정의하면 모듈 단위로 코드를 재사용 할 수 있고, 하나의 애플리케이션이라는 큰 기능을 작은 기능 단위로 잘게 분리하여 관리할 수 있다. var namespaceA = (function(){ var privateVariable = '비공개 변수'; return { publicApi : function(){ console.log(priavteVariable + '를 접근할 수 있습니다.'); } } })(); namespaceA.publicApi(); 기본적으로 변수와 함수를 선언하게 되면 전역으로 정의되어 다른 라이브러리나 타인의 코드에서 정의된 이름들과 충돌이 날 수 있기 때문이다. var 키..

[일상] 안국 중식당 - 몽중헌(夢中軒) : 예약 필수 [내부링크]

[일상] 안국 중식당 - 몽중헌(夢中軒) : 예약 필수 점심시간에 어제 미리 예약한 중식당 몽중헌에 다녀왔다. 예약을 하지않으면 점심에 식사가 힘들어서... 무조건 예약필수!!!! 메뉴판보고... 헉!! 했는데 비싼건 알았지만 가격을 보고 가지 않아서 비싸도 짬뽕에 12000정도 하겠지 했는데 이건... 삼선짬뽕에 18000...원... 비싸도 너무 비쌌다... 회사 법카로 와야 좋은 곳..ㅠㅠㅠㅠ 담엔 점심때 절대 안가야지.. ㅠㅠㅠㅠㅠㅠㅠ 삼선짬뽕 비주얼... 엄... 음... 전복하나 올라가있고 새우2개... 그 밖에 여러가지가 들어가있긴 했으나 아무리 생각해도 18000원은 ㅠㅠ 사비로 사먹기 너무 아까워...ㅆ다... 맛도 엄청 비싼 맛도 아니었고 그냥 집 근처 중국집에서 시켜먹는 것보다 조금 ..

[취미생활 : 그림] 냥싸움 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 냥싸움 (고양이 그림 : 펜그림) 내 그림자료의 원천은 인스타그램이다 릴스에서 아래 애들 두마리가 신명나게 싸우는데 ㅋㅋ 생각해보니 고양이가 싸우는 모습은 한 번도 그린적이 없었다 그래서 이번 그림은 냥펀치펀치!! 냥싸움판! 그림이다 연필로 밑그림 그리고 펜으로 덧그린 다음 색칠까지 ㅎㅎㅎ 역동적인 그림이 나와서 만족 중 추후엔 배경도 좀 신경쓰고 싶은데... 아직까진 쉽지 않은거 같다 너무 잘 그려야지 하는 부담감때문일까 하나를 시작하더라도 제대로 하고 싶은 마음떄문인거 같다 나중엔 배경도 하나하나씩 추가해봐야지 [색칠 후] [색칠 전] 치즈냥 시선이 카메라를 보고있는 듯이 싸우는 냥이를 쳐다보고 있지 않아서 조금 아쉬운 그림 [모티브 사진] 다시봐도 너네 진짜 살벌하게 싸우는구나..

[취미생활 : 그림] 말랑말랑 고양이 그림 (펜그림) [내부링크]

[취미생활 : 그림] 말랑말랑 고양이 그림 (펜그림) 예전부터 그림을 좋아했어서 직장생활 하면서 취미생활로 해보자 해서 인스타그램 계정도 새로 생성하고 그림을 올린지도 벌써 3년이 다 되어간다. 게시물도 오늘 그린 거 까지해서 총 260개!!! 역시 꾸준히 하는게 중요한거 같다. 그림을 그리다보면 좋은것은 생각이 없어진다는 것이다. 스트레스 받는거... 또 슬펐던거... 복잡한 마음들을 다른 방향으로 전환시켜주면서 감정을 환기시켜준다. 돌덩이 같던 마음이 몰캉몰캉 말랑말랑해지는 느낌이랄까 ㅎㅎ 그래서!! 오늘은 말캉말캉 몰랑몰랑한 고양이의 볼을 쭈욱~~ 당기는 모습을 그림으로 그려봤다 [색칠 후] [색칠 전] [모티브 사진] 쭈욱~~ 늘어나는 볼따구 너무 귀엽지않나?? ㅎㅎ 아무렇지도 않은 듯 무념무상의..

[일상] 안국 북촌 카페 - 퀸즈베이커리 삼청점 [내부링크]

[안국 북촌 카페 - 퀸즈베이커리 삼청점] 금일은 점심시간에 다녀온 카페를 올려볼까 한다 점심 먹고 근처 카페 둘러보다가 아무 생각 없이 여기 함 들어가 볼까? 해서 무작정 들어갔는데 역시나 이뻤다 [입구] 입구부터 너무 이쁘다 기대감 없이 들어왔다가 기대 이상!!! [내부] 들어오면 문이 열리자마자 빵진열대가 보인다 기업나~~~ 맛있어 보이는… 빵들이 나열되어 있고 내가 좋아하는 레몬파운드도 있었다!!! 배불러서 못 먹은 게 한…이 되네… 다음 주에 꼭 먹어야지 ㅎㅎ [2층] 2층에는 넓고 좌석도 많았다 창가자리에 앉으면 봄에는 벚꽃도 볼 수 있고 옆가게가 월영당이라는 곳으로 달모양이 있는데 저녁에 불이 켜진다 ㅎ 저녁에 오게 되면 다뷰도 있으니 느낌 있을 거 같다 레몬피치아이스티였나 맛은 쏘쏘… ㅎㅎ..

[취미생활 : 그림] 내 아이스크림!!!! ㅠㅠ (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 내 아이스크림!!!! ㅠㅠ (고양이 그림 : 펜그림) 인스타에서 울고있는거 같은 모습의 고양이 사진을 발견했다 그리고 나니까 뭔가 하나 더 그리고 싶었는데 문득 생각난게 아이스크림이었다 아이스크림을 그리고 나니 아이스크림을 떨어뜨려서 우는 거 같은 모습!! 펜으로 덧칠을 했더니 지져분해지긴 했지만 지하철에서 그림을 그리다 보니 어쩔 수 없었다! 라고 합리화 중 ㅎㅎ 아이스크림을 더 잘 그린 듯… ㅋㅋㅋ 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=

[일상] 성남 단대오거리 양꼬치 (라화방) [내부링크]

[단대오거리 라화방 마라탕 양꼬치] 퇴근 후 친구랑 약속 있어서 간 단대오거리 라화방 양꼬치 먹어보고 싶었는데 친구가 내 맘을 읽었는지 양꼬치 어떠냐고 물어봐서 바로 양꼬치 확정!! 단대오거리 신구대 입구에서 바로 옆에 있어서 학생들도 많이 오는 거 같았다 배고파서 가게 내부 사진은 못 찍었는데 깔끔하고 괜찮다 친구가 먼저 미리 양꼬치 시켜놔서 금방 먹을 수 있었다 ㅎㅎㅎㅎ 너무 맛있다… 양꼬치에 맥주까지 캬~~~ 속이 시원했다 ㅎㅎ 양꼬치는 부드럽고 냄새도 없고 딱 좋음 먹을 때가 제일 행복 마라탕은 매움 2단계로 시켰는데 완전 1단계… 로 나왔다 ㅠㅠㅠㅠ 직원분한테 말했는데 매운 소스만 가져다주셔서 서비스는 좀… 아쉬웠다 ㅠㅠ 죄송하다는 말도 없고…. 그래도 맛있게 먹었으니까 됐다 못 먹을 정도도 아..

[일상] 안국 텐동 (온센) [내부링크]

[안국 텐동 온센] 안국역 온센에 다녀왔다 오픈한지 얼마 안되서 가게는 상당히 깨끗하다 뭐 먹을지 고민하다 처음 먹어보는거니까 베이직하게 온센텐동으로 결정!! 새우/온센타마고/김/단호박/느타리버섯/가지/꽈리고추 이렇게 구성되어 나온다 튀김은 다른 그릇에 옮겨놓고 밥을 비빈다 그 후에 밥 먹으면서 튀김 한 입 베어먹으면 되는데 개인적인 입맛으로는 느끼했다 처음엔 괜찮지만 점점 튀김맛 밖에 안느껴지고 느끼함이 올라온다 기름진거 잘 드시는 분은 괜찮겠지만 나처럼 느끼한거 잘 못드시는 분한테는 비추다 이글은 직장인의 내돈내산 후기입니다

[취미생활 : 그림] 닝겐.. 시원하다~ (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 닝겐.. 시원하다~ (고양이 그림 : 펜그림) 인스타에서 집사분이 고양이 긁어주는 영상이 있었는데 엄청 시원하게 받고 있는게 눈에 띄어서 그리게 됐다 처음에는 망쳤다 생각했는데 다 그리고보니 어???? 생각보다 닮았네?? 라고 생각한 그림 ㅋㅋ 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=

[취미생활 : 그림] 골목길 친구 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 골목길 친구 (고양이 그림 : 펜그림) 금요일에 집에 가다가 골목길에서 귀여운 고영희씨를 만났다 처음엔 경계하는가 싶더니 근처로 와서 애교를 피웠는데 굉장히 귀엽다 ㅋㅋ ^^ 평소 보던 아이가 아니라서 괜찮을까 싶었는데 먼저 다가와주기 까지 하니 ㅎㅎ 천국이 따로 없었다 그 아이가 바로 이 아이다 닮게 그려졌나 하면 많이 닮지는 않았지만 자세는 잘 그려진거 같다 ㅎ [영희씨와 만났을때 영상] * 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=

[일상] 인사동 ~ 종로5가 청계천까지 [내부링크]

[인사동 ~ 종로 5가 청계천까지] 여유도 필요하고 바람만 빼면 날씨도 나쁘지 않아서 금일은 인사동부터 시작해서 종묘를 돌아 을지로 3가로 돌아오는 루틴을 짰다 몸이 마음과 같이 안 따라줘서… (발이 아팠다) 을지로 4가에서 집으로 돌아왔다 돌아다녔던 길을 사진으로 남겼는데 날도 괜찮고 이뻐서 포스팅해 본다. [인사동] 안국역 6번 출구에서 내려서 인사동으로 갔다 인사동 하면 역시 쌈지길 ㅎㅎ 오늘 길에 금요일이라 그런지 외국인도 많고 커플도 많고 대체적으로 사람이 많았다 달고나도 팔고 플리마켓도 하고 있었는데 내 취향과는 거리가 먼 액세서리(?) 있어서 사진은 패스하고 달고나만 눈이 띄었는데 키티, 포켓몬스터 등 캐릭터가 찍혀있어서 신기했다 달고마 담아주는 통도 ㅋㅋㅋ 포켓볼 스티커가 붙여져 있는데 포..

[취미생활 : 그림] 고양이 두마리 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 고양이 두마리 (고양이 그림 : 펜그림) 추울까봐 걱정했는데 생각보다 따뜻한 오늘 햇살도 은은하게 들어오는 카페에 앉아 그림을 그려볼까한다 그림에 도움되는 사진은 인스타그램에서 많이 찾는다 릴스에서 캡처하기도 하고 사진을 보고 그리기도 하는데 오늘은 맘에 드는 사진을 찾아서 그려본다 종로경찰서가 보이는 맞은편 카페! 내가 찾던 뷰다 햇살도 은은하게 들어온다 요즘 봄기운이 살랑거려서 (이젠 다 갔지만…) 나른하기도 해서 나른나른~한 고양이를 찾아봤다 그래서 발견한 냥이는!! 긁긁하는 고양이와 기지개 켜는 고양이!! 두 마리를 그리려고 한다 괜찮게 나왔으면 좋겠네… 한… 1시간 정도 걸렸나… 연필로 밑그림을 그렸는데 사진을 안찍었네… 다음엔 사진 꼭 남겨야겠다 밑그림 그리고 펜으로 덧그..

[Spring] Service의 정의와 역할 (+ 트랜잭션) [내부링크]

[Spring] Service의 정의와 역할 (+ 트랜잭션) [트랜잭션] 트랜잭션이란 데이터베이스에서 데이터 처리를 위한 하나의 논리적인 작업 단위를 의미 [@Service란] @Service는 스프링의 비즈니스 로직 처리에서 트랜잭션 처리를 위한 구간이며, @Repository에 속하는 여러 메서드들을 하나의 작업 단위로 묶어 처리되는 데이터 작업 중 하나라도 실패하게 된다면 Rollback 시키고 모두 정상적으로 처리되면 Commit 시켜준다. [******* 별이 다섯개~~ 구간 ******] @Service구간이 정상적으로 구현되어 있다면 사용자가 시스템을 사용하는 도중 데이터 처리와 관련된 에러가 발생하더라도일부 데이터만 생기는 등의 문제가 발생되지 않습니다. - @Transactional 어노..

[Spring] 비즈니스 로직이란? [내부링크]

[비즈니스 로직이란?] - 실제 DB와 연동하여 Data를 얻어오기 위한 작업을 수행하는 영역 - 비즈니스(서비스) 로직 수행 - 컴퓨터 프로그램에서 실세계의 규칙에 따라 데이터를 생성·표시·저장·변경하는 부분을 일컫는다. 이 용어는 특히 데이터베이스, 표시장치 등 프로그램의 다른 부분과 대조되는 개념으로 쓰인다. 서비스 영역을 지칭하기도 한다. * 업무를 하면서 가장 기본적으로 알아야 하는 용어

[취미생활 : 그림] 날이 좋아서… (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 날이 좋아서… (고양이 그림 : 펜그림) 오늘 그림이 잘 그려져서 퇴근길에 하나 거 그렸더 날씨는 비도 오고 우중충하지만 저 아이는 따뜻한 햇살을 한껏 느끼고 있다 그 모습이 너무 귀여워서 안 그릴 수 없었다 ㅎㅎ 퇴근할때 챙긴 메모지에 이번에도 10분만에 금방 슥삭 그렸다 더 잘 그리는 사람도 많지만 나는 직업으로 삼는게 아니고 취미로 하다보니 잘 그렸다라는 기대나 기준이 낮은거 같다 그래서 좀 더 즐겁게 그릴 수 있지 않나 싶다 ㅎㅎ 닮았나요? 블로그에 들리시는 분은 코멘트 남겨주시면 감사하겠습니다 ㅎㅎ * 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=

[일상] 북촌 - 유스카페 [내부링크]

[북촌 -유스카페] 점심시간에 식사하고 나왔는데 금일은 날씨도 춥고 바람도 불고… 따뜻한 카페 가고 싶어서 둘러보다 ‘유스카페’에 왔다 주문하는데 ‘말차크림 프라페’ 있길래 시켰다 (말차 좋아~!!) 밑에 내려가니까 사람이 없어서 너무 좋았다 동료들과 얘기나누기 전에 찰칵!! 여기 너무 이쁘다 이렇게 이쁘게 놔두었을까… 인테리어가 잘 되어 있어서 좋네 ㅎㅎ 나는 동료들과 여기 앉았다 나름(?) 개인적으로 프라이빗해서 좋았다 (사람이 없어서 그렇게 느낀 걸 수도…) 벽도 한 번 찍고 ㅎㅎ 일반사진 분위기 샷! 말차크림프라페가 부드럽고 맛있다 추천 다음에 또 오게 되면 또 먹어야지..!! ㅎㅎ 다른 사람도 먹어봤으면 좋겠다! 이글은 직장인의 내돈내산 후기입니다

[취미생활 : 그림] 나 좀 도와줘요.. (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 나 좀 도와줘요.. (고양이 그림 : 펜그림) 금일은 출근길 10분컷 도전!! 전에 릴스보다가 쇼핑카트에 안절부절 못하는 표정의 고양이를 봤었는데 표정이 너무 다채롭기도하고 어떻게 저런 표정을 지을까?? 하는 생각에 캡처를 해두었었다 출근길에 그 고양이가 생각나서 지하철에서 급히(?) 노노 여유롭게~ 10분컷 펜그림을 그려봤다 ㅎㅎ 짜잔! 밑그림 없이 당장 가지고 있던 펜으로 그렸는데 오… 혼자만의 만족인지는 모르겠으나 개인적으로 괜찮게 나왔다고 생각한다 ㅎㅎ 슥슥 예전에 비하면 일취월장…!! 아래는 내가 캡처해두었던 고양이 사진이다 다시봐도 귀엽군… * 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020..

[독서] 죽고싶지만 떡볶이는 먹고 싶어 - 백세희 (에세이) [내부링크]

[죽고 싶지만 떡볶이는 먹고 싶어] - 백세희 - 기분부전장애(가벼운 우울 증상이 지속되는 상태)를 가진 저자와 정신과 전문의와의 26주간의 대화를 엮은 책이다 어떤 책을 읽어볼까 하다 평소 심리에 관심이 많아서 관련 도서를 찾아보다 이 책을 발견했다 사람이라면 한번쯤 겪을만한 우울감에 대해서도 생각해볼 수 있고 “나도 이런 감정(생각)을 느낀 적이 있어!” 라며 충분한 공감을 끌어낼 수 있는 책이다 죽고 싶지만 떡볶이는 먹고 싶어(합본) 50만 부 기념 스폐셜 에디션 1, 2권 합본 소장판 리커버 “한국 독자를 넘어 전 세계 독자를 사로잡은 상담 에세이의 걸작” 가벼운 감기가 몸을 아프게 하듯, 가벼운 우울도 우리의 정신을 아프게 한다. 우리는 이제 말해야 한다. 별일 없이 사는데도 채워지지 않는 마음..

[취미생활 : 그림] 뭘봐~ (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 뭘봐~ (고양이 그림 : 펜그림) 오늘은 퇴근길에 그림도 그려봅니다 한 이주… 정도 힘들어서 그림을 못그렸던거 같은데 비도 오고 힘도 들고 약간 삐딱선을 타다보니 이런 그림을 그린거 아닌가 싶기도 하다 인스타그램에서 뚱~한 표정을 하고는 아주 편안한(고양이 입장에서) 자세를 하고 있어서 맘에 들었다 “인생 뭐 있어?” 라는 느낌일랄까.. ㅎㅎ [내가 그린 그림] [인스타그램에서 본 고양이] * 인스타그램 @huindungi2020 아래주소로 많이 놀러와주세요 https://instagram.com/huindungi2020?igshid=YmMyMTA2M2Y=

[일상] 퇴근길 - 으마카세 라디오 (1화) [내부링크]

으마카세 라디오 오늘은 으마카세 라디오를 퇴근길에 듣게 됐는데 저번에 눈여겨봤던 내용이기도 하고 1화 내용이 퇴근길이기도 해서 나도 퇴근길에 지하철에 앉아서 여유있게 들으려고 놔두었다가 들었다 주제는 사람과의 관계에 대한 내용이었는데 관계라고 칭하자면 보통 떠오르는게 가족 외 타인(?) 일거 같은데 가족과의 관계에 관해서도 얘기가 나와서 더 집중해서 들을 수 있었던 거 같다 '소극적이든 적극적이든 관계에 대해 어떤 여지를 두고 잘해보겠다는 노력이 필요하고 가능하다면 상대가 그 노력을 알아차리고 애써주고 있다는 것을 느끼게 하세요' 보람님은 혼자 하는 것보다 타인과 교류하는 것에 활기를 느끼고 있다고 하는데... 음... 나는 절반??이지 않을까 싶다. E도 되고 I도 되는??? 나랑 비슷한 사람도 있겠지..

[jQuery] fileDrop() [내부링크]

파일을 dragDrop하여 끌어다 놓아 파일 업로드 할 때가 있는데 jQuery의 fileDrop()을 사용하는 방법이 있다. [활용 소스] $(`#dropZone`).filedrop({ url: `https://example.com/upload/Upload.asp?uploadLocation=${uploadLocation}&filename=${filename}`, paramname: 'file1', maxfiles: 1, myFiles: files, rename: function() { return filename; }, uploadFinished: function (i, file, response, time) { curImg=curDiv.find(`.prdimg`).attr(`src`,``); curI..

[JAVA] 파파고 번역기 API 사용 [내부링크]

[파파고 번역기 API 사용하기] 파파고 번역기 API는 OPEN API로 네이버 로그인 후 'API 신청' 후 Client ID와 Client Secret 받고 사용!! [애플리케이션 등록 API 이용신청] Appiction 카테고리 hover -> 애플리케이션 등록 선택 시 아래와 같은 화면이 나온다. 애플리케이션 이름과, 사용 API (Papago 번역) 선택 사용 API를 선택하면 '비로그인 오픈 API 서비스 환경' 란이 생긴다. IOS, Android, WEB 중에 선택하고 등록하기 버튼 클릭한다. 등록하고 나면 '내 애플리케이션' 메뉴에 내가 등록한 애플리케이션 이름이 하위 메뉴로 노출되며 해당 화면에 진입하게 되면 '애플리케이션 목록'이라고 하여 Client ID와 Client Secret..

JAVA - 도로명 주소 Open Api 사용 [내부링크]

[도로명 주소 OpenAPI 사용] [도로명 주소 홈페이지] https://www.juso.go.kr/openIndexPage.do 주소정보누리집(도로명주소 안내시스템)국가기초구역이란 각종 관할구역(통계, 우편, 소방, 경찰 등)을 관리하기 위해 나눈 단위 구역입니다.국가기초구역번호는 우편번호로 사용됩니다.www.juso.go.kr application.yml에 있는 value 사용 @Value("${경로}") public String url;

[일상] 알뜰교통카드 사용 - 우리 알뜰교통카드 [내부링크]

알뜰교통카드란 교통비가 많이 나오는 요즘 대중교통을 이용하고 환경도 줄이고 건강까지 챙기면서 교통비지출 최대 30%까지 절감할 수 있게 해주는 카드 2019년부터 시범 운영하면서 현재는 서울을 비롯한 부산,광역까지 확대하면서 현재까지 운영하고 있다 꽤 오랫동안 알뜰교통카드를 사용해왔는데 정말 한 30%정도 교통비 절감하고 있어 포스팅하게 됐다 [한달 교통비][마일리지 금액]보통 한달에 약 7만원 가량 교통비가 나가는데 약 2만원정도 돌려받는다알뜰교통카드는 위와 같은 기준으로 적립되고 있는데 청년층에 대해서는 상향지원하고 있어 나는 상향된 혜택으로 적용받고 있다 (저소득층에 대한 상향혜택도 있다) 미세먼지주의보 발령일이나 환경관련기념일에는 마일리지를 두배 적립해주니 혜택을 더 많이 주려고 함이 보인다 체크..

[일상] 탄소중립실천포인트 - 지구 살리기 [내부링크]

지인의 소개로 탄소중립실천포인트를 알게되었다 ‘지구가 죽어가고있다’라는 뉴스가 많이 나오고 있음에도 도움이 되어야지라는 생각만 하고 행동은 어떻게 해야하나라고 생각했었는데 실천하고 지구를 살리는데에 더움도 되면서 돈도 받을 수 있다는 지인의 말에 ‘이런건 또 나만 알 수 없지~! 다른 사람도 알고 참여했으면 좋겠다’라는 마음으로 글을 쓰고 있다 아래 세개의 분류가 나뉘어져 있어 확인하고 회원가입하여 실천!!! * 탄소중립포인트 에너지 (가정 도시가스, 상수도, 전기 사용 감출에 따른 포인트 지급) https://cpoint.or.kr/user/regist/firstStep.do회원가입 | 본인인증본인 확인을 위해 인증을 해주세요. (인증하신 정보는 본인 확인용으로만 사용됩니다.) 01.유형선택 02.약관..

[javascript] 클립보드 복사 - window.navigator.clipboard [내부링크]

[클립보드 복사 기능] - window.navigator.clipboard.writeText(text)를 하게되면 text가 복사되며, 메모장에 붙여보시면(Ctrl + V) 복사된 문자가 작성되는 것을 확인할 수 있다. - 클립보드, URL 복사, 링크 복사와 같은 기능을 사용할때 이용! window.navigator.clipboard.writeText("ㅇㅇ").then(() => { $.alert("ㅇㅇ" + " 클립보드에 복사되었습니다."); });

[공연] 2023 SG워너비 콘서트 - 우리의 노래 [내부링크]

04.01 만우절 날 SG워너비 콘서트에 갔다 올림픽공원 핸드볼경기장이었는데 보니 다른 경기장에도 콘서트한다고 씌여져있었다 ‘레드벨벳’, ‘권진아’ 아마 더 있던거 같은데 난 SG워너비를 보러온거니까 ㅎㅎ 포토존도 있었는데 가족하고 오기도 했고 나는 부끄러워서 저런건 잘 못찍겠다… 잘 찍는 분들 부러워요… 남는게 사진이라는데… 흑… 점심먹고 한바퀴 돌려고했는데 왠걸 미세먼지도 심하고 사람도 많고 덥고… 부모님도 꽤 지쳐하셔서 한군데 자리잡고 앉아서 콘서트 시간 기다렸다 좌석은 10구역 오… 생각보다 가까웠다 콘서트는 처음와보는데 … 두근두근 콘서트 시작 후에는 사진도 못찍고 동영상도 못찍는다고 해서 핸드폰을 잘 끄고! 공연에 집중!! 응원도구 자랑!!을 빼먹었네 ㅎㅎ 이게 현실 맞나요.. 천상의 목소리 ..

[일상] 출근길 - 으마카세 라디오 (2화) [내부링크]

으마카세 라디오 약 일주일 전쯤 출근길에 유튜브를 듣게 됐다. 어떤 연관이나 관련이 없던거 같은데 생긴 지 얼마 안 된 거 같아서 궁금해서 채널에 들어가서 영상을 보게 됐다 ‘경험 여유 어른 보람 let’s go’ 라는 타이틀이 가장 최근이라서 보게 됐는데 나랑은 다른 되게 귀여운 목소리가 등장했다 먼가 저런 귀여움… 개인적으로 너무 부러웠다 ㅠㅠ 여유를 가지는건 정말 어려운 거 같다 나도 그렇게 생각하기도 했고 평소에 너무 많은 생각을 하며 살아가는 사람 중 한명이어서 굉장히 마음 한편을 쿵!.. 하고 때리는 것만 같았다 여유를 가질 수 있는 건 ‘나를 내려놓기’ 라고 생각했다 요즘 시대 ‘다 잘해야 돼’ 라는 압박이라면 자기 압박감을 가지고 살아가는 사람들이 많아진 거 같다고 생각한다 나도 그런 사람..

04.02 구글 애드센스 사용기 - 광고수익 늘리는 방법 고찰 [내부링크]

[구글 애드센스 사용기] 구글 애드센스 사용한지 10일이 지났다. 10일간 광고 내용 애드센스 보고서를 봤는데 10일이니까... ㅎㅎ 아직 별다른 특이점은 없었다. 어떻게 광고가 수익을 늘릴 수 있을지에 대한 고찰 하고 있는 중이다. [구글 애드센스 수익 늘리는 방법] Search를 통해 수익늘리는 방법을 찾아보았는데 현재 시점에서 수익을 늘리는 방법은 아래와 같았다. 방문자 수를 늘리는 것 방문자 수를 늘리면 광고노출의 수도 늘어날 거라는 것은 당연하지만 기본기가 가장 중요하다는 것을 잊지 않아야 한다. 가장 기본이면서 가장 어려운 문제 광고를 어디에 게재할지 고민할 것 더 큰 수익을 내기위해 광고를 어느 항목에 게재할 것인지 생각해야 한다는 글을 봤다. 하지만 이건 초보자인 나에게는 생각할 겨를이 없..

23.03.29 문화가 있는 날 - 창덕궁 나들이 (2) - (+ 익선동) [내부링크]

[문화가 있는 날 - 창덕궁 나들이 (2) - (+ 익선동)] 조금 더 한바퀴 돌고 온실 쪽으로 왔는데 고양이 발견!! (난 고양이 덕후니깐… 이 기회를 놓칠 수 없다… !!) (날 찍어라냥~) 줌인을 하긴했지만 꽤나 사람들이 고양이 구경하는데도 이 친구는 사람이 많이 익숙한듯 했다 계속 꽃내음도 맡고 귀여움을 뽐내주었다 땅콩이 있는거 보니 중성화는 안되어 있었다 온실 근처에 정자가 하나 있는데 엄마랑 쉬려고 올라가는데 고양이를 또 발견했다. ㅋㅋ 그러다가 둘러보니!! 여기도 뙇!! 여기도 뙇!! 몇마리인지.. ㅋㅋ (눈돌아간다… ㅋㅋㅋㅋ 이곳이 바로 천국…?!?!?!) 익숙한듯 모든 고양이가 사람을 많이 경계하진 않았다.. ㅎㅎ 한옥이 아니라 고양이 구경을 많이 해던 거 같다 그렇게 한 두시간정도 돌고..

23.03.31 정독도서관 - 벚꽃 나들이 (+ 거울한옥 미러룸) [내부링크]

[정독도서관 - 벚꽃 나들이] 회사 점심시간에 식사하러 나와서 점심 먹고 산책하는 길에 정독도서관 쪽에 사람이 많은 걸 보고 궁금해서 걸어갔다 근데 웬걸… 벚꽃이 만발해 있었다 호오… ㅋㅋ 전에 벚꽃 명소 찾다가 정독도서관도 벚꽃명소라고 보긴 했는데 이 정도일 줄은 몰랐다 이번 연도에 너무 빨리 따뜻해져서 그런지 벚꽃이 만개해서 핀 곳을 못 봐서 정독도서관도 포기하고 있었는데 너무나 이쁘게 펴있었다 사람들 다 몰려서 사진 찍느라 바쁘고 여기서 돗자리 피고 피크닉을 즐기시는 분도 계셨다 ㅋㅋ (회사 동료들이랑 와도 너무 좋겠다… ㅋㅋ) 사람 없을 때 빠르게 찍어서 잘 나온 사진 ㅋㅋ 우와 ~ 올해 벚꽃 눈에 많이 담았다 ㅋㅋㅋㅋㅋㅋ 이쁜 거 보니까 또 마음이 싱숭생숭한 게 더 일하기 싫어지는.. ㅋㅋ ..

23.03.29 문화가 있는 날 - 창덕궁 나들이 (1) [내부링크]

[23.03.29 문화가 있는 날 - 창덕궁 나들이 (1)] 창덕궁에 다녀왔다. 미세먼지가 나쁨 수준이고 하늘이 조금 뿌옇게 있었지만 '문화가 있는 날'이라서 한껏 들뜬 마음으로 벚꽃 구경하러 나들이 갔다. 날씨 진짜 좋다 색감이 잘 드러나게 찍혀서 한옥의 미를 조금이나마 담은 거 같다 눈보다야 못하겠지만 ㅎㅎㅎㅎ 중간까지 오면 계단이 있는데 사람들이 몰려있었다. 왜인가 했더니 군데군데 벚꽃이 예쁘게 피어있어서였다. 나도 내려가서 한 번 찍어봐야지 하고 내려갔는데 역시나 한옥과 벚꽃이 어우러지니 이뻤다. (한옥은 정말... 언제 봐도 이쁘다..) 철쭉인가…(?) 진달래랑 철쭉이랑 매번 헷갈린다 구분하는 법이 있었는데… 자꾸 까먹는다 정말 하나도 버릴 사진이 없어서 블로그에 계속 삽입중이다 ㅎㅎ 저 한복입..

필름카메라 - 레토 울트라 와이드 슬림 (22mm 광각) - 코닥 컬러필름 GOLD [내부링크]

[레토 울트라 와이드 슬림 (22mm 광각) - 코닥 컬러필름 GOLD] 23.03.28 레토 광각 카메라로 찍은 필름을 맡기고 당일 다섯시에 바로 사진을 받아볼 수 있었다. 필름 디지털 사진으로 받는게… 한 롤에 현금으로 5000원 카드로하면 8000원이라는데 ㅠㅠ 너무 비쌌다… 카드로 하니까 3000원이 확 올라버리니… 다음엔 현금가지고 가야겠다… 암튼 사진받았는데 그래도 이번 사진은 잘 나온게 많았다 북촌에서 찍은 사진들은 카메라에서 필름뺄때 빛이 들어가서 타버렸고… 북촌한옥마을 조금.. 몇장 건지고 나머지 한옥 건물들 북촌으로 가는길~ 창덕궁 근처 사진까지해서 반 정도는 건졌다 [회사 근처 건물] 레토 카메라 받고 신나서 찍었단 기억이 나네… ㅎ [삼청동 카페거리 근처] [북촌으로 가는길 - 가배..

23.03.28 북촌 카페 - 오뉴하우스 [내부링크]

[북촌 카페 - 오뉴하우스] 점심시간에 산책 겸 카페를 가니 벌써 3번째 글을 쓰고 있다 겨울에는 추워서 잘 돌아다니지 않는데 봄이 되니 돌아다니게 되는거 같다 (봄은 만끽해야지 ㅎㅎ) 삼청동 쪽으로 빠져서 걷다가 카페 하나를 발견했는데 가는 길에 딸기 사진이 붙어있어서 확 끌려서 가게 됐다 메뉴를 고르는데 고민이 많이 되었는데 새로운 메뉴가 나왔다며 직원붙이 픽해준 음료가 있어서 그 음료로 시키게 됐다 이름으 음…. 찾아보니 오뉴 크림 모카! 이거였던거 같다 위에 크림이 얹어져 있는데 오… 맛있다 숟가락으로 떠먹어도 맛있고 커피랑 섞어먹어도 맛있다 (녹색 쟁반과 갈색 컵 잘 색감이 잘어울린다. 가게도 내가 좋아하는 나무 인테리어라 더 만족감 높았다) 이제 가게 내부랑 인테리어 찍은 걸 올려야지 음료도 ..

애드센스 수익나는 게시글 확인 [내부링크]

https://m.blog.naver.com/lovedweb/222737714976

[취미생활 : 그림] 비켜비켜~ (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 비켜비켜~ (고양이 그림 : 펜그림) 인스타그램에서 내가 좋아하는 고양이가 있는데 오늘은 그 고양이를 그렸다 그림이 잘 그려질때 안그려질때가 있는데 요 며칠은 잘 그려지고 있다 스케치만 10~20분 내로 그려지고 색칠 10~20분 최대 40분정도의 시간을 내어 그리는데 그림을 그릴때 만큼은 아무런 생각이 들지않고 힘들었던 하루가 싹 가신다 갈색, 노란색을 좋아하는데 그 이유는 따뜻함인 것 같다 밝고 따뜻한 내가 되고 싶은 마음이 크다 내가 아직 그런사람이 되지 못해서 일까? 생각하다보니 깊숙이 들어가게된다 ㅎㅎ 오늘 들었던 유트브 영상/노래를 들었는데 여유에 대한 이야기였다. 출근길에 듣기 좋은 노래와 내용이었어서 다음에 포스팅해야겠다 ㅎ

23.03.27 북촌 카페 - 아이사구아 [내부링크]

[북촌 카페 - 아이사구아] 날이 조금 쌀쌀했지만 햇빛이 따시로워서 쌀쌀한 기운을 녹여주는 점심에 오늘도 산책을 나왔다 산책길은 북촌한옥마을만큼 좋은곳이 없기 때문에 오늘도 한옥마을에 발자취를 남겨보고자 했다 혼자였으면 재미없었을 길을 동료들과 함께 웃으면서 걸으니 재미 두배 행복 두배 (회사로 돌아가는 길은… 지옥행… ㅠㅠ) 북촌을 돌아 ‘아이사구아’ 라는 카페를 발견했다 [아이사구아 주문받는곳] [아이사구아 카페 외부] [카페 내부] 카페 내부 / 외부 모두 서까래도 있고 한옥카페로 디자인해서 따뜻함이 가득했다 실제로 카페 내부라 따뜻했다 ㅎㅎ 파인애플주스를 시켰는데 … 이렇게 파인애플 통째로 주스가 나왔다 알고보니 내가 파인애플 주스 가격을 9000원으로 보았더랬다. 동료들하고 한참을 웃었다 ㅋㅋ ..

[취미생활 : 그림] 딸기 냠냠 - 냐미냐미 (토끼 그림 : 펜그림) [내부링크]

인스타그램에 맘에 드는 사진이 있어 그림을 그렸다 토끼가 딸기를 먹는 사진인데 너무 귀여워서 ㅋㅋ 그림을 그렸는데 눈을 좀 크게 그려서 좀... 아쉽지만 그래도 10분 컷으로 금방 그렸다 ㅎㅎ 요즘 그림 그리는 속도가 많이 늘어서 그리고 간단하게 그리는 것도 있어서 그런가 ㅎㅎ 금방그린다. 머리를 식히고 싶을때나 취미로 그리는데 점점 만족스럽게 그려지는 거 같아서 즐겁다 내게 이렇게 취미생활을 할 수있다는 것이 활력을 준다 인스타그램 : https://www.instagram.com/huindungi2020/ [냐미냐미]

[취미생활 : 그림] 도도냥 (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 도도냥 (고양이 그림 : 펜그림) 인스타그램 : https://www.instagram.com/huindungi2020/ 생각보다 잘 그렸는데...? ㅎㅎ 2023.03.24 - [취미생활/@흰둥이 그림 모음] - 궁디팡팡

Vue 인스턴스 정의와 속성 [내부링크]

Vue 인스턴스 정의와 속성 뷰 인스턴스는 뷰로 화면을 개발하기 위해서 필수적으로 생성해야 하는 기본 단위이다. new Vue({ el : '#app', data : { message : 'Hello vue.js' } }); 뷰 인스턴스 생성자 new Vue()로 인스턴스를 생성할 때 Vue를 생성자라고 한다. Vue 생성자는 뷰 라이브러리를 로딩하고 나면 접근할 수 있따다. 생성자를 사용하는 이유는 뷰로 개발할 때 필요한 기능들을 생성자에 미리 정의해 놓고 사용자가 그 기능을 재정의하여 편리하게 사용하도록 하기 위해서 이다.

Vue 인스턴스 라이프 사이클 [내부링크]

[Vue 인스턴스 라이프 사이클] 인스턴스의 속성 중 created는 인스언스가 생성되었을 때 호출할 동작을 정아ㅣ하는 속성이다. 인스턴스의 상태에 따라 호출할 수 있는 속성들을 라이프 사이클 속성이라고 한다. 그리고 각 라이프 사이클 속서에서 실행되는 커스텁 로직을 라이프 사이클 훅(hook)이라고 한다. 라이프 사이클 속성에는 created, beforeCreate, beforeMount, mounted 등 인스턴스의 생성, 변경, 소멸과 관련되어 총 8개가 있다. beforeCreate 인스턴스가 생성되고 나서 가장 처음으로 실행되는 라이프 사이크 ㄹ단계 이다. 이 단계에서는 data속성과 methods 속성이 아직 인스턴스에 정의되어 있지 않고, 돔과 같은 화면 요소에도 접근할 수 없다. Crea..

[취미생활 : 그림] 낮잠자기~ 크앙~ (고양이 그림 : 펜그림) [내부링크]

[취미생활 : 그림] 낮잠자기~ 크앙~ (고양이 그림 : 펜그림) 낮잠자는 고양이 모습 그리기 그림연습 그림그리는데 한 10분 컷으로 그렸던거 같다. 스케치는 10분정도 그리고 색칠하는데 10분 ㅎㅎ 예전에 그림 그렸던 거에 비하면 많이 도약했다. 인스타그램 : https://www.instagram.com/huindungi2020/

23.03.24 회사 점심시간 나들이 - 북촌한옥마을 [내부링크]

회사 점심시간에 동료들과 함께 북촌나들이를 갔다 목요일 점심시간에도 사람이 많더니 역시 금요일이라 사람이 어제보다 더 많았다. 북촌도 슬슬 벚꽃이 피기 시작했다 햇빛을 받은 나무들은 더 노랗게 물들었고 목련이 더해져 따뜻함을 더했다. 회사 근처에 이런 산책길이 있는건... 내 마음속 복지였다... ㅠㅠ (회사 복지도 좋았으면... (모든 직장인들의 공통생각..)) 여긴 뭐하는 곳인지 모르겠는데 들어갈 순 없었고 예전에 카페가 아니었을까 하는 생각이 들었다. 옛날 외할머니댁이 생각나는 돌계단 ㅎㅎ 왼쪽 집이 옛날 외할머니 집이랑 많이 닮았었다. 돌담과 그위에 창문까지... 추억 돋... ㅠㅠ 확실히 요즘 핸드폰은 너무 좋다 ㅎㅎㅎㅎ 사진도 잘나오고 ㅎㅎ 가까이서 찍어도 멀리서 찍어도 잘 나옴... ㅎㅎ *..

코닥 울트라 F9 - 흑백사진 모음 [내부링크]

[강남에서 찍은 사진 모음 - 흑백] 흑백필름으로 사진찍은 건데 그 많은 필름을 다 태우거나... 너무 어두울 때 찍는 바람에 다 날려버리고 남은 사진이 6개였다.... 필름도 비싼데... 날려버린 게 몇장인지.... ㅠㅠ... 나머지 사진은 아직 어설픈 실력인데도 불구하고 만족하는 사진이다. 안흔들리고 잘 찍었다는 점에 나엑게 칭찬한다... (이렇게라도 위안을... ㅠㅠ) 다음은 레토 광각 카메라로 찍은사진을 올릴건데 과연... 어떻게 나올지... 두근 두근!!!!! 기대된다 ㅎ 이글은 직장인의 내돈내산 후기입니다

코닥 울트라 F9 - 필름사진 모음 [내부링크]

[2022.04 부산 여행] - 부산 해운대에서 찍은 사진 중 건진... 사진 - 다른것도 있지만 같이 놀러간 동료들 얼굴이 찍혔기 때문에 보류!! [집근처 돌아다니며 찍은 막 사진 모음] 사진 하나하나 찍으면서 돌아다니는 재미를 느꼈다. 비록 가까운 곳을 돌아다니며 찍었지만 필름 카메라를 사고 처음 찍었기 때문에 설레고 들뜬 마음으로 찍으며 돌아다녔다. 이때가... 음... 22년 여름에서 가을로 넘어가던 시기여서 날씨가 굉장히 좋을때였다 그래서 하늘 색상도 굉장히 잘 담긴 펴닝며 흔들림 거의 없이 찍혔다. 아래 두개의 사진은 다른날 찍은 사진인데 약간 흐린 날씨일때 찍었던 사진이다. 날도 흐리고 날씨의 영향을 많이 받는 나였지만 필름카메라 하나로 신나서 찍으러 돌아다녔다. 그 중에 건진 사진이 저 두..

23.03.25 가족 나들이 - 북촌 한옥마을과 관훈맨션(경양식 돈까스) [내부링크]

[북촌한옥마을] 가족나들이로 북촌한옥마을에 갔다. 날씨가 흐려서 전체적인 사진은 잘 나오진 않았지만 개나리도 피고 벚꽃이 듬성듬성 피어있어서 봄의 기운을 맡볼 수 있었다. (사진 기술이 없어서 좀 아쉬움...) 아래 사진은 새로 생긴곳 같은데 향수를 파는 곳이었다. 아래 사진이 제일 맘에 드는데 날씨가 좀 더 맑았다면 사진이 더 잘 나왔을텐데 아쉽다... ㅠㅠ... 북촌한옥마을을 돌고 내려와 경양식 돈까스를 먹으러 인사동에 있는 관훈맨션으로 향했다. 가족들 다 점심을 적게 먹고 나와서 배고프던 참이었다... 이 때가 한... 4시 반에서 5시 쯤 되었던거 같다. [관훈맨션] 관훈맨션 내부 사진 ㅎㅎ 진짜 예전에 가족들이랑 같이 갔었던 레스토랑 느낌이 났다. 몇년만이지....?? 예전에 가족들과 즐겼던 추..

필름카메라 - 코닥 울트라 F9 / 레토 울트라 와이드 슬림 (22mm 광각) [내부링크]

[필름카메라 - 코닥 울트라 F9 / 레토 울트라 와이드 슬림 (22mm 광각)] 코닥 울트라 F9 카메라로 예전에 찍은 사진들을 올려본다. 필름카메라로 사진찍으니까 느낌 있는 거 같다 ㅎㅎ 우선 내 필름카메라 사진부터!! [코닥 울트라 F9 - 31mm] 필름은 ISO 200/400을 사용해야하고 플래시가 있어 AAA 건전지를 넣어줘야 한다. 건전지를 장착해야해서 무게감이 조금 있는데 그 떄문인지 장난감 같지 않아서 좋았다 [RETO 레토 필름카메라 울트라 와이드 슬림 - 22mm 광각] 기존 토이카메라 보다 넓은 화각의 22mm 렌즈가 적용되어있어 넓은 화각으로 사진을 찍을 수 있어서 좋다 ㅎㅎ 아직 이 토이카메라는 사진 찍고 인화를 안해서 과연 어떻게 사진이 나올지 기대가 된다. 색상이 쨍한 노랑이..

[취미생활 : 그림] 궁디팡팡 (고양이 그림 : 펜그림) [내부링크]

[궁디팡팡 할때 좋아하는 고양이 모습을 담은 그림] 인스타그램 : https://www.instagram.com/huindungi2020/

JAVA - 주민번호, 패스워드 암호화 (양방향, 단방향 암호화) [내부링크]

[주민번호는 양방향 암호화 / 패스워드는 단방향 암호화] 양방향 알고리즘은 암호화된 암호문을 복호화 할 수 있는 알고리즘을 의미하고 단방향 알고리즘은 암호화는 수쟁하지만 절대로 복호화가 불가능한 알고리즘을 의미한다. 양방향은 대칭키와 비대칭키가 있으며, 단방향은 HASH가 있다. 양방향 알고리즘 : 암호화, 복호화 가능 (대칭키, 비대칭키) 단방향 알고리즘 : 암화화 가능, 복호화 불가 대칭키(비공개키) 방식 : DES, AES 비대칭키(공개키) 방식 : RSA 양방향 암호화 방식 (주민번호 암호화 시 사용) https://velog.io/@zz1996zz/%EC%95%94%ED%98%B8%ED%99%94%EC%99%80-%EB%B3%B5%ED%98%B8%ED%99%94-AesBytesEncryptor ..

구글 애드센스 사용기(1) - 03.22 [내부링크]

[구글 애드센스 사용기] 구글 애드센스를 03.22를 기점으로 사용하기 시작했다. 운영이 어떻게 될지... 다른 블로그를 찾아보니 저품질로 판단되어 광고운영이 안되는 것도 있던데... 수익을 조금이나마 늘려보려고 하는거라... 제발 잘 되었으면 좋겠다. 하루, 이틀 정도에 하나씩 올리는 분도 있고... 나도 많이 올리는 건 아니지만... 2~3일에 하나씩은 올려야 하지 않을까 싶다. 구글 애드센스 사용하는 방법은 내일 작성하여 올리는 것으로 하자 ㅎㅎ 지금은 블로그 광고 운영을 어떻게 할지 고민해 보는게 좋을거 같다 ㅎㅎㅎ [2023.03.22 애드센스 예상 수입 보고서] 과연 오늘은 어떻게 나올지 00시 되면 갱신되려나... ㅎㅎ [2023.03.23 애드센스 예상 수입 보고서] 궁금해서 00:00 까..

mybatis - 프로시저 사용 (파라미터 있는 경우도 포함) [내부링크]

[mybatis - 프로시저 사용 (파라미터 있는 경우도 포함)] mybatis에서 프로시저를 사용할때는 statementType으로 callable을 선언해줘야한다. 그래야 프로시저를 사용함을 앎 -- statementType="CALLABLE" mode IN,OUT,INOUT파라미터를 명시하기 위해 사용한다. 파라미터가 OUT / INIOUT이라면 파라미터의 실제 값은 변경될 것이다. mode=OUT(또는 INOUT)이고, jdbcType=CURSOR라면 파라미터의 타입에 ResultSet를 매핑하기 위해 resultMap을 명시해야 한다. jdbcType 지원되는 타입 목록에서 설명하는 JDBC 타입. JDBC타입은 insert, update 또는 delete 하는 null 입력이 가능한 칼럼에서만..

JAVA - WAS 서버에서 이미지 표출 처리 [내부링크]

[WAS 서버에서 이미지 표출 처리하기] 사용자가 사진을 업로드할 시 서버에 저장되고 저장된 이미지를 다시 화면에 뿌려줘야할때 또는 보안적으로 안전하게 경로를 보여주고 싶지 않을 때 서버에서 이미지 표출 처리 하며 script단에서 태그에 서블릿 경로로 지정한 후 서버단에서 처리해주는 방식으로 있다. 현재 내가 아는 방식은 두가지가 있으며 아래와 같다. 1. ServletOutPutStrrem으로 파일 읽어서 내보내기 RequestMapping("/profile") public String profile(HttpSession session,HttpServletResponse response , String fileId ) throws Exception { response.setContentType( "i..

javascript - Object.values() [내부링크]

Object.values() : 객체에서 값만 추출하기 Object 객체의 메소드 values를 활용하면, 객체의 속성값(values)만 추출할 수 있다 추출된 속성값들은 배열에 담아 반환된다. const obj = { movie : 'Sunny', music : 'Like Sugar', style : 'Retro', price : Infinity }; const arr = Object.values(obj); console.log(arr); //['Sunny', 'Like Sugar', 'Retro', Infinity]

javascript - Object.keys() [내부링크]

keys : 객체에서 키만 추출하기 Object 객체의 메소드 keys를 활용하면, 객체의 키들만 추출할 수 있다. 추출한 키를 배열에 담아 반환된다. const obj = { movie : 'Sunny', music : 'Like Sugar', style : 'Retro', price : Infinity }; const arr = Object.keys(obj); console.log(arr); //["movie", "music", "style", "price"] obj 변수에 객체 리터럴을 대입한 후 Object 객체의 메소드 keys()를 호출하고, 인자로 obj 변수를 넣는다. keys는 obj 변수에 정의된 속성 키 정보들만 추출한다. 추출된 값들은 새로운 배열에 담아 return 한다.

javascript - map 사용법 [내부링크]

배열의 요소를 일괄 변경해야하는 경우, Array 객체의 map 메소드를 활용한다. callback 함수를 인자로 받아서, callback 함수의 return으로 반환되는 값들을 재조합하여 새로운 배열로 만든다. const arr = [ {id : 0, name : '혜림', age : 0}, {id : 1, name : '현일', age : 3}, {id : 2, name : '현아', age : 5}, {id : 3, name : '우림', age : 2} ]; const arr2 = arr.map(el => { el.age = el.age + 1; return el; }); const arr3 = arr.map(el => el.name); console.log(arr2); //[ // {id : 0..

javascript - filter 사용법 [내부링크]

filter : 배열의 특정 조건을 기준으로 필터링하기 Array 객체의 filter 메소드는 인자로 대입된 callback 함수를 통해 배열 내부를 순환하면서, 요소 각각이 특정 조건을 만족하는지 확인한다. 확인하는 방식은 callback 함수 내부에 정의된 문장들을 통해 테스트하게 되는데, callback 함수의 반환값은 무조건 true 또는 false이어야 한다. 이중에서 true 결과값을 만족하는 요소들을 다시 새로운 배열에 담아 반환한다. const arr = [1,2,3,4,5,6,7,8,9,10]; const filteredTwo = arr.filter(a=>{ console.log('현재 위치의 값은 ${a} 입니다.'); return a%2 == 0; }); console.log(filt..

SQL) 가장 비싼 상품 구하기 - oracle [내부링크]

문제) PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요. SELECT MAX(PRICE) MAX_PRICE FROM PRODUCT * SUM, MAX, MIN문제로 해당 문제는 MAX() 함수 사용에 대한 문제였다.

SQL) 나이 정보가 없는 회원 수 구하기 - oracle [내부링크]

문제) USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요. SELECT COUNT(*) USERS FROM USER_INFO WHERE AGE IS NULL * 문제풀이 IS NULL문제 해당문제는 IS NULL 문제로 나이정보가 없는 회원의 수 즉, COUNT 함수와 WHERE 절에서의 조건으로 IS NULL을 사용하는 문제였다. 문제내용을 파악하는 순간 풀 수 있는 문제였다.

SQL) 경기도에 위치한 식품창고 목록 출력하기 - oracle [내부링크]

문제) FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요. 문제풀이) SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, NVL(FREEZER_YN, 'N') FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기도%' * 해당문제는 NULL값을 다른값으로 치환시키는 문제이다. 상당히 쉬운 문제였는데, NULL 값을 'N'으로 변경하는 문제여서 NVL함수를 사용하였다.

SQL) 오프라인/온라인 판매 데이터 통합하기 - oracle [내부링크]

문제) ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. 문제풀이 SELECT TO_CHAR(SALES_DATE,'YYYY-MM-DD') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE TO_CHAR(SALES_DATE, 'YYYYMM') ..

SQL) 재구매가 일어난 상품과 회원 리스트 구하기 - Oracle [내부링크]

문제) 정답) SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) > 1 ORDER BY USER_ID, PRODUCT_ID DESC

SQL) 12세 이하인 여자 환자 목록 출력하기 - Oracle [내부링크]

문제) 정답) SELECT PT_NAME, PT_NO, GEND_CD, AGE, NVL(TLNO, 'NONE') TLNO FROM PATIENT WHERE GEND_CD = 'W' AND AGE

SQL) 강원도에 위치한 생산공장 목록 출력하기 - Oracle [내부링크]

문제) 답안) SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID ASC;

SQL) 조건에 맞는 도서 리스트 출력하기 - Oracle [내부링크]

문제 설명) 정답) SELECT BOOK_ID, TO_CHAR(PUBLISHED_DATE, 'YYYY-MM-DD') AS PUBLISHED_DATE FROM BOOK WHERE TO_CHAR(PUBLISHED_DATE, 'YYYY') = '2021' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE

SQL) 인기있는 아이스크림 - Oracle [내부링크]

문제 설명) 정답) SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ** 엄청 간단한 문제였다

SQL) 3월에 태어난 여성 회원 목록 출력하기 - Oracle [내부링크]

문제 설명) 정답) SELECT MEMBER_ID, MEMBER_NAME, GENDER, TO_CHAR(DATE_OF_BIRTH, 'YYYY-MM-DD') AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE TO_CHAR(DATE_OF_BIRTH, 'MM') = '03' AND GENDER = 'W' AND TLNO IS NOT NULL ORDER BY MEMBER_ID * 3월에 태어난 => TO_CHAR(DATE_OF_BIRTH, 'MM') = '03' * 여성 => GENDER = 'W' * 전화번호 없는 사람 제외 => TLNO IS NOT NULL * 멤버아이디 오름차순 => ORDER BY MEMBER_ID

SQL) 평균 일일 대여 요금 구하기 - Oracle [내부링크]

문제 설명) 정답) SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' * ROUND : 반올림 해주는 function이다.

SQL) 흉부외과 또는 일반외과 의사 목록 출력하기 - Oracle [내부링크]

문제 설명) 정답) SELECT DR_NAME, DR_ID, MCDP_CD, TO_CHAR(HIRE_YMD, 'YYYY-MM-DD') as HIRE_YMD FROM DOCTOR WHERE MCDP_CD IN ('CS', 'GS') ORDER BY HIRE_YMD DESC, DR_NAME

SQL) 과일로 만든 아이스크림 고르기 - Oracle [내부링크]

문제 설명) 문제 상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요. 정답) SELECT half.FLAVOR FROM ICECREAM_INFO info, FIRST_HALF half WHERE info.FLAVOR = half.FLAVOR AND half.TOTAL_ORDER > 3000 AND info.INGREDIENT_TYPE = 'fruit_based' ORDER BY half.FLAVOR

SQL) 서울에 위치한 식당 목록 출력하기 - Oracle [내부링크]

문제 설명) 문제 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요. 정답) SELECT info.REST_ID, info.REST_NAME, info.FOOD_TYPE, info.FAVORITES, info.ADDRESS, ROUND(review.REVIEW_SCORE, 2) REVIEW_SCORE FROM REST_INFO info, (SELECT REST_ID, AVG(REVIEW_SCORE) A..

SQL) 조건에 맞는 회원 수 구하기 - Oracle [내부링크]

[문제] [정답] SELECT COUNT(*) cnt FROM USER_INFO WHERE TO_CHAR(JOINED, 'YYYY') = '2021' AND (age >= 20 AND age

SQL) 어린 동물 찾기 - Oracle [내부링크]

문제) 정답 ) SELECT ANIMAL_ID , NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' ORDER BY ANIMAL_ID ASC

SQL) 아픈 동물 찾기 - Oracle [내부링크]

문제 설명) 정답 ) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID

SQL) 오프라인/온라인 판매 데이터 통합하기 - Oracle [내부링크]

문제 설명 ) 문제 ) 문제 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. 정답 ) SELECT * FROM (SELECT TO_CHAR(SALES_DATE, 'YYYY-MM-DD') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE..

SQL) 재구매가 일어난 상품과 회원 리스트 구하기 - Oracle [내부링크]

문제 설명) 문제) ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. 정답) SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(ONLINE_SALE_ID) >= 2 ORDER BY USER_ID, PRODUCT_ID DESC

SQL) 평균 일일 대여 요금 구하기 - Oracle [내부링크]

문제 설명) 문제) 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요. 정답) SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV'

CollectionUtils 사용법 [내부링크]

[CollectionUtils 사용법] Apache Commons 라이브러리 중 Null 체크 해주는 메소드가 있음 List scheduleModelList = scheduleService.selectCastSchedule(vo); if(CollectionUtils.isNotEmpty(scheduleModelList)){} 아래와 같이 쓰면 Null 오류 날 수 있어 위와 같이 ConllectionUtils를 사용한다. List.isEmpty()

개발환경 설정 및 프로젝트 생성 [내부링크]

* 크롬 브라우저 * 아톰(Atom) 텍스트 에디터 * node.js * 뷰 개발자 도구(Vue.js devtools, 크롬 확장 플러그인)

PDF파일 작성 (pdfbox) [내부링크]

[PDF파일 작성 (pdfbox)] POM.XML - pdfbox maven 설정 1 2 3 4 5 org.apache.pdfbox pdfbox 2.0.8 cs JAVA Controller 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 @RequestMapping(value = "/pdfTest", method = RequestMethod.GET) @ResponseBody public void pdfTest(HttpServ..

Vue.js 입문 (1일차) [내부링크]

- Vue.js로 프로젝트를 만드는 회사가 많아짐에 Vue.js를 입문해야겠다는 생각이 들어 Vue.js를 입문하기 부터 프로젝트를 생성하여 하나의 앱을 만들기까지의 과정을 작성해보고자 한다. - 금일은 Vue.js가 무엇인지 알아가고 개발환경을 셋팅하는 시간을 가져본다. Vue.js란 Vue.js는 웹 페이지 화면을 개발하기 위한 프런트엔드 프레임워크이다. 뷰는 화면단 라이브러리이자 프레임워크라고도 볼 수 있다. 뷰 코어 라이브러리는 화면단 데이터 표현에 관한 기능들을 중점적으로 지원하지만 프레임워크의 기능인 라우터, 상태관리, 테스팅 등을 쉽게 결합할 수 있는 형태로도 제공된다. 즉, 라이브러리 역할뿐만 아니라 프레임워크 역할도 할 수 있다. Vue의 장점 1. 배우기가 쉽다 2. 리액트와 앵귤러에 ..

jasypt 암호화 복호화 [내부링크]

[jasypt 암호화 복호화] 1) Dependency - 의존성 주입 2) 사용법 [결과값] 3) DB 정보를 설정시 자주 사용한다 * 참고 - jasypt 통한 암호화 복호화 테스트 할 수 있는 사이트 https://www.devglan.com/online-tools/jasypt-online-encryption-decryption

JAVA - Enum 타입 [내부링크]

JAVA - Enum 타입 Enum enum은 equals 메서드를 쓸 필요가 없다 열거 타입은 인스턴스들이 고정되어 있으므로 ==을 사용하면 된다 equals 를 실행한다고 해도 결국 == 검사를 수행함 == 비교를 하는 편이 코드도 간단해지고 직관적이기 때문에 == 을 사용하는 것!!

Not allowed to read local resource 오류 [내부링크]

[Not allowed to read local resource 오류]

JAVA - UUID 란 / UIUID 생성하기 [내부링크]

JAVA - UUID 란 / UIUID 생성하기 UUID 란 UUID는 Universally unique identifier의 약자로서, 정보 식별을 위하여 사용되는 식별자이다 128-bit 숫자로 이루어져 있으며, xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 형식으로 표현한다 UUID의 장점 중, 데이터들이 나중에 단일 DB로 통합되거나, 같은 채널에서 전송되더라도 식별자가 중복될 확률이 매우 낮다는 점이 있었다 UUID는 128-bit로 이루어진, “실용적인 측면에서 충분히 고유한” universal 식별자이다 8-4-4-4-12 형식 이점 UUID는 128-bit 숫자로, 정보 식별에 사용됨 Microsoft의 S/W에서는 GUID라고 불림 standard mehod로 생성 시..

IntelliJ - Maven Build 하기 [내부링크]

IntelliJ - Maven Build 하기 [Maven Build 실행 순서] [결과]

Spring Boot - 에러페이지 설정 (Custom Error page) [내부링크]

Spring Boot - 에러페이지 설정 (Custom Error page) 스프링 부트 공식 문서 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.developing-web-applications.spring-mvc.error-handling Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs a..

PostGIS (영역의 중심점 추출하기 - ST_CENTEROID, ST_POINTONSURFAC) [내부링크]

[PostGIS (영역의 중심점 추출하기 - ST_CENTEROID, ST_POINTONSURFAC)] ST_Extent — 기하 도형의 행을 묶는 경계 상자를 반환하는 집계 함수입니다. ST_Centroid — 지오메트리의 기하학적 중심을 반환합니다. ST_PointOnSurface — 폴리곤 또는 지오메트리에 있는 것이 보장된 점을 반환합니다. ST_Centroid : MultiPolygon의 특성상 계산을 통해 중심점을 잡았을 경우 실제 Area 영역 이외에 Center가 잡힐 수 있음 (온전한 다각형의 모양이 아닌 경우) ST_PointOnSurface : 실제 Area 영역 이내에 Center 값이 잡히게 보정하는 것 EXTENT / centroid, pointononsurface 두가지..

OpenLayers (특정 위치로 이동 : view.fit()) [내부링크]

지도의 특정 영역으로 이동하는 방법은 찾아보면 되게 많은데 view 에서 fit()이라는 함수가 그 중 하나이다. fit은 center와 zoom을 동시에 이동시켜주기에 간단하지만 굉장히 유용하다 POSTGIS box2d ST_Extent(geometry set geomfield); SELECT ST_Extent(the_geom) as bextent FROM sometable; st_bextent ------------------------------------ BOX(739651.875 2908247.25,794875.8125 2970042.75) BOX --> 좌표 배열 --> EXTENT --> JS에서 replace(치환)하여 view.fit()에 넣을 수도 있음

JAVA - ZIP 파일 다운로드 [내부링크]

[JAVA - ZIP 파일 다운로드] Zip 파일 다운로드 - zip 파일 다운로드 시 ContentType은 application/zip;으로 한다 - ZipOutputStream/ZipInputStream이 java.util.zip에 있다 해당 클래스로 Zip 파일생성/ 다운로드/ 업로드가 가능하니 사용해보는게 좋을것 같다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 @GetMapping(value = "/down..

SHP, SHX, DBF, KML 등 GIS 용어 정리 [내부링크]

SHP : shapefile은 벡터 형식이며 점, 선, 도형으로 표현된다. 도한 그 속성을 지니고 있음. * shapefile을 하나의파일포맷이라고생각하지만 사실,3개의확장포맷을통틀어shapefile이라고하며 shp,shx,dbf가 해당포맷을뜻함 DBF : 각 도형(점, 선, 면)의 대한 속성값이 담겼음 (테이블 형식으로 생김) ※ shp, shx = data (공간데이터) dbf = information (속성정보) QGIS에서는 shapefile을 분석 혹은특정위치(공간)편집으로 활용 SHP, SHX, DBF, KML 용어정의와 활용 그럼 웹과 모바일에 데이터시각화를 하려면? Shp파일포맷은 웹에서인식하지못한다. 웹의형식에 맞는 파일포맷이필요한데 JSON과 XML이 적합하다. javaScrip..

jQuery validation : 입력 데이터 유효성 검사 플러그인 [내부링크]

validation 플러그인 웹 프로그래밍에서 form 입력 데이터 유효성 검사는 사용자가 허용되지 않은 형식의 값을 입력하는 것을 방지하기 위하여 꼭 필요한 기능이다. jquery validation은 이러한 유효성 검사를 쉽게 사용할 수 있도록 도와주는 플러그인이다. 경고창 방식의 단점을 개선하고 사용자에게 빠른 체크가 가능하도록 시각화 원클릭, 원체크의 단점을 개선하여 원클릭 올체크가 가능 onkeyup, onfocusout을 이용하여 실시간 유효성 검사 가능 색 혹은 텍스트를 이용하여 빠른 정보를 제공함 사용자 편의성과 이해도를 높일 수 있음 // jquery validate를 사용하기 위해서는 jquery library가 있어야 함 jquery.validate : 검증플러그인 (필수) add..

Thymeleaf란 [내부링크]

Thymeleaf란 Thymeleaf란 Thymeleaf는 HTML, XML, JavaScript, CSS 및 일반 텍스트까지 처리할 수 있는 웹 및 독립 실행형 환경을 위한 최신 서버 측 Java 템플릿 엔진입니다. Thymeleaf의 주요 목표는 템플릿을 만드는 유지 관리가 쉬운 방법을 제공하는 것입니다. 이를 달성하기 위해 디자인 프로토타입으로 사용되는 템플릿에 영향을 미치지 않는 방식으로 논리를 템플릿 파일에 주입하는 Natural Templates 의 개념을 기반으로 합니다 . 이를 통해 디자인 커뮤니케이션이 향상되고 디자인 팀과 개발 팀 간의 격차가 해소됩니다. Thymeleaf는 처음부터 웹 표준(특히 HTML5) 을 염두에 두고 설계되어 필요한 경우 완전히 검증된 템플릿을 생성할 수 있..

Exception) - java.nio.file.AccessDeniedException [내부링크]

일반적으로 파일 권한 또는 기타 액세스 확인으로 인해 파일 시스템 작업이 거부 될 때 발생하는 확인 된 예외입니다. 이 예외는 파일에 대한 액세스가 거부 될 때 액세스 컨트롤러 또는 보안 관리자가 던지는 AccessControlException 또는 SecurityException 과 관련이 없다. 파일 소유권 권한 문제 파일들 자체가 root 권한으로 되어있기 때문에 사용자로 소유자 변경을 해준다. chown -R 사용자 : 사용자[폴더이름]

파일 업로드 - FileUtils.copyInputStreamToFile() [내부링크]

FileUtils를 사용하려면 commons.io를 maven해야 사용할 수 있다. FileUtils.copyInputStreamToFile 메소드는 매개변수가 두개 있어야 한다. 1. InputStream 소스 : 복사할 파일의 바이트 2. File : InputStream 소스의 바이트를 copy 할 File 데이터 - InputStream 소스의 경우 복사할 바이트이기 때문에 Null이면 안되고 덮어쓸 File 데이터의 경우 디렉토리 또는 Null이 아니어야 한다. Exception) : IOException - 스트림, 파일 및 디렉터리를 사용 하 여 정보에 액세스 하는 동안 throw 되는 예외에 대 한 기본 클래스이다. 기본 클래스 라이브러리에는 다음과 같은 형식이 포함 되어 있으며, ..

PostgreSQL 다운로드 및 설치 (Window 10) [내부링크]

PostgreSQL 다운로드 및 설치 (Window 10) postgresql 설치 - 아래 링크에 들어가서 'Download the installer' 를 클릭한다. - https://www.postgresql.org/download/windows/ PostgreSQL: Windows installers Windows installers Interactive installer by EDB Download the installer certified by EDB for all supported PostgreSQL versions. This installer includes the PostgreSQL server, pgAdmin; a graphical tool for managing and developin..

브라우저 확인 후 파일 다운로드 [내부링크]

[브라우저 확인 후 파일 다운로드] - 브라우저 별로 한글 인코딩 필요 --> 한글 깨짐 방지 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 @RequestMapping(value="/info/downloadManual.do") public void downloadManual(HttpServletRequest request, HttpServletResponse response) { String path = "파일경로"; //full경로, 추후 모딩 필요 String fileName..

Do It! 자료구조와 함께 배우는 알고리즘 - 다차원 배열 [내부링크]

배열을 구성 요소로 하는 것이 2차원 배열이며, 2차원 배열을 성 요소로 하는 것이 3차원 배열이다. 이런 배열을 보통의 배열(1차원 배열)과 구별하기 위해 다차원 배열이라고 한다. 다차원 배열이라고 한다. 다차원 배열 가운데 가장 간단한 것이 2차원 배열이다. 1 int [][] x = new int[2][4]; cs 2차원배열 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package com.nam.project; public class Int2DArray { public static void main(String[] args) { int [][] x = new int[2][4]; x[0][1] = 37; x[0][3] = 54; x[1][2] = 65; for (..

Do It! 자료구조와 함께 배우는 알고리즘 - 두 배열의 비교 [내부링크]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 package com.example.demo.algorism; import java.lang.reflect.Array; import java.util.Arrays; import java.util.Scanner; public class ArrayEqual{ //두배열의 비교 //두 배열이 같은가..

handlebars template 사용법 [내부링크]

handlebars 사용법 - 핸들바는 간단한 템플릿 언어 입니다. 템플릿과 입력 개체를 사용하여 HTML 또는 기타 텍스트 형식을 생성합니다. 핸들바 템플릿은 핸들바 표현식이 포함된 일반 텍스트처럼 보입니다. 핸들바를 테스트하는 가장 빠른 방법은 CDN 에서 핸들바를 로드 하여 HTML 파일에 포함하는 것입니다. https://handlebarsjs.com/guide/ Introduction | Handlebars Introduction What is Handlebars? Handlebars is a simple templating language. It uses a template and an input object to generate HTML or other text formats. Handl..

Do it! 자료구조와 함께 배우는 알고리즘 입문 : 소수의 나열 [내부링크]

어떤 정수 이하의 소수를 나열하는 알고리즘 소수는 자신과 1 이외의 정수로 나누어떨어지지 않는 정수이다. 2부터 n-1까지의 어떤 정수로도 나누어 떨어지지 않는다. 만약 나누어떨어지는 정수가 하나 이상 존재하면 그 수는 합성수 이다. [1000이하의 소수를 나열하는 프로그램]

객체 속성 기술자 이해하기 [내부링크]

[객체 속성 기술자 이해하기] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 let user = { name : "jeado" }; let descriptor = Object.getOwnPropertyDescriptor(user, 'name'); console.log(descriptor); let user2 = {}; Object.defineProperty(user2, "name", { value : "jeado", enumerable : true, configur..

클로저 이해하기 [내부링크]

* counter1과 counter2 객체의 increase 메소드를 호출하면 2라인에서 볼 수 있는 createCounterClosure 함수 내부의 count 변수에 모두 접근한다. 하지만 cunter1과 counter2의 getCount를 호출한 결과를 보면 counter1의 메소드들이 가리키는 count와 counter2의 메소드들이 가리키는 count가 다른 값을 가지고 있는 것을 알 수 있다. counter1과 counter2의 메소드들이 다른 count에 접근하는 것은 다른 렉시컬 환경의 환경 레코드에서 count에 접근하는 것이다. 이러한 현상이 가능한 이유는 바로 클로저 때문이다. increate와 getCount 함수가 정의될 때의 렉시컬 환경은 createCounterClosure 실..

스코프 이해하기 [내부링크]

스코프는 유효 범위로써 변수와 매개변수가 어디까지 유효한지를 나타낸다. 예를들어, 코드에서 a라고 작성했을 때 a라는 식별자가 어디를 참조할지, 실제값이 무엇인지를 찾을 때 스코프를 활용하여 찾게 도니다. 자바스크립트는 기본적으로 전역과 함수 단위로 스코프를 생성한다. 함수 안에서 선언된 수는 함수 블록 안에서만 접근이 가능하다. 그리고 전역에 선언한 변수들은 코드 어디에서든 접근이 가능하다

함수 호이스팅 이해하기 [내부링크]

* 자바스크립트에서는 함수를 선언하기 전에 호출이 가능하다. * 이러한 현상을 호이스팅이라고 한다. 호이스팅을 직영하면 '끌어올리기'인데 함수가 실제 호출하기 이전으로 끌어 올라간 것 처럼 동장하기 때문이다. [함수를 선언문이 아닌 표현식을 통해 변수에 할당하여 호출하기] TypeError 에러가 발생한다. 에러의 종류가 TypeError 의외일 수 있다. 실제로는 hello2 이름으로 선언된 변수는 호이스팅이 이루어졌고, 여기에는 undefined가 할당된다. 그래서 undefined는 호출할 수 없기 때문에 TypeError가 발생한 것이다. 만약 호이스팅이 이루어지지 않았더라면 ReferenceError로 hello가 선언되지 않았다는 에러가 나와야 한다. [NOTE] 호이스팅은 자바스크립트의 코드..

Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바편) - 배열, 난수 (Q1) [내부링크]

자료구조 - 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 데이터 단위는 데이터를 구성하는 한 덩어리라고 생학하면 된다. 자료구조는 쉽게 말해 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 벙법을 말한다. 배열 배열은 같은 자료형의 변수로 이루어진 구성요소(component)가 모인 것 - int [] a; // a는 자료형이 int형인 배열 : 형식 A - int a []; // a는 자료형이 int형인 배열 : 형식 B * 단순한 int 형이 아니라 int 형인 배열임을 명확하게 나타내는 형식 A쪽이 훨씬 많이 사용된다. 구성요소의 개수가 5개인 배열은 아래와 같이 선언된다. - a = new int [5]; // 배열 본체를 생성하는 본체에 대한 참조를 생성 (int [5]) ..

ES6의 향상된 객체 문법 알아보기 - 단축 속성명, 속성 계산명, 비구조화 할당 [내부링크]

ES6부터 추가된 단축 속성명으로 객체를 정의하는 방법 ES6에 새로 추가된 JavaScript 기능인 단축 속성명을 활용하여, 객체의 속성을 좀 더 간단하게 정의할 수 있다. 객체 속성을 리터럴로 정의하기 위해서는 키 : 값으로 작성해야 했다. 단축 속성명은 변수가 미리 준비되어 있는 경우 활용 가능하며, 변수명으로 속성의 키와 값을 한번에 정의할 수 있다. 이는 객체 리터럴 선언 코드를 더 짧고 가독성 있게 만들어 준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 // {변수명} var address = 'Seoul'; var member = {}; var addFamily ..

Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바편) - 직각 이등변 삼각형 출력(Q15~17) [내부링크]

* Q15 : 직각 이등변 삼각형을 출력하는 부분을 아래와 같은 형식의 메서드로 작성하세요 - static void triangleLB(int n) - 또 왼쪽 위, 오른쪽 위, 오른쪽 아래가 직각인 이등변 삼각형을 출력하는 메서드를 작성하세요. - static void triangleLU(int n) //왼쪽 위가 직각인 이등변 삼각형을 출력 - static void triangleRU(int n) //오른쪽 위가 직각인 이등변 삼각형을 출력 - static void triangleRB(int n) //오른쪽 아래가 직각인 이등변 삼각형을 출력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33..

Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바편) - 다중 루프 (Q12~14) [내부링크]

* Q12 : 위쪽과 왼쪽에 곱하는 수가 있는 곱셈표를 출력하는 프로그램을 작성하세요 - 구분선은 수직선 기호(|), 마이너스 기호(-), 플러스 기호(+)를 사용하세요. * Q13 : 곱셈이 아니라 덧셈을 출력하는 프로그램을 작성하세요 - Q12와 같이 표의 위쪽과 왼쪽에는 더하는 수를 출력하세요. * Q14 : 입력한 수를 한변으로 하는 정사각형을 * 기호로 출력하는 프로그램을 작성하세요.

Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바편) - 반복 (Q10~11) [내부링크]

사전 판단 반복과 사후 판단 반복의 차이점 - 사전 판단 반복문인 while문 for문은 처음에 제어식을 평가한 결과가 0이면 루프 본문은 한번도 실행되지 않는다. - 사후 판단 반복문인 do문은 루프 본문이 반드시 한번은 실행된다. *Q10 두 변수 a, b에 정수를 입력하고 b-a를 출력하는 프로그램을 작성하세요 - 단, 변수 b에 입력한 값이 a 이하면 변수 b의 값을 다시 입력하세요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 package algorithm; import java.util.Scanner; public class Train..

Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바편) - 반복 (Q7~9) [내부링크]

* Test7 : n이 7이면 '1+2+3+4+5+6+7=28'로 출력하는 프로그램을 작성하세요. * Test8 : 1부터 10까지의 합은 (1+10)*5와 같은 방법으로 구할 수 있습니다. 가우스의 덧셉이라는 방법을 이용하여 1부 터 n까지의 정수 합을 구하는 프로그램을 작성하세요. * 가우스 덧셈 * Test9 : 정수 a,b를 포함하여 그 사이의 모든 정수의 합을 구하여 반환하는 아래 메서드를 작성하세요. static int sumof(int a, int b) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ..

코딩테스트 연습 > 정렬 > K번째 수 [내부링크]

function solution(array, commands) { var answer = []; var i; var j; var k; var subArray; var cnt = 0; for(var index in commands){ i = commands[index][0]; j = commands[index][1]; k = commands[index][2]; subArray = array.slice(i-1, j); subArray.sort(function (f, s) { return f-s; }); answer[index] = subArray[k -1]; cnt++; } return answer; } * 주의점 : 배열 정렬 시 해당 코드에서는 숫자를 정렬하는 것이므로 숫자 정렬 코드를 적용해 주어야 한..

javascript : 함수(Function) ? / 스코프 이해하기 [내부링크]

함수(function)? - 함수는 독립적인 실행 코드를 하나로 묶어 둔 것을 의미한다. 이렇게 코드들을 묶어서 작성하는 것을 함수의 정의 (declaration)라고 하고 정의된 함수는 호출(call)을 통해 실행할 수 있다. function 함수명(매개변수){ 실행 코드 } 함수(Function)의 입력과 출력 - 수학에서의 함수는 미리 정해진 방정식에 미지수를 정의하면 해당 미지수에 값을 대입하고 y 값을 돌려받는다.' - 프로그래밍의 함수도 한 개 이상의 입력 = 매개변수 과 단일 출력 (=리턴값)을 구현할 수 있다. y = f(x) function convertDollarToWon(dollar) { return (dallar * 1201.2); } 스코프 이해하기 {}(중괄호) = > 블록(Bl..

javascript : 객체 사용하기 [내부링크]

객체 자료형 (Object Type), 프로퍼티 객체는 프로퍼티의 모음이다. 프로퍼티는 값이나 함수 (메소드, method)를 가질 수 있다. userName : "인프런" ---> key : value 형태 : 객체 property name value 객체 프로퍼티에 접근하거나 값을 저장하고 싶으면 .(dot) 기호를 사용한다. var object = {userName : "인프런"} // -- 객체 타입은 {}로 묶는다. 새로운 객체 타입 선언, 프로퍼티 없이 선언 가능 object.userName // "인프런", userName 값에 접근 object.age = 12 // age 값을 12로 변경 object.online = true // online 값을 true로 지정 // online이라는 ..

javascript : 배열 사용하기 [내부링크]

배열형(Array Type) 인덱스 기반으로 값을 순서대로 삽입할 수 있는 특별한 객체 형태 - 인텍스(Index) : 위치, 0부터 시작하는 정수형 값 var array = [0, 10, 20]; array[0]; // 0 array[2]; // 20 배열형 (Array Type), 값의 삽입/제거 - length : 배열의 크기를 리턴 - push() : 배열에 새로운 값을 추가 - push : 밀어넣다 - unshift() : 배열에 새로운 값을 0번 인덱스로 추가 // 맨 앞에 추가 - pop() : 배열의 마지막값을 리턴하면서 제거 - shift() : 배열의 처음 값을 리턴하면서 제거

javascript : 반복문 사용하기 [내부링크]

반복문 : 특정 코드를 반복해서 실행하고 싶을 때 사용하는 구문이다. 1. for문 2. while문 for문 - 조건식을 만족하는 한 계속해서 코드를 반복 실행한다. 매 반복 실행 마다 마지막에 증감식을 실행시킨다. for(초기식; 조건식; 증감식){ 반복 실행될 코드 } while문 - 조건식을 만족하는 한 계속해서 코드를 반복 실행한다. while(조건식){ 반복 실행될 코드 } 피보나치 수열 출력하기

javascript : 조건문 사용하기 [내부링크]

조건문 : 조건의 참/거짓 여부에 따라 원하는 코드를 실행한다. - 조건은 참 또는 거짓을 결과로 가지는 비교연산자나 논리연산자의 조합으로 작성할 수 있다. 1. if문 2. switch 문 if문 - if else 키워드의 조합으로 조건문은 완성한다. - 하나의 조건만 검사 : 만약 ~하다면 if(조건식){ //비교, 논리 ( 함수 --> 리턴(boolean) 실행코드 } - if문에서 else if로 추가 조건을 계속 추가할 수 있다. - 조건 내의 실행구문 (블록, block)이 한줄 코드라면 중괄호 생략이 가능하다. switch문 switch, case 키워드로 조합으 조건문을 완성한다. - switch(표현식) < - 표현식 : 변수

javascript : 값을 비교하기 [내부링크]

비교연산자 두 값을 비교하기 위해 사용함, 참 또는 거짓이 결과 값으로 나옴 - 동등 : == - 부등 : != - 일치 : === * 동등은 dataType 까지는 비교하지 않고 5 == '5' 내용이 비슷하면 true를 반환한다. * 일치연산자를 쓰는게 더 나은 코드이다. - 우변보다 좌변이 큼 : > - 우변보다 좌변이 크거나 같음 : >= - 우변보다 좌변이 작음 : >) 삼항연산자 : 명제 ? 참일경우 리턴 값 : 거짓일 경우 리턴값 - 리턴값 : 결과값을 돌려줌. ex ) var bool = 19 > 10 ? "참이다" : "거짓이다"; 비트연산자 : 2진수 연산을 할 때 쓴다 (101101)

javascript : 변수, 산술연산 이해하기 [내부링크]

변수 ? * 프로그램은 다양한 조건과 환경에 따라 달라지는 값을 입력받아 정해진 동작을 수행한다. 변수 x, y f(x, y) = z ==> 리턴(결과) z * 변할 수 있는 값으로 재사용할 수 있는 값(미지수) 변수의 선언 * 변수의 선언 : variable의 약어인 'var' 키워드와 변수의 이름을 선언 변수에 값을 할당 : 선언된 변수명에 대입 연산자( = )를 사용하여 값을 대입 x= 40; or x = '철수'; : 데이터를 리터럴 선언으로 대입 가능 var x = 40; : 선언과 동시에 대입(할당) 가능 undefiend : 변수때문에 생긴 것 ==> 변수만 선언한 형태 : var x; 변수 이름을 정하는 규칙 - 하이픈 ( - ) 사용 불가 - 첫 글자로 숫자 사용 불가 - 띄어쓰기 사용불..

javascript : Type 이해하기 [내부링크]

데이터형(자료형) * 데이터 타입은 프로그래밍 언어에서 중요한 내용이다. - 원시형태(Primitive) : 숫자(Number), 문자열(String), 불리언(boolean), undefined(정의되지 않음), null(없음) - 객체형태(Object) : 시간(Date), 배열(Array), 객체(Object) 등 리터럴(Literal) 선언) * 코드상에서 값을 직접 명해서 선언하거나 할당하는 것으로 자료형에 따라 리터럴 선언 문법이 다르다. "1000"? VS 1000? = > 데이터를 코드상에서 직접 선언하는 방법 ------- ------- 문자열 숫자 원시 자료형(Primitive Type) - Number : 숫자형으로 정수나 실수(소수점 자리를 가지는 수)를 포함한다. : 100, 0...

MySQL - com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException 오류 [내부링크]

스프링으로 DB 연동 설정 및 MyBatis 연동 설정 후 연동했을 때 오류 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server --> 데이터베이스 서버에 연결할 수 없습니다. 해결 방법 [현재 사용하는 버전] MySQL 버전 : 8.0.23 mysql-connector-java 버전 : 5.0.23 * DB에 붙지 못하는 문제로 원인은 mysql 버전과 Spring이 붙지 못한 것 -> mysql은 8버전을 사용했으며 최신버전은 스크립트 방식으로 처음 만든 방식이기 때문에 드라이버를 확인해야함 pom.xml에서 mysql-connector-java..

좌표계 [내부링크]

UTM 좌표계 (Universal Transverse Mercator Coordinate System) - 지구상의 점들의 위치를 통일된 체계로 나타내기 위한 격자 좌표체계이다. - 지리 좌표계가 극지방으로 갈수록 직사각형이 크게 감소하는 반면 UTM좌표계는 직사각형 모양을 유지하므로 거리, 면적, 방향 등을 나타내는데 매우 편리하다는 장점이 있다. ex) WGS84, GPS용 좌표계로 많이 사용된다. 타원체 - 지구는 구나 타원체가 아니다. 다만 타원체에 가까운 형태이다. 지도를 만들기 위해서 인공위성 궤도를 결정하기 위해서는 수학적으로 표현할 수 있는 지구의 형상이 필요하다. 이런 필요에 의해 지구를 표현한 것이 회전 타원체이다. 이 타원체는 지구의 모양에 가깝기는 하지만 지구의 정확한 형상이 아니기..

여행 계획 페이지에 스타일 적용해 보기 [내부링크]

HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 여행계획 나의 여행 계획 일 시간 여행지 및 활동 이미지 1일째 09:00 산에 도착 13:00 점심 식사 2일째 11:00 남한상성 13:00 남한상성 18:00 남한상성 Colored by Color Scripter cs CSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 h1{ font-size: 18px; font-wei..

Spring Boot dependency - yml/yaml 파일 구성 및 작성법 [내부링크]

YAML / YML 이란 YAML Ain't Markup Language의 약자다 YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식 YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터의 조합으로 적절히 표현할 수 있다는 믿음고급 컴퓨터 언어에 적합하다. 을 가지고 만들어졌다. 문법은 상대적으로 이해하기 쉽고, 가독성이 좋도록 디자인 되었으며, JSON은 yaml의 일종이다 사용법 1. 기본 사용법은 아래와 같다. 들여쓰기, 띄어쓰기로 구분하여 보기 편하다. 2. 리스트 표현 여러 줄을 쓸때는 하이픈으로 시작하는 한 줄에 하나의 요소를 표현 한 줄에 모아 쓸 때에는 대괄호([])를 이용하며 쉼표로..

SSH란 [내부링크]

SSH 안녕하세요. 오늘은 제가 평소에 많이 사용은 하지만 정확히 그것이 어떻게 동작하는지에 대해서 알고 싶어서 공부를 해보고 간단하게 정리를 해보는 시간을 가지려고 합니다. 동아리에서 한 친구가 "SSH가 뭐에요?" 라는 질문을 했었습니다. 많이 사용을 했고 언제 사용하는지도 대충은 알았지만 그것이 어떻게 동작하는지와 정확히 무엇인지는 잘 몰랐기에 저는 대충 "그냥 다른 컴퓨터에 접속할 때 쓰는거야" 라고 설명했습니다. 이렇게 저도 대충 알려주었기 때문에 계속 신경이 쓰였고 이렇게 알아보고 기록을 하는데 오랜 시간이 걸렸습니다. 그럼 이제 제가 알아본 SSH에 대한 것을 간략하게 정리해보도록 하겠습니다. SSH란? SSH란 Secure Shell Protocol, 즉 네트워크 프로토콜 중 하나로 컴퓨터..

@annotation 생성 [내부링크]

[@annotation 생성] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface MyAnnotation { String name(); String value(); } public class TheClass { @MyAnnotation(name = "someName", value = "Hello World") public String myField = null; } 커스텀 즉 고객(customer)이 요청한 대로 특별 주문 제작을 행했다는 뜻으로 쓰인 단어인데, 이렇게 제작된 물건은 당연히 그 물건의 원래 규격과는 다르며, 여기에서 착안하여 원래의 모습과 달라진 물건을 커스텀으로 칭하게 된다. - 다른 어노테이션..

반복문 배우기 - while [내부링크]

shift()는 배열의 앞에서부터 값을 하나씩 빼내오는 함수이다. [1,2] 배열에 shift() 가 실행되어 1이 방출되면 해당 배열은 [2]가 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 var hometown = [ {name: '진', city: '과천'}, {name: '남준', place: '일산', city: '고양'}, {name: '호석', place: '광주', city: '전라도'}, {name: '지민', place: '부산', city: '경상도'} ]; var isHometown = function(h, name) { console.log(`함수가 실행..

반복문 - for in [내부링크]

for-in 반복문은 for 반복문과 비슷하게 for 키워드를 사욯나다. 단, 순회 조건과 내부 요소에 접근하는 방법에 차이가 있는데, for-in 반복은 in 키워드를 사용한다. 키워드를 사이에 두고 오른쪽에는 반복한 대상 변수를 , 왼쪽에는 속성명을 작성한다. for ( 속성명 in 반복할 대상 (list, 배열,) { } 1 2 3 4 5 6 7 var store = { snack: 1000, flower: 5000, beverage: 2000 }; for (var item in store) { if (!store.hasOwnProperty(item)) continue; console.log(item + ' 는 가격이 ' + store[item] + ' 입니다.') } Colored by Color..

[Node.js 다운로드] [내부링크]

Node.js 설치하기 http://nodejs.org/ko.download/ 로 이동하여 설치 진행 다운로드 이지 내 설치 파일에는 LTS(Long Term Support)와 현재버전(Current)이 있다. LTS란, 최소 18개월 지원되는 버전으로 장기간 동안 유지 관리가 가능하다. 현재버전은 항상 최신 기능이 적용된 반면, 이를 6개월만 지원하기 때문에 기능 추가 및 버전 업데이트가 자주 발생한다. 따라서 보다 안정된 환경에서 개랍하고 유지관리하기 위해서는 LTS를 사용하는 것을 권장한다. - 다운로드 받은 후 파일 실행 - 파일실행이 완료되어 Node.js 를 실행시키면 아래처럼 명령 프롬프트가 열린다. - Window 명령 프롬프트를 열어 'node -v','npm -v' 명령어를 실행하여 n..

SPRING 구성 도구 설치 [내부링크]

[프로젝트 구성 도구 설치] 스프링 프레임워크에는 다양한 모듈이 존재한다. 핵심 모듈인 spring-core, spring-beans, spring-context, spring-aop를 비롯한 spring-webmvc, spring-jdbc, spring-tx 등 다양한 모듈이 존재한다. 각 모듈은 스프링 프레임워크에 포함되어 있지 않은 다른 모듈을 필요로 한다. 예를들어 spring-aop 모듈은 aopalliance 모듈을 필요로 하고, spring-orm 모듈은 JPA나 하이버네이트 모듈을 필요로 한다. 각 모듈은 모두 메이븐 중앙 리포지토리를 통해서 배퐂되고 있다. 자바 프로젝트를 구성할 때 주로 사용하는 빌드 도구인 메이븐과 그레이들 둘 다 메입느 리포지토리를 지원한다. -- 프로젝트 폴더 생성..

[Java1000제] 성적처리 4 - 전교등수 계산 [내부링크]

[문제4] 총점으로 전교등수를 계산하고 총점이 높은 순에서 낮은 순(내림차순)으로 정렬해서 list를 출력하세요. 전교등수를 저장할 수 있도록 Student클래스에 인스턴스변수 schoolRank가 추가되어 있습니다. - calculateSchoolRank(List list) - 전교등수(schoolRank)를 계산한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 7..

[Java1000제] 성적처리 3 - Comparator를 이용한 정렬 [내부링크]

[문제3] list를 다양한 기준으로 정렬하기 위해 Comaprator를 구현한 클래스를 구현하세요. ClassTotalComparator - 반별로 총점이 높은 순에서 낮은 순으로 정렬(반은 오름차순, 총점은 내림차순) ClassStudentNo - 반, 번호 순으로 내림차순 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83..

[Java1000제] 성적처리 2 - Comparable구현하기 [내부링크]

[문제2] Student클래스가 Comparable인터페이스를 구현해서, list를 총점(total) 내림차순으로 정렬되도록 하는 예제입니다. 아래의 코드를 완성하세요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 package testAl; import java.util.*; class SungJukEx2 { public static void m..

[Java1000제] 성적처리 1 - Student클래스 만들기 [내부링크]

- 성적처리 프로그램을 만드는 것입니다. 총점계산, 반등수, 전교등수, 반, 번호별 정렬을 다룹니다. [문제1] 다음의 예제에서 Student클래스를 작성하세요. 코드를 완성하세요. 1. 이름(name), 반(classNo), 번호(studentNo), 국어(Korean), 수학(Math), 영어(English), 총점(Total)을 인스턴스변수로 선언한다. 2. 이름, 반, 번호, 국어, 수학, 영어를 입력받아서 각 인스턴스변수에 저장하는 생성자를 선언한다. 3. Object클래스의 toString()을 오버라이딩해서 실행결과와 같이, 이름, 반, 번호, 국어, 수학, 영어, 총점이 화면에 출력되도록 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..

생활코딩 - JAVA (Colletions Framework) [내부링크]

배열과 컬렉션즈 프레임워크 배열은 연관된 데이터를 그룹화해서 편리하게 관리하기 위한 수단이다. 그런데 배열에는 몇가지 불편한 점이 있었는데 그 중의 하나가 한번 정해진 배열의 크기를 변경할 수 없다는 점이다. 이러한 불편함을 컬렉션즈 프래임워크를 사용하면 줄어든다. 컬렉션프레임워크라는 것은 배열이 가진 어떤 불편함 또는 배열이 가진 한계를 쉽게 극보할 수 있게 도와주는 도구이다. 배열이 가진문제점 가운데 가장 먼저 체감할 수 있는 문제는 배열은 선언할 때 몇 개의 값을 가질 수 있는지 지정하게 돼 있다는 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package org.opentutorials.javatutorials.co..

생활코딩 - JAVA (제네릭) [내부링크]

제네릭이란? 제네릭의 사용법 제네릭(Generic)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다 제네릭은 마치 메솓의 매개변수와 상당히 비슷하게 동작한다고 할 수 있다. 변수에 들어갈 값과 관련돼 있는데 제네릭은 그 변수의 데이터 타입과 관련되 있다고 생각하면 된다. 인스턴스화될 때 꺾쇠 안에 String이라는 구체적인 데이터 타입을 지정하면 그것이 앞서 말한 T에 지정된다. T는 String이 되고, info는 String 데이터 타입을 갖게 된다. 이것이 제네릭이다. 이렇게 만들어진 인스턴스를 담을 수 있는 이 p1의 데이터 타입도 person이라는 데이터 타입과 똑같이 지정돼야 한다. 데이터 타입으로 인스턴스를 생성하기 때문에 이 인스턴스를 담을 변수도 이와 동일한 데이..

생활코딩 - JAVA (참조) [내부링크]

[복제란?] 복제는 뭔가를 똑같이 만든다는 뜻이다. 데이터 타입을 생성할 때 new를 통해 생성하는 것들은 기본 데이터 타입이 아니고 참조형 또는 참조 데이터 타입이라고 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package org.opentutorials.javatutorials.reference; public class ReferenceDemo1 { public static void runValue(){ int a = 1; int b = a; b = 2; System.out.println("runValue, "+a); } public static void main(String[] args) { runValue(); } } Colored by Color Scripte..

생활코딩 - JAVA (상수와 enum) [내부링크]

enum은 자바 5.0부터 제공되기 시작했다. 상수 : 변하지 않는 값 x : 변수 [enum의 도입 배경]

생활코딩 - JAVA (Object 클래스) [내부링크]

객체(object)라는 object라는 이름을 가진 클래스를 의미한다. 이 클래스는 특별한 형태의 클래스인데, 이 클래스를 한마디로 정의하자면 시조이다. 모든 클래스의 공통된 조상으로서 Object라는 구체적인 클래스가 있다. 1 2 3 package org.opentutorials.javatutorials.progenitor; class O {} 위의 코드는 아래와 코드가 같다. 1 2 3 package org.opentutorials.javatutorials.progenitor; class O extends Object {} 어떤 클래스를 정의했을 때 그 클래스가 다른 클래스를 상속하지 않는다면 자바가 암시적으로 "extend Object"를 추가한다는 뜻이다. 이렇게 하는 이유는 자바는 수많은 클래..

생활코딩 - JAVA (예외 던지기) [내부링크]

[예외던지기] 문제를 다른 사람에게 던질 수도 있고 자기 자신이 처리할 수도 있다. *[F1]키를 누르고 [javadoc for 'java.io.FileReader.FileReader(String)'] 같은 생성자에 관한 도움말을 누르면 FileReader의 생성자에 대한 자바 API를 확인할 수 있다. 해당 도움말에서 중요한 것은 Throws 부분이다. Throws는 FileReader 생성자를 사용하는 쪽에서 반드시 FileNOtFoundException에 대한 예외 처리를 강제한다는 의미이다. [예외 사슬] 1 2 3 4 try { new FileReader("out.txt"); }catch(){ } FileReader라는 API의 사용자에게 던진 예외를 처리하기 위해 catch를 한 것이다. AP..

생활코딩 - JAVA (예외 (exception)) [내부링크]

[예외란 무엇인가] 예외란 프로그램을 제작하는 과정에서 발생하는 오류를 제어 또는 처리하는 것이다. 예외를 이해하려면 기본적으로 알고 있어야 할 것들이 많이 있다. 애플리케이션을 잘 만들고 잘 동작하게 하며, 애플리케이션을 규모 가변성 있게 구축하는 것은 예외와 상관이 없거나 적다는 것이다. 예외, 보안과 같은 주제는 실패하지 않는 법이라고 할 수 있다. 일반적으로 오류 또는 에러라는 많이 쓰는데, 자바를 비롯한 여러 프로그래밍 언어에서는 예외라는 표현을 쓴다. 오류는 예외의 일종이라고 생각하면 된다. 일반적이지 않은 상황에서 우리가 기획했던 바와 다르게 발생하는 문제를 포괄적으로 예외(exception)라고 한다. 또한 이 같은 예외 상황에서 해당 프로그램을 만든 프로그래머가 예외 상황을 처리하고 관리..

생활코딩 - JAVA (다형성) [내부링크]

[다형성] 다형성은 한 메소드나 클래스가 다양한 방식으로 동작하는 것을 의미한다. ex) a()라는 메소드가 있을 때 이 메소드가 사왕에 따라 다르게 동작한다는 것을 의미한다. 또한 A라는 클래스가 있을 때 마찬가지로 어떤 경우에는 똑같은 크래스지만 그 클래스의 메소드를 실행했을 때 상황에 따라 다양하게 동작하는 것이 바로 다형성이다. 다형성은 객체나 인터페이스, 추상화처럼 뭔가 철학적인 느낌을 자야낸다. 다형성의 가장 쉬운 예로 오버로딩을 들 수 있다. 오버로딩은 이름이 같지만 매개변수 형식에 따라 다른 베소드가 호출되는 기법이기 때문이다. 즉, 이름은 같지만 다르게 동작한다고 할 수 있기 때문에 다형성이라는 측면에서 생각해 볼 수 있다. [클래스와 다형성1] 다형성을 통해 메소드나 클래스를 바라보는 ..

생활코딩 - JAVA (인터페이스) [내부링크]

[문법과 개념] 인터페이스를 abstract, final과 함께 대표적인 규제이다. 인터페이스의 역할을 한마디로 정리하자면 어떤 클래스에서 특정한 인터페이스를 사용한다면 그 클래스가 반드시 해당 인터페이스에 포함된 메소드를 구현하도록 강제하는 것이다. 인터페이스에서 강제하는 메소드를 구현하지 않으면 프로그램은 컴파일조차 되지 않는다. 특정 클래스를 특정 인터페이스와 결합하면 그 클래스를 정의할 때 인터페이스에 정의된 메소드를 반드시 구현하도록 강제할 수 있다. 그리고 이렇게 구현되 잇을 때 A 클래스는 이터페이스를 구현한다라고 이야기 한다. [인터페이스를 사용하는 이유] 인터페이스는 어떤 클래스가 어떤 멤버(메소드)를 가지고 잇는가에 대한 명세서와 같은 역할을 한다. 구현하는 클래스는 해당 명세서에 정의..

생활코딩 - JAVA (final) [내부링크]

Abstract가 상속을 가제하는 일종의 규제라고 한다면 final은 abstract와는 정반대되는 의미를 가지고 있다. 상속이나 변경을 금지하는 규제이기 때문이다. [PI 멤버에 final을 지정] pakage org.opentutorials.javatutorials.finals; Class calculator{ static final double PI = 3.14; int left, right; public void setOperands(int left, int right){ this.left = left; this.right = right; //Calculator.PI = 6; } public void sum(){ System.out.println(this.left + this.right); } p..

생활코딩 - JAVA (Abstract) [내부링크]

Abstract는 한국어로는 ‘추상’으로 번역할 수 있다. 객체지향 프로그래밍에서 주목해야 할 특징으로 abstract 키어드ㅡ로 지정된 메소드나 클래스는 직접적으로 사용할 수 없고 반드시 그것을 상속한 클래스를 만들고, 그렇게 상속한 클래스를 사용해야 한다는 것이다. 다시 말해 abstract는 클래스를 상속해서 사용하돍 강제하는 것이다. package org.opentutorials.javatutorials.abstractclass.example1; Abstract class A{ public abstract int b(); // 본체가 잇는 메소드는 abstract 키워드를 가질 수 없다. // public abstract int c(){System.out.println(“hello”); } // ..

생활코딩 - JAVA (접근 제어자) [내부링크]

접근 제어자는 객체에 속한 멤버(메소드나 변수)를 사용하는 입장에서 누가 이것을 사용할 수 있는가에 대한 권한을 부여하는 역할을 한다. 변화를 수용하는 과정에서 자유로움만으로는 각종 문제가 생길 수 있다. 그러한 문제를 완화하기 위해서는 다양한 규제가 필요하다. 규제라는 측면에 맞춰진 기능 - 데이터 타입 데이터 타입은 어던 변수가 잇을 대 그 변수의 형식을 지정함으로써 해당 변수에는 반드시 문자열이 들어가거나 반드시 정수가 들어간다는 사실을 그 변수를 사용하는 사용자에게 보장해준다. 추상클래스, final, 접근 제어자, 인터페이스 등은 규제에 해당하는 것이다. [문법] package org.opentutorials.javatutorials.acesmodifier; class A { public Str..

생활코딩 - JAVA (패키지) [내부링크]

[패키지] 패키지는 클래스 패스와 아주 밀접한 관계를 가지고 있다. 클래패스는 컴퓨터에 저장돼 있는 클래스를 사용할 때 클래스가 어디에 위치하는지 지정하는 것이었다. 그런데 클래스가 여러개 있을 경우 이러한 클래스는 여러개 있을 경우 이러한 클래스는 여러 사람에 의해 만들어질 수 있기 때문에 동일한 이름을 가질 수 있다. 이 같은 상황에서 발생할 수 있는 이름 충돌 문제를 해결하는 방법이 바로 패키지 이다. 동일한 이름의 파일이 한 컴퓨터에 동시에 공존할 수는 없다. 그래서 고안된 것이 디렉터리이다. 프로그램의 규모가 커지고 클래스가 많아지면 이름이 같은 클래스가 생겨날 가능성이 높아지는데, 그런 문제를 해결하기 위해 고안된 것이 패키지 이다. 정보공학에서는 '이름 충돌'이란 문제를 해결하기 위해 다양하..

생활코딩 - JAVA (클래스패스) [내부링크]

[클래스패스] 클래스 패스(classpath)는 이름에서 알 수 있듯이 클래스가 위치하는 경로를 지정해 자바가 필요로 하는 어떤 클래스를 로드할 수 있는 방법을 지정하는 것이다. ClasspathDemo.java class Item{ } class ClassPathDemo{ } 이 상태에서 명령 프롬프트를 실행합니다. 명령 프롬프트 또는 터미너를 통해 현재 디렉토리로 이동해야 하는데 윈도우에서는 윈도우 탐색기의 주소 표시줄을 클릭히면 현재 경로가 나타난다. cd 명령을 이용해 파일이 들어있는 디렉토리로 이동한다. cd C:\java_tutorials\srcin 엔터를 치면 cd 뒤에 따라오는 경로로 현재 디렉터리가 변경된다. 이 상태에서 현재 디렉터리에 어떤파일이 있는지 살표보자. 윈도우에서는 dir명령..

생활코딩 - JAVA (상속, 오버로딩, 오버라이딩) [내부링크]

[상속] 상속 : 무엇인가를 물려준다. 어떤 연관된 변수와 메소드가 함께 담겨있는 덩어리를 객체라고 할 수 있다. 새로운 객체가 기존 객체가 갖고 있는 변수나 메소드를 그대로 물려받으면서 필요에 따라 자신만의 새로운 변수와 메소드를 추가하거나 기존의 변수와 메소드를 변경해서 사용할 수 있게 하는 것을 상속이라고 한다. 경우에 따라 새로운 메소드를 추가하기가 어렵거나 불가능할 떄가 있다. 객체를 자신이 만들지 않았을 때, 그래서 소스를 변경할 수 없다. 변경하면 소스를 업데이트하면 메소드가 덮어쓰게 되며 사라진다. 이러한 문제가 일어나지 않도록 지속적으로 코드를 관리해야한다. 객체가 다양한 곳에서 활용되고 있는데, 메소드를 추가함ㄴ 다른곳에서는 불필요한 기능이 포함될 수 있다. 이것은 자연스럽게 객체를 사..

(JAVA) 백준 알고리즘 5622 문제 - 다이얼 (문자열) [내부링크]

-- if문이 아닌 switch문을 사용할것, 값이 정해져 있을 땐 switch문을 사용하는 것이 좋다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 import java.util.Scanner; public class Main_5622 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] userStr = sc.next().split(""); int sum = 0; for(int i =0; i

(JAVA) 백준 알고리즘 2908 문제 - 상수 (문자열) [내부링크]

[문제] 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. [입력] 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. [출력] 첫째 줄에 상수의 대답을 출..

C# - 디렉토리 감시(FileSystemWatcher) 및 Upload(WebClient)하여 / JAVA - DB 삽입(POI - 엑셀 파일 DB 삽입) [내부링크]

C# [Program.cs] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 using System; using System.IO; namespace sensorModel { class Program { static void Main(string[] args) { String dirPath = @"C:\Users\82109\Desktop\eunju\sp"; //감시할 디렉토리 if (!Directory.Exists(dirPath)) //디렉토리가 있는지 없는지 확인 { Directory.CreateDirectory(dirPath); } Console.WriteLine("종료하려면 E..

C# 콘솔 프로그램 제작 [내부링크]

[visiual Studio 2019 다운] - visualstudio.microsoft.com/ko/downloads/ 커뮤니티 -> 무료 다운로드 클릭 하면 자동으로 다운로드가 된다. 설치 도중 다음과 같이 뜨는데 콘솔창 개발을 하기 위해선 .NET 데스크톱 개발에 체크! * 필자는 다음 항목을 설치 - .NET 데스크톱 개발 - Visual Studio 확장 개발 개인적으로 필요한 부분을 체크 완료 했으면 설치 버튼을 클릭하고, 설치가 끝나면 시스템이 재시작된다. 재부팅 후 Visual Studio 2019를 실행하면 된다. 새프로젝트 만들기 -> 콘솔앱선택 -> 프로젝트 명 작성 -> 다음 완료하게 되면 hello World!가 작성되어 있다. F5(실행)를 누르면 콘솔 창을 띄울 수 있다.

Spring GUI - 윈도우 빌더(WindowBuilder) 설치 [내부링크]

자바 GUI 툴 - 윈도우빌더 설치 - 윈도우 빌더는 디자인 툴을 사용하기 때문에 편하게 디자인 할 수 있다. [Spring windowbuilder 설치] 1. Spring 실행 > 상단 메뉴바 > Help > Install New Software... 선택 2. 아래 화면에서 Add 선택 3. Name에 이름 지정 후, Location에 아래 주소를 입력 > Add 클릭 http://download.eclipse.org/windowbuilder/WB/integration/4.5/ 4. 전체 선택 후 하단의 Next 클릭 5. Next 클릭 6. I accept the of the license agreement 체크 후 Finish 클릭 7. 설치 시작 8. Software Updates 팝업창 에서..

GeoServer - Service Exception 에러 [내부링크]

[GeoServer - Service Exception 에러] * 해결 방법 action713.tistory.com/entry/javalangNoClassDefFoundError-Could-not-initialize-class-sunawtX11GraphicsEnvironment

코딩테스트 연습 - 해시- 완주하지 못한 선수 [내부링크]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; Map participantMap = new HashMap(); List list = new ArrayList(); for(int i = 0; i

(2) JAVA : 변수 [내부링크]

변수 변수란 변수에서 '변'은 '변할변'이며 변할 수 있는 값이라는 뜻, 뒤에 나오는 '수'는 숫자만 의미하는 것이 아니고 모든 데이터를 의미한다. 즉, 변수란 변할수 있는 데이터로 이해하면 된다.(valiable) 변수를 만들고 사용할 때는 선언(declare)과 할당(assign)이라는 표현을 쓴다. int a; => 변수 a 선언 a= 1 => 값 할당 System.out.println(a+1) //2 a=2 System.out.println(a+1) //3 위 예제에서 첫번째 줄인 int a;가 변수를 만드는 구문이다. 변수를 선언하는 구문은 두 가지 요소(데이터 혀식과 변수의 이름)으로 구성되어 있다. int는 데이터 형식이고, a는 변수의 이름이다. int a;를 정리하면 a라는 변수를 선언했..

(1) JAVA : 숫자와 문자 [내부링크]

숫자와 문자를 가장 먼저 배우는 이유는 컴퓨터가 계산기에서 출발했던 기계이므로 계산기로서의 컴퓨터의 역할을 살표보는 측면도 있고, 컴퓨터에서 어떠한 데이터를 어떤 기호를 이용해서 표혆는지 살표보는 측면도 있다. * 참고 데이터 타입은 데이터 형식 또는 자료형이라고도 한다. 문자와 문자열은 다르다. A는 문자이고, B도 문자이다. 하지만 AB는 문자열이다. 문자와 문자가 결합한 것을 문자열이라고 하고 물자열을 이루는 최소 단위 하나하나를 문자라고 부른다. 문자는 영어로 character이고 문자열은 string이다. - 문자열 안에 큰따옴표를 넣고싶을 때 System.out.println("enjoy said "Welcome programing""); - 자주 사용하지 않는 기호 중 하나를 큰따옴표 앞에 ..

(JAVA) 백준 알고리즘 1152 문제 - 단어의 갯수 (문자열) [내부링크]

[단어의 갯수] : 15분 소요 (정답) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; public class Main1152 { //단어의 갯수 public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine().trim(); if (input.isEmpty()) { System.out.println(0); } else { System.out.println(input.split(" ").length); } } } Colored by Color Scripter (내가 처음 작성한 답안) - 왜 틀렸는지 모르겠..

(JAVA) 백준 알고리즘 2675 문제 - 문자열 반복 (문자열) [내부링크]

19:03 ~ 19:15 (총 12분 소요) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import java.util.Scanner; public class Main2675 { public static void main(String[] args) { //19:03 ~ 19:15 => 12분소요 //문자열 반복 Scanner sc = new Scanner(System.in); int su = sc.nextInt(); String [] resultArr = new String [su]; for(int i =0; i

(JAVA) 백준 알고리즘 11720 문제 - 숫자의 합 (문자열) [내부링크]

[정수를 문자열로 입력받는 문제. Python처럼 정수 크기에 제한이 없다면 상관 없으나, 예제 3은 일반적인 정수 자료형에 담기에 너무 크다는 점에 주목합시다.] - (16분 소요) - next()로 받고 split으로 문자열을 잘라 배열에 담는다. (nextLine()은 split으로 배열을 자르면 null이 나옴... 방도가 있을거 같은데 찾아봐야겠다.) - 배열을 돌려 점수를 합산한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class Main11720 { public static void main(String[] args) { //숫자의 합 //16분 소요 Scanner..

(JAVA) 백준 알고리즘 11654 문제 - 아스키코드 (문자열) [내부링크]

[아스키 코드에 대해 알아보는 문제] (2분 소요) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main11654 { public static void main(String[] args) { //문자열 11654: 아스키코드 //(2분) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { int su = br.read(); System.out.println(su); } catch (IOE..

(JAVA) 백준 알고리즘 15596 문제 - 정수 N개의 합 (함수) [내부링크]

(10분) * 제출 버튼을 누르면 Class가 기본으로 깔려있고 그 내부에 코드를 짜면 된다. 문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) n: 합을 구해야 하는 정수의 개수 리턴값: a에 포함되어 있는 정수 n개의 합 C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::ve..

(JAVA) 백준 알고리즘 15552문제 - 빠른 A+B (for문) [내부링크]

(37분) * br.readLine().trim()으로 하면 int형을 제대로 받을 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main15552 { public static void main(String[] args) throws I..

(JAVA) 백준 알고리즘 3502 문제 - 숫자의 개수 (1차원배열) [내부링크]

(26분) * String 비교 String.equals()부터 먼저 쓰는게 좋다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.util.Scanner; public class MainTest2577 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); int C = sc.nextInt(); String mltpl = String.valueOf(A*B*C); String [] mltplArr = mltpl.split(""); for(int ..

(JAVA) 백준 알고리즘 3502 문제 - 나머지 (1차원배열) [내부링크]

(36분) * ArrayList -> contains(data) : list 안에 해당 데이터가 있는지 없는지 확인해주는 함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.ArrayList; import java.util.Scanner; public class MainTest3052 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int [] arr = new int[10]; ArrayList arrlist = new ArrayList(); int tot = 1; for(int i = 0..

글자 서식 관련 태그 - <Strong> <u> <mark> [내부링크]

1. 태그 - 텍스트에서 중요한 부분을 굵게 표시하고 싶을 때 사용 - 태그를 사용해도 같은 효과를 얻을 수 있지만, 웹 접근성 측면에서 태그를 사용하는 것이 좋다. => 글자 굵게 2. 태그 - underline - 태그는 밑줄을 그을 때 사용하는 태그 => 밑줄 3. 태그 - 태그는 최신 HTML에서 새로 생긴 태그 - 하이라이트 효과를 주고 싶은 글자를 태그로 감싸주면 된다. => 하이라이트

<iframe> 태그 [내부링크]

태그 - iframe태그는 inline frame의 약자로 '내부의 틀'을 의미한다. - 동영상을 삽입할 때 사용하는 기본태그이며, 이 태그를 사용하면 HTML 페이지에 틀을 만들고 그 안에 다른 HTML 페이지를 보여줄 수 있다. - 내가 만든 웹페이지 한쪽에 동영상이나 네이버 메인페이지가 보여지게 할 수 있다는 것! - * Youtube에서는 소스 코드와 함께 태그를 제공하고 있으므로 직접 태그를 입력할 필요가 없다.

(JAVA) 백준 알고리즘 4344 문제 - 평균은 넘겠지 [내부링크]

(20분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 public class Main { public static void main(String[] args) { //평균은 넘겠지 Scanner sc = new Scanner(System.in); int testCase = sc.nextInt(); float [] rate = new float [testCase]; sc.nextLine(); //sc.nestLine()은 엔터를 인식하기 때문에 처음에 ""이 들어간다 그래서 다음과 같이 //한번 sc.nextLine()을 써주고 다음 코드를 써내려가야 한다...

(JAVA) 백준 알고리즘 5958 문제 - OX 퀴즈 [내부링크]

(50분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import java.util.Scanner; public class MainTest8958 { public static void main(String[] args) { //13:15 ~ 14:05 //OX 퀴즈 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String [] strArr = new String [N]; for(int i = 0; i

XML 파싱 - JAXB marshal, unmarshal (마샬, 언마샬) [내부링크]

[XML 파싱 - JAXB marshal, unmarshal (마샬, 언마샬)] [건축허가인 데이터 가져오기 ] - www.data.go.kr/data/15044678/openapi.do JAXB - 자바의 XML을 파싱 (분석)할 수 있게 도와주는 라이브러리로 JAXB가 있다. JAX는 XML과 자바클래스를 바인딩(연결) 한다. 간단한 명령어만으로 클래스에 파싱된 XML을 대입해주는 라이브러리이다. - 기존의 XML 분석 방법은 XML 전체를 String 형식으로 받아와서 문자열을 자르는 방식이었다. JAXB는 원하는 태그명, 어트리뷰트명을 기입한 클래스를 마련해두기만 하면 자동적으로 값이 클래스에 들어오게 되는 자동화 라이브러리이다. * 마샬 (Marshal) - 객체를 XML로 변환 * 언마샬 (U..

(JAVA) 백준 알고리즘 2562 문제 - 최댓값 구하기 [내부링크]

(20분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class MainTest2562 { public static void main(String[] args) { //최댓값 Scanner sc = new Scanner(System.in); int max = 0; int max_loc = 0; for(int i = 1; i max) { max = num; max_loc = i; } } System.out.println(max); System.out.println(max_loc); } } Colored by Color Scripter

(JAVA) 백준 알고리즘 1546 문제 - 평균 구하기 [내부링크]

(48분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import java.util.Scanner; public class MainTest1546 { public static void main(String[] args) { //평균 구하기 Scanner sc = new Scanner(System.in); int su = sc.nextInt(); float [] suArr = new float [su]; float max = sc.nextInt(); suArr[0] = max; for(int i = 1; i

(JAVA) 백준 알고리즘 10871 문제 - X 보다 작은 수 나열 [내부링크]

(7분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.util.Scanner; public class MainTest10871 { public static void main(String[] args) { //X 보다 작은 수 나열 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int X = sc.nextInt(); int [] A = new int[N]; for(int i = 0; i

(JAVA) 백준 알고리즘 10818 문제 - 최소, 최대 구하기 [내부링크]

(26분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import java.util.Scanner; public class MainTest10818 { public static void main(String[] args) { //최소, 최대값 구하기 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int [] array = new int [N]; int X = 0; int Y = 0; for(int i = 0; i

STS Spring Boot 프로젝트 JSP 연결 설정 [내부링크]

[STS Spring Boot 프로젝트 JSP 연결 설정] 2. JSP 설정 - Spring Boot Project는 기본적으로 JSP 컴파일을 지원하지 않는다. 그래서 별도로 의존성을 추가해야한다. - pom.xml에 아래 의존성 내용이 없으면 추가 한다. javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper 3. application.properties에 mvc view 속성 추가 * Spring boot Project를 생성하면서 기존 스프링 레거시 MVC 프로젝트 보다 설정하는 것이 많은 부분들이 간소화되었고 자동화 되었음을 느낄 수 있다.

@Controller 와 @RestController 차이점 [내부링크]

[@Controller의 역할 - View] - Spring MVC의 Controller는 주로 View를 반환하기 위해 사용된다. (Spring MVC Controller) - Spring MVC Controller는 Client의 요청으로부터 View를 반환한다. * Controller - Data 반환 Spring MVC Controller에서도 Data를 반환해야 하는 경우도 있는데, Spring MVC Controller에서는 데이터를 반환하기 위해 @ResponseBody를 사용한다. @ResponseBody를 통해 Json형태로 데이터를 반환할 수 있다. [@RestController의 역할 - Json 형태로 객체 데이터 반환] - @RestController는 Spring MVC Cont..

STS Spring Boot 프로젝트 생성 [내부링크]

STS Spring Boot 프로젝트 생성 1. Project Explor 또는 Navigator에서 마우스 오른쪽 클릭하여 New => Project 클릭 Spring boot => Spring Starter Project 선택 => Next 2. New Spring Starter Project 에서 Name을 정하고 아래 빨간색 부분을 지정 및 설정 후 Next 클릭 3. New Spring Starter Project Dependencies => Frequently Used에서 모두 Check 클릭 => Available => spring web 입력 시 아래와 같이 관련 list 나열 됨 Spring Web과 Spring Web Services 클릭 후 Next 4. 다음과 같은 화면이 나오면 F..

깃허브 웹서버 이용하기 [내부링크]

[깃허브로 웹 사이트 운영하기] - 깃허브 내가 올린 파일들을 이용해 웹 사이트를 운영할 수 있도록 웹서버를 제공해준다. - Setting에 들어가 스크롤을 내려 GitHub Pages로 간다. - None을 Master로 변경하고 Save를 누른 후 다시 GitHub Pages로 가면 'Your site is ready to be published ~~ ' 문구가 보인다. 문구에 적힌 URL로 들어가면 웹사이트에 접속할 수 있다.

깃허브 페이지 사용하기 (저장소 생성에서 파일 올리기 까지) [내부링크]

* 깃허브 페이지 사용하기 (튜토리얼) URL : github.com/ 인터넷이 연결된 컴퓨터 하나하나를 호스트(host)라고 한다. 웹 서버를 운영하기 위한 컴퓨터, 호스트를 빌려주는 회사를 웹 호스팅 업체 라고 한다. 수많은 웹 호스팅 업체 중 무료이면서 유명한 깃허브 사용할 것이다. 깃허브는 아주 중요한 서비스이다 왜냐하면 전 세계의 수많은 오픈 소스 프로젝트가 이곳에서 만들어지기 떄문이다 회원가입은 Sign up을 눌러 UserName, Email, Password만 입력하면 회원가입 할 수 있다. [Repository 생성] - new를 클릭하면 Create a new repository 화면으로 이동하며, 빨간색 box 부분을 작성 및 클릭 후 Create repository를 누르면 repo..

li태그 메뉴 가로로 배열하기 [내부링크]

* 홈페이지를 들어가 보면 menu들이 가로로 나열되어 있는데 UL, LI로 배열해 놓은 경우가 있다. * list 태그에는 UL, LI가 있는데 함께 묶어쓰는 태그이다. [태그 설명] * UL : Underline List => ..... * OL : Orderline List => 1. 2. 3. 4. .... * LI : List [사용법] [UL, LI], [OL, LI] 는 함께쓰는 태그이다. EX) -- 1. 2. 3.으로 표현하고 싶을땐 UL자리에 OL로 고쳐주면된다. * 세로로 나열되어 있는 LIST를 가로로 변경해주기 위해선 CSS STYLE 적용이 필요하다. list-style : none 은 1.2.3. 또는 표시를 아예 없애기 위한 css이다. UL과 LI의 ma..

6) DATABASE : 관계형 데이터 모델링 [내부링크]

MODEL : 어떤 목적을 가지고 진짜를 모방한 것 (좋은 모델이란 목적에 부합하는 모방) 목적 : 관계형 데이터베이스, 표에 데이터를 담는 것 DATA MODELING : 복잡한 현실을 컴퓨터로 이사시키는 작업 (데이터베이스의 기본 사용법 (테이블의 생성, 조회, 수정, 삭제, JOIN)은 알고 있지만, 복잡한 현실을 데이터베이스로 표현하는데 어려움이 있는 분에게 유용한 수업입니다. 프로젝트의 참여자들과 소통을 하는데 어려움이 있는 사람에게 도움이 된다.) 전체 흐름 : 데이터모델링 순서 업무파악 --> 개념적 데이터 모델링 --> 논리적 데이터 모델링 --> 물리적 데이터 모델링 1) 업무파악 - 가장 중요!!!! 우리가 해야할 일이 무엇인지 의뢰한 사람과 잘 협력해서 알아내야 하는 것 어떤것을 꿈꾸..

5) DATABASE : SQL JOIN [내부링크]

표를 분산하는 것을 통해 중복을 제거할 수 있다. 표를 만들 때 지침으로 삼아야 할 말 모든 표는 하나의 테마(주제)만 가져야 한다. --> 합쳤을 때의 정보가 다른 테이블에서도 사용되는 경우 누군가를 분가시킬 타이밍이다 그렇다고 해서 테이블에 모든 정보가 다 있는게 안좋은 게 아니다. 두가지 방법의 장점과 단점을 합해 사용하기 위해 나온것이 JOIN 이다. 실습 준비) 좋은 부품 만들기 = 쪼개기 LEFT OUTER JOIN : 왼쪽에만 있는 정보도 출력하는 것 (가장 인기 O) 가장 많이 사용하는 이유 - A라는 정보만 가져올때, B에는 없는 경우가 많기 때문에 사용 ex) INNER JOIN : LEFT, RIGHT, FULL 없으면 INNER JOIN 과 같다. - INNER JOIN은 교집합이기..

문서를 생활화 하자 [내부링크]

https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/integration.html#scheduling

TASK Scheduler [내부링크]

태그의 scheduler 속성은 작업을 실행할 스케줄러 빈을 설정 --> 태그는 한개 이상의 태그를 가질수있음 태그는 스케줄러를 통해서 실행될 작업을 설정. --> 태그는 작업을 언제 실행할지의 여부를 지정하기 위해서 다음 세가지 속성중 한가지를 사용 1. cron : cron 표현식을 이용해서 실행 시간을 표현 2. fixed-delay : 지정된 시간 간격으로 작업을 실행 3. fixed-rate : 지정한 시간 주기로 작업을 실행 => 위 속성을 여러개 지정할 경우 위 순서대로 우선순위 적용 --> ..

2) DATABASE - SQL Join [내부링크]

[표 쪼개기] -- 중복을 줄인다.!!!!!! SQL JOIN EXERCISE 검색하면 실습에 필요한 엑셀 파일을 다운받을 수 있다. 소프트웨어를 만드는 과정에서 그게 무엇이건 데이터건 코드건 중복이 발생하면 안좋은 징후이다. -- 데이터가 중복이 발생하면 데이터 용량을 엄청 많이 소비한다.

4) WEB - Ajax(2) : 페이지 구현 [내부링크]

[fragment identifier를 이용한 초기 페이지 기능 구현] -- ajax를 사용했을 때 직면할 수 있는 여러가지 부작용들을 완화해나가는 방법을 살펴보기 1. 링크인데 밑줄이 없고 순수한 상태로 활성화 되게 하고 싶어할듯. 2. 우리가 알고있는 웹페이지는 주소가 페이지 별로 달라져 주소를 공유할 수 있는 측면이 있었으나, ajax는 그러한 한계점이 있다. [해시] -- 페이지 안에서 어떤 특정한 부분으로 접근할 때 ' 세번째 문단의 사용자에게 url을 통해서 접근할 수 있도록 하고 싶을때, hash기능을 사용할 수 있다.(bookmark 기능) 이러한 특성을 이용해서 url에 색상을 입힐 수도 있고 hash값이 무엇이냐에 따라서 ajax로 다른 페이지를 로드해서 시작되는 페이지를 셋팅할 수 있..

4) WEB - Ajax(1) [내부링크]

[Ajax(Asynchronous Javascript And Xml)] 자바스크립트가 도입되면서 웹은 빠른 속도로 정적인 것에서 동적인 것으로 문서에서 Application으로 변화하기 시작 웹페이지 정보를 부분적으로 변화시킴 클라이언트를 사용하는 사용자에게는 좋은 경험을 서버를 사용하는 생산자에게는 지출을 줄여줌 [목적] 네트워크(크롬 개발자도구) : (크롬브라우저)오른쪽 클릭 => 검사 => 크롬 개발자도구 => 네트워크 탭 : 웹브라우저가 웹서버와 어떤 정보를 주고받는지 모니터링 하는 도구 ajax란 - 부분적으로 웹페이지를 갱신할 수 있도록 도와주는 기술 ajax를 배워야 하는 이유 1) 페이지를 전환할 때마다 모든 파일을 다운로드 받는것과 클릭해서 내용이 변경할 때 부분적으로 내용을 변경하는 것..

3) WEB - Javascript [내부링크]

HTML, CSS - 정적 JavaScript - 동적 - 사용자와 상호작용하는 언어이다. - javascript가 HTML을 제어하는 언어다. 이러한 특성이 웹페이지를 동적으로 만들어준다. elements : 태그 -- style 속성값으로는 무조건 CSS가 온다. [중요한 이야기] - javscript는 HTML 위에서 시작하는 언어 - document.write("") : HTML 화면에 글씨 출력 - javascript를 사용하기 위해서는 태그를 쓴다. event(사건) onclick이라는 속성은 javascript가 와야 한다라는 것을 전제로 하고 있따. javascript는 웹브라우저가 값을 기억하고 있다가 클릭을 했을 때 동작할 거 라는 의미를 담고있다. 검색이 가장 중요하다. (javasc..

2) WEB - CSS [내부링크]

CSS HTML을 이용해서 전자문서를 만들 수 있었고, 해당 정보를 인터넷을 통해서 사람들이 볼 수 있도록 했다. 하지만 처음에는 HTML을 이용해서 문서를 만들수 있었지만 여러가지 불평들이 나옴. 나중엔 해당 문서를 웹페이지를 아름답게 표현하고 싶어함. --> 웹 페이지를 아름답게 만들자! 1) CSS의 등장, 이점 등장배경 1. HTML은 너무나 중요하기 떄문에 HTML이 정보에 전념하게 하기위해서 HTML에게서 디자인적 요소를 뻇어옴 2. CSS를 통해 웹페이지를 디자인 하는 것이 HTML을 통해 디자인하는 것보다 효율적 이점 -- CSS의 사용으로 중복 제거 -- 웹페이지를 유지보수를 편리하게 하고, 가독성 증가 -- 효율적 -- 태그는 이제 쓰지 않으니 머릿속에서 지워버리자!! h1태그는 WEB..

1) WEB - HTML [내부링크]

무엇인가를 만들기 전에 무엇을 만들것인가를 미리 상상하고, 계획해보는 과정이 필요하다 (기획) 집중해서 봐야할 부분은 어떤쪽이 사람이 하는일이고, 어떤쪽이 기계가 하는일인가를 분리해서 생각해 보는 것이다. (어떤 것이 결과인지 추론해보기) 코딩/언어작성 : 사람이 하는일, 원인 - 부호 또는 신호라는 의미의 코드 / code - 원천이라는 뜻의 소스 / source - 약속이라는 의미에서 언어 / 컴퓨터 언어 표출/화면 : 기계가하는일, 결과 - 웹에서는 결과를 웹페이지라고 한다. - 웹페이지가 모여있으면 웹사이트 ==> 기능이 좀 많으면 웹어플리케이션 즉, 원인인 코드를 통해서 결과를 만든다는 것이 코딩을 이해하는 핵심이다. 웹페이지를 만드는 코드 => HTML : HyperText Markup Lan..

JDBC : HDF 파일 Insert [내부링크]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

도시하천) 강우 레이더 조회 [내부링크]

03.02 강우 레이더 조회 (한강 홍수통제소 레이더 영상 조회) -- 한강홍수통제소 openAPI 사용 -- http://www.hrfco.go.kr/web/openapiPage/reference.do# 1) 아래 xml에 Api key와 Url 생성 - system_config_properties_dev.xml - system_config_properties_production.xml - system_config_properties_staging.xml * 참고 자료 -- %s 는 HRFCO_RADAR_KEY가 들어갈 자리 http://api.hrfco.go.kr/%s/radar/list/COMP.json 52832662-D130-4239-9C5F-730AD3BE6BC6 * sfc_rainfall.j..

07. 제이쿼리 이벤트 (5) : 포커스 이벤트 [내부링크]

포커스는 마우스로 또는 태그를 클릭하거나 Tab 키를 누르면 생성됨 앞에서 작성한 포스팅에는 마우스 이벤트는 마우스가 없으면 사용할 수 없다. 사용자는 키보드만 가지고 사용해야 함. 이때 사용자가 키보드만으로 사이트를 이용해도 불편함이 없도록 제이쿼리가 잘 작동되어야 하는데, 이를 키보드 접근성이라 한다. 키보드 접근성을 높이기 위해서는 마우스 이벤트를 등록할 때 될 수 있으면 또는 태그에 등록하고, 키보드가 없을 경우를 고려하여 마우스 이벤트에 대응할 수 있는 키보드 이벤트까지 등록해야 한다. focus() / blur() / focusin() / focusout() 이벤트 메서드 - focus() 이벤트 메서드 : 대상 요소로 포커스가 이동하면 이벤트를 발생 시킴 - blur() 이벤트 메서드 : 포..

07. 제이쿼리 이벤트 (4) : 이벤트 객체와 종류 / Scroll 이벤트 메서드 [내부링크]

이벤트 객체와 종류 - 사용자가 이벤트를 발생시킬 때마다 이벤트 핸들러의 매개변수에는 이벤트 객체가 생성되며, 이벤트 객체에는 이벤트 타입에 맞는 다양한 정보를 제공하는 속성과 메서드가 포함되어 있다. $("이벤트 대상 선택").mousemove(function(매개변수){ 매개변수(이벤트 객체).속성; }); 이벤트 객체의 속성 종류 구분 종류 설명 마우스 이벤트 clientX 마우스 포인터의 X 좌푯값 반환(스크롤 이동 거리 무시) clientY 마우스 포인터의 Y 좌푯값 반환(스크롤 이동 거리 무시) pageX 스크롤 X축의 이동한 거리를 계산하여 마우스 포인터의 X 좌푯값을 반환 pageY 스크롤 Y축의 이동한 거리를 계산하여 마우스 포인터의 Y 좌푯값을 반환 screenX 화면 모니터를 기준으로..

07. 제이쿼리 이벤트 (3) : 마우스 이벤트 [내부링크]

click() / dblclick() 이벤트 메서드 click() 이벤트 메서드는 선택한 요소를 클릭했을 때 이벤트를 발생시키거나 선택한 요소에 강제로 클릭 이벤트를 발생시킬 때 사용 click() 이벤트 등록 $("이벤트 대상 선택").click(function(){자바스크립트 코드;}); $("이벤트 대상 선택").on("click", function(){자바스크립트 코드;}); click 이벤트 강제 발생 $("이벤트 대상 선택").click(); dblclick() 이벤트 메서드는 선택한 요소를 연속해서 두 번 클릭했을 때 이벤트를 발생시키거나 선택한 요소에 강제로 더블클릭 이벤트를 발생시킴 dblclick 이벤트 등록 $("이벤트 대상 선택").dblclick(function(){자바스크립트 코..

07. 제이쿼리 이벤트 (1) : 이벤트 메서드 종류 및 이벤트 발생 / 제거 [내부링크]

- 방문자가 웹사이트에 방문하여 동작을 취했을 때 제이쿼리 코드가 실행되도록 만드는 방법 소개 - 방문자의 모든 동작을 '이벤트'라고 하고, 이벤트가 발생했을 떄 코드를 실행시키는 것을 '이벤트 핸들러'라고 한다. * 이벤트 등록 메서드란? - 이벤트 등록 메서드를 이용하면 방문자가 지정한 요소에서 어떠한 특정 동작이 일어났을 때 저장된 코드를 실행시킬 수 있다. - 이벤트 등록 메서드에는 하나의 이벤트만 등록할 수 있는 단독 이벤트 등록 메서드와 2개 이상의 이벤트를 등록할 수 있는 그룹 이벤트 등록 메서드가 있다. - 단독 이벤트 메서드는 한 동작에 대한 이벤트를 등록할 때 사용 예) '요소를 클릭했을때, '요소를 더블클릭했을 때', '요소에 마우스 포인터를 올렸을 때' $("#btn").click(..

Spring - Tomcat 설치 및 STS 환경 설정 [내부링크]

* Tomcat Download 1. Tomcat 홈페이지 접속 : https://tomcat.apache.org/ -> Download에서 Tomcat 8 클릭 2. Scroll하여 8.5.51 -> 64-bit Windows zip 클릭하여 다운로드 받는다. 3. 다운받은 경로로 가서 ZIp 파일을 압축을 풀고 싶은 경로에다가 푼다. * STS에 Tomcat 환경설정 1. STS 접속하여 Servers에서 아래 부분을 클릭 2. New Server에서 Apache -> Tomcat v8.5 Server (다운로드 받은 버전 선택) -> ServerName을 변경하고자하면 변경 -> Next 3. Browse 선택하여 Tomcat 설치 폴더를 클릭 -> 폴더 선택 -> Finish 4. 연동 완료

Spring - 배경화면 색상 변경 [내부링크]

Spring - 배경화면 색상 변경 1. Window -> Preferences 이동 2. Appearance -> Theme에서 색상 변경 (필자는 Dark로 설정) -> Apply And Close 클릭

Putty 다운로드 및 설치 [내부링크]

* Putty 다운로드 : https://putty.ko.softonic.com/ 1) 무료 다운로드 버튼 클릭 2) 다운로드 후 폴더에서 'putty-0.73-installer' 클릭하여 설치 진행 3) Next > Next > Install > Finish

Oracle VirtualBOX 설치 및 환경설정 (2) - CentOS 7 minimal 다운로드 및 가상머신 생성 [내부링크]

1) CentOS 7 minimal 다운로드 http://isoredirect.centos.org/centos/7/isos/x86_64/ > http://mirror.navercorp.com/centos/7.7.1908/isos/x86_64/ 이 글에서는 네이버 저장소에 있는 CentOS-7-x86_64-Minimal-XXXX.iso 파일을 이용하여 설치를 진행 2) VirtualBox에서 새로만들기 > 가상머신 만들기 이름. 종류, 버전 아래와 같이 셋팅 후 다음 > 메모리 크기 (1GB는 너무 느리다는 말을 들어서 좀 넉넉히 3GB로 잡음) > 쭉 진행 > 파일 위치 및 크기 (50GB로 넉넉하게 잡음) 설정 후 만들기 버튼 클릭 3) 저장장치 설정 설정 > 저장소 > "컨트롤러 : IDE"를 선택 ..

Oracle VirtualBOX 설치 및 환경설정 (1) [내부링크]

* VirtualBOX(버추얼박스) - 버추얼박스는 본래 이노테크가 개발한 뒤, 현재는 오라클이 개발 중인 상용, 사유 소프트웨어로, 리눅스, macOS, 솔라리스, 윈도를 게스트 운영 체제로 가상화하는 x86 가상화 소프트웨어이다. 1) 버추얼박스 홈페이지 접속 : https://www.virtualbox.org/ 2) Downalod VirtualBox 6.1을 눌러서 페이지 이동 > 스크롤을 내려 VirtualBox older build 클릭 3) VirtualBox 5.2.26 > Windows hosts 클릭 > 다운로드 시작 *최신버전으로 다운로드 받을경우 CentOS7 가상머신에 접속이 안되는 현상이 발생하기에 안전하게 한 단계 아래 버전으로 다운받는다. 4) 다운로드 받은 파일을 실행하여 ..

OpenLayers (GeoServer SQL View - parameteric SQL View) [내부링크]

* geoserver Tiled WMS 표출 참고 https://openlayers.org/en/v4.6.5/examples/wms-tiled.html?q=wms * map.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 10..

POSTGIS (메뉴얼) [내부링크]

POSTGIS (메뉴얼) * POSTGIS 메뉴얼 API 페이지 : https://postgis.net/docs/manual-2.5/reference.html#Geometry_Processing Chapter 8. PostGIS Reference Abstract This section lists custom PostGIS Grand Unified Custom Variables(GUC). These can be set globally, by database, by session or by transaction. Best set at global or database level. postgis.net

Spring - 개발환경 셋팅 [내부링크]

Spring - 개발환경 셋팅 - 일반적으로 STS를 이용하여 진행되며 이를 사용하기 위해 사전에 JDK의 설치가 필요함. 0) JDK 설치 * Oracle JDK 설치 사이트 : https://www.oracle.com/technetwork/java/javase/downloads/index.html 접속 0-1) 사이트 접속, 로그인 진행 후 JDK DOWNLOAD 클릭 0-2) Accept License Agreement(라이센스 동의) 클릭 후 자신의 OS에 맞는 파일을 다운로드 0-3) 다운로드 받은 파일을 실행 시켜 설치 진행 * option은 특별한 경우가 아니면 default * 마지막 화면이 나오면 설치가 정상적으로 완료 ! 1) Java 환경변수 설정 1-1) [제어판] - [시스템 및 ..

GeoServer (SQL View : parametric SQL View 사용하기) [내부링크]

[GeoServer (SQL View : parametric SQL View 사용하기)] *SQL 뷰 참고자료 : https://docs.geoserver.org/stable/en/user/data/database/sqlview.html SQL Views — GeoServer 2.16.x User Manual SQL Views The traditional way to access database data is is to configure layers against either tables or database views. Starting with GeoServer 2.1.0, layers can also be defined as SQL Views. SQL Views allow executing a cus..

GeoServer (SQL View 생성) [내부링크]

[GeoServer (SQL View 생성)] 1. GeoServer 접속 => 로그인 2. 레이어 클릭 => 새로운 레이어 추가하기 클릭 3. 레이어를 생성할 저장소 선택 => 새로운 SQL 뷰 설정하기 클릭 => 새로운 SQL 뷰 생성 화면으로 진입함 4. 새로운 SQL 뷰 생성에서 뷰이름, SQL 구문을 입력 후 속성필드의 "Geometry 유형 및 SRID 추론하기" 체크 후 "새로고침" 버튼 클릭 * "Geometry 유형 및 SRID 추론하기"버튼 클릭 안했을 때 5. 레이어 편집으로 화면이 넘어가게 되며 스크롤을 내려 "레이어 최소경계 영역"에 "데이터로부터 계산하기", "원본 영역으로부터 계산하기" 클릭 후 저장 6. 생성한 레이어 확인 7. 레이어 미리보기에서 레이어 확인

GeoServer 사용하기 (Proxy 설정하여 GeoServer Layer 가져오기) [내부링크]

* CommonController.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package gamum.test1.test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; import org.springframework.beans.factory.annotation.Autowired; import org.springfra..

프로토콜(Protocol) 이란 / TCP/IP, HTTP, Web Socket [내부링크]

프로토콜(Protocol) 이란 / TCP/IP, HTTP, Web Socket 프로토콜(Protocol) : - 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신(데이터를 을 원활하게 하기 위해 필요한 통신 규약 - 사람과 사람이 통신할 때 서로 이해할 수 있는 언어, 공용된 언어를 사용해 전세계 모든 사람과 대화 할 수 있다.라고 하면, 컴퓨터와 컴퓨터도 서로 이해할 수 있는 언어, 공용된 언어를 사용해야 한다는 것인다. 이 것이 바로 프로토콜(Protocol)이다. - 프로토콜을 정의하는 기관은 IEEE, ISO 등이 있다. * 프로토콜의 기능 - 캡슐화(encapsulation) - 흐름제어 (flow control) - 연결제어 (connection control) - 오류제어 (..

인터넷이란 [내부링크]

인터넷이란 International network의 합성어로써 TCP/IP (Transmission Control Protocol / Internet Protocol) 을 기반으로 전세계의 네트워크를 하나로 연결하여 각각 PC가 가지고 있는 자료나 정보를 주고 받을 수 있는 광역 네트워크를 인터넷이라고 한다. *요약 인터넷 이란 Internet Protocol의 약자로써 전 세계의 크고 작은 PC를 모두 연결해 놓은 거대한 네트워 크를 인터넷이라한다. ISP (Internet Service Provider) 는 고속의 인터넷 회선에 직접 연결되어 인터넷 서비스를 제공하는 기관으로써 우리나라에는 대표적으로 KT, SK, LG 지역사 등이 인터넷 서비스를 제공해 주고 있다.

OpenLayers (GeoServer Layer 지도 등록) [내부링크]

* OpenLayers (GeoServer Layer 지도 등록) - 필자는 GeoServer를 Tomcat에 얹어서 깔아 Tomcat과 Geoserver가 같은 PORT를 사용중 - 같이 실행시키기 위해 프로젝트의 Tomcat port를 변경 - Tomcat admin port : 8005 => 8006 - HTTP/1.1 : 8080 => 8081 - AJP/1.3 : 8009 => 8010 * map.js - geoserver 접속하여 표출하고자 하는 레이어를 레이어 미리보기를 하고 URL에 작성되어 있는 파라미터를 확인하여 params 변수에 담아서 보낸다. * 참고자료 : https://openlayers.org/en/v4.6.5/examples/wms-tiled.html?q=wms * 결과화면..

CORS (HTTP 접근 제어) 이란 [내부링크]

CORS (HTTP 접근 제어) 이란 Cross-Origin Resource Sharing(CORS)은 추가 HTTP 헤더를 사용하여 브라우저에게 한 출처에서 실행중인 웹 응용 프로그램의 다른 출처의 선택된 자원에 대한 접근 권한을 알려주는 메커니즘이다. 웹 응용 프로그램은 자신과 다른 출처(도메인, 프로토콜, 또는 포트)를 가진 리소스를 요청할 때 cross-origin HTTP요청을 실행한다. * 보안 상의 이유로, 브라우저들은 스크립트 내에서 초기화되는 cross-origin HTTP 요청을 제한한다. 요약 : 크로스 도메인간에 데이터 요청을 보내면, 보안을 문제로 전송할 수 없는데 브라우저의 same-Origin Policy, 즉 같은 프로토콜, 같은 도메인, 같은 포트에서의 요청이 아니면 XML..

SQLD (데이터 모델링) [내부링크]

SQLD (데이터 모델링) SQL(structured Query Language)은 데이터베이스에서 질의(Query)를 실행해서 원하는 데이터를 조회하거나 입력, 수정, 삭제 등을 하 수 있는 절차형 언어이다. 데이터 모델링 - 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해 추상화 한다. - 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야한다. - 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다. - 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다. - 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석, 설계하면서 점점 더 상세해 진다. - 데이터 모델링은 고객의 비즈니스..

Proxy란 [내부링크]

Proxy란 프록시(proxy)란 '대리'라는 의미로, 네트워크 기술에서는 프로토콜에 있어서 대리 응답 등에서 친숙한 개념 - 주로 보안사의 이유료 직접 통신할 수 없는 두 점 사이에서 통신 할 경우 그 상이에 있어서중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 프록시 서버의 특징 - 프록시 서버는 클라이언트 입장과 서버의 입장에서 볼 때 서로 상반되는 역할을 하는 것처럼 인식된다. 클라이언트 호스트에서의 입장에서 본다면 프록시 서버는 마치 원격 서버처럼 동작하는 것이고, 원격 서버의 입장에서본다면 마치 클라이언트처럼 동작한다는 것이다. 프록시 서버는 단순히 보안상의 이유만으로 설치하는 것만은 아니다. 프록시 서버는 프록시 서버에 요청된 ..

GeoServer 사용하기 (스타일 작업) [내부링크]

[GeoServer 사용하기 (스타일 작업)] * 스타일 적용 레퍼런스 참고자료 : https://docs.geoserver.org/stable/en/user/styling/sld/cookbook/ http://www.mangosystem.com:8080/gxt/docs/community/ogc_standards/filter_encoding/index.html 1. 스타일 > 새로운 스타일 추가하기 클릭 2. 이름, 작업공간 작성 후 기본스타일 선택 생성하기 버튼 클릭하면 아래 CSS가 나온다 3. css fill을 #3300ff -> #ffff00으로 변경 후 유효성 검증하기 에러가 없다는 문구 확인 후 제출하기 버튼 클릭 4. 스타일 목록에 생성한 스타일 노출 5. 레이어 > 스타일을 적용하고 싶은 ..

GeoServer 사용하기 (새로운 레이어 추가, 발행, 미리보기) [내부링크]

[GeoServer 사용하기 (새로운 레이어 추가, 발행, 미리보기)] 1. 레이어 > 새로운 레이어 추가하기 클릭 2. 생성했던 저장소 선택 > 레이어 목록 노출 확인 3. 추가하고 싶은 레이어 발행하기 버튼 클릭 4. 데이터 편집 > 데이터 - 아래로 내려 "데이터로부터 계산하기", "원본영역으로부터 계산하기" 클릭 후 저장 5. 레이어 목록에 추가된 것 확인 6. 레이어 미리보기 > "선택하세요"에서 openLayers 클릭 7. 레이어 화면 노출 확인

GeoServer 기초 [내부링크]

GeoServer 기초 GeoServer란 - Geo-spatial Gateway 다양한 공간 Data를 인터넷 GIS 인터페이스로 공급하는 서버 프로그램 Vector로 브라우저에서 그리던 것을 서버단에서 만들어서 사용자에게 이미지 형태로 제공하는 것 - vector로 만들게 되면 실질적으로 polygon, line, point가 전부 사용자 브라우저에서 그려지기 때문에 사용자가 지도를 움직일때마다 브라우저 자체에서 다시 그려줘야 한다. 이러한 작업을 서버가 하게 되면 사용자는 이미 만들어진 이미지만 다운받아서 보면 되기 때문에 사용자에게 부하가 적게 된다. WMS(Web Map Service) - OGC(Open Geospatial Consortium)가 정의한 지도 이미지 인터페이스 표준 - 요청방법..

GeoServer 사용하기 (작업공간 ~ 저장소 생성) [내부링크]

[GeoServer 사용하기 (작업공간 ~ 저장소 생성)] 1. 홈페이지 접속 : http://localhost:8080/geoserver - geoserver 설치 및 환경설정 완료 후 2. 로그인 * geoserver 맨처음 시스템 돌릴 시 ID/PW : adminadmin/geoserver 2. 작업공간(workspace) 추가 - 레이어를 발행하거나 등록하려면 작업공간을 추가해야한다. 3. 저장소(dataSource) 생성 - 저장소 > 새로운 저장소 생성하기 클릭 - 연결하고자 하는 저장소 클릭 - 필자는 postGIS를 사용하기 때문에 postGIS 선택 - 기본 저장소 정보 작성 (연결 파라미터) 참고자료 : https://docs.geoserver.org/stable/en/user/data..

GeoServer 다운로드 및 설치 [내부링크]

GeoServer 다운로드 및 설치 * geoserver.war 파일을 tomcaat 서버에 얹어서 geoserver 실행 * Tomcat 서버, JAVA 설치되어 있어야 하며 환경설정까지 완료한 상태이어야 한다. 1. GeoServer 홈페이지 접속 : http://geoserver.org/ 2. Stable 선택 3. Web Archive 클릭 (다운로드됨) 4. tomcat서버가 다운로드 되어있는 폴더로 이동하여 webapps폴더 내에 다운로드 받은 geoserver.war 파일을 복붙한다. 5. bin 폴더의 startup.bat 파일 실행 - 실행이 잘 된다면 6으로 넘어간다. 5-1 bin 폴더의 있는 startup.bat을 실행시키는데 빨리 꺼져버리면 시스템 환경변수 세팅을 확인해야한다. 1..

OpenLayers (Vworld API 활용 - 지도 Layer 변환하기) - 2. Layer 변환 [내부링크]

* map.jsp (일부분만 추출) * map.js var wktFormat = new ol.format.WKT(); // WKT 텍스트 소스에서 단일 지오메트리를 읽습니다. var map = null; var view = null; var mapProjection = "EPSG:3857"; var dataProjection = "EPSG:4326"; var sggLayerName = "sggLayer"; var emdLayerName = "emdLayer"; var array = null; var sggLayer = null; var emdLayer = null; var baseLayer = null; var satelliteLayer = null; var hybridLayer = null; var g..

OpenLayers (Vworld API 활용 - 지도 변환하기) - 1. API 발급 받기 [내부링크]

* Vworld API 활용하기 1. http://www.vworld.kr/dev/v4api.do 접속 2. 로그인 3. 인증키 > 인증키 발급 클릭 4. API를 사용하고자 하는 URL과 사용목적, 사용기관 작성 후 지도 인증키 받기 클릭 5. 회원가입시 작성했던 이메일로 승인 요청메일이 발송되며, 아래 화면에서 "인증키 사용" 버튼 클릭 6. 인증키 > 인증키 관리에서 '승인' 확인. => 인증키 발급 완료 - 해당 인증키값을 사용하고자 하는 URL에 등록하여 사용하면 된다.

OpenLayers (Mask Layer) [내부링크]

Mask - 반투명의 검은 막의 바탕 ex) 팝업 마스크 : 팝업을 사용할때 배경을 흐리게 만들어 팝업에 집중할 수 있게 효과를 주는 방법 Mask 작업 방법 1. JSTS라는 라이브러리를 사용 2. DB에서 쿼리를 사용하여 위 모양의 형태의 GEOMETRY를 가져오는 방법 * 필자는 두번째 방법을 통해 작업 1) DB에서 쿼리를 사용하여 mask 형태의 GEOMETRY를 가져온다. (ST_DIFFERENCE 사용) - 아래 쿼리로 만들어진 GEOMETRY를 js에 Map형식으로 미리 만들어 둠 ex) SELECT ST_DIFFERENCE ( -- ST_GEOFORMTEXT('POLYGON((좌표들))', '4326'), -- ST_GEOMFROMTEXT : 4326 좌표계로 변환 -- ST_GE..

OpenLayers 기본 [내부링크]

1. Layer - 레이어란 현실세계의 형상(Feature) 들의 집합이다. - 형상(Feature) 이란 현실세계의 대상물을 표현, 건물 하나하나를 형상(Feature)이라 하고 이들의 집합을 건물 레이어라 한다. - 레이어는 다양한 형상에 따라 많은 레이어가 존재할 수 있다. - Map 객체가 선언되었다면 해당 Map 객체에 레이어를 등록함으로써 지도화면에서 지도를 볼 수 있다. 2. Overlay Layer - OpenLayers는 지도 서버로부터 지도 레이어를 전송받아 상호간에 중첩하여 활용할 수 있다. (레이어 중첩) 3. Vector Layer - WFS Layer - Vector 지도는 WMS 레이어와 달리 지도가 이미지 형태가 아닌 XML 또는 String등의 형태로 지도 형상의 좌표와 각..

06. 제이쿼리 문서 객체 선택자와 조작법 [내부링크]

자바스크립트의 문서 객체 모델(DOM, Document Object Model)은 브라우저 간 호환성이 떨어져 크로스 브라우징이 힘들다는 단점이 있다. 제이쿼리 문서 객체 모델은 이러한 문제를 해결할 수 있다. 제이쿼리란 - 제이쿼리 모질라 사의 자바스크립트 개발자였던 존 레식(Jhon Resig)이 자바스크립트를 이용해 만든 라이브러리 언어이다. - 제이쿼리는 다양한 함수들을 사용자에게 제공함으로써 자바스크립트에서 사용할 때 불편했던 몇 가지 점들을 간편하게 사용할 수 있도록 개선함.\ 1. 호환성 문제 해결 - 자바스크립트의 문서 객체 모델(DOM)과 이벤트 객체(Event Object)는 호환성(크로스 브라우징)이 떨어진다는 단점이 있다. 예를 들면 인접 요소 선택자 중 다음 요소 선택자(nextS..

poi 라이브러리 / Excel DB 적재 [내부링크]

1. pom.xml 라이브러리 추가 2. jsp 파일에 파일 업로드 Element를 만든다 3. javscript 파일에서 jQuery와 Ajax를 통해 file을 넘긴다 - jsp에서 FORM을 생성하여 넘기지 않았을때 스크립트에서 formData로 file을 가져올 수 있다. - FormData object를 사용해야 하는데 IE브라우저에서는 10부터 지원이 된다고 한다. - 해당 코드는 네이밍을 APPEND 해주는 형식으로 하여 KEY,VALUE 형식으로 넘겨주는 방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 $(document).ready(function() { $("#ar..

OpenLayers (다중 마커 띄우기) [내부링크]

다중 마커 띄우기 //map을 보여주는 곳 function viewMap(data){ jQuery("#totViewMap").html(""); var vectorSource = new ol.source.Vector(); var markerVectorLayer = new ol.layer.Vector({ source : vectorSource, }); var map = new ol.Map({ layers : [ new ol.layer.Tile({source : new ol.source.OSM()}), markerVectorLayer], target : document.getElementById('totViewMap'), view : new ol.View({ projection: 'EPSG:4326', cen..

05. 함수 [내부링크]

함수 - 함수란 프로그램의 코드를 저장한 공간 - 변수에는 데이터만 저장할 수 있고, 코드는 저장할 수없으며, 함수를 사용하면 코드를 메모리에 저장했다 가 필요할 때마다 호출하여 사용할 수 있다. * 변수와 함수의 차이점 변수 함수 1개의 데이터만 저장 자바스크립트 코드를 저장 var 라는 키워드를 이용하여 선언 function이라는 키워드를 이용하여 선언 문자형, 숫자형, 논리형 테이터를 보관 출력문, 제어문 등의 코드를 저장하고 데이터를 반환 객체를 참조함 기본 함수 정의문 - 함수를 사용하여 코드를 저장한 것을 '함수 정의문'이라고 한다. - 변수를 선언할 때 var 키워드를 사용한 것처럼 함수에서는 function 키워드를 사용해 변수를 선언 기본형 1. 일반 함수 정의 function 함수명()..

04. 객체 [내부링크]

자바스크림트는 객체 기반 언어 객체는 기능과 속성을 가지고 있다. ex) TV 라는 객체 기능 : 메소드(Methode) 속성 : 속성(Property) ex) TV의 크키나 색상 그리고 무게 등 기본형 객체.메소드(); //객체의 메서드를 실행 객체.속성; //객체의 속성값을 가져옴 객체.속성 = 값; //객체의 속성값을 바꿈 객체의 종류 - 내장객체 - 브라우저 객체모델(BOM, Browser Object Model) - 문서 객체 모델 (DOM, Document Object Model) 내장객체 - 자바스크립트 엔진에 내장되어 있어 필요한 경우 생성해서 사용 가능 - 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등 브라우저 객체 모델(BOM) - 브라우저 객체 모..

openLayers Vworld / EPSG : 3857 관련 [내부링크]

Vworld - Vworld는 EPSG:3857 좌표계를 사용 - 다른 좌표계를 사용한다면 지도가 눌리는 현상이 발생할 수 있음. EPSG : 4326이 아닌 다른 좌표계를 사용한다면 두가지 방법을 사용할 수 있다. 1) 클라이언트에서 (ol.geom.POINT([127.0150, 37.5300 ]).transform("EPSG:4326", "EPSG:3857");) transform을 사용하여 EPSG : 4326 좌표계를 EPSG : 3857 좌표계로 변경한다. var mapProjection = "EPSG:3857"; var dataProjection = "EPSG:4326"; $(window).load(function() { //모든 include 되는 프레임들과 object들, 이미지까지 로드된..

03. 제어문 [내부링크]

* 제어문은 프로그램의 흐름을 제어할 수 있도록 도와주는 문장 조건문 - 조건에 따라 특정 코드를 실행시킬 수 있음. - if문 / else문 / else if 문 선택문 - 일치하는 경우의 값이 있을 경우에만 특정 코드를 실행시킬 수 있음. - switch문 반복문 - 코드를 지정한 횟수만큼 반복해서 실행시킬 수 있음. - while문 / for문 / do ~ while문 01. 조건문 if문 * 조건식에 논리형 데이터가 아닌 다른 형이 오는 경우 - 조건식에 논리형 데이터(true, false)가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로 인식 된다. - 조건식에 논리형 데이터가 아닌 다른형의 데이터가 입력되었을 때 반환되는 결과 예제. * 0, null, ""(빈문자), unde..

02. 자바스크립트 기초 문법 [내부링크]

* 내부 스크립트 외부로 분리하기 * 코드 입력 시 주의 사항 1. 자바스크립트는 대/소문자 구분하여 작성한다. 2. 코드 한 줄을 작성한 후에는 세미콜론(;)을 쓰는 것이 좋다. 세미콜론을 쓰지 않으면 한 줄에 2개의 코드를 작성할 경우 오류 발생 * 한 줄에 한문장만 작성하는 게 가독성을 위해 좋음. 3. 문자형 데이터를 작성할 큰따옴표("")와 작음따옴표('')의 겹침 오류 주의 4. 코드를 작성할 때 중괄호 {} 또는 소괄호 ()의 짝이 맞아야 한다. * 변수선언 변수는 변하는 데이터를 저장할 수 있는 메모리 공간 / 데이터를 담을 수 있는 그릇 / 데이터가 오직 한 개만 저장됨 ==> 새로운 데이터가 들어오면 기존에 있던 데이터는 메모리 공간에서 지워짐 데이터의 종류 - 문자형 (String),..

01.자바스크립트 시작하기 [내부링크]

* 자바스크립트의 가장 큰 특징은 객체기반언어이라는 것이다. 1단계 : 고객(클라이언트)에게 사이트 개발의뢰 받아 고객의 요구에 맞게 기획안 작성 2단계 : 기획안을 토대로 UI 디자인 제작 3단계 : 디자인 파일을 전달받은 퍼블리셔는 이미지를 이용해 인터넷 문서인 HTML, CSS를 이용해 화면의 모양을 잡아 정적인 웹 문서를 완성하고, 자바스크립트 또는 jQuery를 사용 3단계의 과정을 프런트엔드 개발이라함. - 눈에 보이는 부분까지 개발하는 것을 프런트엔드 개발이라 한다. 4단계 : 완성된 HTML 문서를 백엔드 개발자에게 전달. 백엔드 개발자는 ASP, PHP, JSP등 서버 언어를 사용, 화면에 보이지 않는 부분을 개발. * 자바스크립트로 제작된 다양한 라이브러리 - 제이쿼리, Angular(..

Math 함수 [내부링크]

* 소수점 올림, 버림, 반올림, 절대값, 소수점에서 반올림 Math.ceil() : 소수점 올림, 정수 반환 Math.floor() : 소수점 버림, 정수 반환 Math.round() : 소수점 반올림, 정수 반환 Math.abs() : 절대값 반환 * toFixed() : 소수점에서 반올림

12.02 session [내부링크]

session값은 server-side에 저장이 되고, jQuery는 브라우저에서 동작하기 때문에 자바 스크립트에서 session값을 가져올 수 없었다. *세션과 쿠키의 차이 두가지의 차이점 세션은 서버에 저장되고 쿠키는 클라이언트에 저장됨 따라서 세션이 쿠키보다 보안이 강한건 사실이지만 너무 무분별하게 사용하면 서버에 부하를 줄 수도 있음 대신 쿠키는 클라이언트 pc에서 처리되기 때문에 속도면에서 빨라질 수 있음

12.02 JSON [내부링크]

JSON.parse() : String 객체를 json 객체로 변환 JSON.Stringfy() : json 객체를 String 객체로 변환

12.02 jQuery data() [내부링크]

data() - 해당 엘리먼트에 Javascript Type의 value를 로 저장할 수 있으며, 값으로 저장되어 있는 데이터를 읽음. [ case 1. 데이타 저장 ] 문법 : $(selector).data(key, value) key : string type의 변수로 data가 저장될 key값입니다. value : object type으로 JavaScript 에서 지원하는 모든 type의 데이터를 저장할수 있습니다. ex) span 엘리먼트에 data()함수로 "name"과 "address" 세팅방법(저장) $("span").data("name", "Nextree"); $("span").data("address", "가산"); [ case 2. 데이터 읽기 ] 문법 : $(selector).data(..

12.02 overFlow [내부링크]

* overflow 내용이 박스보다 큰 경우 밖으로 넘친 부분을 어떻게 표시할지를 지정한다. Value visible : 박스보다 넘쳐난 내용을 그대로 보여준다. hidden : 박스보다 넘쳐난 내용을 표시하지 않도록 지정하며 스크롤을 제공하지 않는다. scroll : 박스보다 넘쳐난 내용을 위해 스크롤을 제공한다. 잘려서 보이지 않는 부분을 스크롤해서 볼수있도록 한다. 내용이 박스보다 넘쳐나지 않아도 무조건 스크롤을 제공한다. auto : 브라우저에 의존하며 해당영역이 박스보다 큰 경우 스크롤을 자동으로 제공한다. * 참고 overflow-x와 overflow-y는 windows I5+E의 독자적인 속성

11.11 delete 연산자 [내부링크]

*delete 연산자 - 객체(object), 객체의 속성(property), 배열의 특정 인덱스에 있는 원소(element)를 지우는 연산자 - var 문장을 이용해서 선언된 변수는 지울 수 없다. - delete 연산자 실행이 성공하면 , 속성이나 원소가 undefined로 설정됨. 실행이 가능하면 true, 불가능 false 반환 - 객체 자체는 삭제할 수 없으나, 객체의 프로퍼티는 삭제할 수 있다. var o = { x : 1, y : 2 } delete o.x;

11.11 Distinct와 Group By의 차이 [내부링크]

Distinct는 unique한 컬럼이나 튜플을 조회하는 경우 사용 Group by는 데이터를 그룹핑해서 그 결과 값을 가져오는 경우 사용 EX) Select Count(Distinct name) AS COUNT FROM ANIMAL_INS --> DISTINCT : 중복 제거 Distinct는 "그룹핑" 작업만 수행하고 "정렬작업" 수행 X Group by는 "그룹핑" + "정렬" 작업 수행 Tip) 정렬이 필요하지 않다면 DISTINCT를 사용하는 것이 성능상 더 빠르다고 볼 수 있다.

11.11 이벤트와 이벤트 처리기 [내부링크]

이벤트란 웹 브라우저나 사용자가 행하는 어떤 동작을 말한다. 키보드의 키를 누르거나 브라우저가 웹 페이지를 불러오는 것도 이벤트이다. 자바스크립트 이벤트는 주로 마우스나 키보드를 사용할 때, 웹 문서를 불러올때, 폼(FORM)에 내용을 입력할 때 주로 발생시킨다. 마우스 이벤트 : 마우스에서 버튼이나 휠 버튼 조작할 떄 발생하는 이벤트 속성 설명 click 사용자가 HTML 요소를 마우스로 눌렀을 때 발생 dblclick 사용자가 HTML 요소를 마우스로 두 번 눌렀을 때 발생 mousedown 사용자가 요소 위에서 마우스 버튼을 누르는 동안 발생 mousemove 사용자가 요소 위에서 마우스 포인터를 움직일 때 발생 mouseover 마우스 포인터가 요소위로 옮겨질때 발생 mouseout 마우스 포인터..

11.11 [내부링크]

조건 연산자 : 물음표와 콜론 조건이 하나이고 ture일때와 false일때 실행할 명령어도 하나뿐이면 if else 문 대신에 조건 연산자를 사용하는 것이 간단하다. (score >=60)? alert("통과") : alert("실패"); = 조건 ? ture일때 실행 : false일때 실행 truthy 값과 falsy 값 - 논리형 자료 값은 true와 false뿐이다. - 일반 값 중에서도 'true로 인정할 수 있는 값'과 'false로 인정할 수 있는 값'이 있다. 해당 값을 truthy하다, falsy하다 라고 표현한다. *falsy값 0 "" NaN (숫자가 아님(Not a Number)을 의미 / 보통 변수를 선안만 한 상태(값을 할당하지 않은 상태)에서 연산을 하면 볼 수 있는 값) und..

11.07 문서모드 [내부링크]

--> content= "ie=edge"는 IE브라우저에서, 각 버전 중 가장 최신 표준 모드를 선택하는 문서모드(IE6부터 IE11까지) : 가장 최신의 웹 표준을 지원하는 HTML5 DOCUTYPE을 추천함. 문서모드란 ? 문서 호환성 모드(document compatibility modes) - IE 구버전은 IE가 웹페이지를 번역하고 표시하는 방법을 선택할 수 있게 함 Quirks mode 비표준 모드가 기본값이며, 구버전의 브라우저로 보는 것처럼 페이지를 표시하고, Standard mode 표준 모드(또는 strict mode 엄격모드)는 업계 의 표준을 지원하도록 표시한다. 이때 역시 문서유형 선언(예:)이 있어야 하는데, 문서유형선언을 하지 않으면 quirks mode로 표시함 비표준 모드 ..

11.06 [내부링크]

css 미디어 쿼리 코드 템플릿 아래 코드는 모든 해상도를 커버하기 위한 미디어 쿼리 코드 템플릿이다. All, Mobile, Tablet, Desktop 으로 기기별 대응 코드를 분류 했지만 Liquid 레이아웃 기법을 사용하면 사실상 모든 해상도를 커버할 수 있다. @charset "utf-8"; /* All Device */ 모든 해상도를 위한 공통 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. /* Mobile Device */ 768px 미만 해상도의 모바일 기기를 위한 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. 미디어 쿼리를 지원하지 않는 모바일 기기를 위해 미디어 쿼리 구문을 사용하지 않는다. /* Tablet & Desktop Device */ @media all and ..

10.31 CSS 정리 [내부링크]

F12를 눌러서 Elements 탭으로 갑니다. 아무 태그나 눌러서 Styles 탭을 보면 옆에 그림이 나올겁니다. position, margin, border, padding, content 순입니다. 바로 이게 박스 모델입니다. position은 없을 수도 있습니다. content 보통 태그가 차지하는 공간이 content / width와 height가 차지하는 공간이 content이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 ..

10.29 메모 [내부링크]

javascript 배열 [자바스크립트 키 : 밸류] var obj = { key1: value1, key2: value2 }; 이런식으로 있을떄 .를 써서 obj.key3 = "value3";라고 해줄수도있고 []를 써서 `obj["key3"] = "value3";라고 해줄 수 도있다. ----- onkeydown : 키를 눌렀을때 이벤트이다 (shift, alt, controll, capslock 등의 모든 키에 동작한다. 단 한영변환, 한자 등의 특수키는 인식 못한다). onkeyup : 키를 눌렀다가 땠을 때 이벤트이다 (onkeydown 에서 인식하는 키들을 인식 한다). onkeypress : 실제로 글자가 써질때 이벤트이다 (shift, tap, enter 등의 특수키는 인식 못한다). --..

10.25 현재까지의 메모 [내부링크]

* javascript / JAVA 코드를 짤 때는 루핑횟수 최대한 줄이기! - 루핑이 자원이고 루핑만 줄여도 속도가 빨라진다. (for문과 같은) - 단순한 것은 switch문을 쓰는게 더 효율적임 * HTML id는 정말 하나의 id만 가지고 있을 때 쓰고, 왠만하면 class와 Atrribute(속성)으로 쓰는 것이 낫다. 속성은 임의의 속성을 지정할 수 있다. 예제) * javascript에서 Lopping이 도는 순간 Lock이 거린다. 유의!!!! * 자식 셀렉터(child selector) : 부모와 자식 엘리먼트는 오른쪽 부등호(>)로 구분 예제) ul.myList > li > a / jQuery(ul.myList > li > a); * RequestParam으로 넘어온 값은 Jsp로 넘길..

OpenLayers (하나의 마커 띄우기) [내부링크]

* 하나의 마커 띄우기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //상세페이지 지도 띄우기 function map(data){ $("#article_map").html(""); var iconFeature = new ol.Feature({ geometry : new ol.geom.Point([data.wgs84_lon, data.wgs84_lat]), name : data.spot_nm + " 관측소", population : 4000, rainfall : 500 }); var vectorSource = new ol.source.Vector({ features..

jQuery/Ajax로 jsp 리스트 뿌리기 / .Clone(복사) [내부링크]

* Jsp에 데이터를 뿌릴 Templeate을 미리 만들고 jQuery로 데이터 뿌리기 1) Jsp => 화면단에 데이터 리스트를 뿌릴 화면단(template)을 미리 만든다. 구분 관측소명 시군구코드 시군구명 설치주소 경도 위도 공간정보 2) jQuery - var template = $("#copyGgTemplate TR").clone(); => id가 copyGgTemplate의 TR을 Clone(복사) 하여 template에 담는다 - template.find("#category").text(data.Dto.category); => template에서 id 값을 find함수를 사용하여 찾아 보여주고자 하는 데이터를 넣는다. - $("#dataTable").append(template); => te..

UNION 연산자 [내부링크]

UNION - 두개 이상의 테이블 또는 쿼리를 합치는 역할 - UNION ALL은 중복을 포함한 모든 값을 나타내는 것 ex) SELECT 'min' AS TYPE, MAX(ymdhm) AS END_DATE, MIN(ymdhm) AS START_DATE FROM ti_hrf_bo_mi A UNION SELECT 'dy' AS TYPE, MAX(ymdhm) AS END_DATE, MIN(ymdhm) AS START_DATE FROM ti_hrf_bo_dy UNION SELECT 'hr' AS TYPE, MAX(ymdhm) AS END_DATE, MIN(ymdhm) AS START_DATE FROM ti_hrf_bo_hr; 실행화면

메모 1일차 [내부링크]

* Spring STS 1) View 폴더 : jsp파일을 저장하는 디렉토리로 사용 2) Servlet - context.xml : application-context.xml과 동일한 역할을 한다. (Spring bean 설정 파일) 3) Resource : CSS와 Javascript 파일 모아두는 디렉토리로 사용 * Mapper 및 소스코드 들여쓰기 내어쓰기 신경쓰기. * 유효성 검사 원하는 페이지로 넘어갈때 에러가 날씨 사용자가 보기에는 무슨 에러가 왜 났는지 모르기 때문에 해당 페이지로 넘어가지 않게끔 만들어야 한다! 아래와 같은 패턴을 만들어야 한다!! if(category == "" || category == null){ } - 띄어쓰기, 공백, NULL 까지 모두 체크해야 한다. 어느 회사이..

Javascript FOR문 [내부링크]

Javascript FOR문의 다양성 1) 일반적인 FOR문 1 2 3 for(var i=0; i

jQuery/Ajax (2) : trigger, handler [내부링크]

- 이벤트가 발생할 때 실행될 함수나 bind()함수로 연결 된 어떤 이벤트 핸들러를 강제로 실행시킨다. ex) jQuery("#id").trigger("submit"); : submit 이벤트 강제 실행 - 어떤 요소에 대해 이벤트를 실행하게끔 설정하는 것. ex) $(elem).on("click", function(e) { ... }); - bind() -> 요소(element)에 이벤트 처리기(handler)를 연결한다. : 아마 현재는 사용 X 1 2 3 4 5 6 7 jQuery("#dropdown").change(function(){ var selData = jQuery('#dropdown-item option: selected').val(); selMapList(selData); }); jQ..

jQuery/Ajax(1) : 기초, Tip [내부링크]

Tip) ajax => 해당 Jsp파일에서 스트립트로 ajax js 파일을 불러와 사용하면 js 파일에서 모든 경로를 쓰지 않아도 된다. 1 2 3 4 5 6 7 8 9 10 11 var _contextPath = ; var ajax = new ajax ({ contextPath : _contextPath, callCount : 5 }); http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter * Ajax Controller로 데이터 넘기는 법 (Json 방식) 1 2 3 4 5 6 7 8 9 10 jQuery.ajax({ type : "POST", d..

GitLab [내부링크]

(GitLab)new project => (GitLab)project Name 작성 => GitLab에서 Clone하여 URL 복사 => 프로젝트 오른쪽 클릭 => Team => share project => use or create repository in folder of project 체크 => Repository 생성할 프로젝트 선택 create Repository 클릭 => Finish 활성화 됨. 프로젝트 오른쪽 클릭 => Team => Commit => Git Staging에서 ++(플러스 두개달린) 아이콘을 클릭하면 GitLab에 올릴 소스파일들이 아래로 내려옴 => Commit Massage 작성 => Commit and Push를 누름 => GitLab에 소스 올려진 것 확인. * Co..

OpenLayers (지도 띄우기) [내부링크]

* OpenLayers - 웹 지도 서비스를 위한 라이브러리 - 지도를 표현하고 조작 가능. * OSM - 오픈 스트리트 맵 - 오픈 소스방식의 참여형 무료 지도 서비스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 var map = new ol.Map({ target : 'map', layers : [new ol.layer.Tile ({ source : new ol.source.OSM() })]; view : new ol.View ({ projection : 'EPSG:4326', center : [경도, 위도], ==> ex) [127.1698, 37.7617], zoom : 15 }) }); http://colorscripter.com/info#e"..

(08.14) CSS 스타일 속성 [내부링크]

[CSS 스타일 속성] * Cellspacing : 테이블 내부 선 굵기 * Cellpadding : 테이블 내용과 선 사이의 여백 * Rowspan : 테이블 에서 여러행 합치기 * Colspan : 여러 열 합치기 * Margin : 여백 설정 * Padding : 영역 안에서의 여백 설정 * float : 띄우다 ==> 문서나 사진, 영역, 글을 왼쪽, 오른쪽으로 정렬하는 것을 의미 - float : left, float : right / none : 기본값(아무것도 설정하지 않은 상태와 동일) * Position : 원하는 위치 지정 가능 - absolute 같은 경우 영역 위에 새로 띄우는 것이기 때문에 원래 위치와 상관없지 지정가능 * line-height : 줄 간격 지정하는 속성 * jus..

CSS/Html 기초 (1) [내부링크]

1) 태그 속성 지정법 2) 문서 내 저장형 3) 외부 문서 삽입형 ( * 보통 CSS는 따로 관리하여 사용하는게 일반적이다. * 외부 CSS 문서나 또는 jQuery로 style을 지정, 값을 가지고 오고 싶을 경우 Element에 선택자를 지정한다. Class 선택자 ID 선택자 구분 .(마침표) #(해시) 사용 영역 , , 등 등 : 여백삽입 : 구역과 절을 구성하는 태그 (웹에서 영역을 지정할 때 많이 사용한다.) ~ : 순서 목록과 단계별 항목 (1.,2.,3. ....) ~ : 비순서 리스트 (, , ...) : 전체 테이블 틀 생성 : 테이블의 제목을 나타냄 ex) 2014년 8월 지출 내역 : 테이블의 행 : 열을 포함하는 셀의 제목을 나타냄 => 수평, 수직정렬이 자동으로 가운데가..

Date 관련 클래스 [내부링크]

* Date 관련 클래스 1) Calender 2) Date 3) LocalDate, LocalTime, LocalDateTime * Calender, Date 클래스는 혼자서 공부하거나 학원에서 사용할때에는 많이 사용하나, 회사에서 쓰기에는 부적합한 클래스. * 아래의 문제를 해결하기 위해서 java8부터는 LocalDate, LocalTime, LocalDateTime 이라는 클래스가 생김. * Calender, Date의 단점 1. 불변 객체가 아니다. - set, get을 통해 값이 유동적으로 변한다. - set으로 변경이 가능하다는 점은 누군가 악의적으로 변경할 수 있기 때문에 get/set 메서드에서 직접 Date클래스를 사용하는 것이 위험하다. 2. 상수 필드 남용 * 정적변수(필드) - 클..

JAVA (3일차) - 반복분 [내부링크]

JAVA (3일차) - 반복분 * 반복문 (for, while, do ~ while) package com.day3; import java.util.Scanner; class Test1 { public static void main(String[] args) { //반복문 (for, while, do ~ while) //for 시작과 끝값이 정해져있을때!! //while 끝값이 정해져있지 않거나, 끝 값을 모를때 //do~while 일단 실행을 진행!! 결과를 보고 반복할지 판단하여 결정. Scanner sc = new Scanner(System.in); int dan ; System.out.print("단 입력"); // 7 dan = sc.nextInt(); //for(초기(시작)값;최대값(조건);증..

JAVA (2일차) - 기초 다지기 [내부링크]

간단한 계산, 삼항연산자, 윤년구하기 package com.day2; import java.io.*; class Test1 { public static void main(String[] args) throws IOException { //선언 BufferedReader br = new BufferedReader ( new InputStreamReader (System.in)); //String a,b; int num1, num2; //입력 System.out.print("첫번째 수?"); //50 //a = br.readLine(); //num1 = Integer.parseInt(a); num1 = Integer.parseInt(br.readLine()); //num1 = Double.parseDoubl..

JAVA (1일차) - 기초 다지기 [내부링크]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package com.day1; class Test1 { //메소드(method) : 명령어 public static void main(String[] args) { //public:접근 지정자 //static:자기가 알아서 메모리에 올라간다. //void: 리턴값, 되돌려 줄거 없다. / 리턴값이 설정되어있으면 실행을 한 곳에게 다시 값을 반환. //method 이름 : 반드시 소문자로 시작. 두번째 단어부터 첫글자 대문자. //String[] args : 매개변수 / main 메소드는 매개변수를 안줘도 실행이 가능. System.out.println("자바 첫시간!!"); System.out.println("오늘은 ..

취업스터디 (스터디모임 06.10) [내부링크]

[현재 중요도 순위] 1순위 : 회사 알아보고 입사 지원하기 2순위 : 공부(배웠던거 복습) 3순위 : 코딩테스트 [오늘 할 일] 1. 취업스터디 모임 - 장소 : 강남 공간이즈 - 스터디룸 비용 : 21000원 - 모임시간 : 19.06.10(월) am 10:00 - 모임목표 : 발표 영상 찍기 (PPT준비, 노트북), 개별 코딩문제 준비 및 풀기 2. 회사 알아보고 입사지원하기 3. 학원에서 배운 것 복습하기 (공부) 4. 코딩테스트 [하루 일과 정리] 08:00~10:00 : 기상 및 외출 준비 10:00~12:30 : 강남 공간이즈 스터디룸, 코딩테스트 13:00~14:30 : 학원에서 발표 영상 찍기 14:30~15:30 : 회사 알아보고 지원하기 17:00~21:00 : 식사 및 감기로 인한 ..

취업스터디 (하루일과 정리 06.09) [내부링크]

[현재 중요도 순위] 1순위 : 포트폴리오 2순위 : 예상질의응답 3순위 : 코딩테스트 [현재 중요도 순위 변경] 1순위 : 회사 알아보고 입사 지원하기 2순위 : 공부(배웠던거 복습) 3순위 : 코딩테스트 10:30~13:00 : 면접예상질문 재작성하여 공유(구글) 13:00~15:30 : 식사 및 씻음 15:30~16:30 : 스케줄 정리 16:30~18:00 : 포트폴리오 작성 - 아자아자! 다시 금방 할 수 있을 거야!! 일단 해보자!! 18:00~19:00 : 휴식 20:00~21:30 : 식사 22:00~01:00 : 포트폴리오 제작 - 겨우 드디어... 드디어!!! 완성이다 낼부터 회사 알아보고 지원해보자!! 01:00~02:00 : 코딩테스트 문제 준비 [코딩테스트 문제] *설화언니 - 알..

취업스터디 (하루일과 정리 06.06) [내부링크]

08시 11분(?) ~ 12:00 : 면접예상질문 답변 작성 gmail 드라이브에 공유 - 첫 날부터 늦게 일어나서 벌금 1000원.... 띠로리... 13:00 ~ 16:00 : 이력서 첨삭 진행 - 여성인력센터에서 이력서 작성 시 직무역량기술서를 작성하라는데 도무지 감이 잡히질 않는다. 내일까지 작성해야하는데 할 수 있을까? 끙... 16:00 ~ 17:30 : T스토리 취업스터디 모임 내용 정리, 마지막 프로젝트 Spring에 exports하여 구동 확인. - 제대로 구동 된다. 안될까봐 걱정했는데 잘되서 다행이다 ㅎㅎ 18:00 ~ 19:30 : 식사 - 친구가 알려준 집근처 할머니 순댓국집 갔는데 얼큰~~ 허니 맛있다. ㅎㅎ - 집근처 맛집 한 곳 획득! 20:00 ~ 21:00 : 마지막 프로..

취업스터디 (2019.06.05) [내부링크]

모임의 시작(총 4명) 1. 기상시간 확인, 하루 일정 공유하여 취업의 대한 사기 상승 위함. 2. 코딩테스트, 면접 후 후기 공유 등 공부와 겸하여 면접 준비. 1. 기상 : am 08:00 (주 5일) - 매일 아침 08:00 기상 인증, 06분부터 이유불문 벌금 천원 2. 하루일과 공유 : pm 10:00 - 하루 일과 한시간 단위로 했던 일과 느낀점 적어서 인증하기 3. 스터디 모임 주 2회 (월, 수 am10:00) - 모임시간 지각 10이내 보류, 11분부터 60분 벌금 1000원, 이후부터 결석으로 간주 벌금 5000 - 면접 이외 스터디 불참시 이유불문 벌금 5000원 1. 코딩테스트 준비 - 각자 문제를 준비하여 스터디 모임 당일 총 4문제 풀고 논의 - 겹치는 문제가 없도록 미리 문제를..

취업스터디 (하루일과 정리 06.08) [내부링크]

12:00~14:00 : 면접예상질문 작성 15:00~16:00 : 식사, 면접예상질문, 포트폴리오 작성한거 날림... 하.... 미ㅏㅓㅣㅏㄴㅁ [느낀점] - 오늘은 면접예상질문과 포트폴리오를 날려서 너무 속상했다. 다시 해도 꽤 시간이 걸릴 거 같아 그냥 쉬었다. '그래 안될때에는 쉬기도 해야지....'

취업스터디 (하루일과 정리 06.07) [내부링크]

[현재 중요도 순위] 1순위 : 포트폴리오 2순위 : 예상질의응답 3순위 : 코딩테스트 ============================================================================ 08:00 ~ 09:00 : 아무것도 안함 --> 왜 일찍 일어났니?ㅋㅋ 09:00 ~ 11:30 : 여성인력센터 상담사가 요구한 이력서 변경 완료 및 제출 11:30~12:30 : 외출준비 13:00~15:00 : 외출 15:30~18:30 : (학원) 포트폴리오 제작 --> 내일이면 끝낼 수 있겠어! 20:00~21:00 : 식사 21:00~22:00 : 휴식(강식당) [느낀점] - 생각보다 시간은 빠르다. - 어제 비와서 뭘해도 집중이 잘 안되었었는데 오늘은 하늘이 맑아지면서 ..

JDBC 1일차 (DB 연동, 삽입, 수정, 삭제) [내부링크]

오라클 자바 DB 연동하기 * JDBC(JAVA DataBase Connectivity) -- 자바에서 데이터베이스에 접속할 수 있도록 해주는 자바 API(설명서) * JDBC 드라이버 연결(2가지 방법) 1. 자바가 설치된 경로에 직접 JDBC 드라이버 집어넣는 방법 -- 학원에서 실습 O 2. 이클립스에서 JDBC 연결하는 방법 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- * 자바가 설치된 경로에 직접 JDBC 드라이버 집어넣는 방법 1. JDBC 드라이버 ..

Oracle 17일차 (백업, 복구) (2) [내부링크]

3) 다른위치에 datafile복구(imsy) -- 하드디스크가 없거나 하드디스크가 복구가 안될때 ---------------------------------------- SYS@TestDB> create user st 2 identified by st 3 default tablespace users 4 temporary tablespace temp 5 quota 1m on users; 사용자가 생성되었습니다. ---------------------------------------- ---------------------------------------- SYS@TestDB> grant connect, resource to st; 권한이 부여되었습니다. ----------------------------..

Oracle 17일차 (백업, 복구) (1) [내부링크]

백업, 복구 백업 1.close 백업 -- 가장완벽, 가장 안전, shutdown 후 백업. 2.open 백업 --> 아카이브 파일이 활성화 되어있어야 한다. --> 로그파일에 있는게 다른 곳에 저장이 되어있어야하는데 그게 아카이브 파일 *로그파일은 백업불가. 계속 기록을 해야하기 때문에! *!cp 의 느낌표는 os의 명령어를 edit안에서 실행시키는 명령어 복구 (총 13가지) 1. noarchive mode--닫힌복구 - 편할라고 학원에서 사용 다른위치에 복구(imsy) 1. archive mode 완전복구(4가지) - 실제로 회사에서 쓰는 방법 1) 닫힌 데이터베이스 복구(System tablespace 문제시-shutdown) 2) 열린 데이터베이스 복구(일반 tablespace 문제시-off..

Oracle SQL 16일차 ( Rebuild (인덱스의 재구축), 제약조건지연, Profile, Previlege, Role 관리, SQLLDR) [내부링크]

Rebuild (인덱스의 재구축) 1. HR계정의 EMPLOYEES 테이블의 Tablespace 조회 2. EMPLOYEES 테이블 chaining 데이터 없음 3. HR계정 Tablespace : example/ users Tablespace 공간에도 데이터를 저장할 수 있게 설정 4. HR계정 사용할 테이블스페이스 변경 (users 테이블 스페이스도 사용할 수 있게 설정했기때문에 users로 변경 가능) 5. HR계정 사용할 테이블스페이스 example로 다시 변경 6. employee 테이블의 인덱스 정보 조회 7. Rebuild 실행 -- 모든 index를 Rebuild 시켜야한다 8. Rebuild 작업 후 UNUSABLE --VALID 변경됨 확인 ------------------------..

Oracle 15일차 (2) [내부링크]

ROW CHAINING AND ROW MIGRATION * Rowid : 테이블에 있는 해당 로우를 찾기위해 사용되는 논리적인 정보 data object number : 만들어진 순서. AAASRg -- DATA OBJECT NUNBER AAE -- 파일의 번호 (상대적) AAAAIM -- 블럭 번호 AAA -- 행의 번호 : 몇번째 행에 저장되어 있는지에 대한 정보로 해당 정보로 정렬작업을 함. -- ↓↓↓↓ Division 테이블 행에 대한 정보 * ROW CHAINING -- CHAINING은 관리자가 막을 수 없고, 발생했을때 관리 해줘야한다. -- varchar 데이터 타입일때 해당. * ROW MIGRATION -- CHAINING 일어난 데이터를 MIGRATION 하기 1. analyze..

Oracle 15일차 (1) [내부링크]

TABLESPACE 1. DB_Cache_Size 설정에 따른 Tablespace 생성 가능과 불가능 * DB_Block_Size 확인 * Cache_Size 확인 * sga영역의 사이즈 확인 * DB_Cache_Size 변경 -- DB_cache_Size 변경 후 내가 사용하고자 하는 db_' '_cache_size 변경해야 한다. * DB_Cache_Size 변경 확인 * Tablespace 생성 시 Cash_size 설정 1) Tablespace 생성 및 Cash_Size 설정 가능. 2) Tablespace 생성 및 Cash_Size 설정 불가. -----------------------------------------------------------------------------------..