[스위프 후기] - 스위프 웹 12기 밍글링 프로젝트
·
👨🏻‍💻 Programmer's Insight/Project
스위프 웹 12기 FE 후기 이번 스위프 활동은 처음 참여해보는 대외활동이었고 동시에 처음 진행해보는 팀 프로젝트였습니다. 저는 프론트엔드 파트를 담당했었는데요~ 진행 기간 6주 그리고 2주 간의 고도화 기간까지 대략 2달의 시간을 투자하면서 참 많은 것들을 배워간 시간이었습니다. 개발환경 세팅부터 디자이너 분들의 figma 시안을 코드로 구현하고 백엔드 api와 연동하는 작업들은 너무나 즐거운 시간이었습니다. 단순히 기능을 구현하는 것을 넘어서 사용자 경험을 어떻게 더 좋게 만들 수 있을지 고민해보는 과정도 개인적으로 굉장히 의미 있는 시간이었습니다.그러다가도 막히면 며칠을 끙끙대고 gemini, claude, gpt의 도움을 받아 해결하고도 또 에러 터지면 코드를 낱낱이 분석하고 이러면서 밤을 훌쩍 ..
[데이터베이스] - 데이터베이스 응용 기술 (Database Application Technologies)
·
💻 Computer Science/데이터베이스
객체지향 데이터베이스 관계 데이터베이스는 관계 데이터 모델의 기능적 제약조건과 SQL의 표현력 한계로 인해 다양한 응용 분야에 부적합하다. 객체지향 데이터 모델은 객체지향 개념에 기반을 둔 데이터 모델로, 의미상 관계가 있는 데이터베이스 구조를 표현할 때 적합하다. 객체지향 데이터 모델이 지원하는 객체지향 개념은 다음과 같다.객체: 현실 세계에 존재하는 개체를 추상적으로 표현한 것객체 식별자: 각 객체를 유일하게 식별하는 수단속성: 객체의 상태나 특성메서드: 객체에 수행할 수 있는 연산, 객체의 속성 값을 조작한다.클래스: 속성과 메서드를 공유하는 유사한 성질의 객체들을 그룹화한 것복합 객체: 사용자 정의 클래스를 도메인으로 하는 속성을 가지고 있는 객체 객체지향 데이터베이스에서는 질의 대상이 클래스이고..
[데이터베이스] - 보안과 권한 관리 (Security and Access Control)
·
💻 Computer Science/데이터베이스
데이터베이스 보안 데이터베이스 내의 데이터는 조직 내 사용자들이 공유하여 사용한다. 이때 허가되지 않은 외부인이 데이터베이스에 침입하여 데이터에 접근한다면 문제가 생길 것이다. 따라서 조직에서 허가된 사용자만 데이터베이스에 접근하도록 하여 보안을 유지하는 것은 매우 중요하다. 데이터베이스의 보안을 유지하여 데이터를 보호하는 방법은 다음 세 가지 유형으로 분류된다.물리적 환경에 대한 보안: 데이터베이스에 물리적으로 손실을 발생시키는 위험으로부터 데이터베이스를 보호해야 한다.권한 관리를 통한 보안: 접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스를 사용할 수 있도록 보호해야 한다.운영 관리를 통한 보안: 데이터 무결성을 유지하기 위하여 올바른 제약조건을 정의하고, 사용자들이 정의된 제약조건을 위반하..
[데이터베이스] - 회복과 병행 제어 (Recovery & Concurrency Control)
·
💻 Computer Science/데이터베이스
장애의 유형 장애란 시스템이 제대로 작동하지 않는 상태를 말한다. 데이터베이스 시스템에서 발생할 수 있는 장애는 다음과 같이 분류된다.트랜잭션 장애: 트랜잭션 수행 중 오류가 발생하여 정상적으로 수행을 할 수 없는 상태이다.시스템 장애: 하드웨어의 결함으로 정상적으로 수행을 할 수 없는 상태이다.미디어 장애: 디스크 장치의 결함으로 디스크에 저장된 데이터베이스의 일부 혹은 전체가 손상된 상태를 말한다.회복 기법 회복은 데이터베이스에 장애가 발생했을 때, 장애가 발생하기 전의 모순이 없고 일관된 상태로 복구시키는 것을 말한다. 장애가 발생하면 복구하는 기간 동안에는 데이터베이스에 접근하여 업무를 진행할 수 없기에 회복 과정은 빠른 시간 내에 이루어져야 한다. 회복 과정을 수행할 때, 덤프 또는 로그 방법..
[데이터베이스] - 트랜잭션 (Transaction)
·
💻 Computer Science/데이터베이스
트랜잭션 정의 데이터베이스는 다수의 사용자가 동시에 사용해도 항상 정확한 데이터를 유지해야 하며, 장애가 발생하더라도 빠른 시간 내에 원래의 상태로 복구되어야 한다. 즉, 데이터베이스 관리 시스템은 항상 정확하고 일관된 상태를 유지해야 한다. 이때, 트랜잭션이 사용된다. 트랜잭션은 작업 하나를 수행하는데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스의 논리적인 작업의 단위이다. 트랜잭션을 관리함으로 데이터베이스의 회복과 병행 제어가 가능해진다. 트랜잭션의 모든 명령문이 완벽히 처리되거나, 하나도 처리되지 않아야 데이터베이스가 모순 없는 일관된 상태를 유지할 수 있다. 일반적으로 데이터베이스를 변경하는 `INSERT`문, `UPDATE`문, `DELETE`문의 실행을 트랜잭션으로 관리한다..
[데이터베이스] - 정규화 (Normalization)
·
💻 Computer Science/데이터베이스
이상 현상 (Database Anomalies) 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하며, 릴레이션의 데이터에 대한 연산 작업을 수행할 때 문제가 생길 수 있다. 이를 “이상 현상(Anomaly)”이라고 한다. 이러한 이상 현상을 제거하면서 데이터베이스를 올바르게 설계하는 과정이 “정규화(Normalization)”이다. 이상 현상은 “삽입 이상”, “갱신 이상”, “삭제 이상”으로 분류된다.`삽입 이상(Insertion Anomaly)`: 릴레이션에 새 데이터를 삽입해야 할 때, 불필요한 데이터도 함께 삽입되는 문제를 말한다.`갱신 이상(Update Anomaly)`: 릴레이션의 중복된 튜플들 중, 일부만 수정되어 데이터가 불일치하게 되는 문제를 말한다.`삭제 이상(Deletion ..
[데이터베이스] - 데이터베이스 설계 (Database Design)
·
💻 Computer Science/데이터베이스
데이터베이스 설계 단계 데이터베이스 설계는 사용자의 요구사항을 고려하여 데이터베이스를 생성하는 과정으로, 데이터베이스 설계 과정의 각 단계에서 수행하는 주요 작업은 다음과 같다.요구사항 분석: 실제 업무를 처리하는 사용자에게서 필요한 데이터의 종류와 처리 방법과 같은 다양한 요구 사항을 수집한다. 그 후, 수집한 요구사항을 분석하여 그 결과를 요구사항 명세서로 작성한다.개념적 설계: 요구사항 명세서를 바탕으로, 요구사항을 개념적 데이터 모델을 이용하여 표현한다. E-R 모델과 같은 개념적 데이터 모델은 DBMS의 종류에 독립적이면서 중요한 데이터 요소 간의 관계를 표현할 때 사용한다.논리적 설계: 개발에 사용할 DBMS에 적합한 논리적 데이터 모델을 이용하여 개념적 설계 단계에서 생성한 개념적 구조를 기..
loading