[F-Lab] 8주차 회고
·
📝 끄적끄적/F-Lab
사전 질문개발하면서 테스트 코드 작성하는 타이밍커밋 쪼개는 단위더 귀찮게 해도 될지하위 이슈 분리 시 충돌 안 나게 개발하는 방법 사전 학습프로젝트카카오 로그인 구현김영한 님 스프링 핵심 원리 - 기본편 수강 중이론JSP 책 리마인드스프링 입문을 위한 자바 객체 지향의 원리와 이해 5장 진행 중 멘토님 질문이진 세마포어 vs 뮤텍스JSP파일이 브라우저에 렌더링 되기까지의 과정쿠키 저장 위치에 따른 종류JDBCClass.forName 메서드인증, 인가MVC 패턴Dispatcher Servlet필터서블릿JSP 느낀 점우선 이번주는 F-Lab 행사 참여를 위해 서울 가느라 학습에 많은 시간을 쓰지 못했다.겸사겸사 병원도 가느라 2박 3박 동안 있었는데, 혹시 몰라 아이패드를 챙겨서 대중교통이랑 남는 시간에 스..
JDBC 드라이버 로딩으로 알아보는 Class.forName
·
💻 Dev/Java
Class.forName("com.mysql.cj.jdbc.Driver");// 데이터베이스 연결 Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mydatabase", "root", "password" );JDBC 드라이버를 로딩할 때 Class.forName 이라는 메서드를 사용하는데 이 메서드는 어떤 역할을 하는 메서드일까?Java Reflection에서 제공하는 기능 중에 하나기도 하고, 클래스 로더랑도 관련이 있으니 알아보자. Class.forName()란?Class.forName 메서드는 Java에서 클래스 이름을 문자열로 제공하여 해당 클래스를 로드하고 초기화하는 역할을 한다. JDBC 드라이버..
[F-Lab] 7주차 회고
·
📝 끄적끄적/F-Lab
사전 질문생성형 AI 사용 사전 학습이론JSP 책 리마인드스프링 입문을 위한 자바 객체 지향의 원리와 이해 1, 2, 3장프로젝트Repository 생성 및 초기 세팅소셜 회원가입&로그인 진행 중 멘토님 질문웹JSP에서 request와 responseJSP파일이 브라우저 화면에 나오게 되는 과정쿠키세션JDBC커넥션 풀스레드 풀 느낀 점이번주는 본격적으로 프로젝트 레포지토리 파고, 초기세팅부터 개발 단계까지 들어갔다.예전에 사이드 프로젝트 하려고 이슈랑, PR 템플릿 만들고 뭐 컨벤션 정하는 거까지 많이 알아본 적이 있어서 여기 까지랑 초기 세팅은 쉽게 했다. 근데 REST API기반으로 개발하는 게 익숙하지가 않아서 플로우는 알겠는데 코드를 도저히 못 치겠어서 너무 절망스러웠다..ㅠㅠ dto, resp..
스레드 로컬(Thread Local)이란?
·
💻 Dev/Java
스레드 로컬이란?ThreadLocal은 멀티스레드 환경에서 각 스레드가 독립적인 데이터를 저장하고 관리할 수 있도록 지원하는 메커니즘이다. 여러 스레드가 동시에 실행되는 애플리케이션에서는 공유 데이터로 인해 경쟁 상태(race condition)가 발생할 수 있다.이러한 문제를 방지하기 위해 데이터를 스레드 간에 독립적으로 관리해야 할 때 ThreadLocal을 사용할 수 있다.  스레드 로컬이 필요한 이유1. 스레드 간 데이터 충돌 방지멀티스레드 환경에서 동일한 데이터를 여러 스레드가 동시에 접근하면, 의도치 않은 결과가 발생할 수 있다.(ex. race condition) ThreadLocal은 각 스레드가 독립적인 데이터를 유지할 수 있도록 하여 이런 충돌을 방지한다. 2. 세션 및 사용자 정보 관..
스프링MVC는 왜 스레드를 최대 200개까지 사용할까?
·
💻 Dev/Spring
스프링 MVC는 웹 애플리케이션 개발에서 널리 사용되는 프레임워크이다.많은 사람들이 스프링을 왜 쓰냐 하면 거의 다 "스레드가 많아서", "대규모 트래픽 처리할 수 있어서"라고 한다.사실 스레드 개수 문제가 아니다 🙅‍♀️node.js는 적은 스레드로 논블로킹을 사용해서 충분히 트래픽을 처리한다. 스프링 MVC 기준 스레드 풀의 max값은 200이다.server: tomcat: threads: max: 200 # 생성할 수 있는 thread의 총 개수 min-spare: 10 # 항상 활성화 되어있는(idle) thread의 개수 max-connections: 8192 # 수립가능한 connection의 총 개수 a..
자바 직렬화(Java Serializable)
·
💻 Dev/Java
자바 직렬화란?자바 직렬화(Java Serialization)는 자바 객체를 바이트 스트림으로 변환하여 저장하거나 네트워크로 전송한 후 다시 복원할 수 있도록 하는 기술이다.주로 외부 파일이나 네트워크를 통해 객체 데이터를 주고받을 때 사용된다.JSON은 웹(Web) 뿐만 아니라 게임 쪽에서도 설정 파일로 쓰이거나 데이터를 교환할 때 범용적으로 사용된다.그리고 직렬화는 오로지 자바 프로그램에서만 사용이 가능하지만, JSON 형태로 객체 데이터를 저장해 두면 파이썬, 자바스크립트에서도 범용적으로 사용이 가능하다. 문득 이런 생각이 들 것이다. CSV, JSON 이라는 훌륭한 데이터 포맷이 있는데 굳이 자바 직렬화가 필요할까? 자바 직렬화를 왜 사용할까?1. 자바 환경에서만 객체를 저장하거나 전송해야 할 때..