Engineering WIKI/Docs
-
Redis 뿌수기!Engineering WIKI/Docs 2022. 12. 30. 11:54
Redis 는 무엇이며 언제 사용하는가? Redis 는 무엇인가? 시스템의 메모리를 사용하는 key, value 데이터 스토어입니다. 디스크까지 접근해서 데이터를 가져오는 방식이 아니라 메모리를 통해 데이터를 가져오는 방식이기에 RDB 보다 접근 속도가 빠릅니다. single 스레드로 동작하여 Atomic 을 보장합니다. Redis 는 언제 사용하는가? 디스크 I/O 가 빈번하게 발생할 때, 매번 디스크에 접근해 I/O 처리를 한다면 속도가 느릴 것입니다. 이를 해결하기 위해 Redis 를 이용해서 데이터를 캐싱해놓고 빈번하게 발생하는 요청을 처리하는 것입니다. 또한, 이렇게 빈번하게 데이터를 처리하고 RDB 나 NoSQL 에 데이터를 업데이트 하도록 설계할 수도 있습니다. 실제 사례를 들면, API 결..
-
쿠키와 세션 그리고 JWTEngineering WIKI/Docs 2022. 12. 30. 10:42
🍪 쿠키 쿠키는 웹 사이트 서버에서 유저의 컴퓨터로 보내는 작은 임시 파일입니다. 해당 웹에 필요한 정보들을 가지고 있다가 필요한 이벤트에 데이터를 반환합니다. 처음 쿠키가 만들어진 건, 정확한 통계 값을 구하기 위해서 였다고 합니다. 방문자가 이전에도 왔던 방문자인지, 처음 온 방문자인지를 확인하기 위함이었다고 해요. 쿠키가 없던 이전에는 한 명의 유저가 index 페이지를 100번 reload 하면 100명이 방문했던 것으로 표현되었다고 해요. 방문자를 확인하는 데이터를 통해 우리는 이를 구분할 수 있게 된 거죠. 먹고 남은 쿠키 부스러기 마냥 작은 파일들이라 하여 cookie라는 이름이 붙었다고 합니다. 이렇게 만들어진 cookie는 단순히 통곗값만 내는 것으로 끝나지 않았습니다. 웹사이트에서 로그..
-
Jenkins (젠킨스) 요약Engineering WIKI/Docs 2022. 12. 20. 05:17
젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다. CI(Continuous Integration) 툴 빌드는 서버에 올릴 수 있는 상태로 만드는 것을 빌드라고 한다. 빌드를 자동화 해주는 툴 서버에 올려서 사용자가 사용 할 수 있게 하는 것은 배포(Deploy)라고 한다. git에서 pull을 해서 build한 후 배포까지 하는 것이 하나의 Jenkins Project가 하는 일 버전관리시스템과 연동하여 자동화테스트를 수행 ⇒ 젠킨스를 사용하는 가장 큰 이유 중 하나 젠킨스 설치 및 구동 자바로 개발되었으며 서블릿 컨테이너 위에서 구동된다. 따라서, WAS인 Tomcat, Jetty등 서블릿 컨테이너를 설치하고 이 위에서 젠킨스 war파일로 구동. 각 OS별로 별도의 설치파일을 제공..
-
HTTP 메소드Engineering WIKI/Docs 2022. 12. 18. 10:30
RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1 HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK] datatracker.ietf.org 9가지 : GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, CONNECT, (SEARCH) HTTP 메소드는 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단 이다. 최초의 H..
-
소프트웨어 개발 방법론 - 애자일(Agile) 방법론Engineering WIKI/Docs 2022. 12. 18. 09:23
소프트웨어 개발 방법론 - 애자일(Agile) 방법론 애자일(Agile) 방법론은 구체적인 개발 프로세스가 아닌 개발 지침, 철학에 가깝다. 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법 문서화보다 코드, 프로그램, 소프트웨어 자체를 중요시 함 요구사항의 변화는 불가피하며 이에 대응하는 것이 현실적이다. 기존의 개발 프로세스는 설계 기간이 길며 재작업 시 오버헤드가 크다. 환경의 빠른 변화에 대응하는 것이 중요하다. 애자일 선언문(Agile Manifesto) 🔗 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기를 요구사항이 바뀌기 쉬운 중소형의 비즈니스 시스템이나 전자 상거래 응용에 적합하다...
-
IntelliJ Gradle import 시, 오류 해결 방법 : Unable to find methodEngineering WIKI/Docs 2022. 12. 11. 07:56
오류내용 **Unable to find method ''java.lang.String org.gradle.api.artifacts.result.ComponentSelectionReason.getDescription()''.** IntelliJ가 추천해줬던 해결 방법 Reimport를 시도해라. Gradle을 다시 설치하거나, 다시 시작해라. (IntelliJ 재부팅) 보통 1번의 방법으로 해결되는 경우가 많다. 먼저 IntelliJ 우측 하단의 Event Log탭을 클릭해서 아래와 같이 Import Gradle Project가 메세지가 보인다면 바로 해당 메세지를 클릭하면 된다. Import가 모두 끝나면! 아래와 같이 정상적으로 Gradle 프로젝트로 변환된것을 확인할 수 있다. Import Gradl..
-
Intellij (No newline at end of file)Engineering WIKI/Docs 2022. 12. 11. 07:43
No newline at a end of file, 왜 체크해야하나? 가끔 개발을 하다보면 Github에서 '파일 끝에 개행문자(newline)이 없습니다.'라는 문구를 볼 때가 있다. 클래스 생성시 맨 하단에 자동 줄바꿈 처리하기 Intellij에서 클래스를 새로 생성할때, 아무런 설정을 하지 않으면 클래스 가장 하단에 새로운 라인이 생기지 않는다. 그래서 Git에서 확인해보면 No newline at end of file 이 뜬다 매번 클래스를 생성할때마다 한칸을 띄워주는건 매우 번거로운 작업이므로 아래와 같이 설정을 해주면된다. Editor > General > Other > Ensure line feed at file end on Save 체크후 OK 버튼 클릭
-
Apache Tomcat(아파치 톰캣)_포트 변경하기Engineering WIKI/Docs 2022. 12. 11. 07:35
기본적으로 스프링에 톰캣 서버를 올리면 8080이라는 기본 포트 설정값을 가지고 있는데, ORACLE이랑 함께 사용한다면 ORACLE 역시 기본 포트 값이 8080이기때문에 충돌이 많이난다. 그래서 그냥 충돌방지로 스프링에 올린 톰캣은 포트 변경이 쉽기 때문에 변경해보도록하자. 1. Tomcat Overview Port 톰캣서버를 더블클릭 하자. 그러면 아래와 같이 Overview 탭으로 진입한 화면이 보일텐데 Ports 탭 중앙에 [HTTP/1.1] 이라는 부분을 변경해주면된다. (이미지는 8080 -> 8081 로 변경한 이미지이다.) 2. server.xml port 두번째 방법은 server.xml로 들어가 포트를 변경해주는 것인데 server.xml을 열어보자. 그러면 아래와 같은 화면이 출력되..