Programming 324

장고(django)/ REST Framework(serializers 관련)

from rest_framework import serializers 먼저 시리얼라이저는 Django 모델 데이터를 직렬화하거나 역직렬화해서 api 통신하는 데 사용됩니다. 1. UserSerializer(serializers.ModelSerializer): `serializers.ModelSerializer`를 상속받는 클래스입니다. 이 클래스는 Django 모델과 연결된 시리얼라이저로, 모델의 필드와 관련된 직렬화 및 역직렬화 로직을 자동으로 생성해줍니다. `ModelSerializer`는 모델 클래스와 연결하여 필드, 유효성 검사 등을 자동으로 처리합니다. class UserSerializers(serializers.ModelSerializer): class Meta: model = All_data..

DDL과 DML과 DCL(DBMS 언어) 비교

DDL, DML, DCL은 데이터베이스 관리 시스템(DBMS)에서 사용되는 데이터 조작 언어의 종류입니다. 각각의 언어는 데이터베이스의 구조, 내용 및 접근 권한을 조작하는 데 사용됩니다. 1. DDL (Data Definition Language, 데이터 정의 언어): DDL은 데이터베이스의 스키마(schema) 및 구조를 정의하고 조작하는 데 사용됩니다. DDL은 데이터베이스, 테이블, 컬럼, 제약 조건 등의 생성, 수정 및 삭제를 다룹니다. 주요한 DDL 명령어로는 다음이 있습니다: - CREATE: 데이터베이스, 테이블, 뷰 등을 생성합니다. - ALTER: 데이터베이스, 테이블, 컬럼 등의 구조를 변경합니다. - DROP: 데이터베이스, 테이블, 뷰 등을 삭제합니다. 2. DML (Data Ma..

취업 관련

# 신입 개발자 준비 출처: https://mangkyu.tistory.com/171 [취업준비] 신입 개발자 취업 준비 시작하는법 요즘 개발자로 취업준비하려는 분들이 주변에 참 많이 보입니다. 심지어는 본인이 하고 있는 일을 그만두고 개발자로 전향하시는 분도 계시는데, 카페나 SNS 글을 보면 많이 고민하고 어려워하 mangkyu.tistory.com # 신입 개발자 코딩테스트(알고리즘 문제) 관련 출처: https://mangkyu.tistory.com/181 [취업 준비] 신입 개발자 알고리즘 팁 정리 및 문제 추천 이번에는 취업 준비를 하면서 풀었던 백준 알고리즘 문제 중에서 개인적으로 괜찮았던 문제들을 추천해보고자 합니다. 예전에 풀었던 기록들을 보고 정리한거라 빠진 좋은 문제들도 많이 있을 m..

Programming/etc 2023.06.07

VMware와 WSL

VMware와 WSL2는 둘 다 컴퓨터 환경을 가상화하는 기술입니다. 그러나 두 기술은 목적과 사용 방법에서 차이가 있습니다. 1. VMware: VMware는 가상 머신(VM)을 생성하여 호스트 시스템에서 독립된 가상 환경을 실행하는 솔루션입니다. VMware를 사용하면 여러 운영 체제(OS)를 동시에 실행하거나, 개발 및 테스트 환경을 분리하여 관리할 수 있습니다. VMware는 호스트 시스템 위에 가상화된 하드웨어를 에뮬레이트하여 게스트 운영 체제를 실행합니다. 이는 완전한 운영 체제를 가상화하기 때문에 원하는 운영 체제를 설치하고 실행할 수 있습니다. 2. WSL2 (Windows Subsystem for Linux 2): WSL2는 Windows 운영 체제에서 리눅스 환경을 실행하기 위한 기술입..

Programming/etc 2023.06.07

로그(log)

#로그(Log) 컴퓨터 시스템, 소프트웨어, 네트워크 등에서 발생하는 이벤트, 동작, 오류 등의 기록을 의미합니다. 로그는 시스템의 상태와 동작을 추적하고 기록함으로써 문제 해결, 성능 모니터링, 보안 분석 등에 활용됩니다. 로그는 다양한 형태와 목적으로 생성될 수 있습니다. 일반적으로는 텍스트 파일 형식으로 기록되며, 이벤트 발생 시간, 이벤트 유형, 발생 위치, 상세 내용 등이 포함됩니다. 로그의 종류는 다음과 같이 분류할 수 있습니다: 1. 시스템 로그: 운영 체제(OS) 및 시스템 소프트웨어에서 발생하는 이벤트와 동작에 대한 기록입니다. 예를 들어, 부팅 시스템 로그, 오류 메시지, 서비스 시작 및 종료 로그 등이 포함됩니다. 시스템 로그는 시스템의 상태를 모니터링하고 문제를 진단하는 데 사용됩니..

Programming/etc 2023.06.07

세션(Session)

# 세션(Session) 웹 애플리케이션에서 사용자의 상태를 유지하기 위해 사용되는 개념입니다. 세션은 클라이언트와 서버 간의 상호작용을 추적하고 정보를 저장하는 방법을 제공합니다. 일반적으로 세션은 다음과 같은 과정으로 이루어집니다: 1. 클라이언트가 웹 서버에 접속합니다. 이 때, 클라이언트는 고유한 세션 식별자인 세션 ID를 받습니다. 2. 서버는 클라이언트로부터 받은 세션 ID를 사용하여 클라이언트의 세션 정보를 식별합니다. 세션 정보는 일반적으로 서버 측에 저장되며, 데이터베이스, 파일, 메모리 등에 저장될 수 있습니다. 3. 클라이언트와 서버 간의 요청 및 응답이 이루어질 때마다, 클라이언트는 세션 ID를 포함하여 서버에 전송합니다. 이를 통해 서버는 클라이언트의 세션을 식별하고 해당 세션에 ..

Programming/etc 2023.06.07

웹(WEB)과 앱(APP) 비교

# 웹(월드 와이드 웹, WEB) 인터넷 상에서 문서, 이미지, 동영상 등의 정보를 검색하고 접근할 수 있는 정보 공간입니다. 웹은 인터넷을 기반으로 동작하는 클라이언트와 서버 간의 통신을 통해 정보를 전송하고, 웹 브라우저를 통해 사용자가 해당 정보를 확인하고 상호작용할 수 있도록 합니다. 웹은 팀 버너스 리(Tim Berners-Lee)에 의해 1989년에 개발된 것으로 시작되었습니다. 웹은 HTML(HyperText Markup Language)이라는 마크업 언어를 사용하여 문서를 작성하고, 이러한 문서들은 하이퍼링크로 연결되어 있습니다. 하이퍼링크를 클릭하면 다른 문서로 이동하거나, 이미지, 동영상 등의 미디어 자료를 볼 수 있습니다. 웹은 전 세계적으로 널리 사용되며, 웹 브라우저를 통해 다양한..

Programming/etc 2023.06.06

보안 설계에 관하여

# 일반적인 웹 서비스 보안 설계를 위한 주요 사항들 1. 인증과 접근 제어: 사용자 인증을 위한 안전한 인증 메커니즘을 구현하고, 접근 제어를 통해 권한이 없는 사용자의 접근을 차단합니다. 2. 데이터 암호화: 중요한 데이터는 저장 및 전송 과정에서 암호화되어야 합니다. SSL/TLS와 같은 암호화 프로토콜을 사용하여 데이터의 기밀성과 무결성을 보장합니다. 3. 취약점 관리: 웹 애플리케이션의 취약점을 식별하고, 보안 패치 및 업데이트를 적용하여 해결합니다. 정기적인 보안 점검과 취약성 테스트를 수행하는 것이 좋습니다. 4. 입력 검증 및 이상값 처리: 사용자 입력 데이터를 검증하고, 악성 코드 주입, 인젝션 공격, 크로스 사이트 스크립팅(XSS) 등의 공격을 방지하기 위해 적절한 입력 필터링과 이상값..

Programming/etc 2023.06.06

mysql(데이터 베이스)/ 사용자 권한 관리

# 사용자 권한 생성(workbench) : 데이터베이스 커넥션 root 계정 입장 - administration - users and privileges - add account - 이름, 비밀번호 지정 후 apply # 권한 관리 : users and privileges - administrative roles(접속 모든 데이터베이스 권한) (role - DBA는 모든 권한 사용/ global priviliges에서 글로벌 사용 권한 설정) : users and privileges - schema privileges(설정 데이터베이스 권한) (add entry - 원하는 db선택 - 개별적인 권한 설정)

동기와(Synchronous)와 비동기 처리(Asynchronous)

동기 처리(Synchronous)와 비동기 처리(Asynchronous)는 프로그래밍에서 작업을 수행하는 방식을 나타냅니다. 두 가지 처리 방식은 작업의 진행과 완료에 대한 제어 방식에서 차이가 있습니다. 1. 동기 처리 (Synchronous): - 작업이 순차적으로 진행되며, 한 작업이 완료될 때까지 다음 작업으로 넘어가지 않습니다. - 작업이 차례대로 실행되기 때문에 순서와 상호 의존성이 중요한 경우에 유용합니다. - 작업이 완료될 때까지 대기하는 동안 다른 작업을 수행할 수 없으므로, 블로킹(blocking) 현상이 발생할 수 있습니다. - 동기 처리는 직관적이고 간단한 구조로 코드를 작성할 수 있으나, 작업이 오래 걸리는 경우 전체 시스템의 성능에 영향을 줄 수 있습니다. 2. 비동기 처리 (A..

Programming/etc 2023.06.05