자바로 작성되어있는 .java 파일은 javac 컴파일러로 빌드하면 바이트코드인 .class 클래스 파일이 생성됩니다. 이 과정을 통해 생성되는 클래스 파일은 JVM에서만 해석할 수 있는 코드들로 작성되어 있어 해석을 하기 위해서는 .class 클래스 파일을 .java 자바 파일로 바꿔주는 디컴파일 과정이 필요합니다. 이번 포스팅에서는 자바 클래스 파일을 자바 파일로 디컴파일을 해주는 사이트를 소개하고자 합니다. 자바 클래스(.class)파일 디컴파일 사이트(javadecompilers) http://www.javadecompilers.com/ Java decompiler online www.javadecompilers.com 1. 위에 링크되어있는 Java decompiler 사이트에 접속합니다. 2...
정규표현식을 사용하다 보면 이 문법이 맞는지 아닌지 헷갈리는 경우가 있습니다. 또 언어마다 정규표현식이 조금씩 다른 부분도 있어 테스트를 많이 해야 합니다. 개발을 할 때 자체 테스트로 확인하는 방법도 있겠지만 오늘 소개해드릴 정규표현식 테스트 사이트를 사용하면 코딩 시점에서 정규식 문법이 맞는지 쉽게 체크하실 수 있습니다. 자주 사용하는 정규표현식 정규 표현식 설명 예제 ^[0-9]*$ 숫자 1234567890 ^[a-zA-Z]*$ 영문자 abcdefg... ^[가-힣]*$ 한글 가나다라마바사... \w+@\w+\.\w+(\.\w+)? E-Mail test@naver.com ^\d{2,3}-\d{3,4}-\d{4}$ 전화번호 02-1234-1234 ^[A-Za-z0-9]{6,12}$ 휴대전화번호 010..
혼자서 개인 프로젝트를 진행하다 보면 한계에 많이 부딪칩니다. 특히 디자인 부분에서 어려움을 겪는데요. 아무것도 없는 무의 상태에서 예쁘고 세련된 결과물을 만들기란 정말 어렵습니다. 게다가 하나의 기능을 만들 때마다 그에 맞는 UI / UX, 버그, 각종 이슈 등등 고려해야 할 것들도 한두가지가 아니죠. 이럴 때 남들이 이미 잘 짜 놓은 오픈소스를 잘 활용하여 조합한다면 훨씬 적은 노력으로 완성도 높은 프로젝트를 만드실 수 있으실 겁니다. 이번 포스팅에서는 오픈소스를 쉽게 다운로드 받을 수 있는 사이트에 대해서 추천해보고자 합니다. 오픈소스를 쉽게 받을 수 있는 사이트 목록 Bootstrap (https://getbootstrap.com/) Bootstrap은 세계적으로 반응형 웹 사이트 구축할때 사용되..
최근 개인적으로 여러 가지 프로젝트를 진행하면서 디자인도 신경을 써야 하는 부분이 생겼는데요. 저는 개인적으로 디자인 요소 중에 중요한 것을 한 가지 꼽으라면 바로 폰트라고 생각을 합니다. 폰트만 예쁜 것으로 바꾸어도 글의 가독성이 좋아지고 전체적인 디자인이 예뻐진다는 느낌을 받거든요. 하지만 폰트의 경우 상업적으로 사용이 가능한 폰트를 꼭 사용해주어야 저작권 관련 문제를 방지할 수 있습니다. 상업적 이용의 뜻은 기업에서도 사용이 가능하며 이 폰트들을 사용한 결과물로 생산활동을 해도 된다는 뜻을 의미합니다. 단 글꼴을 임의로 변형하거나 돈을 받고 글꼴을 판매하는 행위는 대부분 금지하고 있으니 이점만 참고해주시면 될 것 같습니다. 배달의 민족 글꼴 9종 배달의 민족을 운영하고 있는 ㈜우아한형제들에서 제작한..
개발을 하다 보면 인코딩이 잘못되어 문자들이 깨지는 현상이 많이 발생합니다. 경우에 따라서는 개발된 인코딩 방식을 바꿔야 하는 상황도 발생하는데 이때 유용하게 사용할 수 있는 인코딩 변환 사이트를 소개합니다. 자주 사용하는 UTF-8 / EUC-KR 방식뿐만이 아니라 다양한 인코딩 변환을 지원하고 있습니다. 문자열 인코딩 변환 사이트(https://dencode.com/) https://dencode.com/ 위의 사이트에 들어가셔서 변환 할 문자열을 넣고 사용하고 싶은 인코딩 방식으로 변환하시면 됩니다.
JSON이란? JSON은 JavaScript Object Notation의 약자로 name - value 한쌍으로 이루어진 네트워크를 통해 데이터를 주고받는 데 자주 사용되는 경량의 데이터 형식으로 생각하시면 됩니다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 특히 용량이 적어서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용합니다. 웹 개발을 하다보면 주로 Json형태로 데이터를 던지는 경우가 많이 있습니다. 이때 Json은 정확한 형식, 형태를 맞춰줘야 파라미터가 제대로 날아갑니다. [ , { , 이런 괄호부터, 쉼표까지 오류가 없는지 살펴봐야 하며 이러한 형식이 잘못되어 파싱 할 때나 API 연동할 때 종종 오류가 날 때가 있습니다. 하지만 Json은 괄호가 어지럽게 묶..
살다 보면 종종 파워포인트를 사용할 일이 생기고 PPT 자료를 만들게 됩니다. PPT는 시각적으로 디자인이 잘 되어야 좋은 PPT자료로 인정받을 수 있는데요. 이때 가장 쉽게 만드는 방법은 이미 잘 디자인되어있는 파워포인트 PPT 템플릿을 사용하는 것입니다. 이번 포스팅에서는 무료 PPT 템플릿을 받을 수 있는 사이트를 추천드립니다. 파워포인트(PPT) 무료 템플릿 다운로드 무료 사이트 URL 추천 개인 블로그 개인적으로 개인 블로그에서 디자인 한 PPT 템플릿이 한국적인 느낌에 감각적이고 디자인적 요소가 뛰어나다고 생각합니다. 개인 블로그는 회원가입이 필요없어 다운이 간편하므로 상업적인 용도로 사용할 것이 아니라 대학교 과제 정도를 수행하실 목적이라면 PPT 템플릿을 제공하는 개인 블로그에서 다운로드하..
수업의 강의자료를 사진으로 찍어 필기를 하거나, 어떤 그림이나 설명서, 혹은 종이문서에 있는 내용들을 스캔하여 그 안에 있는 정보들을 추출해야 하는 등의 이미지 안에 있는 글자들을 옮겨 적어야 할 경우들이 종종 발생합니다. 하지만 그림이나 종이 문서 스캔본과 같은 이미지화 되어있는 텍스트들을 직접 복사할 수 없어 컴퓨터에 일일이 타이핑해야 하는데 이 과정은 매우 번거롭습니다. 그렇기에 저는 이러한 경우가 발생하였을 때는 OCR 도구를 활용할 것을 추천드립니다. OCR 도구를 활용하면 문서를 디지털화시키고 텍스트 형식으로 변환할 수 있습니다. 이번 포스팅에서는 이 OCR을 활용하여 텍스트를 추출해주는 사이트에 대해 소개해드리고자 합니다. 변환 사이트를 활용하면 따로 프로그램을 다운받지 않아도 되어 매우 편..
재직 증명서란? 재직증명서는 재직증명서는 근로자가 회사에 소속되어 있다는 사실을 증명하기 위한 서류로써 본인이 어떤 직장에 소속되어 있으며, 어떤 직급과 직책을 맡고 있는지 등의 재직 사항을 증명할 수 있도록 고용하고 있는 회사(기관)가 보증하는 증명서를 말합니다. 재직증명서는 법적으로 표준화된 규정이나 서식이 있는 것은 아니기 때문에 일반적으로 회사에 따라 자사의 고유 서식을 사용하는 경우가 많고 국민연금 가입자 증명 등으로도 재직 증명서를 대체할 수 있습니다. 재직 증명서는 은행에 통장을 개설하거나, 정부의 지원금을 받을 때 재직증명서가 필요한 경우가 있는데. 대부분 인사팀에 이야기를 하면 재직증명서를 발급해주기는 하지만 혹시나 이직을 하는 것이 아닌지 괜한 의심을 받을 수 있기 때문에 그냥 인터넷에..
서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재합니다. 이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들겠죠? 서블릿은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이라고 생각하시면 이해가 빠를듯 합니다. 서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 이후 웹 서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성 후 서버에서 실행되다가 웹 브라우저에서 서버에 요청(Request)을 하면 요청에 맞는 동작을 ..
Web Service의 전체적인 흐름 웹 개발을 진행한다고 하면 위의 그림과 같은 구조로 시스템을 구성하게 됩니다. 전체적인 흐름을 보면 웹 브라우저에서 Web Server로 HTTP 요청을 보내고 정적 요청인 경우에는 즉각적으로 Web Server에서 응답을 합니다. 하지만 동적 요청인 경우에는 Web Sever에서 대응하지 못하고 Web Server에 연결되어 있는 Web Application Server 중 한 곳에 처리를 위임합니다. Web Application Sever는 Web Server에서 요청을 받게 되면 컨테이너가 응답하여 동적 콘텐츠를 삽입할 수 있는 프로그래밍 언어인 Java를 사용할 수 있게끔 JSP / Servlet을 실행한 뒤 DB에서 값을 가져오는 등의 동적인 값을 확정하고 ..
ARP(주소 결정 프로토콜)이란? 주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위해 사용됩니다. 처음 통신을 시작할 때는 상대방의 Mac Address를 모르는데 그때 상대방의 Mac Address를 알아내기 위하여 사용하는 프로토콜입니다. ARP는 요청과 응답으로 구성된 프로토콜로 라우팅 되지 않는 단일 네트워크에서만 동작하며. IP와 MAC 주소를 캡슐화하기 때문에 위의 그림과 같이 L2와 L3 사이에 있는 프로토콜이라고 생각하시면 됩니다. ARP 프로토콜과는 반대로 해당 MAC 주소에 맞는 IP값을 알아오는 프로토콜을 역순 주소 결정 프로토콜(Reverse Address Resolution Protocol, ..
인터넷이란? 인터넷이란 전 세계에 걸쳐 원거리 접속이나 파일 전송, 전자 메일 등의 데이터 통신 서비스를 받을 수 있는, 컴퓨터 네트워크의 시스템이라고 정의되어 있습니다. 인터넷은 접속하는 여러 디바이스가 이 거대한 망에서 상호간의 통신을 주고받고 데이터들이 오고 가면서 상당히 복잡한 과정의 절차를 거칩니다. 즉 인터넷이란 디바이스끼리 통신을 할 수 있는 네트워크라는 개념에서 조금 더 확장된 모든 디바이스가 통신을 할 수 있는 거대한 네트워크다 라고 생각할 수 있겠습니다. 그렇다면 각각의 디바이스끼리 어떻게 위치를 찾아가는것일까요? 이 문제를 해결하기 위해 우리가 사는 집에도 주소가 있듯 디바이스가 위치한 네트워크마다 고유의 주소를 지정해두었습니다. 그 주소의 이름을 바로 IP주소라고 합니다. (우리나라..