1. 개요 지난 포스팅에서 파이썬을 활용하여 업무 자동화에 대해 정리했었다. https://soonmin.tistory.com/82 [fabric] fabirc 사용한 업무 자동화 구축 1. 개요 프로세스를 개발하고, 서버에 배포한 뒤 정상적으로 동작하는지 확인이 필요하다. 나는 매일 로컬환경에서 다수의 배포서버에 SSH로 접속해서 로그파일들을 확인해야 했다. 반복 작업을 soonmin.tistory.com 이번에는 자동화 구축된 결과를 파일저장, 메일전송뿐만 아니라 로컬 db(sqlite)로도 관리하고 싶어, 파이썬에서 DB와 상호 작용하기 위한 기술들을 찾아보았다. 다양한 DB(PostgreSQL, sqlite 등)에 호환되어야 하므로 ORM 기반의 SQLAlchemy를 사용하기로 결정했다. 나는 모..
전체 글
공부하면서 정리하는 블로그입니다. 틀린 내용이나 피드백 적극 환영합니다^^김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 개요이전 포스팅에서 jsp와 서블릿을 사용하여 mvc 패턴을 적용해보았다.https://soonmin.tistory.com/80 [Spring] 스프링 MVC 1편(서블릿, JSP MVC 패턴)김영한님의 스프링 MVC 1..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 개요이전 포스팅에서 서블릿만을 사용하여 HTML 문서를 동적으로 생성하여 뷰로 표현 해보았다.https://soonmin.tistory.com/79 [Spring] 스프링 MVC 1편(서블릿)김영한님의 스프링 MVC 1편 ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 스프링부트 서블릿 환경 구성@ServletComponentScan // 서블릿 자동 등록@SpringBootApplicationpublic class ServletApplication { public static void ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 웹서버와 웹 애플리케이션 서버 a. 웹 서버(Web Server)란?HTTP 기반으로 동작정적 리소스(HTML, CSS, JS, 이미지, 영상 등)를 제공ex) NGINX, APACHE b. 웹 애플리케이션 서버(WAS :..
김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식"을 보면서 정리한 내용입니다.https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard 모든 개발자를 위한 HTTP 웹 기본 지식 강의 - 인프런실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술www.inflearn.com 1. 인터넷 네트워크PC와 PC 통신하기 위해서는 네트워크로 통신하는데 네트워크는 복잡한 노드로 구성되어 있다. 복잡한 노드로 구성된 네트워크에서 데이터를 전달하기 위..
자바 네트워크 소녀 Netty" 공부하면서 정리한 내용입니다. Netty로 개발을 하다가 단위테스트를 어떻게 작성해야 할지 감이 잡히지 않았다. "자바 네트워크 소녀 Netty"를 보며 단위 테스트를 작성하는 방법을 알게 되었다. 먼저 Netty로 작성한 TelnetServer 코드를 보자. Spring + netty로 작성한 Server 애플리케이션 코드이다. 더보기NettyServerConfig@ComponentScan("org.example")@PropertySource("config/application.properties")@Configurationpublic class NettyServerConfig { @Value("${tcp.port}") private int tcpPort; ..
자바 네트워크 소녀 Netty" 공부하면서 정리한 내용입니다. 버퍼는 데이터를 저장하는 저장소로써 자바에서는 Buffer라는 추상클래스와 그 하위클래스를 제공하여, 저장된 데이터를 다양한 형식으로 읽고 쓰도록 메서드를 제공해준다. Netty에서는 자체적으로 바이트버퍼를 제공한다. 1. 자바의 바이트 버퍼바이트 버퍼는 배열 상태를 관리하기 위해 3가지 속성을 가진다.1. capacity: 버퍼에 저장할 수 있는 데이터로 한번 정하면 변경 불가능.2. position: 읽기 또는 쓰기 작업 중인 위치(index)3. limit : 읽고 쓸 수 있는 버퍼 공간의 최대치(capacity보다 크게 설정할 수 없음) 자바의 바이트버퍼는 읽기와 쓰기를 분리하여 생각해야 한다.(읽기 전용 인덱스, 쓰기 전용 인덱스..
자바 네트워크 소녀 Netty" 공부하면서 정리한 내용입니다. 1. 이벤트 루프a. 이벤트 처리 방식애플리케이션이 이벤트를 처리하는 방법은 크게 2가지로 구분된다. 1. 이벤트 리스너 + 이벤트 처리 스레드일반적으로 UI 프레임워크에서 사용하는 방식이벤트 메서드를 이벤트 리스너에 등록하고, 이벤트가 발생했을 때 이벤트 처리 스레드(싱글 스레드)에서 등록된 메서드 수행2. 이벤트 큐 + 이벤트 루프1번 방식보다 프레임워크 구현이 복잡하지만 프레임워크 사용자는 간단하게 사용할 수 있음.이벤트 큐에 이벤트 등록하고, 이벤트 루프가 이벤트 큐에 접근하여 처리이벤트 큐는 다중 스레드(이벤트 루프)에서 공유이벤트 결과를 돌려주는 방식으로는 콜백패턴과 퓨쳐패턴이 있다. b. 싱글스레드와 멀티스레드 이벤트 루프1. 싱..
"자바 네트워크 소녀 Netty" 공부하면서 정리한 내용입니다. 1. 채널 파이프라인a. 채널 파이프라인 구조채널파이프라인은 채널과 이벤트 핸들러 사이에서 연결 통로 역할은 한다. b. 채널 파이프라인 구성EventLoopGroup bossEventLoopGroup = new NioEventLoopGroup(1);EventLoopGroup workerEventLoopGroup = new NioEventLoopGroup(); try { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossEventLoopGroup, workerEventLoopGroup) .channel(Nio..