분류 전체보기 118

[JavaScript] 프로그래머스: 피로도

https://school.programmers.co.kr/learn/courses/30/lessons/87946 순서를 정하는 데 있어 별다른 규칙이나 식을 세우기가 어렵고, 던전 개수는 최대 8개로 입력 크기가 작으므로 완전탐색으로 풀 수 있겠다.그럼 순열을 구하는 코드를 만들어보자. ✒️ 순열 구하기예를들어 배열 [1, 2, 3, 4] 에서 가능한 모든 순열을 구해본다고 치자그럼 일단 첫번째 원소가 1인 조합들을 고를 테니 [1, ( 나 머 지) ] 가 되고 그럼 저 나머지에서 가능한 모든 순열을 또 구하면 된다. 즉 재귀호출로 구현할 수 있다.첫번째 원소를 고정해두고, 나머지 원소 조합들로 재귀호출을 해준다. 종료조건은 정렬할 원소가 1개밖에 남지 않았을 때가 되므로 num === 1일 때로 ..

알고리즘 2025.06.16

[DB] 정규화 (Normalization)

데이터베이스에서 정규화란 테이블을 분해하여 데이터 중복을 없애고, 의존성을 보장하며, 잘못된 연산(Analomy)이 수행되지 않도록 하는 것이다. 중복을 제거해 데이터 무결성을 유지하는 방법이라고 보면 되겠다. 1NF, 2NF, 3NF, BCNF, ... 순으로 정규화 단계가 있으며 각 단계는 이전 단계의 정규화 조건을 만족해야 한다. 제1정규형 (1NF)column의 값이 단 하나의 value만 가져야 한다.아래 표의 첫번째 row를 보면, subject column에서 2개의 value를 가진다. 즉 아래 표는 제1정규형을 만족하지 못한다.StudentAgeSubjectA15Biology, MathsB14MathsC17Maths 위 표를 1NF를 만족하도록 분해하자. 한번에 하나의 값만 갖도록 나눠주..

공부 2025.04.08

[Java] 싱글턴 패턴 (Singleton pattern)

싱글턴 패턴이란 프로그램 내에서 객체의 인스턴스를 딱 하나만 생성하는 소프트웨어 디자인 패턴이다.일반적으로 new 등의 생성자를 사용해 객체를 만든다. 만들어진 객체를 인스턴스라 부르고, 인스턴스는 여러 개 생성할 수 있고 각자 객체 지향적으로 작동한다. 그러나 싱글턴 패턴으로 만들어진 클래스는 생성자를 여러 번 호출해도 최초의 생성자가 만든 객체를 리턴하게 되어, 결과적으로 객체는 하나만 존재하게 된다. 아래 코드를 보자.class Connection { private static Connection _inst = null; private int count = 0; static public Connection get() { if(_inst == null) { ..

공부 2025.04.08

프로그래머스: 베스트앨범 [C++]

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 장르이름과 재생횟수가 따로 배열로 주어지고, 각 노래는 고유번호 즉 인덱스로 구분한다.구해야 할 것은 일단- 장르별 전체 재생횟수의 합, 순서대로 정렬- 장르 안에서 재생횟수(같으면 고유번호) 순서대로 정렬 뭔가 이런저런 시도를 해봤는데 역시 "고유번호"가 유지되어야 한다는 점이 거슬렸다. 대충 벡터에 넣어서 소트하자니 순서도 없어지고... 장르별로 소트를 하고 그 안에서 또 따로따로 소트가 되어야 하고...결국에는 map을 사용해서 풀었다.장..

알고리즘 2025.01.03

[React] 공유 링크 만들기

기존에 만들던 백업 사이트는 이런식으로, 로그인하면 자신의 페이지에 데이터를 추가/수정/삭제할 수 있게 되어 있다.  이때, 이 페이지를 다른 사용자도 볼 수 있도록 공유하고자 한다. 이 페이지의 데이터 그대로 보여줄 거지만, 공유페이지일 경우 데이터를 추가하거나 수정할 수는 없어야 한다.일단 공유 용도를 위한 페이지를 따로 만들어주었다. 라우팅에서 얘기하겠지만 공유링크는 /share/(해당유저의 uid) 형식으로 만들 것이므로 uid를 useParams로 가져온다.메인 페이지와 동일한 컴포넌트와 스타일을 사용하지만, 중간중간 데이터를 불러와야 하는 컴포넌트들에는 isShared라는 props를 추가로 내려주어 특정 요소들의 가시 여부를 컨트롤해주고, externalUid로 params 즉 이 공유페이지..

기록 2025.01.03

[React] Context를 사용한 전역 상태관리

올해도 창작물 연말정산 백업 페이지를 만들던 중... 저번과는 다르게 파이어베이스를 활용한 인증과 데이터베이스를 사용하고 있었는데, 만들다 보니 매 컴포넌트마다 사용자 정보를 useEffect로 새로 불러오고 있다는 것을 깨달았다. 이거... 너무 비효율적이자나  여태껏 쓰고 있던 방식컴포넌트마다 useEffect를 사용해, 렌더링될 때 유저 정보를 가져오도록 했었다. 근데 컴포넌트가 많아지다 보니 일일이 복붙하다가... 그럴필요잇나? 싶어져서로그인 사용자 인증 정보는 어차피 로그인한 이상 어디서든 쓰니까, 이렇게 하면 매번 같은 코드를 갖다붙여야 하니 귀찮기도 하고 유지보수도 어렵다. context로 빼서 상태관리를 해주자. context란?공식문서를 보는 것이 편하다 :> ...https://ko.r..

기록 2024.12.26

11주차

7. Design System과 UI PrototypingDesign System과 UI prototyping의 개념: UI디자인의 구체적인 결과물 제작에 관한 방법이자 도구Design system- 재사용 가능한 구성요소의 조합- 스타일 가이드를 포함하는 UI 구서용소의 집합- 불필요한 디자인의 중복성 감소- 시각적 일관성 부여- 제품에서 공유되는 철학이나 어워드를 대규모로 관리ex) 구글의 material design, IBM의 carbon designAtomic Design : 디자인시스템이 갖고 있는 계층적 구성요소- Atoms(낱개의 이미지, 아이콘...) - Molecules(버튼이 있는 필드...) - Organisms (디자인 패턴과 유사) - Templates - pages디자인 시스템이..

ECC 2024.12.08

AWS Cloud (2) Storage, Databases, Security

Module 5. Storage and Databases28. Instance Stores and Amazond Elastic Block Store (Amazon EBS)Block-Level storage- block으로 저장된 파일들의 저장소- databases, enterprise sw, file systems... EC2 instance에서는- Instance Store Volumes AWS : host에(hypervisore 아래의 AWS host) attach되어있는 저장소. instance를 terminate하면 안의 데이터도 같이 사라짐.근데 EC2 종료한다고 데이터가 사라지지는 말았으면좋겠어요!! ->> Amazon EBS. Amazon EBS- EBS volumes(virtual hard..

공부 2024.11.27

9주차

3. 인터랙션과 사용성1. 인터랙션의 종류Interaction : 상호작용, 관계, 소통, 반응- 정보통신, 디자인에서: 인간-컴퓨터 상호작용(HCI)컴퓨터를 인간에게 좀더 쉽고 쓸모있게 함으로써 인간과 컴퓨터 간의 상호작용 개선 Interaction의 방법1) Touch interaction감압식: 누르는 힘을 감지해서 위치 탐색- 손가락이 아닌 비도체로도 작동 가능- 느린 반응속도, 멀티터치 기술 적용 어려움정전식: 전도체가 닿을 때 전류의 변화 인식- 전도체만 인식해 오작동 가능성 낮음, 빠른 반응속도, 선명한 액정, 멀티터치- 높은 소비전력, 높은 제조단가, 두꺼운 장갑 등 불가Multituch Interface- tap / press(hold) / double tap / flick / drag-..

ECC 2024.11.23