본문 바로가기 메뉴 바로가기

기록하는 개발자

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

기록하는 개발자

검색하기 폼
  • 분류 전체보기 (127)
    • JAVA (6)
    • Spring (38)
    • Django (7)
    • 알고리즘 (28)
    • Network (16)
    • 회고 (17)
      • 우아한테크코스 (11)
    • Linux (11)
    • 이슈 (2)
    • 인프라 (2)
  • 방명록

분류 전체보기 (127)
[Spring] 쿠키와 세션을 이용한 간단한 로그인/로그아웃

로그인 상태 유지하기 웹 브라우저랑 서버 사이에서 로그인 했다는 것이 유지가 되어야한다. 쿼리 파라미터를 계속 유지하는 것은 어렵고 비효율적이므로 쿠키를 사용한다. 쿠키 서버에서 로그인에 성공하면 http 응답에 쿠키를 담아서 브라우저에 전달한다. 그러면 브라우저는 앞으로 해당 쿠키를 지속해서 보내준다. 쿠키에는 영속 쿠키와 세션 쿠키가 있다 영속 쿠키: 만료 날짜를 입력하면 해당 날짜까지 유지 세션 쿠키: 만료 날짜를 생략하면 브라우저 종료시 까지만 유지 브라우저 종료시 로그아웃이 되길 기대하므로, 우리에게 필요한 것은 세션 쿠키이다. 쿠키와 보안문제 쿠키의 값이 임의로 변경될 수 있다 이런식으로 개발해버리면 사용자 모두가 털릴 수 있다 ! 실제 개발자모드에서 쿠키를 마음대로 바꿀 수 있다 쿠키에 보관..

Spring 2022. 3. 29. 22:18
[Spring] Bean Validation / @Valid, @Validated

Validation 객체를 생성하거나 수정하는 등의 작업을 할 때 올바르지 않은 데이터를 걸러내고 유지하기 위해 데이터 검증이 적용됩니다. Client Side 뿐만 아니라 Server Side에서도 데이터 유효성을 반드시 검사해야합니다. 클라이언트 쪽에서 데이터를 변조하여 서버로 쉽게 보낼 수 있는 상황이 생길 수 있기 때문에 반드시 서버측에서도 데이터 유효성 검사를 실시해야합니다. 스프링에서는 @validated 에노테이션을 이용하여 검증할 수 있습니다. 그러나 검증 기능을 매번 코드로 작성하는 것은 번거롭습니다. 객체 값 하나하나를 If 문을 통해서 검증하는 것은 코드를 작성하는 과정에서 반복적이고 효율적이지 않습니다. 게다가 특정 필드에 대한 검증 로직은 대부분 빈 값(Null)인지 아닌지, 특정..

Spring 2022. 3. 25. 14:52
[백준] 1463 1로만들기 - 파이썬

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. N은 최대 1,000,000 까지 이고 파이썬은 1.5초까지 시간초과 나지 않습니다. 그러므로 O(N) 시간내에 해결해야합니다. N의 개수만큼 dp 리스트를 만들고 0으로 초기화시킵니다. 1일때는 0, 2일때는 1, 3..

알고리즘 2022. 3. 22. 22:14
[백준] 2580 스도쿠 - 파이썬 (시간초과 풀이 및 해결)

https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 일반적인 백트래킹을 이용한 스도쿠문제이다. 1 ~ 9 사이의 숫자를 넣어보고 3x3, 가로, 세로 조건을 충족하면 다음 숫자를 넣고, 충족하지 않으면 이전의 조건으로 되돌리면 된다. 시간초과 풀이 import sys input = sys.stdin.readline sdoku = [] for _ in range(9): row = list(map(int, input().split())) sdoku.a..

알고리즘 2022. 3. 17. 14:59
[Spring] Model 객체과 @ModelAttribute

Model 스프링에서 모델 객체는 컨트롤러에서 생성된 데이터를 담아 View로 전달할 때 사용하는 객체이다. Model 객체를 model이라고 하면 model.addAttribute("key", "value") 형태의 메소드를 이용해 view에 데이터를 전달한다. @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "form/item"; } @ModelAttribute 등록, 조회, 수정 폼에서 모두 공통된 데이터를 보여주어야 하는 경우에 어노테이션을 ..

Spring 2022. 3. 15. 14:48
[프로그래머스] 보석 쇼핑 - 파이썬

https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 ..

알고리즘 2022. 3. 13. 17:44
카운팅 정렬 알고리즘(Counting Sort) / 계수 정렬

카운팅 정렬(Counting Sort)는 각 항목의 개수를 세어 저장해 두고, 그에 따라서 적절한 위치에 정렬하는 효율적인 알고리즘 입니다. 오름, 내림차순 정렬과정, 시간 복잡도, 특징등에 대해서 알아보겠습니다 ! 카운팅 정렬이란? 정렬하고 싶은 배열 항목들의 순서를 결정하기 위해 각 항목(요소)들이 몇 개씩 있는지 세어서 적절한 위치에 정렬하는 방법입니다. 각 항목의 개수를 기록하기 위해 정수로 인덱스 되는 카운트 리스트를 사용하기 때문에 정수나 정수로 표현할 수 있는 자료에만 적용할 수 있는 알고리즘입니다. 예를 들어 배열 [1, 2, 3, 1, 5, 6]이 있다고 하면 1은 2개가 있고 나머지 원소들은 1개가 배열 내에 존재합니다. 그러므로 배열 내에서 가장 큰 수를 반드시 알아야합니다. 파이썬에..

알고리즘 2022. 3. 11. 22:47
[프로그래머스] 다단계 칫솔 판매 - 파이썬

https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 문제 설명 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, 조직을 운영하던 민호는 조직 내 누가 얼마만큼의 이득을 가져갔는지가 궁금해졌습니다. 예를 들어, 민호가 운영하고 있는 다단계 칫솔 판매 조직이 아래 그림과 같다고 합..

알고리즘 2022. 3. 8. 16:05
겨울방학 회고 & 일주일간의 서울 다녀오기 :D

겨울방학 회고 이번 학년은 휴학하고 하고 싶은 공부에 집중하기로 했다 ! 힘들었던 3학년 2학기를 끝내고 12월말에 종강하자마자 PROJECT 동아리에 들어가게 되었다. 에타에서 모집하는 홍보글을 보았었는데 같은 과 친구가 활동하고 있어서 몇 가지를 물어본 후 지원했다. 동아리에 들어가니 다양한 실력자분들이 많이 계셨고 생각보다 많은 동아리원분들이 계셨다 ! 3학년 초 까지는 데이터를 다루는 데이터 엔지니어나 데이터 분석가에 관심이 있었는데 데이터 분야는 학사 졸업으로는 한계가 있었고 데이터베이스와 네트워크 과목을 배우며 백엔드(서버)를 다루는 기술에 흥미를 갖게 되었다. 다른 사람들 보다 확실한 방향을 늦게 잡은 것 같기도 하고 프로젝트나 협업을 해봐야겠다고 생각만 했지 적극적으로 하지 못했었다. 결론..

회고 2022. 3. 6. 00:47
[프로그래머스] 124 나라의 숫자 - 파이썬

https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 문제 풀이 3진수가 증가하는 것과 비슷한 과정으로 증가한다. 10진수에 해당하는 124진수와 몇 가지 ..

알고리즘 2022. 2. 24. 15:02
이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 8주차 회고
  • 스프링 프레임워크
  • 피움
  • 파이썬
  • ZNS
  • 네트워크
  • ZNS SSD
  • 피움 6주차 회고
  • 환경 별 로깅 전략 분리
  • dm-zoned
  • 프로젝트
  • 런칭 페스티벌
  • jpa
  • CI/CD
  • dm-zoned 코드분석
  • 백준
  • java
  • 스프링 부트
  • 스프링 Logback
  • 3차 데모데이
  • 우테코 회고
  • 스프링MVC
  • Spring
  • 우테코
  • 팀프로젝트
  • 알림기능개선기
  • 2차 데모데이
  • 5주차 회고
  • 알림개선기
  • 회고
more
«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바