전체 글 178

정렬 별 성능비교

1. 정렬 방법 별 성능 비교 알고리즘최선평균최악삽입 정렬O(n)O(n^2)O(n^2)선택 정렬O(n^2)O(n^2)O(n^2)버블 정렬O(n)O(n^2)O(n^2)셸 정렬O(n)O(n^1.5)O(n^1.5)퀵 정렬O(nlog_2 n)O(nlog_2 n)O(n^2)힙 정렬O(nlog_2 n)O(nlog_2 n)O(nlog_2 n)합병 정렬O(nlog_2 n)O(nlog_2 n)O(nlog_2 n)기수 정렬O(dn)O(dn)O(dn)      2. 정렬 알고리즘 별 실험 결과 (정수: 60,000개) 알고리즘실행 시간(단위: sec)삽입 정렬7.438선택 정렬10.842버블 정렬22.894셸 정렬0.056힙 정렬0.034합병 정렬0.026퀵 정렬0.014

임베디드 레시피 (EMBEDDED RECIPES)

출처 : by FastBench   임베디드레시피오늘 리뷰할 책은 snowbook 출판사에 나온 임베디드레시피 라는 책입니다. 원래 아래 홈페이지에서 작가님이 연재하시던 글인데, 워낙에 내용이 좋아서 예전에 출판이 되었다고 합니다. (벌써 11쇄microelectronics.tistory.com   오늘 리뷰할 책은 snowbook 출판사에 나온 임베디드레시피 라는 책입니다.원래 아래 홈페이지에서 작가님이 연재하시던 글인데, 워낙에 내용이 좋아서 예전에 출판이 되었다고 합니다. (벌써 11쇄가 넘었다고 하네요)http://recipes.egloos.com 임베디드 레시피친절한 임베디드 개발자되기 강좌recipes.egloos.com위 페이지에 안내된 출판사 공식 스토어에서 책 구매도 가능합니다.  해당 ..

E - E Architecture 2024.09.21

RTL (Register Transfer Level, Register Transfer Language) - 레지스터 전달 수준, 레지스터 전달 레벨, 레지스터 전달 언어

1. 레지스터 전달 이란?   1.1 레지스터 (Register)     - 2진 데이터를 저장하는 플립플롭 및 관련 게이트들의 집합체     - 1 이상의 마이크로 연산 수행 능력을 갖춘 것    1.2 레지스터 전달 (Register Transfer)     - 레지스터 간에, 레지스터와 메모리 간에, 또는 모듈 간에     - 주로, 버스를 통한 데이터 이동    2. 레지스터 전달 레벨 (Register Transfer Level) / 레지스터 전달 논리 (Register Transfer Logic)   ※ 디지털 하드웨어 설계에서, 하드웨어 동작을 기술하는 추상화 수준 중 하나로써,      - 동작 설계를, 레지스터 간의 데이터 전송을 기반으로 설명         . 레지스터는 일련의 플립플롭..

E - E Architecture 2024.09.21

매일 사용하는 놀라운 파이썬 자동화 스크립트 17가지

​​   매일 사용하는 놀라운 파이썬 자동화 스크립트 17가지   17 Mindblowing Python Automation Scripts I Use Everyday ​" 생산성과 성능을 향상시킨 스크립트 "​​​​거의 10년 동안 파이썬을 사용해 왔으며, 여전히 저를 매료시키고 더 많은 연구에 대한 동기를 부여하는 한 가지는 바로 자동화 기능입니다. 지난 1년 동안 저는 파이썬의 자동화 측면을 탐구하면서 놀라운 파이썬 패키지, 사실, 흥미로운 스크립트를 발견했습니다. 이 블로그에서는 매일 사용하며 생산성과 성능을 향상시킨 자동화 스크립트 몇 가지를 공유하고자 합니다.​​​  1. Speakify  저는 책을 좋아하지만 혼자서 읽는 것을 싫어하고 오히려 듣는 것을 좋아합니다. 이 자동화 스크립트는 저에게..

카테고리 없음 2024.08.31

코드형 인프라(IaC)란?

1. 코드로서의 인프라 소개   코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다.   IaC를 사용하면 인프라 사양을 담은 구성 파일이 생성되므로 구성을 편집하고 배포하기가 더 쉬워집니다. 또한 IaC는 매번 동일한 환경을 프로비저닝하도록 보장합니다. IaC는 구성 사양을 코드화하고 문서화함으로써 구성 관리를 지원하며, 따라서 구성 변경 사항을 문서화하지 않고 임시로 변경하는 일을 막을 수 있습니다.버전 제어는 IaC의 중요한 부분입니다. 다른 소프트웨어 소스 코드 파일과 마찬가지로 구성 파일도 소스 제어가 필요합니다. 코드로 인프라를 배포한다는 것은 인프라를 모듈식 구성 요소로 분할하고 자동화를 통해 다..

JIRA : : Agile 2024.08.05

프로비저닝이란?

1. Summary    프로비저닝은 IT 인프라를 생성하고 설정하는 프로세스로서, 다양한 리소스에 대한 사용자 및 시스템 액세스를 관리하는 데 필요한 단계를 포함합니다. 프로비저닝은 서버, 애플리케이션, 네트워크 구성, 스토리지, 엣지 기기 등을 배포하는 과정에서 초기 단계에 해당합니다.   프로비저닝과 구성 관리는 각기 다른 작업이지만, 둘 다 배포 프로세스의 단계에 포함되며 시스템을 프로비저닝했으면 다음 단계는 시스템을 구성하여 지속적으로 일관되게 유지 관리하는 것입니다.    2. 프로비저닝의 유형   2.1 서버 프로비저닝  서버 프로비저닝은 물리 또는 가상 하드웨어를 설정하고, 운영 체제, 애플리케이션과 같은 소프트웨어를 설치 및 구성하여 미들웨어, 네트워크, 스토리지 구성 요소에 연결하는 프..

JIRA : : Agile 2024.08.05

[Memory Structure] 변수 타입

1. Fundamental Types   타입 사이즈 및 메모리라고 해서 각 변수나 클래스, 혹은 포인터가 메모리 상에 어떤 크기로 allocation 되는지 알아봅시다.    이전 글에서, 간단한 코드를 만들어서 int 3개와 double 1개를 allocation하여 각 메모리 주소를 알아보았습니다. 그리고, 더 low level로 내려가면 이러한 격자 무늬 속에서 각각의 변수가 그 사이즈에 맞는 공간을 차지하고 있다고 알아보았습니다.  변수의 사이즈는 sizeof() 함수를 통해 확인할 수 있습니다.    그런데 주의해야 할 점은, int는 컴파일러나 아키텍처에 따라 2byte 혹은 4byte로 적용될 수 있다는 점 입니다.       2. Variable size 확인   이럴 땐 크게 두 가지 ..

: : C++ 2024.06.29

[Memory Structure] Variable in Memory

1. Variables in Memory            (Variables => Stack)    Code 영역실행 코드, 전역상수, static 전역상수 부분이 영역의 정보는 read only로서 절대 변경되지 않아야 한다.컴파일할 때, 크기가 정해진다.   Data & Bss 영역Data 영역은 초기화된 static, 초기화된 전역변수 부분Bss 영역은 초기화되지 않은 전역변수, 0으로 초기화된 전역변수, 초기화되지 않은 static 변수, 0으로 초기화된 static 변수가 올라오는 부분Bss 영역에 올라오는 모든 변수는 0으로 초기화된다.컴파일할 때, 크기가 정해진다.   Heap 영역동적으로 할당해준 변수(malloc, new)가 올라오는 부분먼저 들어간 데이터가 가장 먼저 나온다.(FIF..

: : C++ 2024.06.28

C++14 STL 철저 입문

아이버 호튼 지음 / 조현태 옮김길벗2016​Using the C++ Standard Template LibrariesIvor HortonApress2015​​  1장.  표준 템플릿 라이브러리 1장에서는 표준 템플릿 라이브러리에 내재된 기본 개념부터 설명하겠다.- STL에는 무엇이 있는가?- 템플릿을 정의하고 사용하는 법- 컨테이너는 무엇인가?- 반복자는 무엇이고 어떻게 사용하는가?- 스마트 포인터의 중요성과 컨테이너를 사용하는 법- 알고리즘은 무엇이고 응용하는 방법- 수치 라이브러리가 제공하는 기능- 함수 객체는 무엇인가?- 람다 표현식을 정의하고 사용하는 방법​이 장에서는 STL을 지탱하는 기본 아이디어도 소개하지만, 이어지는 장에서 자주 사용하기 때문에 익숙해져야 할 C++ 언어의 기능도 소개할 ..