Family Guy -  Brian Griffin

전체 글

· CS
동기화(Synchronization)동기화는 여러 스레드가 공유 자원에 동시에 접근할 때 발생하는 문제를 해결하기 위한 메커니즘다수의 스레드가 동시에 공유 자원에 접근하면서 발생하는 경쟁 상태(Race Condition)를 방지하고, 일관성 있는 상태를 유지하기 위해 사용된다. 동기화 원리? 1. 상호 배제(Mutual Exclusion)한 순간에는 오직 한 스레드만이 공유 자원을 사용할 수 있도록 한다. 이를 통해 다른 스레드가 동시에 접근하지 못하도록 한다. 2. 임계 영역(Critical Section)공유 자원을 접근하는 코드 영역을 지칭한다.이 영역에는 한 번에 한 스레드만 접근할 수 있도록 동기화 메커니즘이 적용된다. 예시: 은행 계좌 이체 시스템조건 : 은행 계좌는 공유 자원이다. 여러 스레..
· CS
고차 함수와 재귀 함수는 서로 다른 개념이지만 종종 함께 사용될 수 있다. 이 두 가지 개념은 함수형 프로그래밍 스타일에서 자주 사용되며, 서로를 보완하고 유연하게 코드를 작성할 수 있는데 기여한다. 고차 함수와 재귀 함수의 연관성 1. 재귀 함수를 인자로 받는 고차 함수고차 함수는 다른 함수를 인자로 받을 수 있다. 이때, 재귀 함수를 인자로 받는 고차 함수를 작성할 수 있다. 예를 들어, 고차 함수가 재귀 함수를 인자로 받아서 재귀 호출을 추상화하고 조작하는 역할을 할 수 있다. 2. 재귀 함수 내에서의 고차 함수 사용재귀 함수 내에서도 고차 함수를 사용할 수 있다. 재귀 함수의 기본 케이스와 재귀 케이스를 구현하는 과정에서 다른 함수를 호출하거나 반환할 수 있다. 이렇게 함으로써 재귀적인 작업을 보..
· CS
SQLite관계형 데이터베이스 관리 시스템(RDBMS) 중 하나서버가 필요 없는 경량의 오픈 소스 데이터베이스 엔진퍼블릭 도메인에 속하며, C 라이브러리로 제공되며, 거의 모든 주요 플랫폼에서 사용할 수 있다.이 데이터베이스는 별도의 서버 프로세스를 사용하지 않고 응용 프로그램에 직접 접근하여 사용할 수 있다. 효율적이며 서버 기반 데이터베이스와는 다른 사용 사례를 가진다. SQLite 특징 총 정리 1. 경량 및 포터블SQLite는 작고 경량이며 다양한 운영 체제에서 사용할 수 있다. 데이터베이스 파일은 단일 파일로 구성되어 이식성이 뛰어나며, 서버를 설치할 필요가 없다. 2. 오픈 소스퍼블릭 도메인 소프트웨어로 라이센스되어 있어 무료로 사용할 수 있다. 3. 서버가 필요 없다!클라이언트/서버 아키텍처..
· CS
UUID(Universally Unique Identifier)는 범용 고유 식별자로, 주로 소프트웨어에서 고유한 식별자를 생성하기 위해 사용된다. 128비트의 숫자로 이루어져 있으며 보통 16진수로 표현된다. 일반적으로 시스템 시간, 기기의 MAC 주소, 임의의 숫자 등을 기반으로 생성된다. 이를 통해 매우 낮은 충돌 확률을 보장한다.랜덤하게 생성되며 충돌 가능성이 극히 낮기 때문에 대부분의 상황에서 유일성이 보장된다. UUID 사용 목적?1. 데이터베이스 식별자데이터베이스 레코드를 고유하게 식별하기 위해 사용한다.2. 세션 식별자웹 애플리케이션에서 세션을 관리할 때 사용한다.3. 임시 파일명임시 파일을 생성할 때 사용되며, 중복을 피하기 위해 유용하다.4. 네트워크 통신클라이언트와 서버 간 통신에서 ..
· Python
모듈(Module) 1. 모듈이란? 모듈(Module)이란 특정 기능을 하는 코드를 파이썬 파일(.py) 단위로 작성한 것을 말한다. 모듈을 이용하면 다른 파이썬 파일(.py)에 작성된 기능을 가져다 사용할 수 있다. 모듈의 장점 코드를 새로 작성하지 않고, 다른 모듈에 있는 코드를 불러와서 재사용할 수 있다. 기능 단위로 코드가 분리되어 유지보수가 쉬워진다. 모듈은 import 키워드를 이용해 불러올 수 있다. # module1.py def add(x, y): return x + y # module2.py import module1 print(module1.add(1, 2)) 3 2. random, time 모듈 파이썬은 다양한 기능이 있는 표준 라이브러리를 제공한다. 라이브러리란 여러 기능을 가진 모..
· Python
메서드 정리 리스트 리스트는 기본적으로 대괄호로 표현하며, 인덱스 값을 활용해 O(1)시간 안에 접근할 수 있습니다. 없는 인덱스를 지정하면, IndexError가 발생합니다. nums = [3, 5, 1, 4, 2] print(nums[0]) # 3 nums[1] = 7 print(nums) # [3, 7, 1, 4, 2] nums[8] = 9 # IndexError: list assignment index out of range # 리스트 안에는 다양한 자료형이 들어갈 수 있고, 길이는 가변적입니다. my_list = ['hi', True, [1, 2, 3], {'name':'tom'}, {7, 6}, (4, 5, 8)] 1️⃣ .append() 리스트의 맨 뒤에 요소를 1개 추가합니다. nums =..
· Python
함수(Function) 1. 함수 란? 1-1. 함수란 블랙 박스이다! 함수(Function)란 입력(input)을 넣었을 때 어떠한 출력(output)을 반환 하는 것을 말한다. 내부적으로 어떤 방식으로 처리하는지 알지 못해도(블랙박스), 특정 입력을 넣었을 때 원하는 결과를 반환할 것이라 기대한다. 앞서 프로그램이란 입력 → 처리 → 출력을 하는 것이라고 했었다. 함수도 큰 프로그램 안에 있는 미니 프로그램과 같다고 볼 수 있다. 파이썬에서는 함수라는 기능을 제공하여 코드의 중복을 방지하고 효율성을 도모한다. 1-2. 함수의 구조 함수의 기본적인 구조는 아래와 같다. def 함수명(매개변수): 함수에서 실행되는 동작 1 함수에서 실행되는 동작 2 ... return 반환값 먼저 def 키워드와 함께 ..
· 기타
협업하기 애자일 개발 프로세스 애자일 개발 프로세스(Agile development proccess)는 복잡한 프로젝트와 변화하는 요구사항에 효과적으로 대응하기 위해 고안된 소프트웨어 개발 방법론이다. 아무런 계획이 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점을 찾고자 하는 방법론이다. 전통적인 워터폴 모델과 달리, Agile 방법론은 짧고 반복적인 개발 사이클(스프린트)을 통해 소프트웨어를 개발하고, 이 과정에서 지속적으로 고객의 피드백을 받아 제품을 개선한다. 이 접근 방식은 팀이 더 유연하게 변화에 대응하고, 고객의 요구사항을 더 정확하게 충족시킬 수 있게 해 준다. ex. Jira Jira | Issue & Project Tracking Software | Atlassian..
· Vue
Backend + Frontend Vue에서 사용자에게 데이터를 보여주는 과정은 HTML 뼈대 생성 ⇒ AJAX를 활용하여 Django Server에 데이터 요청 ⇒ 받은 데이터를 이용해 화면 렌더링 의 과정으로 이루어져 있다. [실습 준비] 주어진 zip파일을 압축 해제한다. Skeleton을 활용한다. Django(기본 세팅) venv생성 $ pip install -r requirements.txt articles/views.py from .models import Article, Comment from .serializers import ArticleSerializer, CommentSerializer from rest_framework.response import Response from rest..
· 기타
만약 깃허브 팀원의 커밋을 실수로 삭제한 경우, 아래와 같은 단계를 따를 수 있다. version (1) : 커밋을 실수로 삭제한 상태에서 되돌려 팀원의 작업을 복구 1. 커밋 복구 커밋을 삭제하기 전 상태로 복구한다. 깃(Git)은 변경 이력을 유지하므로, 이전 커밋으로 되돌릴 수 있습니다. 삭제한 커밋의 해시를 확인한다. $ git reflog 2. 커밋을 되돌리기 삭제한 커밋으로 되돌립니다. 이를 위해 해당 커밋의 해시를 사용한다. $ git checkout -b recovery-branch 3. 커밋 적용 되돌린 커밋을 적용하고 변경 사항을 확인한다. & git log 4. 변경 사항 병합 복구한 변경 사항을 현재 작업 중인 브랜치로 병합한다. & git checkout your-branch & ..
조나희
Cozzin %