일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 알고리즘
- 백엔드
- 백준
- 로깅
- 등수계산
- 객체지향
- boj7568
- 구이톤
- 지역구 cctv
- schema-based constraints
- relation 테이블
- 덩치문제
- domain constraint
- &&연산
- cctv수
- 지부해커톤
- 자료구조
- java
- 실수기록
- key constraint
- ERD
- 자녀 집 구하기
- embin
- StringBuilder
- 경인지부
- 개체 무결성 제약
- 김덕배
- 9roomthonuniv
- sql
- null vaule constraint
- Today
- Total
목록전체 글 (21)
LightCS

구름톤 유니브 4기에 참여하게 되면서 6월 초 PR을 통해 팀 빌딩을 시작했다. 6월 23일까지 시험 기간으로 잠시 휴식을 취한 후 본격적인 회의와 개발에 돌입했다. 6월 24일부터 7월 11일까지 2주간 초기 기획 회의와 와이어프레임 세팅을 완료하고, 12~13일 대회를 진행했다. 우리 팀은 기획 1명, 디자인 1명, 프론트엔드 2명, 백엔드 2명으로 총 6명이 구성되었다.팀 빌딩부터 걱정 투성이였던 시작PR부터 불안해..사실 PR을 통해 팀을 구성할 때부터 걱정이 많았다. 우리 학교에서 나만 참여를 못하면 어떡하지, 거절당하면 어떡하지 또 백엔드 공부를 시작한 지 얼마 되지 않은 상황에서 다른 참가자들은 경력자일 거라는 생각에 주눅이 들었다. 그래서 나는 협업 능력을 강조하려고 노력했다. 백엔드 개발..

백준 덩치 문제는 몸무게와 키를 비교해 순위를 정하는 문제임다.실버 5에 2시간 이상 체류하는 경험"몸무게 기준으로 정렬하고, 정렬된 상태에서 키를 비교해서 랭킹을 부여하자."Comparable과 Comparator을 사용하는 방법을 찾았다.Comparable은 @Override, compareTo를 통해서 정렬하거나 Comparator은 @Override, compare를 통해서 정렬하는 방식이다.이외에도 람다를 통해 정렬하거나 Stream을 통해 정렬할 수 있지만 주변에서 문제 푸는 것을 보고 "너 이거 코딩테스트에서도 사용할 수 있어?"라는 질문에 나는 뭐 자주 쓰면 손에 익어서 사용하지 않을까? 라고 답했다.하지만 앞으로 자주 사용할 문법인가? 안 외우고 바로 사용할 수 있는가?에 대한 질문에서는..

District - 표준 자치구 테이블서울시의 자치구 정보를 기준으로 범죄와 CCTV 통계를 연결하는 중앙 허브 테이블사용자가 name_kor로 입력 혹은 name_full로 어떤 값으로 입력하든 같은 동작을 하기 위해 name_kor, name_full를 유지한다.필드명설명 district_id 각 자치구를 식별하는 고유 ID (기본 키)name_kor사용자 친화적인 간단한 이름 (예: "강남구")name_full전체 명칭 (예: "서울강남구") – 검색 시 기준 필드로 활용됨District은 CrimeStats, CCTVInfo와 각각 1:N 관계로 연결!CrimeStats – 범죄 통계 테이블자치구별 범죄 유형 및 발생 건수를 저장한 통계 테이블 [공공데이터]김덕배씨가 안전한 집을 확인하기 위해..

요구사항 정의안양시에 거주하는 푸른 하늘을 좋아하는 감성적인 46세 김덕배 씨는 대학에 진학하게 된 자녀가 서울로 독립하여 거주할 집을 찾는 과정에서 깊은 고민에 빠져 있다.자녀가 안전한 환경에서 학업과 생활을 영위하길 바라는 부모로서, 그는 단순히 집값이나 교통 편의성보다 지역의 범죄 안전도를 가장 중요한 요소로 고려하고 있다.김덕배 씨는 서울시 내 각 자치구에서 발생한 범죄의 유형과 빈도를 객관적인 통계로 확인하고 싶어 하며,특히 강력범죄(살인, 강도 등), 폭력범죄(폭행, 협박 등), 지능범죄(사기, 횡령 등)의 발생 건수가 낮은 비교적 안전한 지역구를 선별해내는 것이 우선 목표다.또한 강간, 폭행 등 자녀의 신체적 피해로 이어질 수 있는 특정 위험 범죄 유형에 대해서는 지역별 발생 분포를 시각적으..

JWT를 배우고 redis를 배우면서 두 토큰에 대해서 자세히 모르고 실습 코드만 따라 만들다가 새로운 Access 토큰과 Refresh 토큰에 대해 알게 되었다. 그럼 이제 정리를 야무지게 가보자.1. 개요: Access Token & Refresh Token항목 Access Token Refresh Token용도인증 요청 처리 (Authorization 헤더에 사용)Access Token 재발급 전용유효 기간상대적으로 짧음 (예: 15분)상대적으로 김 (예: 7일)저장 위치 (클라이언트)localStorage 또는 memoryhttpOnly Cookie 또는 localStorage저장 위치 (서버)❌ 저장 안 함 (stateless 검증)✅ Redis에 저장하여 검증 및 만료 제어만료 시 처리Refr..
데이터 베이스 생성하기맨 아래 자료의 출처이면서 동시에 공부하기 좋은 유튜브 나와 있어요.간단한 용어SQL: 릴레이션 DBMS의 표준 언어, 종합적인 데이터베이스 언어SQL에서 사용하는 언어relation→tableattribute→columntuple→rowdomain→domainsql에서 릴레이션이란 중복 튜플을 허용한다.SQL은 RDBMS의 표준 언어지만 실제 구현에 강제가 없어 RDBMS마다 제공하는 SQL의 스펙이 다르다.MYSQL에서는 DATABASE와 SCHEMA를 같은 뜻으로 사용한다.DATABASE 대신 SCHEMA를 사용해도 된다.데이터 베이스 안에서 테이블 정의한다.postreSQL에서는 SCHEMA가 데이터베이스의 namespace를 의미한다.데이터 베이스 안에서 스키마 정의 → 스..
릴레이션(Relation 테이블): 튜플의 집합추상적으로 부르기도 하고 실제 값이 들어있는 상태를 나타내기도 한다.릴레이션은 수학적으로는 도메인의 곱집합의 부분집합도메인(Domain): 더 이상 나눠질 수 없는 속성이 가질 수 있는 값들의 집합.다시 말해 속성의 데이터 타입과 허용값의 범위속성(attrbute) : 관계형 데이터베이스에서 데이터를 구성하는 가장 기본적인 단위(테이블의 열)더 이상 나눠질 수 없다.도메인이 릴레이션에서 맡은 역할, 같은 도메인이 목적성이 달라 각자 저장할때 구분한다.만약 아래 같이 나눠질 수 있다면 나누어야 한다.composite attribute: 이름(name)이 성, 이름으로 구성된 경우multivalued attribute: 전화번호가 여러 개 있는 경우튜플(Tupl..
용어데이터 베이스란?데이터 베이스(DataBase): 전자적으로 저장되어 있고 관련있는 데이터들의 조직화된 집합관련 있는 데이터: 논리적으로 연결되어 있는 데이터(이름, 학번, 전화번호, 대학교 등은 모두 학생이라는 데이터와 논리적으로 관련 되어있다. )조직화: 일정한 구조와 형식을 갖춰 체계적으로 정리된 상태. 우리는 테이블이나 제약 조건 등을 통해 데이터를 정해진 틀 속에서 정리한다.전자적: 디지털 방식으로 저장되고 관리하는 것이다.DBMS란?DBMS: 사용자가 DB를 정의하고 관리하는 기능을 제공하는 소프트 웨어 시스템이다.핵심 기능: 데이터의 정의, 조작, 제어, 관리EX) MySQL, PostgreSQL메타데이터(MetaData): 데이터에 관한 데이터(그 정보를 담는 틀과 설명)데이터를 설명하..

에디터https://www.acmicpc.net/problem/1406오늘도 수많은 실패 이후에 성공...컴파일 에러는 또 제출 형식을 못 맞춰서 틀렸다.런타임 에러는 commands[1]를 다른 명령어에서도 그냥 실행 되게 if 문 밖에 놓아서 생긴 오류(값을 사용하지 않는다면 상관 없다고 생각했지만 생각해 보니까 없는 값을 접근하는 것 자체가 문제이다.)import java.util.*;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); StringBuilder str = new StringBuilder(scanner.nextLine());..

백준의 자바의 입력 형식이 정해져 있었다.class명 Main으로 하고 +package 사용하면 틀립니다.2번 틀리고 원인을 찾는 레전드import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); String[] num =str.split(" "); StringBuilder first = new StringBuilder(); StringBuilder second = new StringBuilder(); ..