[ Computer Science ]/CS study7 [CS/Linear Algebra] 딥러닝을 위한 선형대수학 개요 딥러닝을 위한 선형대수학길버트 스트랭 지음부산대학교 산업수학센터 옮김해당 블로그 포스팅은 유튜브 강의 ( https://youtube.com/playlist?list=PLPpOB_yawsR3MjheYIbBWGftDLKAS4L4B&feature=shared )를 참고하여 작성하였습니다 강좌 소개 https://www.youtube.com/watch?v=rzP1LR0w1lI&list=PLPpOB_yawsR3MjheYIbBWGftDLKAS4L4B&index=1 1 (선형) > 5 (확률과 통계) > 6 (딥러닝) > 7 > 2, 3, 4 (대수, 데이터 사이언스) 순서로 진행 예정 2025. 2. 18. [CS] CI/CD란 간단하게 설명하기 CS 개념을 잊지 않기 위해 떠오르는 개념에 대해 짧게 이야기해보는 글입니다본문에 잘못된 내용이 있다면 댓글로 둥글게 알려주세요 :) CI/CD란 애플리케이션 개발부터 배포까지 과정을 자동화해서 더 빠르게, 더 빈번하게 고객에게 서비스를 제공하는 방식이다. 개발자가 pr을 올렸을 때 자동으로 테스트와 빌드를 실행하는 것, 테스트와 빌드를 성공했을 때 자동으로 메인 브랜치에 머지될 수 있도록 액티베이션, 메인 브랜치에 머지되었을 때 프로덕션 환경에 자동 배포되도록 하는 것. CI = continuous integration = 지속적인 통합개발자가 코드 업데이트 내역을 주기적으로 메인 브랜치에 머지할 수 있도록 그 과정을 자동화한 것을 말한다. 코드 변경사항이 있을 때마다 자동으로 빌드와 테스트를 수행해.. 2025. 2. 14. [Server] WAS와 웹 서버의 차이점 간단하게 설명하기 WAS도 정적 컨텐츠를 제공할 수 있는데 웹 서버가 따로 필요한 이유를 설명하기 전 각각의 개념부터 보자면 웹 서버는 정적 컨텐츠인 html, js, css, img 를 제공하는 역할을 맡고, 동적 컨텐츠 리퀘스트가 있다면 이 리퀘스트를 WAS로 전달할 수도 있다. WAS는 자바 진영에서 서블릿 컨테이너 기능을 제공하고 다이나믹 컨텐츠를 생성하거나 애플리케이션 로직을 수행하는 데이터 처리 역할을 맡는다. 대표적인 웹 서버에는 아파치, nginx 등을 언급할 수 있고, WAS로는 tomcat이 있다. WAS도 정적 컨텐츠를 제공할 수 있지만 WAS가 너무 많은 롤을 맡게 되면 오버로드될 수 있으니 웹 서버를 따로 분리해서 WAS는 중요한 애플리케이션 로직에만 집중하고 웹 서버는 스테틱한 리소스 처리만 맡.. 2025. 1. 5. [JavaScript] 자바스크립트 호이스팅에 대해 간단하게 설명하기 호이스팅 hoisting 이란 자바스크립트에서 코드가 실행되기 전 변수 선언과 함수 선언을 코드 맨 위 최상단으로 끌어올려 동작하는 것을 말한다. 호이스팅으로 인해 코드의 선언 위치와 무관하게 변수를 사용할 수 있는 것처럼 보일 수 있는데 선언 측면에서의 이야기인 것이지 변수의 값 얼로케이션까지 최상단으로 끌어올리듯 동작하는 것이 아님을 주의해야한다. 함수를 사용한 후 함수에 대해 선언해도 함수 호출 자체에 대한 문제가 없는 것이 호이스팅이라면 var로 선언하고 할당한 변수를 선언문 전에 출력하면 초기화된 것이 아니라서 undefined 으로 출력되고 선언문이 작동한 후 출력해야 할당된 값이 정상적으로 출력된다는 것을 주의해야한다. let 과 const에 대해 호이스팅이 작동하기는 하지만 선언문 이전.. 2024. 12. 31. [Database] 데이터베이스 시스템에서 동시성을 제어하는 방법에 대해 간단하게 설명하기 데이터베이스 시스템에서 동시성을 제어하는 방법에는 다중 버전 동시성 제어 multi version concurrency control인 MVCC와 잠금 기반 방식인 lock based concurrency control이 있다. MVCC는 데이터 여러 버전을 유지하면서 트랜잭션이 동시에 데이터를 R W 할 수 있도록 하는 방법이다. 각 트랜잭션은 각각 트랜잭션마다의 스냅샷을 기반으로 데이터를 읽기 때문에 다른 트랜잭션 변경 로그에 영향을 받지 않을 수 있다. 읽기를 수행할 때 lock을 사용하지 않기 때문에 동시 작업 처리 성능도 높다. 읽기 작업이 lock에 의해서 지연되는 시간이 없기 때문에 읽기 중심 애플리케이션에 적합하고 쓰기 작업과의 충돌이 적어진다. 하지만 여러 버전의 스냅샷을 모두 보관해.. 2024. 12. 31. [Database] 트랜잭션 격리 수준에 대해 간단하게 설명하기 트랜잭션의 격리 수준이란 동시에 여러 트랜잭션이 실행될 때 한 트랜잭션이 다른 트랜잭션의 연산 영향을 받지 않도록 하는 정도를 의미한다. 격리 수준이 낮을 수록 동시 처리 능력을 높이지만 격리시켜 독립적인 작업을 보장하는 정도가 낮기 때문에 데이터 일관성 문제를 일으킬 수 있다. 반대로 격리 수준이 높다면 데이터 일관성을 보장할 수 있지만 동시에 작업을 처리하는 능력은 낮을 수 있다. 데이터의 정합성과 작업 처리 성능은 함께 보장되기 어려운 반비례 관계이다. 트랜잭션 격리 수준은 개발자가 트랜잭션 격리 수준을 설정할 수 있는 기능을 제공하는 것으로 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ가 있다. READ UNCOMMITTED는 커밋 되지 않은 트랜잭션의.. 2024. 12. 31. 이전 1 2 다음