전체 글 100

MYSQL 엔진의 데이터 트랜잭션

트랜잭션은 기본적으로 데이터베이스의 개념임. 데이터베이스 트랜잭션은 일련의 데이터베이스 작업이 완전하게 실행되거나 전혀 실행되지 않도록 보장함으로써 데이터의 일관성과 무결성을 유지하는데 사용됨. 대부분의 현대 SQL 데이터베이스 엔진은 트랜잭션을 지원함. MySQL, PostgreSQL, Oracle, SQL Server 등은 모두 트랜잭션을 지원하며, 각 데이터베이스 시스템은 트랜잭션 관리 및 구현에 대한 자체적인 기능과 최적화된 메커니즘을 제공함.MySQL에서의 트랜잭션MySQL은 트랜잭션을 지원하는 다양한 스토리지 엔진을 제공하며, 대표적으로 InnoDB 엔진이 트랜잭션을 지원함. InnoDB는 MySQL에서 가장 널리 사용되는 트랜잭션 지원 스토리지 엔진임.트랜잭션 명령어트랜잭션 시작: START..

SQL 2024.07.25

tinypilot 도커 이미지로 배포 하기

TinyPilot은 LAN을 통해 외부 인터넷에서도 KVM에 접속하여 키보드, 마우스, 모니터를 사용할 수 있도록 하는 KVM 서비스임.TinyPilot은 크게 3가지로 구성되어 있음:TinyPilot의 웹 프로그램: 사용자 인터페이스를 제공하고, 키보드 및 마우스 입력을 캡처함.uStreamer: HDMI 캡처 장치로부터 화면을 캡처하여 스트리밍함.Janus Gateway: WebRTC를 통해 uStreamer로부터 받아온 캡처 화면을 웹을 통해 스트리밍 가능하게 함.따라서 다음과 같이 두 개의 Docker 파일로 구분하여 Compose 파일을 구성할 예정임:TinyPilot의 메인 프로그램 (Janus 포함)uStreamer 서버구성 절차패키지 설치: Python, Node.js, Git 등의 필요한..

Server 2024.07.25

Django vs Flask vs Spring

Django vs Flask vs Spring개요Django, Flask, Spring은 모두 웹 애플리케이션 개발을 위한 프레임워크임. Django와 Flask는 Python 기반이며, Spring은 Java 기반임. 각 프레임워크는 고유의 철학과 장단점을 가지고 있어, 특정 요구사항과 프로젝트 특성에 따라 적합한 프레임워크가 다를 수 있음.Django장점배터리 포함 철학: 많은 기능을 기본적으로 제공함. (예: 인증 시스템, 관리자 인터페이스, 폼 처리, ORM, 세션 관리 등)빠른 개발: 내장된 기능 덕분에 빠르게 웹 애플리케이션을 개발할 수 있음.보안: CSRF 보호, XSS 방지, SQL 인젝션 방지 등 다양한 보안 기능을 기본 제공함.ORM: Django ORM을 사용하여 데이터베이스 작업을 ..

cs 2024.07.23

ubuntu ssh key-pair 생성 및 적용

키 페어 생성:ssh-keygen -t rsa -b 2048 -m PEM -f ~/.ssh/your_key_name.pem여기서 your_key_name을 원하는 키 파일 이름으로 바꾸면 됨.키 페어 생성 과정:명령어를 실행하면 키 생성 위치를 묻는 메시지가 나옴. 기본 위치를 그대로 사용하려면 Enter 키를 누르면 됨.Passphrase를 설정할 것인지 묻는 메시지가 나옴. 원한다면 입력하고, 설정하지 않으려면 Enter 키를 누르면 됨.권한 설정:생성된 .pem 파일의 권한을 설정해야 함:chmod 400 ~/.ssh/your_key_name.pem공개 키 추출:PEM 형식의 개인 키에서 공개 키를 추출하려면 다음 명령어를 사용:ssh-keygen -y -f ~/.ssh/your_key_name.p..

Server 2024.07.23

[크래프톤 정글 ] 파이썬 기초 & 웹 스크래핑 & mongodb

파이썬 기초 및 응용 요점 정리수업 목표파이썬 기초 문법을 이해한다.파이썬으로 알고리즘 문제를 풀 수 있다.목차Python 기초파이썬 응용문제파이썬 패키지웹스크래핑MongoDB1. Python 기초파이썬이란네덜란드의 프로그래머 Guido van Rossum이 개발읽기 쉬운 코드에 중점을 둠문법이 쉬워 초보자가 배우기 좋은 언어파이썬 설치파이썬 설치 페이지VSCode로 파이썬 파일 실행하기프로젝트 폴더 생성 및 VSCode 실행새 파일 생성 (예: hello.py)파일에 코드 작성 및 저장 print('Hello, jungle')플레이 버튼을 눌러 실행파이썬 기초 문법변수 선언파이썬은 let이나 const 없이 변수 선언 가능 a = 3 print(a)자료형과 기본 연산숫자형 a = 7 b = 2 ..

크래프톤 정글 2024.07.11

[크래프톤 정글 ] html & css 사용하기

[수업 목표]서버와 클라이언트의 역할에 대해 이해한다.HTML, CSS의 역할과 사용 방법을 안다.[목차]01. 웹 기초1. 서버/클라이언트/웹의 동작 개념웹페이지가 서버에서 클라이언트로 어떻게 전달되는지 이해한다.웹페이지의 HTML을 수정하여 동작 원리를 탐구해본다.예시: 네이버 메인 페이지의 "메일" 텍스트를 수정해보기2. 웹의 동작 개념 (HTML을 받는 경우)웹페이지는 서버에서 미리 준비된 HTML을 클라이언트로 보내 렌더링한다.새로고침 시 서버에 새로운 요청을 보내 원래 HTML을 다시 받아온다.3. 웹의 동작 개념 (데이터만 받는 경우)일부 웹페이지는 HTML 대신 데이터(JSON)만 내려받아 동적으로 페이지를 업데이트한다.모든 챕터가 끝나면 만들게 되는 것 - 구경하기나홀로링크 메모장: 링크..

크래프톤 정글 2024.07.11

[크래프톤 정글 ] chapter 2 - javascript & jquery

01. JavaScript 소개자바스크립트란?JavaScript (JS): HTML 상에서 쓸 수 있는 프로그래밍 언어.브라우저에서 JavaScript만 알아듣는 이유: 역사적 이유와 이미 정립된 표준 때문. 모든 브라우저가 기본적으로 JavaScript를 지원하도록 설계됨.Java와 JavaScript 차이: 전혀 다른 언어.자바스크립트 맛보기버튼 클릭 시 경고창 기능: 나홀로 링크 메모장! 중요한 링크를 저장해두고, 나중에 볼 수 있는 공간입니다 포스팅박스 열기 ..

크래프톤 정글 2024.07.11

프로젝트 개발 일지 작성법

프로젝트 진행 중주간 리포트 작성:매주 프로젝트 진행 상황, 문제점, 해결 방법 등을 기록.자신이 학습한 내용이나 기술을 포함시켜 이해도를 높임.버전 관리 시스템 사용:Git과 같은 버전 관리 시스템을 활용하여 코드 변경 사항을 기록.커밋 메시지를 통해 변경 이유와 내용을 명확히 작성.코드 리뷰:팀원들과 코드 리뷰를 통해 피드백을 주고받으며 개선.리뷰 결과를 기록하고 이를 학습 자료로 활용.문서화:코드 주석, README 파일, API 문서 등 프로젝트 관련 문서를 작성.프로젝트 구조, 주요 기능, 사용 방법 등을 문서화하여 체계적으로 정리.프로젝트 종료 후프로젝트 회고:프로젝트 종료 후 회고 미팅을 통해 팀원들과 함께 프로젝트의 성과와 문제점을 논의.회고 내용을 문서로 정리하여 다음 프로젝트에 참고.학..

알고리즘의 종류

알고리즘 종류알고리즘이란?프로그래밍에서 알고리즘은 문제를 해결하기 위한 단계적인 절차나 방법을 의미함. 데이터 처리와 문제 해결에 사용됨. 알고리즘의 주요 특성:정확성(Correctness): 정확한 출력 생성효율성(Efficiency): 자원 효율적 사용간결성(Simplicity): 이해하기 쉬운 형태일반성(Generality): 다양한 입력 데이터에 작동종류정렬 알고리즘데이터를 정렬하는 데 사용됨. 예: 버블 정렬, 퀵 정렬.탐색 알고리즘데이터에서 특정 값을 검색함. 예: 선형 검색, 이진 검색.그래프 알고리즘그래프 구조 분석과 최단 경로, 플로우 네트워크 계산에 사용됨. 예: 다익스트라 알고리즘, 프림 알고리즘.문자열 알고리즘문자열 처리와 관련된 알고리즘. 예: KMP 알고리즘, 보이어-무어 알고리..

Algorithm 2024.07.09

[Spring Boot 3] 롬복 과 리팩토링

lombok롬복 이란 코드를 간소화 시켜주는 라이브러리 이다. 개발을 진행하다보면 getter(),setter(),contructor(),toStoring() 과 같은 메소들을 생각보다 많이 사용하게 되는데 이를 매번 작성하는것은 번거롭다, 이러한 반복적인 과정을 간소화 해주는 라이브러리가 롬복이다 .Refactoring리펙토링은 코드 기능 에는 변함 없이 코드의 구조 또는 성능 개성하는작업을 뜻함.intallProject > src 경로 아래 build.gradle 파일을 열고 다음과 같이 작성한다 .compileOnly 'org.projectlombok:lombok:1.18.24'annotationProcessor 'org.projectlombok:lombok:1.18.24'Constructor 간소..

SpringBoot 2024.07.09