전체 글 썸네일형 리스트형 Telnet 은 안되고, Java Socket을 사용한 TCP connection 됐던 이유가 무엇인가? 준비물 : 아무도 사용하고 있지 않은 PORT = 192.0.2.1231. telnet 로 TCP Connection 시도$ telnet 192.0.2.123 일정 시간이 지나자 connect to address 192.0.2.123: Operation timed out 이 발생함.원격 서버에 연결할 수 없다는 의미의 Unable to connect to remote host 라는 메시지가 출력됨. 2. TCP HEALTH CHECK를 위한 API 만들기 (Controller 코드 생략)package org.ktorms.service;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Service;import java... 더보기 서버가 SNK + ACK 를 보내지 않은 이유 1. 클라이언트가 요청한 포트로 LISTEN 하고 있는 프로세스가 존재하지 않을 때즉, 해당 포트에서 돌아가고 있는 프로세스가 없다. 따라서 서버가 80 포트를 열어두지 않은 상태에서 클라이언트에서 80포트로 SYN 패킷을 보낼 경우,SNK + ACK 를 보낼 프로세스가 없으니 아무런 응답을 보내지 않는다. 지금과 같이 LISTEN 하고 있지 않은 포트로 요청이 들어 온 경우,OS 단에서 RESET 패킷을 응답으로 보내주기도 함. 하지만, 해킹에 악용될 수 있어 보통은 RESET 패킷조차 보내지 않도록 OS 설정을 함. (포트 스캐닝 등)2. 방화벽과 같은 네트워크 상의 문제방화벽에서 80 포트로 요청이 오면 DENY 시키도록 RULE 이 걸려있으면, SYN 패킷은 방화벽에 의해 DROP 된다. 보통 .. 더보기 트랜잭션 격리 수준(Isolation Levels) 트랜잭션 격리 수준이란?: 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어있는지를 나타내는 것즉, 특정 트랜잭션(a)이 다른 트랜잭션(b)에서 변경한 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것이다.트랜잭션 격리 수준의 종류READ UNCOMMITTED :어떤 트랜잭션의 변경 내용이 Commit, rollback 에 상관없이 다른 트랜잭션에서 보여짐.문제점 : 데이터 정합성 문제가 발생할 수 있음.예시 :A트랜잭션에서 이름을 MOUSE에서 MINI로 변경한다.아직 커밋을 하지 않음.B트랜잭션에서 MOUSE의 이름을 조회함.아직 커밋을 하지 않았음에도 불구하고 MINI로 조회가 됨. -> 이를 DIRTY READ라고 함.만약, A트랜잭션에서 문제가 발생해서 커밋을 하지 못하고.. 더보기 2025년 2월 목표 2025 연간 목표 개발 실력 늘리기 지금까지 개발자가 되고자 결심한 뒤로 나의 행보는 다음과 같다. 2023년 3월 1일 전 직장 퇴사 2023년 6월 22일 백엔드 부트캠프 시작2023년 12월 23일 백엔드 부트캠프 수료2024년 8월 1일 백엔드 개발자로 입사그리고 벌써 입사한 지 6개월이 지났다. 내가 속한 팀의 프로젝트는 MSA 구조, React, Springboot, kafka, MySQL, k8s 등의 배우기 좋은 기술 스택들을 사용하고 있다. 하지만 그동안 많이 습득하고 성장했느냐라고 물으면 자신 있게 그렇다고 답할 수 없는 것 같다. 이대로는 안될 거 같아 앞으로 월간 목표를 세우고 달성을 해보고자 한다! 무조건 강의를 듣고 따라치는 것이 내 것이 된다고 생각하지 않는다.하.. 더보기 React의 setState 업데이트가 꼬일 때, 함수형 업데이트를 써야 하는 이유 React 에서 상태(state) 를 업데이트 할 때 setCounter(count + 1); 로 상태를 업데이트 할 수 있지만, setCounter((current) => current + 1); 처럼 함수형 업데이트를 사용하는 것을 더 권장한다. 왜냐하면 이 방식이 더 상태를 업데이트할 때 안전한 방식이기 때문이다.setCounter(counter + 1); 보다 setCounter((current) => current + 1); 이 더 안전한 이유는 React 의 상태 업데이트 방식 때문이다. 1. 비동기적인 상태 업데이트 React에서 useState의 setState 함수는 비동기적으로 실행된다.즉, 여러 개의 setCounter 호출이 있을 때, 예상과 다르게 이전 값이 덮어 씌워질 가능성이 .. 더보기 [Java] 코딩테스트 연습 > 코딩테스트 입문 > 순서쌍의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/120836 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b) 로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return 하도록 함수 완성하기 처음에는 class Solution { public int solution(int n) { // n = n int answer = 0; // 1. f.. 더보기 [Java] 코딩테스트 연습 > 코딩테스트 입문 > 짝수 홀수 개수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krJava의 length, length(), size().length는 배열의 길이 확인 시 사용, .length() 는 문자열의 길이 .size()는 Collection Framework의 ArrayList의 길이를 확인할 때 사용 class Solution { public int[] solution(int[] num_list) { // 1, 2, 3, 4, 5 -> 배열의 길이 4 int[] answer = new int[2]; // 짝수와 홀수의 개수를 담기 answer 배열의 길이가 2 .. 더보기 [React ] input 컴포넌트 분리하기 중 에러 / Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()? Check the render method of `ForwardRef(_c)`. Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()? Check the render method of `ForwardRef(_c)`. 번역하면, 경고: 함수 구성요소에는 참조를 제공할 수 없습니다. 이 참조에 액세스하려는 시도는 실패합니다. React.forwardRef()를 사용하려고 하셨나요? `ForwardRef(_c)`의 렌더링 방법을 확인하세요. 구조를 보면 다음과 같다. 회원가입 폼(JoinForm.jsx)에서 input이 많아 불필요한 렌더링이 계속해서 발생하는 것이 비효율적이라고 .. 더보기 이전 1 2 3 4 ··· 20 다음