목록IT Information (18)
JongTachi의 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cBCeL4/btsrqBsNTcb/6uKbYjiFn68rPDrePwage1/img.png)
해당 글은 니콜라스의 IT 잡학 사전을 참고하여 작성하였습니다. 1. What is Docker? Docker는 컨테이너화 기술을 사용하여 응용 프로그램을 개발, 배포 및 실행하기 위한 오픈 소스 플랫폼입니다. 이를 통해 개발자는 응용 프로그램과 해당 종속성을 격리된 환경인 "컨테이너"에 패키징하여 어디서든 실행할 수 있습니다. 즉 도커는 개발 환경과 관련이 있다는거죠 예를 들어 설명드리겠습니다. 여러분이 개발을 마친 작업물을 애플리케이션 서버에 올리기만 하면 되는 상황(서비스 배포라고 생각하면 됨) 하지만 서버에 올렸는데 제대로 실행되지 않아서 원인을 알아봤는데 코드가 실행되지 않은 이유는 개발할 때 운영체제는 윈도우 인데 애플리케이션을 구동해야 하는 서버 운영체제는 리눅스인 경우.. 이때 도커가 등장..
제가 공공기관 프로젝트를 진행하는데 SVN을 사용하더라구요.. (진심 개불편;;) SVN을 제대로 써본 적은 요번이 처음인데 이전에 제가 커밋한 내용을 보려고 하는데 방법을 몰라 구글링을 한 내용을 블로그에 적어볼까 합니다.(참고로 이미지는 없습니다.. 폐쇄망이라 빼올 방법이 없음) 1. 먼저 비교하고 싶은 java, jsp, js 등 파일을 우클릭 후 Team -> Show History를 선택합니다. 2. Show History 내용에서 자신이 비교하고 싶은 기록을 우클릭 하여 Compare with Each Other을 눌러줍니다. 위에 절차를 진행하시면 무엇이 바뀌었는지 바로 확인이 가능합니다. 감사합니다. (Git 최고..!)
1. what is 인터페이스? 인터페이스는 두 개 이상의 시스템, 컴포넌트 또는 모듈 간에 상효작용하는 방법을 정의한 것입니다. 각각의 시스템 또는 컴포넌트는 자체적으로 독립적으로 작동하며, 인터페이스를 통해 서로 정보를 교환하고 상호작용을 할 수 있죠.(즉 프로그램끼리의 소통) 음.. 인터페이스는 일종의 계약이라고 생각할 수 있는데요. 시스템 도는 컴포넌트는 정의된 인터페이스를 준수하여 특정 형식의 데이터나 메세지를 주고받습니다. 이를 통해 다른 사스템과 통합되어 작동하거나, 서비스를 제공할 수 있습니다. 엔터페이스는 다양한 형태와 수준에서 나타날 수 있는데요. 일반적으로 소프트웨어 개발에서 가장 흔히 사용되는 인터페이스는 API입니다. API는 프로그램이 다른 프로그램과 상호작용할 수 있도록 정의된..
오늘은 로그인 인증서비스 중에서 자주 이용되는 SSO와 SLO에 소개해드리려고 합니다.각각 개념을 설명하고 누구나 좋아하는 에버랜드를 예로들어 설명드리겠습니다. 1. SSO (Single Sign-On)SSO는 사용자가 여러 시스템 또는 애플리케이션에 대해 단 한 번의 인증으로 접근할 수 있는 기능입니다. 사용자는 SSO 시스템에 로그인 하면, SSO 시스템은 여러 시스템에 대한 인증을 처리하여 사용자(본인)를 인증하고 인증된 사용자에게 해당 시스템에 대한 접근 권한을 부여합니다. 이를 통해 사용자(본인)은 여러 시스템에 대해 각각 로그인할 필요가 없이 한번의 인증으로 접근이 가능합니다. 예시에버랜드 입장권을 예로 들어보겠습니다. 에버랜드는 SSO를 도입하여 여러 애플리케이션( 티켓팅 시스템, 멤버십 ..
프로그래밍 공부를 하다보면 아마도 XX 프로그램 7.3.2 버전과 같은 말들을 듣거나 본 적이 있을겁니다. 대충 보면 그냥 새버전과 구(이전)버전을 구분하는 숫자겠지하고 단순히 넘어가실 수도 있는데, 사실 버전의 숫자와 숫자 자리에는 의미가 있습니다. 시맨틱 버저닝(Semantic Versioning Specification, SemVer) 표기 방식 앞서 언급한 3개의 숫자를 사용해서 버전을 표기하는 방식을 시맨틱 버저닝이라고 합니다. 모든 사람이 해당 방식을 쓰는 건 아니지만 가장 널리 쓰이는 방식이기도 합니다. 시맨틱 버저닝 방식으로 표기하는 대표 기술인 장고를 예를 들어 설명드리겠습니다. 1. 첫 번째 숫자 예를 들어 장고의 버전이 9.0.5로 표기되었다고 봅시다. 첫 번째 숫자인 9는 무엇을 의..
IT공부해본 사람이라면 한번은 들었을 '해시 함수'에 대해서 설명드리도록 하겠습니다. 해시 함수를 설명하기 전에 .. 개발자라면 한번쯤 비밀번호 시스템을 구현하죠. 여러분은 비밀번호가 어떻게 저장되는지 아시나요? 예를 들어 여러분이 네이버 계정을 만드는데 비밀번호를 '12345'라고 입력한 뒤, 네이버 DataBase에 '12345'라고 그대로 저장된다면 어떻습니까? 굉장히 불안하겠죠? 왜나면 해커가 네이버 DataBase를 해킹하면 비밀번호가 그대로 보일테니까요. 여러분의 비밀번호를 안전하게 저장하기 위해 '해시 함수'라는 것을 구현합니다. 1. 해시함수란? 해시 함수는 임의의 길이를 가진 데이터를 고정된 길이의 해시 값으로 매핑하는 수학적 알고리즘입니다. 해시 함수는 다양한 목적으로 사용되며, 주요 ..
개발자라면 무조건 알아야 하는 Clean Code 실무에서 혼자 개발을 하는 사람은 거의 없겠죠? 대부분 협업을 통해 개발을 합니다. 실무에서는 협업을 하기 때문에 Clean Code가 중요한데요. 바로 설명해드리겠습니다. Clean Code란 설명이 필요없는 코드를 말합니다. 즉 코드를 읽기만 해도 이 코드가 무슨 일을 하는지, 어떤 것을 의미하는지 물어볼 필요 없이 이해되는 코드이죠. 다르게 말하면 어떤 함수명이 더 좋은지, 함수에서 인수를 총 몇 개 사용하면 좋을지 구성하는 겁니다. 꿀팁 몇가지를 소개해드리겠습니다. 1. 의미있는 변수, 함수의 이름을 적절하게 사용하세요. 코드를 작성하다 보면 변수나 함수의 이름을 아무렇지 않게 추가할 때가 있는데 매우 좋지 않은 습관입니다. 예를 들어 어떤 함수를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cyPHGX/btrTM0LSFtH/QM8yjAVgB6ySgMLZ54zbAk/img.jpg)
1. 정의 객체지향 프로그래밍은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말합니다. 이 방식은 오늘 날 가장 많이 사용하는 프로그래밍 방식이고 JAVA, C#등이 대표적인 객체지향 프로그래밍 언어입니다. Object-Oriented Programming(OOP)라고도 부릅니다. 2. 객체지향 프로그래밍의 특징 1) 추상화 - 객체에서 공통된 속성과 행위를 추출 - 공통의 속성과 행위를 찾아서 타입을 정의 - 추상화는 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단하게 만듦 그럼 추상화가 왜 필요할까요? 자동차로 예를 들어봅시다. BMW, 벤츠, 볼보는 모두 자동차에 해당됩니다. 자동차라는 추상화 집합을 만들어두고 자동차들이 가진 공통적인 특징들을 만들어서 사용합니다. 하지만..