본문 바로가기
반응형

전체 글1072

Mybatis 3.0 이상 적용하기 기존에 Mybatis를 사용하기 위해서는 SqlSessionTemplete를 사용해서 코드를 짰어야했다. 하지만 Mybatis 3.0 이후로는 @Mapper annotation을 활용하여 더 간편하고 쉽게 가능해졌다. 기존 mybatis의 설정에 관해서는 아래 참고포스팅을 활용하는것을 추천한다. (물론 참고 포스팅에서 기존 Mybatis spring 을 따라하는것이고 해당 포스팅에 작성된게 mybatis가 3.0 이하라는 뜻은 아니다.) 이제 해당 포스팅에서는 xml방식이 아닌 Mapper annotation을 소개하려고 한다. 결국은 repository의 차이 인데 그리하여 기존 코드를 동일하게 작성해줘야하는 부분이 몇군데 있다. 일단 먼저 pom.xml 에는 다음을 추가해주었다. org.mybatis.. 2022. 9. 2.
인피니티 스크롤 vs 페이지네이션(22.09.07) 게시판 등 데이터베이스에서 다행의 글을 가져올때 표현해줄수 있는 방법은 두가지가 있다. 인피니티 스크롤 말 그대로 무한대로 스크롤을 하면서 글을 가져오는 스타일이다. 모바일 기기에서 많이 선호하는 방식이고 대표적으로는 인스타그램이나 유투브 처럼 페이지를 넘기는것이 아닌 무한대로 계속 내리면 새로운 글이 보이는것이다. 무한 스크롤은 사용자가 페이지 하단에 도달했을 때, 콘텐츠가 계속 로드되는 사용자 경험(UX, User EXperience) 방식 이는 마치 끝이 없는 단일 페이지에서 끝없는 정보의 흐름을 경험하게 함 장점 유저들이 더욱 오래 머물수 있도록 해준다. 클릭보다 스크롤이 편하다. 모바일 최적화 단점 성능을 많이 잡아먹는다. 원하는 컨텐츠를 찾기에 불편하다. 페이지네이션 구글에서 검색을 하다보면 .. 2022. 9. 1.
PPRINT 제목만 보고 오타인줄 알수도 있지만 이 pprint 에 대해 얘기해보려고 한다. 파이선에서 제공해주는 라이브러리 중에 pprint 라는 라이브러리가 있다. pretty print 의 약자로 좀더 깔끔하게 출력을 해주는 명령어이다. 말 그대로 일반 print 보다 좀더 깔끔하고 한눈에 보기 좋게 출력을 시켜준다. 아래 사진을 참고 하도록 하자. 2022. 9. 1.
객체 지향의 법칙 SOLID 객체 지향 언어에서는 설계할때는 흔히 SOLID 라고 부르는 5가지 설계원칙이 존재한다. 각각 하나씩 살펴보면 SRP (Single Responsibility) 단일 책임 원칙 클래스는 단 한개의 책임을 가져야 함 클래스를 변경하는 이유는 단 하나여야 함 이를 지키지 않으면, 한 책임의 변경에 의해 다른 책임과 관련된 코드에 영향을 미칠 수 있음 → 이렇게 되면 유지보수가 매우 비효율적 SRP 에서 이야기하는 책임이란, '기능' 정도로 생각하면 된다. 만약 한 클래스가 수행할 수 있는 기능 (책임) 이 여러 개라면, 클래스 내부의 함수끼리 강한 결합을 발생할 가능성이 높아진다. 응집도는 높고 결합도는 낮은 프로그램을 설계하는 것이 비로소 객체지향 설계의 핵심인데, 이것이 위반되는 것이다. 예를 들어 어떤.. 2022. 8. 31.
스택(Stack), 큐(Queue), 힙(Heap) 에 대해서 자료구조 알고리즘을 하다보면 스택, 힙, 큐에 대해서 많이 얘기를 들어봤을텐데 오늘 포스팅에서는 하나씩 설명을 해보려고 한다. 스택 선형 자료구조 Last In First out(LIFO) 구조 스택 특징 같은 구조의 같은 크기의 자료를 정해진 방향으로만 쌓을 수 있음 top으로 정한 곳을 통해서만 접근 가능(top이란 가장 쌓아둔 윗부분) 삭제는 top을 통해서만 가능 스택 연산 삭제 (pop()) : 스택에서 가장 위에 있는 항목을 제거 삽입 (push(item)) : item 하나를 스택의 가장 윗부분에 추가 읽기 (peek()) : 스택의 가장 위에 있는 항목을 반환 스택 포인터(SP) push나 pop을 할 때 해당 값의 위치를 알고 있어야 하는데 스택 포인터가 위치를 기억하고 처음 기본값은 -.. 2022. 8. 30.
웹서버와 WAS의 차이 이전 포스팅에서 WAS에 대해서 다룬적은 있다. WAS에 대한 내용이 궁금하다면 아래 참고 포스팅을 확인해보면 될것이다. 해당 포스팅에서도 웹서버와 WAS 를 비교하는 포스팅이었지만 한번 더 잡기 위해서 작성을 하였다. Web Server 웹서버의 의미는 소프트웨어와 하드웨어로 구분된다. 하드웨어는 Web 서버가 설치되어 있는 컴퓨터를 의미하고 소프트웨어는 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .jpeg .css 등)를 제공하는 컴퓨터 프로그램을 의미한다. Web Server의 기능으로는 HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 또는 웹 크롤러)의 요청을 서비스 하는 기능을 담당한다. 요청에 따라 각 기능을 제공하는데 하나는 정적인 컨텐츠 제공을 하며.. 2022. 8. 29.
XML , SOAP , WSDL 의 개념과 정의 XML XML은 eXtensible Markup Laguage의 약자이고 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된 "다목적 마크업 언어"이다. XML 특징 대소문자를 구분 유니코드 기반 다국어 지원 트리 구조로 구성되어 있어 상위 태그는 여러 개의 하위 태그를 가질 수 있음 텍스트 형식의 데이터 포맷으로 다양한 플랫폼과 시스템에서 활용할 수 있음 모든 태그는 종료 태그를 가져야 하며, 시작 태그와 종료 태그의 요소명은 동일해야 함 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있음 SOAP SOAP는 Simple Object Access Protocol의 약자로, 컴퓨터 네트워크 상에서 HTTP, SMTP 등을 .. 2022. 8. 28.
리눅스에서의 압축과 분할 압축 리눅스에서 파일이나 폴더를 압축하는 방법은 여러가지가 있다. 종류는 아래 참고 포스팅에서 확인해볼수 있다. 그중 zip 압축 명령어를 할때 분할 압축하는 명령어를 작성해보려고 한다. zip -s 용량(MB기준) 압축할파일명 압축할파일 순서로 작성해주면 된다. 예를 들면 zip -s 10 test.zip test.exe 이렇게 사용이 되고 test.exe파일을 test.zip이라는 이름으로 압축을 하되 10메가바이트씩 잘라서 압축을 하라는 뜻이다. 그렇게 되면 결과는 test.zip test.z01 test.z02 ... 이렇게 압축이 되고 해제할 경우엔 모든 파일을 같은 경로에 둔 상태에서 zip 파일을 압축 해제 하면 된다. 참고로 폴더를 압출할 경우엔 -r 옵션을 붙여준다. 참고 포스팅 https:/.. 2022. 8. 27.
window powershell 리눅스의 장점이라고 한다면 터미널에서 파일을 찾을때 grep이라는 명령어로 특정 단어가 포함 되어있는지 등을 확인해볼수 있는게 장점중 하나라고 할수 있다. 만약 윈도우에서 특정 파일이 어떤 문자열을 갖고있는지를 확인해보려면 직접 들어가서 확인을 하던가 별도의 에디터나 코딩을 해야했다. 하지만 특정 윈도우 버전부터 cmd(명령프롬프트)이 아닌 파워쉘이라는게 생겼다. 윈도우에서도 리눅스처럼 터미널을 사용할수 있게 된것이다. 여기서 grep을 사용하려니 알수없는 명령어라고 나왔다. 확인을해보니 리눅스와 완전 같지는 않고 selecdt-string이라는 명령어를 사용해야했다. 사용법은 다음과 같다. select-string "test" filename 이렇게 하면 filename 파일의 test라는 문구가 있는.. 2022. 8. 26.
반응형