오픈 API 출처 정리

Posted by HULIA(휴리아)
2017. 2. 12. 01:42 뒷이야기들/서비스

1. 영화 API

영화진흥위원회 API

http://www.kobis.or.kr/kobisopenapi/homepg/main/main.do

 

요기는 외국 사이트 인듯

http://www.omdbapi.com/

url = [apiBase 't=' movieName '&plot=full&tomatoes=true'];

 

다음, 네이버 API를 통해서도 가져올 수 있을듯

 

 

 

 

2. 주가정보 API

코스콤 API

http://open.koscom.co.kr/spt/cmm/mainView.do

 

한국예탁결제원 API

https://api.ksd.or.kr/pubc/pubr/cmm/CMPubrHome/main.do

 

 

 

 

 

 

3. 종합 API

공공데이터 포털

https://www.data.go.kr/

 

한국 예탁결제원 API

-주가정보

-기업정보

 

영화진흥위원회 API

 

 

커리어넷 진로직업정보

-학교정보 API

-직업정보 API

-학과정보 API

-진로상담 사례

-진로자료

 

 

 

 

국토교통부

-건축물대장정보 API

-용도지역지구도 API

-부동산 가격정보 API

-공공주택관리비 API

-토지이용 계획도 API

-토지정보 API

-건축인허가 정보

-농업기반시설도

-공동주택 입찰 및 결과 정보

 

 

 

 

 

한국감정원

-아파트 실거래 가격지수

-부동산 월세가격 지수 현황

-주택거래 현황

-부동산 전세가격 지수 현황

 

 

 

 

 

 

 

국민연금 가입 사업장 내역 API

국민연금 가입현황

국민연금 수급현황

 

 

 

 

상권 상가 정보 API

 

생필품 가격정보 API

 

한국인체지수 API

 

우리동네 보육시설 정보 API

어린이집 정보 API

 

학자금 대출 통계 API

 

 

국가자격 종목 목록 정보 API

국가기술자격 종목별 시험정보 API

국가기술자격 종목별 자격정보 API

국가기술자격 시험 시행일정 API

 

공영 주차장 현황 API

 

한국의 통계 주요지표 API

 

공공 데이터 개방 현황 API

 

국내 관광정보 서비스 API

 

국회도서관 소장정보 API

국립중앙도서관  소장정보 API

서울특별시교육청 공공도서관 소장도서정보 API

 

티켓할인정보 조회 서비스 API

 

국회의원정보 API

 

캠코 공매물건 조회서비스 API

캠코 물건정보조회 서비스

캠코 이용기관 공매물건 조회 서비스

캠코 정부재산공개조회 서비스

 

 

 

 

 

친환경 인증 정보 API

농축산물 소득정보 DB  API

농산물 주요품목 가격 API

품종정보 API

작목별 농업기술정보 서비스 API

농축산물 소득정보 API

주간농사정보 서비스 API

품목별 관리 메뉴얼 서비스

농산물 이력관리 정보 조회 서비스

농수축산물 품목별 상세조사가격

농수축산물 도매시장 상세 경락가격

농산물 이력추적정보

농산물이력관리정보연계서비스

 

 

 

 

 

 

 

 

대학 강의 정보 API

 

건강기능 식품 API

 

전세자금 대출정보 API

 

건물정보 API

 

경락가격정보 API

 

워크넷 채용정보 API

 

실시간 경매속보 서비스 API

 

전국 자동심장 충격기 정보 조회 서비스

 

산정보(산림문화 휴양정보) API

 

국가별 기본정보 API

 

승강기 정보 및 검사이력 서비스 API

 

한국예탁결제원 금융용어 조회 서비스 API

 

제주도 여행지도 정보 서비스 aPI

제주도 여행정보 서비스

 

 

금감원 공시목록정보

 

품목별 국가별 수출입 실적

 

공공자전거 운영 현황

 

****보육료 계산 서비스

 

대학경쟁력 알림 서비스

 

고속도록 휴게소 현황

고속도로 주유 가격정보

 

 

 

법제처 국가법령정보 공유 서비스

 

KOICA ODA 사업 정보

 

지하철 예술 무대 공연일정

 

LH

-LH공고

-토지청약

 

 

 

 

****모범음식점 현황

 

****경기도 공중화장시 현황

 

****사건사고 현황

 

***무더위 쉼터 현황

 

기관조사가격서비스

 

***발전기 실시간 운영정보

전력판매 총괄현황

전력시장가격 정보

 

 

 

국가보훈처 독립유공자 정보

 

생활법령 백문백답 서비스

 

경마장 성적정보

최근 경주마 정보

경주 출전표 정보

경마장 기수정보

경주마 훈련현황

조교사 정보

주행심사결과 정보

말등록정보

승마시설정보

 

 

 

 

 

 

 

 

 

 

 

 

 

산/사찰/휴양림 정보

 

출입국 관광통계서비스

 

대한민국 공공서비스 정보

 

한국직업방송 프로그램

 

 

건물 에너지 사용량

 

경기도 물류 관련업 정보

 

한국전통 식품정보

 

제주도 관광지명 검색 서비스

관광자원 정보

 

 

대학공시정보

대학공시정보 코드조회

 

 

 

판례정보

판례검색

 

 

전국 어린이 놀이시설 정보 서비스

 

공장등록 현황

 

국민행동요령

 

KCI 논문정보

 

관광자원통계서비스

 

생활법령검색조회 서비스

 

통신판매사업자정보

 

스포츠센터 운영현황

 

검진기관 찾기

 

남도음식명가 찾기

 

일모아 참여자 모집 정보

 

자동차 배출가수 및 소음인증

 

평생교육시설 현황

 

공연전시목록(한국문화예술위원회)

 

산업품목 코드 정보

 

색채정보

 

숲 서비스/둘레길 정보 및 산정보 

 

공유재산 현황

 

먹을거리 dB

 

특용작물 생산통계

 

국가표준 식물목록 서비스

 

사회적 기업 리스트

 

공공취업정보 조회

 

특산물 정보

 

자동차 관련업 현황

 

제품인증

 

예비군 훈련장 안내

 

해외농산물 가격 정보

 

제주도 역사자료 정보

 

식품의약품안전처 의료기기 관련 정보

 

지방자치단체 재정여건

 

건강보험심사평가원 병원정보 서비스

 

해외특허 공보

 

검진기관별 정보제공

국가건강검진기관정보 코드조회

 

서울시교육청 평생학습 강좌정보

 

예술지식 카테고리 정보 서비스

 

산업기술혁신사업 지원과제 DB

 

고속도로 휴게소 대표음식 현황

 

기술은행 기술정보 DB 서비스

기술은행 기부/나눔 기술정보 DB

 

 

우유 및 유제품 생산소비현황

 

제주도 특화거리 정보 서비스

 

기부관련 단체정보 서비스

 

복지서비스 정보

 

약용식물 정보

 

 

관광산업 통계 서비스

 

공유(만료)저작물 서비스

 

 

CCTV 설치현황

 

전문연구 / 산업기능요원 지정업체 정보

 

신제품 인증

 

농기계 보유 현황

 

명산등산로

 

축산물품질평가원 축산물유통정보

 

의료기기 판매(임대)업체 현황

의료기기 허가정보 조회

 

 

오픈소스SW프로젝트정보 서비스

 

예술지식 연극정보 서비스

 

 

정부기술기준

 

제주도 모범음식점정보 조회 서비스

 

관광가이드북 정보

 

한국전통 약재정보

 

공동주택 에너지 사용 정보

 

ICT동향정보 메타정보

ICT 분석리포트 메타정보

ICT 산업통계 서비스

ICT 정기간행물 메타정보

ICT 통계 간행물 메타정보

 

 

 

 

 

 

예방접종 정보

 

저작권등록정보 서비스

 

 

창업활성화 촉진 지원 아이디어 DB

창업넷 콘텐츠

 

 

 

경기 콘텐츠기업 현황

 

행정자치부

-지방자치단체 부채 및 채무 현황

-지방자치단체 행정운영경비 현황

-지방 공기업 부채 현황

 

 

 

 

 

 

의료기기업체 허가정보 조회

 

특허/실용신안 공보

 

국방부 PX 인기상품 정보

 

경기도 유흥업체 현황

 

한국제품인정제도

 

적격대출금리 정보

 

예술용어사전조회서비스

 

ISO 표준

 

건강기능식품 제주 유통업 현황

 

 

국가보훈처 보훈대상자 취업정보

 

물가정보 현황

 

설문조사조회서비스

 

SW산업통계서비스

 

친환경 인증 통계 현황

 

농식품산업동향

 

전통시장 현황

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

국가통계포털(KOSIS)

https://www.data.go.kr/

 

 

기술표준정보은행

http://www.ibtk.kr/oper/info/intro/

 

DATA를 사고 파는 곳

 

 

 

 

 

photoshop 관련 정리

Posted by HULIA(휴리아)
2017. 1. 22. 11:21 프론트엔드/그래픽디자인_퍼블리싱

모서리 둥굴게

http://blog.naver.com/PostView.nhn?blogId=genwebs&logNo=110008909706

 

 

글자색 바꾸기

http://tip.daum.net/question/52918070

 

 

색상 추출

http://simri0908.tistory.com/121

 

 

 

 

 

 

 

키보드마우스관련 정리(주로 기계식)

Posted by HULIA(휴리아)
2017. 1. 21. 16:43 뒷이야기들/하드웨어제품_팁_사용후기

1. 접점방식

(키보드의 접점 방식이란 키가 눌리는 방식을 말합니다.)

 

키보드는 겉에서 볼 때에는 100여개의 키가 다 똑같아 보이지만 내부에서 동작하는 방식은 여러가지가 있습니다.
키를 눌렀을 때 이 키가 어떻게 신호를 전달하는지 또는 키의 구조에 따라 접점 방식이 바뀌게 되며, 흔하게 사용하는 방식은 크게 4가지입니다.

 

-기계식:

기계식(Mechanical)방식은 멤브레인과 달리 키 하나하나에 모두 스위치를 달아서 정확한 타이핑과 높은 내구성을 자랑합니다. 스위치 제조사 및 종류별로 특징이 달라 다양한 사람들이 원하는 타건감을 충족시킬 수 있습니다.

 

키 하나하나에 스프링이 들어 있는 스위치가 탑재되어  있어서 키의 정확도를 올리고 키감이 좋으며 입력속도가 빠르다는 장점이 있습니다.

하지만 멤브레인 방식에 비해 무게가 무겁고 제작 공정이 복잡하며 많은 부품이 들어가기 때문에 보통 10만원이 넘습니다.

기계식 키보드도 종류가 많은데, 스위치의 색에 따라 갈축/적축/청축/흑축으로 나뉘어집니다.

 

-멤브레인:

멤브레인(Membrane)방식의 키보드는 키 바로 밑에 러버돔이라고 불리우는 고무막과 그 아래에 있는 접점 패드로 구성되어 있습니다. 키를 누르면 러버돔이 밀리면서 접점 패드와 맞닿게 되며, 회로에 전기가 흐르면서 입력되는 방식입니다.

 

멤브레인 방식의 키보드는 가장 흔하게 접할 수 있는 키보드입니다.

멤브레인 키보드는 내부에 2장의 얇은 필름이 있으며 이 필름의 한쪽면을 눌러서 두 필름이 맞닿으면 전기가 통하면서 키가  눌러지는 방식을 사용합니다.

필름 자체가 회로이고 구조도 간단해서 제작 비용이 저렴하며 대량 생산에 용이하기 때문에 키보드 자체의 가격도 저렴한 편입니다.

 

-플런저:

플런저(Plunger) 방식의 키보드는 입력 방식이 멤브레인과 흡사합니다.  슬라이더가 러버돔을 더 깊게 누르면서 압력과 반발력이 높아진 제품으로, 어느 정도 기계식 키보드의 느낌을 낼 수 있습니다.

 

일반적인 멤브레인 방식보다 키감이나 반발력 등이 향상된 접점방식입니다. 기계식 키보드(흑축)을 누르는 듯한 느낌을 받을 수 있습니다. 멤브레인과 기계식 접점의 중간쯤 키감을 받을 수 있는 방식입니다.

 

-펜타그래프:

펜타그래프(pentagraph) 방식은 키보드의 키캡을 X자 형태의 구조물로 지지를 하는 방식으로 주로 노트북용 키보드에서 사용되고 있습니다.

 

펜타그래프 방식의 키보드는 노트북에서 사용하던 키보드 방식입니다. 최근에는 데스크탑용으로도 출시가 되고 있으며, 특징은 멤브레인이나 기계식 키보드에 비해 매우 슬림하다는 것입니다.

펜타그래프 키보드의 키캡은 낚시 의자 모양의 'X'자 지지대를 통해서 눌려집니다.

이 지지대의 높이가 낮기 때문에 전체적으로 펜타그래프 키보드는 높이가 낮기 때문에 슬림 키보드 제작에 많이 사용되어 집니다.

 

-무접점 방식

무접점 방식은 말 그대로 전극과 스위치의 접점이 없다는 말입니다.
키가 일정 수준까지 눌리면 전압의 차이를 회로가 인식하여 입력이 가능한 구조입니다.

 

일반적인 키보드의 경우 키가 전극이 접하는 곳까지 눌려야 입력이 인식되는 방식인데 무접점 방식의 경우는 키가 접점시까지 도달하지 않고 일정 수준까지 키가 눌리면 전압의 차이를 회로가 인식하여 입력이 가능한 구조입니다. 키 터치가 미끄러지듯 가벼우며 빠른 타이핑에 효과적이고 기존 접점방식에 비해 입력 오류가 상대적으로 적은 것이 장점입니다.

 

 

 

 

 

2. 키 스위치

키 스위치란 기계식 키보드에 들어가는 스위치의 종류를 말합니다.

기계식 스위치는 색으로 축을 구분하며, 각 축별로 특징이 모두 다릅니다. 주로 많이 쓰이는 축은 청축, 갈축, 적축, 흑축이며 키보드 개발사에서 자체개발한 축과, 잘 쓰이지는 않지만 은축, 스피드축 등도 있습니다. 

 

제조사마다 약간씩의 차이는 있으나 기계식 키보드의 원천기술을 보유한 Cherry사의 기준에 맞춰 자사의 키를 자체생산하는 KAILH스위치나 OUTEMU스위치 역시 축의 색깔별로 같은 특징을 보입니다.

 

주로 기성품에 사용되는 키 스위치 종류는 위에서 설명한 CHERRY, KAILH, OUTEMU 3개가 있으나, 최근에는 게이트론, TTC 등 주로 커스텀용으로 쓰이던 스위치를 이용한 기성품도 조금씩 등장하고 있습니다.

 

제조사와 축 별로 특징이 모두 다른만큼 사용환경이나 취향을 고려하여 구매를 하는 것이 중요합니다. 직접 타건해 보는 것이 가장 좋으나 여의치 않다면 타건 동영상이나 후기를 통해 합리적인 선택을 할 수 있도록 해야 합니다.

 

 

청축(클릭) 

적축(리니어) 

갈축(넌클릭) 

흑축 

 특징

찰칵거리는 클림음

경쾌한 타건감 

낮은 키압

적은 부담

스위치의 구분감

저소음

높은 키압

빠른 반발력

 용도

 PC방 등 소음에 민감하지 않은 장소

장시간 부드러운 타이핑

RTS 게임 

가정 및 사무실 

빠른 타이핑

리듬, FPS 게임 

 

 

 

 

3. 기계식 스위치

기계식 키보드 안에 탑재되어 있는 키 하나하나에 스프링이 들어있는 스위치를 말하며, 스위치의 종류에 따라 청축, 적축, 갈축, 흑축으로 구분할 수 있다. 현재 많이 유통되고 있는 기계식 키보드 스위치는 체리 스위치, kailh 스위치, Outemu 스위치가 있다.

 

 

-체리(CHERRY) 스위치

<체리 MX(Mechanical X-point)기술은 기계식 키보드의 표준입니다.>

 

기계식 키보드의 대명사 CHERRY는 1967년부터 키보드를 제작하여 세계에서 가장 오래된 키보드 제조사입니다. 각종 연구개발과 실험을 통해서 기계식 키보드의  원천 기술을 가진 가장 대표적인 스위치로 이름이 높습니다.

 

주요 축인 청∙갈∙적∙흑축의 경우 라이센스가 풀려 KAILH 및 OTEMU에서도 색상별로 비슷한 특징을 가진 축을 자체생산하고 있으며 새로 개발된 녹축이나 스피드축 등의 스위치는 대중화되지는 않았으나 아직까지는 CHERRY에서만 독자생산하고 있습니다. (RAZER 키보드의 녹색 스위치와 체리 녹축은 가진 특징이 다릅니다)

 

체리스위치를 채택한 키보드의 경우 대부분 가격이 10만원대로 높은 편이지만 원조의 품질과 명성을 인정받는 고급 키보드라고 보셔도 무방합니다.

 

-카일(KAILH) 스위치

KAIHUA ELECTRONICS 사에서 만든 기계식 키보드 스위치로 처음에는 Cherry 스위치의 아류작으로 평가를 받았지만 꾸준한 제품 개량과 게이밍기어 전문회사인 RAZER 사와의 공동개발을 통해 제품의 품질 또한 크게 향상이 되었다.

 

특히 제닉스의 기계식키보드 제품에 탑재되면서 한국의 많은 소비자들에게 알려지게 되었다. 합리적인 가격과 게이밍에 적합한 스위치라는 평가가 주로 이루고 있다.

 

 

-오테뮤(OUTEMU) 스위치

중국의 GAOTE사가 만든 기계식 스위치로 다른 스위치와 다르게 투명 하우징과 불투명 하우징 버전 두가지로 나눠진다. 최근 한국에 Outemu 스위치를 탑재한 기계식키보드가 출시하였으며, 보급형 기계식키보드 제품에 탑재되어 있다.

 

Outemu 스위치는 Kailh 스위치와 비슷하지만 더 묵직함 키압을 가지고 있고, 소음 또한 대체적으로 다른 스위치에 비해 크다는 특징이 있다.

 

 

4. 외형 및 구조

-스텝스컬쳐2

키보드 타이핑 구조방식은 스텝1 -> 스텝2 -> 스텝스컬쳐1 -> 스텝스컬쳐2 방식으로 변화하였으며, 키보드의 키캡의 높이가 아래에서 위로 계단식으로 차이가 나는 배열을 말합니다. 키캡의 높이와 각도에 차이를 두어 인체공학적으로 타이핑하기 편하게 만든 키보드 구조입니다.

 

 

-비키스타일

OTD 키보드 동호회에서 제작된 공제 하우징에서 유래한 스타일로 최근 많은 키보드가 비키스타일로 제작되고 있다.
 일반 키보드는 키캡이 하우징 안으로 들어가 있으며 테두리가 있는 디자인이라면, 비키스타일 키보드는 키캡이 전부 드러나 있으며 테두리가 없다는 특징을 가지고 있다. 일반 키보드보다 더 깔끔하고 스타일리시한 느낌을 가지고 있어 많은 사람들이 선호한다.

 

 

-텐키레스(텐키리스) 키보드

텐키레스 키보드는 키보드의 텐키부분(숫자키패드)부분이 제외된 키보드를 말합니다. 덴키가 없어서 사이즈가 보편적으로 사용하는 키보드보다 크기가 작습니다. 주로 전용 게이밍키보드로서 많이 사용되며, 가격 또한 일반 키보드에 비해 저렴한 편입니다.

 

 

-체리식 스테빌라이저

스테빌라이저는 키캡이 스위치보다 큰 경우에 사용되는 구조물로 일반 사이즈보다 큰 키보드의 스페이스바, 시프트 키, 엔터키, Ctrl 키, Alt 키에 들어가며 스테빌라이저가 없으면 캐킵이 흔들리며, 측면에 입력 시 키캡이 휘어져 키캡이 망가질 수 있다.

 

스테빌라이저에는 대표적으로 체리식 스테빌라이저 방식이 있으며, 체리식 스테빌라이저의 경우 내구성이 우수하고 소음이 작고 키캡 교체가 편리하다는 장점이 있지만, 스테빌라이저의 구조 때문에 묵직한 키감과 반응이 늦다는 단점을 가지고 있다.

 

 

5. 키캡

 

 ABS키캡

PBT키캡 

POM키캡 

 장점

더 가볍고 얇게 만들어 진다

소리도 경쾌하다

ABS에 비해 열에 강하고 내구성도 뛰어나다

오래써도 ABS처럼 번들거리지 않는다 

 PBT보다도 내구성이 뛰어나다

 단점

내구성이 좋지 않다

쉽게 번들거린다

 ABS보다 두꺼워 조금 반응속도가 느려지고 소리가 작아진다

ABS키캡보다 비싸다

 

 

 

 키캡 각인방식

-염료승화 방식 : 고온으로 가열된 염료를 키캡에 침투시켜 각인을 넣는 방식. 오랜기간 각인이 유지

-레이저 각인 방식 : 각인이 쉽게 지워질 수 있다

-이중사출 방식 : 반영적으로 각인이 유지

 

 

6. 브랜드 및 인지도

고급 : 리얼포스

가격대 20만원대 이상

 

중급 : 필코, 커세어, 레오폴드

가격대 15만원대 이상

 

입문급 : 한성, ABKO, 샤오미, 로지텍

 

키보드 매니아 사이트 참조

 

측각도 고려

 

7. 가성비 키보드 & 마우스

-풀배열(104키) 기계식

레오폴드 FC900R 스탠다드 PBT 블랙 영문 측각 (넌클릭, 갈축)  104,970

http://prod.danawa.com/info/?pcode=2851778&cate=112782

 

CORSAIR STRAFE 갈축 143,700
CORSAIR STRAFE RGB   갈축 188,420

CORSAIR K70 RAPIDFIRE Mechanical Gaming Keyboard  적축  175,000

CORSAIR VENGEANCE K70  갈축 166,860

CORSAIR GAMING K70  갈축 168,000

CORSAIR K70 LUX BLUE LED   적축 165,300

CORSAIR K70 LUX   갈축 173,000

CORSAIR STRAFE SILENT RGB  사일런트축 179,950

 

(비키스타일)

한성컴퓨터 GTune MKF14S XRGB 59,900

한성컴퓨터 GTune MCF7  56,900~99,000

한성컴퓨터 GTune MKF30 Rainbow 기계식키보드 36,900

 

 

-풀배열(104키) 무접점

Abko Hacker K965 55g 77,900

한성 GTune Chf7 officemaster 45g 75,700

 

-텐키리스(87키) 멤브레인

한성컴퓨터 GTune MBL35 (스페이스 그레이/블랙 투톤) 29,700

 

-텐키리스(87키) 기계식

앱코 Hacker K520 인피니티 텐키리스 RGB 기계식 갈축 61,750

한성컴퓨터 XK1L BossMonster KLv.76 60g  62,000

 

-텐키리스(87키) 무접점

Abko hacker k935p 무접점 pbt 생활방수 텐키리스 45G 99,500(v2 102,500)

한성 GTune CHL8 HappyTypist 50g  89,000

 

 

 

 

 

 

 


 



자주 사용하는 스프링 annotation

Posted by HULIA(휴리아)
2017. 1. 20. 22:58 백엔드개발/자바스프링

@autowired

 

 

@controller
@transactional
@requestmapping

 

@responsebody
@requestparam
@requestbody


@service

 

@repository
Dao sql 호출

 

@path
@post
@producemime

 

 

@component
@value

 

 

@xmlaccessortype
@xmltype
@xmlelement
@xmlrootelement

자바 유용 클래스

Posted by HULIA(휴리아)
2017. 1. 20. 22:56 백엔드개발/자바스프링

1. StringTokenizer

문자열을 파싱할때 유용할 클래스

 

 

 

 

2. Bigdecimal

소수점이하를 정확하게 나타낼 때 유용한 클래스

 

 

 

 

3. SimpleDateFormat

날짜를 원하는대로 출력할 때 유용한 클래스

 

 

 

4. Uri.builder

url을 구성할때 유용한 클래스

 

ex)http://api.example.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=7

 

final String FORECAST_BASE_URL =
    "http://api.example.org/data/2.5/forecast/daily?";
final String QUERY_PARAM = "q";
final String FORMAT_PARAM = "mode";
final String UNITS_PARAM = "units";
final String DAYS_PARAM = "cnt";

 

Uri builtUri = Uri.parse(FORECAST_BASE_URL)
    .buildUpon()
    .appendQueryParameter(QUERY_PARAM, params[0])
    .appendQueryParameter(FORMAT_PARAM, "json")
    .appendQueryParameter(UNITS_PARAM, "metric")
    .appendQueryParameter(DAYS_PARAM, Integer.toString(7))
    .build();

 

 


 URL url = new URL(builtUri.toString());

 

 

 


private Uri buildURI(String url, Map<String, String> params) {

    // build url with parameters.
    Uri.Builder builder = Uri.parse(url).buildUpon();
    for (Map.Entry<String, String> entry : params.entrySet()) {
        builder.appendQueryParameter(entry.getKey(), entry.getValue());
    }

    return builder.build();
}

 

 

막강한 기능을 가진 프론트 무료 텍스트 에디터 기능들 요약 브라켓 아톰 서브라임 비주얼스튜디오코드

Posted by HULIA(휴리아)
2017. 1. 20. 22:24 호스팅_서버_툴/툴

****필수 인스톨 패키지도 같이 적어두기



공통점

다양한 OS 지원

-윈도우, 맥, 리눅스




1. 비주얼 코드(MS에서 개발)

-플러그인등을 설치안해도 기본으로 제공되는 기능이 많다(code compare 기능 제공

-강력한 CSS 유효성 체크 기능

-많은 사이드바 위치 표시 기능

-안정성, 속도가 ATOM보다는 빠르다(주관이므로 참고)

-쓸만한 문서비교 기능

-다양한 언어 지원가능한 플러그인 설치 가능

-IDE 부럽지 않은 디버깅 기능

-강력한 IntelliSense 지원


 

공식사이트

https://code.visualstudio.com 




2. 브라켓(Adobe에서 개발)

-크롬 브라우저를 통해서 실시간 코딩하는 화면을 볼 수 있다

-OS따라서 환경이 거의 동일하다

-자동완성기능 제공

-테마와 플러그인 제공

-무료이다(MIT라이센스)

-포토샵과 일러스트레이터랑 연동이 된다

-컬러값을 쉽게 사용할 수 있다

-빌드라던지 등등 쓰기 힘들다(개발자에겐 어울리지 않음)


공식사이트

http://brackets.io/


플러그인

-Emmet(젠코딩)

-Beautify(코드정렬)



 

 

3. 아톰(Github에서 개발)

-많은 플러그인을 설치하면 느려지는 단점이 있음(오류도 간간히)

-너무 많은 업데이트



공식사이트

https://atom.io/



플러그인

-atom-beautify(코드정렬)

-docblockr(주석포멧)

-emmet(젠코딩)

-minimap(작업중인파일미니맵)

-open-in-browser(html파일을 브라우저에서 열어보는플러그인)

-run-in-atom(아톰 에디터에서 스크립트를 돌려볼 수 있는 플러그인)

-seti-icon(아이콘)

-split-diff(diff및 변경이력)

-color-picker(컬러)

-markdown-preview-plus

-linter(html, css, javascript 유효성 검증)


플러그인 관련 글

https://gomugom.github.io/atom-packages/


 

 

4. 서브라임(Sublime에서 개발)

-무료도 계속 쓸 수 있지만 팝업이 뜨면서 유료로 결제하길 원한다

-속도면에서보면 위의 에디터에서 가장 빠르지 않을까(주관적임)

-FTP를 에디터에서 사용할 수 있다(플러그인 제공)

-포터블 버젼 제공


공식사이트

http://sublimetext.com

 

플러그인

-ConverToUTF8(인코딩)

-emmet(젠코딩)

-

프로그래밍 언어 순위 현황 확인

Posted by HULIA(휴리아)
2017. 1. 6. 17:13 뒷이야기들/스터디히스토리강의

1. github

https://github.com/blog/2047-language-trends-on-github

 

 

1-1. githut

http://githut.info/

 

 

 

2. stack overflow

http://jkunst.com/r/what-do-we-ask-in-stackoverflow/#the-topics-this-year

 

http://stackoverflow.com/research/developer-survey-2016

 

 

3. Tiobe index

(대중적인 언어에 대한 인덱스이며 전문프로그래머 수 와 구글,야후,위키디피아 ,유튜브, 바이두 등을  이용하여 지수를 매기며 가장 좋은 언어라든지 가장 많이 코딩된 언어를 말하지 않습니다)

http://www.tiobe.com/tiobe-index/

 

기준 : http://www.tiobe.com/tiobe-index/programming-languages-definition/

 

 

 

4. redmonk

(깃허브와 스택오버플로우 기반으로 순위를 매깁니다)

http://redmonk.com/sogrady/category/programming-languages/

 

 

 

5. codeeval

http://blog.codeeval.com/codeevalblog/2016/2/2/most-popular-coding-languages-of-2016

 

 

6. IEEE Spectrum

Interactive: The Top Programming Languages 2016

http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016

리눅스 관련 유용한 명령어들 정리

Posted by HULIA(휴리아)
2016. 9. 1. 22:01 호스팅_서버_툴/서버

문구를 파일에 추가할때

echo [파일에 추가할 텍스트] >> [파일명]


현재디렉토리에서 디렉토리만 보기

find . -type d


파일의 내용 검색하기

grep [검색할 문구] [파일명]


파일의 내용 검색해서 갯수 표시

grep -c [검색할 문구] [파일명]


ksh에서 자동완성

ESC + \ 


bash에서 자동완성

tab


tail 거는 도중에 로그 중지/재생

ctrl+s(로그중지)

ctrl+q(로그재생)

 

 

 

문자열 파일의 맨뒤에 추가

 

echo 문자열 >> 파일이름

 

공인 아이피 찾기

nslookup 도메인


워드 카운트

wc -l

 

파일 오픈 설정 갯수 확인
ulimit -a

 

CPU 점유율(상위 전체를 봐야 한다)

top

 


 

Form에서 Submit시에 서버에 전송중입니다 애니메이션 띄우고 진행하는 모듈

Posted by HULIA(휴리아)
2016. 8. 19. 01:16 프론트엔드/그래픽디자인_퍼블리싱

Html

<!DOCTYPE html>

<html>

<head>

<link rel="stylesheet" href="" />

<script type="text/javascript" src="" />

<script type="text/javascript">

$(document).ready(function (event){

setTimeout(timeout.1800000);//30분


$('btnSending').click(function (event){

sending();

});

});



function sending(){

ajaxindicatorStart('서버에 요청중입니다.');

resetTimeout();

document.sendFrm.action="send";

document.sendFrm.submit();

}


function resutTimeout(){

setTimeout(timeout.1800000);//30분

}


function timeout(){

location.href="/xxx/logout";

}

</script>

</head>

<body>


<form name="sendFrm" method="POST" ENCTYPE="multipart/form-data">

<input type="button" id="btnSending" class="" value="발송" />

<input type="reset" id="" class="" ="발송" />


</form>


</body>

</html>



Javascript

function ajaxindicatorstart(text) {

if(getInternetExplorerVersion() == 7) {

return ;

}

if(jQuery('body').find('#resultLoading').attr('id') != 'resultLoading'){

jQuery('body').append('<div id="resultLoading" style="display:none"><div>'+text+'</div><div><img src="'+contextPath+'/resources/image/ajax-loader.gif"></div><div class="bg"></div></div>');

}


jQuery('#resultLoading').css({

'width':'100%',

'height':'100%',

'position':'fixed',

'z-index':'10000000',

'top':'0',

'left':'0',

'right':'0',

'bottom':'0',

'margin':'auto'

});


jQuery('#resultLoading .bg').css({

'background':'#000000',

'opacity':'0.7',

'width':'100%',

'height':'100%',

'position':'absolute',

'top':'0'

});


jQuery('#resultLoading>div:first').css({

'width': '250px',

'height':'75px',

'text-align': 'center',

'position': 'fixed',

'top':'0',

'left':'0',

'right':'0',

'bottom':'0',

'margin':'auto',

'font-size':'16px',

'z-index':'10',

'color':'#ffffff'


});


    jQuery('#resultLoading .bg').height('100%');

       jQuery('#resultLoading').fadeIn(300);

    jQuery('body').css('cursor', 'wait');

}



function ajaxindicatorstop() {

if(getInternetExplorerVersion() == 7) {

return ;

}

    jQuery('#resultLoading .bg').height('100%');

    jQuery('#resultLoading').fadeOut(300);

    jQuery('body').css('cursor', 'default');

}

스프링 AOP(Aspect Oriented Programming) 로그인 설정

Posted by HULIA(휴리아)
2016. 8. 19. 00:47 백엔드개발/자바스프링

스프링에 AOP(Aspect Oriented Programming) 설정을 통해서 로그인 세션을 처리해 보는 로직을 구현해 보고자 한다


AOP(Aspect Oriented Programming)는 스프링에서 Interceptor와 비슷한 기능을 가진 기능이다


Interceptor는 서블릿 기반으로써 서블릿 실행 전, 실행 후 등으로 그때마다 어떤일을 할지에 대해서 정할 수 있다 

그리고 주소(url)로만 대상을 지정할 수 있다


그에 반해 AOP(Aspect Oriented Programming)는 메소드 기반으로써 메소드 이전, 메소드 이후 등으로 그때마다 어떤일을 할지에 대해서 정할 수 있다.

그리고 주소(url) 뿐만 아니라 파리미터, 어느테이션 등 다양한 방법으로 대상을 지정할 수 있다.



AOP(Aspect Oriented Programming) 구성요소

-어드바이스(advice)

-포인트컷(point cut)

-조인 포인트(join point)




어드바이스(advice)

작업에 대해서 언제 그 작업을 수행해야 하는지 정의를 해준다

-before : 메소드 호출되기 전에

-after : 메소드 호출되고 난 후

-after-returning : 메소드가 성공적으로 완료된 후

-ater-throwing : 메소드가 예외를 던진 후



포인트 컷

어떤 클래스의 어느 조인포인트를 사용할 것 인지 정의를 해준다



조인포인트

작업에 대해서 동작할 수 있는 실행 가능한 특정위치




AOP(Aspect Oriented Programming) 필요라이브러리

-asm-3.3.1.jar

-aspectjweaver-1.6.11.jar

-cglib-2.2.jar

-aopalliance-1.0.jar





AOP(Aspect Oriented Programming) 스프링 설정(xml파일)

<beans xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">


<aop:aspectj-autoproxy />

<bean id="LoginAspect" class="com.my.app.main.aspect.LoginAspect">

</bean>




AOP(Aspect Oriented Programming) 클래스(java파일)

@Aspect

public class LoginAspect{

@Pointcut("execution(public * com.my.app.main.controller.*Controller.*(..))")

private void test(){}



@Around(value="test()")

public Object trace(ProceddingJoinPoint joinPoint) throws Throwable{


HttpServletRequest request= null;

for(Object o:joinPoint.getArgs()){

if(o instanceof HttpServletRequest){

request = (HttpServletRequest) o;

}

}


//로그인을 체크해야 하는 페이지

if(reqeust!= null){

String strUrl = request.getRequestURL().toString();



//로그인 페이지 제외

if(!strUrl.endsWith("/login")){

//세션체킹

HttpSession session = request.getSession();


String loginId = (String) session.getAttribut("LoginId");

if(loginId == null || "".equals(loginId)){

return "로그인페이지";

}

}

}//request가 null이 아니라면


//controller에서 httprequest가 없거나 /login페이지라면

Object result = joinPoint.proceed();

return result;

}

}




AOP(Aspect Oriented Programming) 또 다른 방식의 스플링 설정(xml파일)

<bean id="guide" class="com.my.aspect"></bean>

<aop:config>

<aop:aspect id="guideAspect" ref="guide">

<!-- 실행하게될 범위를 설정한다-->

<aop:pointcut expression="execution(public * com.my.do..*(..))" id="publicMethod" />



<!-- 실행되는 모든 시점-->

<aop:around method="guide" pointcut-ref="publicMethod" />

</aop:aspect>

</aop:config>


<!-- execution 예제들 -->

<!--리턴타입 void 메소드 이름이 set으로 시작하고 파라미터가 0개 이상인 메소드-->

<aop:pointcut expression="execution(public void set*(..))" />


<!--com.my.test패키지의 파라미터가 없는 모든 메소드 호출-->

<aop:pointcut expression="execution(* com.my.test.*.*())" />


<!--com.my.test 패키지 또는 하위의 패키지에 있는 파라미터가 0개 이상인 메소드-->

<aop:pointcut expression="execution(* com.my.test..*.*(..))" />


<!--리턴타입이 String인 kkk인터페이스의 getSomething()메소드 호출-->

<aop:pointcut expression="execution(String com.my.test.kkk.getSomething())" />


<!--이름이 get으로 시작하고 1개의 파라미터를 갖는 메소드 호출-->

<aop:pointcut expression="execution(* get*(*))" />


<!--이름이 get으로 시작하고 2개의 파라미터를 갖는 메소드 호출-->

<aop:pointcut expression="execution(* get*(*,*))" />


<!--이름이 read로 시작하고, 첫번째 파라미터 타입이 Integer이며, 1개이상의 파라미터를 갖는 메소드 호출-->

<aop:pointcut expression="execution(* read(Integer,..))"  />