본문 바로가기

전체 글30

[자료구조] 스택(Stack)과 큐(Queue) 1. 스택(Stack) 2. 큐(Queue) 3. 덱(Deque) 스택(Stack)과 큐(Queue)는 컴퓨터의 가장 기본적인 자료구조 중 하나입니다. 데이터를 임시 저장하기 위해 사용되는 자료구조이며, 데이터를 입력하고 출력하는 방향이 정해져 있다는 점이 서로 비슷합니다. 스택(Stack) 스택은 LIFO(Last In, Fisrt Out) 형태의 자료구조로 가장 마지막에 입력된 데이터가 가장 먼저 제거되는 구조 입니다. 흔히 박스는 아래에서부터 위로 차곡차곡 쌓고 박스를 치울 때는 위에 있는 박스부터 내리는 것과 같습니다. 파이썬으로 스택을 이용할때는 리스트 자료형을 사용하여 구현합니다. append() 메소드로 리스트의 가장 뒤의 데이터를 push하고, pop() 메소드로 리스트의 가장 뒤의 데이터.. 2024. 1. 18.
[Algorithm] 병합정렬 백준 2751번 문제를 풀다가 시간초과가 나와서, 알고보니 여러 정렬 방법 중 시간 복잡도가 O(nlogn)인 방법을 사용해야 풀 수 있다는 것을 뒤늦게 알게 되었습니다. 그래서 그 중 하나인 병합 정렬에 대해 설명하려 합니다. 먼저 2751번의 문제는 다음과 같습니다. 문제 자체는 상당히 간단합니다. 문제 하단에 제시된 힌트도 있었습니다. 파이썬을 사용하시는 분들은 이 문제를 라이브러리를 사용해서 아주 간단하게 풀 수 있습니다. N = int(input()) arr=[] for i in range(N): x=int(input()) arr.append(x) arr.sort() for i in arr: print(i) 이런식으로 손 쉽게 문제를 해결할 수 있습니다. 하지만 저는 내장된 정렬 함수가 아니라 .. 2024. 1. 16.
[Docker] 컨테이너 라이프사이클 1. Docker Container Life Cycle 2. 컨테이너 실행방법 3. 컨테이너 관련 명령어 Docker Container Life Cycle 컨테이너 실행방법 1. run 명령어로 컨테이너 생성 및 시작 docker run [image] 2. create 명령어로 컨테이너를 먼저 만든 후 start 명령어로 실행 docker create [image] #컨테이너 생성 docker start [container] #컨테이너 시작 컨테이너 관련 명령어 실행중인 컨테이너 상태 확인 ps 전체 컨테이너 상태 확인 ps -a 컨테이너 상세 정보 확인 inspect [container] 컨테이너 일시 중지 pause [container] 컨테이너 재개 unpause [container] 컨테이너 종료.. 2024. 1. 14.
[Docker] 도커의 등장과 개요 1. 컨테이너 기술의 발전 2. 도커 구성요소 3. 이미지와 컨테이너 4. 도커 이미지 구성과 저장소 1. 컨테이너 기술의 발전 1. Traditional Deplyment 하드웨어(컴퓨터) 위에 운영체제가 설치되고 그 위에 애플리케이션을 배포하고 운영 애플리케이션 구동에 필요한 라이브러리나 프레임워크를 운영체제에 설치하게 되고 그 후에 해당 애플리케이션 배포 및 실행이 가능 문제점 : 각각의 app들이 공유하는 자원(라이브러리 등)으로 인해서 충돌을 일으키게됨 2. Virtualized Deployment 가상머신을 이용한 가상화 형태 가상머신을 통해 격리된 환경에서 각각의 app들이 구동됨 운영체제 위에 가상머신들을 관리하는 Hypervisor 컴포넌트가 위치 게스트 OS를 구동하기 위해서는 컴퓨팅 .. 2024. 1. 14.
[Flutter] 오류 (Error Opening Emulator) 여느때처럼 Emulator를 이용해서 개발을 진행하고 있었는데 갑자기 이런 오류가 뜨더니 애뮬레이터를 실행해도 연결할 수 있는 디바이스에 뜨지 않고 애뮬레이터가 먹통이 되어버렸습니다... 인터넷을 찾아보니 초기 셋팅에 사용했던 flutter doctor을 사용해보라고 해서 해봤더니 여기서도 오류가 발견 됐습니다. (셋팅때는 이상 없었던거 같은데...갑자기 왜...) 적혀있는대로 '--android-licenses'를 사용누르고 원래대로라면 yes를 누르고 바로 끝날 문제였는데 아래의 오류가 떠서 당황했습니다. 인터넷을 찾아보니 저는 Android SDK Command-line Tools를 설치할때 하단의 Show Package Details를 체크하고 Android SDK Command-line Tool.. 2023. 8. 31.
[Flutter] 갤러리에서 이미지 가져오기(2) 지난 포스팅때 pickMultiImage()를 이용해서 갤러리에서 이미지를 가져와 봤습니다. 이제 이 코드를 제가 만들던 페이지에 옮겨서 작업을 이어나가려했는데 두가지 문제가 발생하였습니다. 1. pickMultiImage( ) 갯수 제한 설정 불가 한번에 이미지를 여러개 선택해서 List 형태로 가져다 쓸 수 있는건 좋았지만 갯수 제한을 설정할 수 없어서 너무 많은 이미지를 가져와서 오류가 발생하는 문제가 있었습니다. 저는 2개의 이미지만 가져올 수 있도록 만들고 싶었기 때문에 방법을 열심히 찾아봤지만 갯수를 지정해주는 방법은 찾지 못했습니다... if문을 사용해서 3개이상의 이미지가 선택되면 이미지가 안나오고 버튼이 남아있게끔 구현하였지만 임시방편일뿐 선택되는 이미지의 갯수 자체를 고정 시키진 못하였.. 2023. 8. 30.
[Flutter] 갤러리에서 이미지 가져오기(1) 오늘은 제가 갤러리에서 이미지를 가져오고 지우는 과정에서 겪었던 많은 시행착오 과정을 얘기해보려합니다. 일단 본격적인 설명에 앞서 Flutter에서 이미지를 가져와서 사용하는데 필요한 라이브러리와 기본적인 지식들을 먼저 가볍게 말씀드리고 넘어가도록 하겠습니다. 먼저 제가 만들려고하는 것은 pubspec.yaml 의 assets를 설정해줘서 assets디렉토리에 저장된 이미지를 가져오는 방식이 아니라 image_picker 라이브러리를 이용해서 핸드폰 갤러리에 저장된 이미지를 가져오고 지울수 있도록 만드는것이 목표였습니다. image_picker 라이브러리의 ImagePicker().pickMultiImage()를 이용해서 한번에 여러개의 이미지를 가져오려고 했습니다. 이렇게 선택된 이미지들은 XFile .. 2023. 8. 30.
[Flutter] Today 날짜 가져오기 지난 포스팅때 데이터를 서버로 보내는걸 했는데 데이터 항목중에 현재 날짜도 포함되어있습니다. 따라서 오늘은 Flutter의 라이브러리를 사용해서 현재 날짜를 받아오는 걸 해보겠습니다. 사용 할 라이브러리는 다음과 같습니다. https://pub.dev/packages/intl intl | Dart Package Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues. pub.dev pubspec.yaml 파일에서 intl 라이브러리의 최신 버전을 가져와줍니다. 날짜 정보.. 2023. 8. 27.