웹서버란? 웹 브라우저와 같은 클라이언트로부터 HTTP 프로토콜로 요청을 받아, HTML 문서 등과 같은 정적 웹 페이지를 응답해주는 소프트웨어라고 한다. 웹서버의 하드웨어, 소프트웨어 측면 하드웨어 측면 웹서버의 소프트웨어와 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터 (컴포넌트 파일에는 HTML문서, Images, CSS stylesheets, js file이 있다.) 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹서버의 데이터(컴포넌트 파일)를 주고받을 수 있도록 한다 소프트웨어 측면 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리 HTTP 서버는 URL(web addresss)과 HTTP의 소프트웨어 일부 브라우저가 웹서버에 파일을 요청 (HTTP를 통해) 요청이 웹서버(하드웨어)에 도착했을..
2011년 오픈소스로 공개한 카프카는 링크드인의 엔지니어가 만들었다고 한다. 링크드인에서 개발한 비동기 메시징 시스템에 프란츠 카프카의 이름을 따서 '카프카'라고 명명했다고 한다. 카프카는 글로벌 IT기업의 상당수가 채택한 분산 스트리밍 플랫폼이라고 한다. 카프카의 용도 1. 메세지 처리 2. 사용자의 웹 사이트 활동 추적 파이프라인 3. 애플리케이션의 통계 집계 4. 시간순으로 발생하는 이벤트를 저장해 필요한 곳으로 보냄 갑자기 카프카가 궁금해서 글을 남기게 되었는데 일단 내가 이해할 수 있는 선까지만 정리해보았다. 이후에 더 알게된 점이 있거나 도입하게 된다면 상세하게 작성해 볼 예정! https://www.hanbit.co.kr/channel/category/category_view.html?cms..
Jackson에서 제공하는 클래스이고, Java 클래스 내용을 확인하거나 파싱하는 과정에서 Object를 Json으로 변환하거나 Json을 Object로 변환할 때 사용한다고 한다. Dependency 추가 jackson-databind Object ➡️ Json ObjectMapper objectMapper = new ObjectMapper(); User user = new User("meanji", 100); objectMapper.writeValue(new File("user.json"), user); String userAsString = objectMapper.writeValueAsString(user); Json ➡️ Object String json = "{ \"name\" : \"meanj..
현재 개발하고 있는 코드에 RestTemplate을 사용하고 있는 부분이 있다. 찾아보니 WebClient를 쓰는 것을 권하는 것 같은데, 프로젝트의 스프링 버전이 4.3.3이라 사용할 수 없지만, 미리 공부해두면 좋을 거 같아서 기록을 남기려고 한다. RestTemplate HttpAccessor > InterceptingHttpAccessor 아래에 있는 Spring Framework의 클래스 Client의 HTTP 요청 동기화, 기본 HTTP Client 라이브러리를 통한 템플릿 메서드 (JDK의 HttpURLConnection 같은) HTTP에서 기본적으로 제공하는 메소드를 제공하고, 일반화 된 exchange와 execute메서드가 추가되어있다. 참고로, 스프링 5.0 부터는 유지 보수 정도만 ..
@PostConstruct Spring은 빈 속성 초기화 직후에 @PostConstruct로 주석이 달린 메서드를 한 번만 호출한다. (초기화할 항목이 없는 경우에도 메서드 실행) @PostConstruct가 있는 메서드는 static 할 수 없다. 기본 사용자를 만들기 위해 사용하는 예시) @Component public class DbInit { @Autowired private UserRepository userRepository; @PostConstruct private void postConstruct() { User admin = new User("admin", "admin password"); User normalUser = new User("user", "user password"); us..
인텔리제이에서 bitbucket 로그인 하라고 나오는 경우, https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/ App passwords | Bitbucket Cloud | Atlassian Support Bitbucket Cloud app passwords are substitute passwords for a user account you can use for scripts and integrating tools. support.atlassian.com 이 문서를 참고하여 app passwords를 만들어 주어야 합니다. bitbucket 우측 상단에 이미지를 클릭 > Personal settings 로 들어갑니다. Personal s..
피그마에서 협업하다 보니 font-size가 px 단위로 나타난다는 디자이너 님의 말을 듣고 rem으로 볼 수 없을까 해서 찾아보았다 보통 피그마에 플러그인을 설치해서 변환하는 것 같다 Hand >> over 사용하기 먼저 플러그인을 설치하기 위해서는 view only가 아니라 작업 권한을 받아야한다 https://www.figma.com/community/plugin/837070613195594890/Hand%E2%80%BA%E2%80%BAover Hand››over | Figma Community Figma Community plugin - Need to handover to developers? Tired of trying to figure out what the relative em value w..
router push로 url 연결도 가능하지만, 변수와 함께 넘겨야 할 경우에 다음과 같은 방식으로 router push를 사용할 수 있다. query params // String으로 url 연결 router.push('/payment/purchase-complete') // path를 object에 담아서 연결 router.push({ path: '/payment/purchase-complete' }) // 1. query를 사용 (url: /payment/purchase-complete?type=Y) router.push({ path: '/payment/purchase-complete' query: { type: 'Y' } }) // 2. params를 사용 (url: /payment/purcha..