본문 바로가기
반응형

text71

등수 반환 문제 고찰 Q. 성적이 입력되고 그 학생의 등수를 출력하는 함수를 작성하시오. 점수는 0~100이고, 점수는 랜덤으로 들어온다. rank 함수는 20억 회 이하로 동작된다.(대충 이런 내용) 전역변수, 클래스 등 자율적으로 사용해도 무관. 시간과 메모리 등을 고려하여 작성 ex. 1번째: Score: 70 -> return 1 2번째: Score: 100 -> return 1 3번째: Score: 80 -> return 2 4번째: Score: 70 -> return 4 5번째: Score: 50 -> return 5 문제 출처 : https://okky.kr/articles/1052166 문제 해결을 위한 rank 계산 코드 짜기 version 1. 첫번째 접근 → 단순히 리스트에 넣고, 정렬하고, 해당 숫자 찾.. 2023. 10. 20.
maven multi binding 문제 시 해결 회사에서 옛날에 만든 걸 리팩토링해보려다가 maven 옮겨오는 것부터 문제가 생겼다. spring 키려고 하니 자꾸 맨앞에 아래와 같은 오류가 생겼는데 해석하자면 " slf4j binding 하려고 보니 동일한 모듈이 여러 개라서 그중에 멀 쓸지 모르겠다. 내 맘대로 하나 쓴다? " 에러 메세지 이긴 한데 동작하는데 문제없지 않을까 싶다가도 글씨가 빨간색이니 이번 기회에 고치는 방법 알고가자 싶어서 정리하는 겸 적어본다. 우선 pom.xml 파일을 보면 dependency로 추가한 것 중 꼬인 게 분명 있다. 하지만 어떤 패키지가 뭘 가지고 있는지 어떻게 아냐? maven 설정이니 maven을 설치해준다. ( maven 설치 - ref. https://benggri.tistory.com/23) cmd창에.. 2023. 10. 12.
springboot 대댓글 게시판 구현하기 (수정 기능x, 삭제 기능x) 대댓글 게시판 구현하기 (수정, 삭제 기능 x, 회원 존재 x) 프로젝트 폴더 및 파일 구성 대댓글을 구현하기 앞서 기본적인 게시판을 구현해야 한다. 기본 게시판 구현 게시물 목록 게시물 상세 보기 게시물 작성하기 게시물이 작성되어 저장하기 위한 table 구성 (mysql 기준) * ip를 넣어놓은 이유는 익명일 때는 구분을 위해 IPv4 뒤 두 자리를 넣어놓던데… 사실 필요 없을 듯하다 seq 값은 게시물의 pk 값 게시물은 제목(title)과 내용(content)을 가지고 있고, 그 게시물을 쓴 주체(user)에 대해 표시되어야 하기에 title, content, user가 존재 작성 시간(createAt)도 표시 mysql create sql CREATE TABLE `post` ( `seq` bi.. 2023. 8. 7.
변수 메모리 할당 (간단 정리) 메모리 할당 프로그램이 실행되어 메모리에 올라갈때는 해당 프로그램이 사용가능한 메모리 영역을 os로 부터 할당 받는다. 할당 받은 메모리는 크게 4부분으로 나뉜다. 데이터 영역 코드 영역 스택 영역 힙 영역 데이터 영역 상수 값, 정적 변수, 글로벌 변수 등이 할당, 선언된다. 프로그램의 실행과 함께 메모리위에 올라가고, 종료와 함께 메모리에서 해제된다. 그렇기 때문에 정적 변수에 메모리가 큰 값을 할당하는 걸 조심해야 한다. 코드 영역 프로그램의 코드(명령어)가 저장된 공간이다. 해당 명령어를 통해 프로그램의 실행이 제어 된다. 스택 영역 함수 실행시 해당 영역에 필요한 메모리가 할당된다. 함수 내 지역변수, 매개변수, 함수 리턴값 등이 메모리 위에 올라간다. 함수 종료시 해당 영역은 해제되며 재귀 함.. 2023. 7. 31.
transaction에 대한 구구절절 transaction이 뭔지? 수행 시 분할할 수 없는 작업의 단위 작업 수행이 되던가(commit) / 아니면 해당 작업 전체가 취소 (rollback) DB에서는 부분적으로 업데이트되어 부정합이 일어나는 걸 방지하기 위해 동작하는 작업의 최소 단위를 의미 acid 성질 데이터의 부정합을 막기 위해서는 아래의 ACID 라는걸 만족해야 한다 원자성(Atomicity) 위에 적어 놨듯이 하나의 작업이 더 이상 쪼갤 수 없음을 의미 하나의 작업이 모두 commit 되던가 / 모두 rollback 되어야 함 예를 들어 100개의 행에 대한 update 작업을 하나의 transaction으로 처리할 때 99개의 작업 완료 + 1개의 작업 실패 시 100개 전부 update 작업 X (rollback) 일관성(C.. 2023. 7. 26.
FK-FK table springboot @ID 매핑 토이 프로젝트 만들다가 막혀서 비슷하게 한번 만들어본 상황. 요구사항 사용자가 메뉴를 보고 주문을 한다. 메뉴들이 여러 개 있고, 주문 내용에는 메뉴”들” 정보와 요구사항이 포함되어 있을 때 테이블로 위 요구사항을 저장하려면? 뭐… 정답은 없겠지만 내가 구성한 건 아래와 같다. orderInfo 테이블은 주문정보를 저장하는 테이블이다. 사용자의 요구사항을 저장하는 orderDesc 컬럼과 등록시각을 저장하는 regDate 컬럼이 존재한다. item 테이블은 메뉴 정보를 저장하는 테이블이다. 메뉴 이름을 저장하는 name 컬럼과 가격을 저장하는 price 컬럼, 등록시각을 저장하는 regDate컬럼이 존재한다. orderItem은 주문 정보에 포함되는 메뉴들을 저장하는 테이블이다. 주문 정보는 여러 개 저.. 2023. 6. 21.
javascript 변수 관련 간략정리 (변수, 스코프, 호이스팅, 클로져, 함수, 즉시 실행 함수) 이력서에 " js 써봤다" 혹은 "쓸 줄 안다."라고 적으면 물어보는 것들이 있는데 여러 번 질문받았던 변수 관련 개념들에 대해 정리해 봤다. (js에 대해 잘 모른다고 답변했음에도 불구하고! 매번 물어보는!!) 변수 변수는 값을 저장하는 메모리 공간! 크게 3가지의 상태로 나타남 1. 선언 변수를 정의 (정보를 담을 공간을 정의) let variable; 2. 초기화 선언된 후, 값을 넣어 정의 (공간을 만들고, 공간에 정보를 집어넣기) let variable = "hello world"; 3. 할당 코드가 실행될 때 (run) 메모리 위에 변수 공간이 지정된 상태 스코프(scope, 범위 혹은 그냥 스코프) 변수의 유효한 범위 해당 변수를 사용할 때 접근이 가능한 범위라고 해석하면 문제없을듯하다. 변.. 2023. 6. 14.
spring boot login 중복 로그인 방지 저번 spring boot의 기본 로그인을 구현했다. spring boot 로그인 (+spring security, mysql) spring boot 로그인 (+spring security, mysql) springSecurity 사용 pom.xml 에 아래와 같이 security 설정 추가 org.springframework.boot spring-boot-starter-security {프로젝트이름}Application.java 가 존재하는 폴더에 config folder 생성 + securityConfig.java 생성 demo.config.Se hoonzi-text.tistory.com 이전 로그인 코드에 중복 로그인 방지를 추가해보자. 중복 로그인 방지 로직을 넣기 위해 기본 로그인 페이지가 아닌.. 2023. 5. 28.
spring boot 로그인 (+spring security, mysql) springSecurity 사용 pom.xml 에 아래와 같이 security 설정 추가 org.springframework.boot spring-boot-starter-security {프로젝트이름} Application.java 가 존재하는 폴더에 config folder 생성 + securityConfig.java 생성 demo.config.SecurityConfig에 기본적인 코드 추가 @Configuration public class SecurityConfig{ @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf().disable() .cors().disable() .authoriz.. 2023. 5. 28.
반응형