본문 바로가기

· CS지식?4

동기(Synchronous)와 비동기(Asynchronous): 프로그래밍의 병행성 이해하기 프로그래밍에서 '동기’와 '비동기’는 코드 실행의 시간적 관계를 정의하는 중요한 개념이다. 이 두 용어는 함수 호출의 실행 완료 시점과 그 결과가 다른 함수 호출에 어떻게 영향을 미치는지를 설명한다. 동기(Synchronous): 순차적 실행의 예측 가능성 동기 방식은 함수 호출이 완료될 때까지 프로그램의 실행을 일시 중지합니다. 이는 함수의 결과가 다음 작업에 필수적일 때 유용합니다. 동기 프로그래밍은 코드의 흐름을 쉽게 추적하고 이해할 수 있게 해주지만, 리소스 활용에 있어서는 비효율적일 수 있습니다. - **장점**: 직관적인 코드 흐름과 단순한 에러 처리. - **단점**: 리소스 활용의 비효율성과 블로킹 연산으로 인한 성능 저하. 비동기(Asynchronous): 병렬 처리의 효율성 비동기 방식.. 2024. 3. 24.
자료구조(Map, Set, HashTable) 1. 맵(Map) 맵이란 key 와 value 가 매칭 되는 것을 매핑이라고 하는데, 이러한 매핑을 통해 키와 값이 하나의쌍으로 연결되어 키를 통해 값에 접근할 수 있도록 만들어진 자료구조를 맵이라고 합니다. 순서 보다는 정의된 이름(key)과 상응하는 데이터들을 묶기 위한 자료구조라고 할 수 있습니다. 맵의 특성: Key값은 중복 될 수 없다. Value는 중복 될 수 있다. 순서를 보장하지 않는다. 맵의 장점: key를 통해 value를 얻어내기 때문에 어떤 값을 찾을 때 평균 O(1)의 속도로 찾을 수 있다. 뛰어난 검색 속도를 가집니다. 맵의 단점: 순서가 없다. (단 정렬은 가능) 맵에 사용하는 함수 맵을 사용한 자료구조의 종류 HashMap Key 에 대한 중복이 없고, 순서를 보장하지 않는다.. 2023. 5. 11.
1. 프로그래밍에서 복잡도란? 1. 시간복잡도 컴퓨터과학 용어로, 컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도이다. 일반적으로 시간 복잡도와 로직의 수행시간은 비례하므로 시간 복잡도 수치가 작을 수록 효율적인 알고리즘임을 뜻한다. 시간복잡도의 표기법 시간 복잡도는 보통의 경우 점근 표기법으로 사용되는데 주로 사용되는 점근 표기법은 아래와 같이 3가지가 있다. Big-O 표기법 / O(N): 빅오 표기법은 알고리즘 '최악'의 실행시간을 표기한다. Ω 표기법 / Ω(N): 오메가 표기법은 알고리즘 '최상'의 실행시간을 표기한다. Θ 표기법 / Θ(N): 세타 표기법은 알고리즘 '평균'의 실행시간을 표기한다. Q. 위의 3가지 중에서 일반적으로 많이 사용되는 점근 표기법은 Big-O표기법이다. 왜 하필 '최악'의 .. 2023. 5. 2.
간단한 Git 사용법 1편-init, add, commit, push 까지 간단한 Git 사용법! 안녕하세요 오늘은 개발자를 꿈꾸시는 분들의 필수 프로그램 Git에 대해 조금 알아볼게요. 저번 글의 말투가 무섭다는 피드백을 받았으니 오늘은 사근사근 친절한 말투로 진행해보도록 하겠습니다 ^^ Git 왜 사용하나요?? Git은 소스코드 관리를 위한 형상 관리 도구랍니다. 형상 관리 라는것은 파일을 수정하고 업로드 할 때마다 수전 전의 버전과 수정 후의 버전의 변경점을 기록하고 보여줘요. 그리고 쉽게 이전 버전으로 파일을 복구 할 수 있기 때문에, 관리측면에서 굉장히 효율적이라고 해요. 또한 로컬 저장소와 원격 저장소(Git hub 등)를 지원하기 때문에 속도측면과 협업측면에서 굉장한 장점이 있다고 합니다. 간단한(필수적인!) Git 사용법 먼저 원하는 폴더로 이동해야겠죠? git .. 2023. 1. 30.

반갑습니다 ✿ڿڰۣ— 조은하루 ^^
SSAFY 9기 김웅서 티스토리