dev (261) 썸네일형 리스트형 행렬과 연산 프로그래머스에서 행렬과 연산 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/118670 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. ShiftRow 연산은 맨 아래 줄에 있는 배열을 맨 위로 옮기는 연산이어서 어렵지 않습니다. Rotate 연산은 가장자리에 있는 배열을 시계방향으로 1칸씩 옮겨야 하기 때문에 조금 복잡합니다. 그래서 저는 가장자리에 있는 배열을 상단, 우측, 하단, 좌측 4개로 나누어서 진행했습니다. 배열의 .. 성격 유형 검사하기 프로그래머스에서 성격 유형 검사하기 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 요즘 유행하고 있는 MBTI를 활용한 문제로 크게 어렵지 않습니다. "매우 비동의"에서 "매우 동의"까지 성격 점수를 계산하는 부분만 해결하면 쉽게 풀 수 있습니다. 성격 검사 선택지에 비동의에 가까우면 4점 미만의 점수를 동의에 가까우면 4점 초과의 점수를 받습니다. 예를 들면 "TR".. JMeter Session 테스트 JMeter에서 테스트를 할 때 session이 필요한 경우 예를 들면 특정 권한이 필요한 조회 기능이나 등록/수정 기능 이럴 때 HTTP Cookie Manager를 사용하면 됩니다. 테스트를 하기 위해서 Thread Group을 생성합니다. Thread Group에 HTTP Cookie Manager를 추가합니다. Thread Group에 HTTP Request를 추가합니다. Thread Group에 View Results Tree를 추가합니다. Thread Group에 Summary Report를 추가합니다. Thread Group에 Graph Results를 추가합니다. HTTP Request 정보 IP, port, Method, Path를 작성합니다. 파라미터나 인코딩이 필요하면 추가합니다. H.. Custom Exception 개발하다 보면 자바에서 정의한 예외 말고 개발자가 정의한 예외가 필요할 때가 있습니다. (예를 들면 파라미터가 사전에 정의한 규칙과 다른 경우) 위의 CustomException은 Exception클래스를 상속받아서 생성자 오버로딩을 통해 상황에 맞는 예외 클래스를 사용할 수 있게 했습니다. 파라미터가 필요 없는 경우(5~7라인) 예외 메시지가 필요한 경우(9~11라인) 예외가 발생한 원인 클래스가 필요한 경우(13~15라인) 위의 테스트 코드는 CustomException을 발생시키고 있는데 NullPointerException을 예외 발생원인으로 했습니다. 테스트 코드를 실행하면 CustomException이 제대로 발생되었음을 확인할 수 있습니다. Java 시간 계산 자바에서 시간 계산할 때 주로 Calendar 클래스를 사용하는데 이렇게 하면 소스코드가 복잡해지기 때문에 저는 LocalTime, LocalDateTime, Duration 클래스를 사용합니다. 위의 예제는 2개로 나누어져 있는데 첫 번째는 두 개의 시간을 계산하고 있습니다. LocalTime 클래스를 통해서 특정 시간대 또는 현재 시간 LocalTime 인스턴스를 가져와서 시간 계산을 할 수 있습니다. LocalTime 클래스의 plusHours api에 음수/양수에 따라 시간을 이전/이후 시간을 설정할 수 있습니다. Duration 클래스의 getSeconds api를 통해 두 시간의 차이를 초 단위로 구할 수 있습니다. 두 번째는 두 개의 날짜를 계산하고 있습니다. LocalDateTime 클래스.. Java type casting 자바에서 형 변환할 때 일반적으로 강제 형 변환을 사용하는데 좋은 방법이 아닙니다. 강제 형 변환을 자주 사용하게 되면 RuntimeException이 발생하기 때문입니다. 위의 예제를 보게 되면 정수 타입을 실수 타입으로 변환할 때 float이면 "1f" , double이면 "1d"를 앞에 연산하면 각 타입에 맞게 변환이 됩니다. 반대로 실수 타입을 정수 타입 int로 변환할 때 실수 Wrapper 클래스의 intValue() api를 사용하면 정수 타입으로 변환됩니다. 그리고 문자열을 실수 타입과 정수 타입으로 변환하려면 각 숫자 Wrapper 클래스의 valueOf() api를 사용하면 됩니다. Wrapper 클래스를 잘 사용하면 형 변환 때문에 소스코드 가독성이 좋아지고 유지보수나 인수인계 때 효.. nginx tomcat session clustering nginx와 tomcat 세션 클러스터링 하는 방법은 간단합니다. 먼저 nginx.conf 파일을 수정합니다. upstream에서 "ip_hash"는 로드밸런싱 방법 중의 하나로 클라이언트의 IP 주소를 해시하여 클라이언트는 항상 동일한 upstream 서버로 요청할 수 있도록 되어있습니다. 이를 통해 세션 일관성을 유지하고 클라이언트 연결을 특정 서버에 고정할 수 있습니다. weight는 tomcat의 부하를 설정하는 값으로 위의 nginx.conf 파일을 예로 들면 3번의 요청이 있으면 2번은 192.168.0.203:8080이 처리하고 1번은 192.168.0.203:8081이 처리합니다. 다음으로 tomcat의 server.xml 파일을 수정하는데 .. git group import project git에 있는 프로젝트를 그룹으로 옮기는 것은 어렵지 않습니다. gitlab에 로그인해서 Groups를 선택하고 New project버튼을 클릭합니다. Import project를 선택합니다. Repo by URL을 선택합니다. Git repository URL에서 옮기는 기존 프로젝트 정보를 "아이디:패스워드@git주소" 이렇게 입력해야 합니다. Project path에서 옮기는 그룹을 선택하고 프로젝트 이름을 입력합니다. Project description은 선택사항이지만 입력합니다. Visibility Level은 Internal로 선택하고 Create project 버튼을 클릭합니다. 프로젝트가 생성되었고 기존 프로젝트 파일들을 옮기고 있는 것을 확인합니다. 기존 프로젝트 파일들이 새로운 프로젝트.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 33 다음