반응형

개발 36

[자료구조] Stack(스택), Queue(큐)

Stack 선형 자료구조의 일종으로 Last In First Out (LIFO) - 나중에 들어간 원소가 먼저 나온다. 또는 First In Last Out (FILO) - 먼저 들어간 원소가 나중에 나온다. 이것은 Stack 의 가장 큰 특징이다. 파이썬의 경우 LIST를 활용하여 간단히 구현이 가능하다. class Stack(): def __init__(self): self.stack = [] def push(self, data): self.stack.append(data) def pop(self): pop_object = None if self.isEmpty(): print("Stack is Empty") else: pop_object = self.stack.pop() return pop_objec..

개발/자료구조 2022.08.27

[자료구조] Array(배열) vs Linked List(연결리스트) ( + List)

Array 가장 기본적인 자료구조인 Array 자료구조는, 논리적 저장 순서와 물리적 저장 순서가 일치한다. 따라서 인덱스(index)로 해당 원소(element)에 접근할 수 있다. 그렇기 때문에 찾고자 하는 원소의 인덱스 값을 알고 있으면 Big-O(1)에 해당 원소로 접근할 수 있다. 즉 random access 가 가능하다는 장점이 있는 것이다. 하지만 삭제 또는 삽입의 과정에서는 해당 원소에 접근하여 작업을 완료한 뒤(O(1)), 또 한 가지의 작업을 추가적으로 해줘야 하기 때문에, 시간이 더 걸린다. 만약 배열의 원소 중 어느 원소를 삭제했다고 했을 때, 배열의 연속적인 특징이 깨지게 된다. 즉 빈 공간이 생기는 것이다. 따라서 삭제한 원소보다 큰 인덱스를 갖는 원소들을 shift해줘야 하는 ..

개발/자료구조 2022.08.27

[파이썬] 예외처리 & pass, continue, break

코딩테스트 준비를 하며 다른 사람들의 코드를 참고하여 공부를 하다 보면 excep, pass, continue 등 과 같이 나는 자주 사용하지 않지만 유용하게 사용하는 분들이 있어, 이번기회를 통해 정리하고 나 또한 활용도를 높일 수 있도록 하기 위해 글을 작성하게 되었다. 파이썬을 통해 코드 작성을 하다보면 오류를 무시하고 싶을때가 있는데, try, except를 통해 유용하게 사용할 수 있다. 예외처리 try : 실행코드(오류가 발생하나 보자!) except : 예외처리 코드(오류가 발생하면 이걸 실행해줘!) else : 예외처리할 오류가 없을때 실행되는 코드 finally : 오류 발생여부 상관 없이 무조건 실행되는 코드 raise : 오류를 일부러 발생시키기 입력값을 받을 때 except 활용 예..

개발 2022.04.20

개발자 협업 필수 개념 git & github

기존에 notion을 활용해서 기록을 했기 때문에, 설명이 부족한 부분들이 있다 추후 기본적인 개념은 이 글에 추가 및 수정을 진행할 예정이고 매우 중요하다고 생각하는 내용들에 대해서는 추가적으로 게시글 포스팅을 진행하겠다. 기본개념 git init을 하면 .git 이라는 파일이 생김 → 로컬 저장소( 내가 만든 버전 정보 - 원격저장소 주소등이 저장) 한 폴더에 하나의 로컬 저장소만 유지 commit( = 버전: 하나의 최종 코드의 모음) git commit -m “123123” // 123이라는 버전을 만듬 로컬저장소, 원격저장소 push 로컬저장소 → 원격저장소 git remote add origin http://github.com/dongury1114/name git push origin mast..

개발 2022.04.20

[Notion] 개발자 노션을 활용해서 정리하고 기록하는 습관을 가져보자

개발자들에게 정리, 메모, 기록 하는 습관은 필수적이다. 그래서 간단히 개발자를 위한 노션 활용법들을 적어나가 보려한다 모든 내용들을 외울 수 없고, 매일매일 새로운 정보들을 접한다. 그래서 기록을 할 수 있는 여러 노트 서비스들이 있다. 이전에 MS의 원노트를 사용해본적이 있었다. 원노트의 장점은 일단 무료라는 점과 여러기기에서 동기화가 잘된다는 점이었다. 또 카테고리를 만들어 구분하기는 좋았지만, 입력함에 있어서 부족한 부분이 많았다. 특히 마크다운이 되지 않아 프로그래밍 코드를 입력 할때 불편한 부분이 많았다. 따라서 요즘에 많은 기업들과 개인들이 사용하는 노션에 대해서 알아보고, sw 사관학교 정글을 가기전 확실히 사용법을 익히고 정리하는 습관을 가지려 한다. 따라서 정글을 가기전 내용을 정리하고..

개발 2022.03.06

[개발상식] 라이브러리 - 프레임워크 개념, 차이점

기술 용어에 대해서는 최대한 간단한 개념으로 정리를 하고 필요한 내용이 있을 시 지속적으로 추가하는 방향으로 진행을 하겠다. [라이브러리] Library는 특정 기능에 대한 도구 or 함수들을 모은 집합 프로그래머가 개발하는데 필요한 것들을 모아둔 것이다. 개발을 하며 필요 시 라이브러리를 호출 (개발자 중심) 종류: jQuery [프레임워크] 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대(구조)를 제공해주는 것 틀 위에 프로그래머가 코드를 작성함 틀을 제공해 주기 때문에, 객체 지향 개발을 하면서 일관성 부족 등의 문제를 해결 프레임워크를 사용하여 개발을 함(프레임워크 중심) 종류:vue.js, spring,django,flask,Angular 논외:리엑트..

개발 2022.01.27

[개발] web server for chrome 를 활용하여 간단히 배포하기

배포하는 방법에는 여러가지가 있다. 대표적으로 aws를 많이 사용하고 최근에는 firebase도 많이사용하는 추세다. 간단히 배포하는 방법 2가지에 대해서 포스팅을 해보려 한다. 1. web server for chrome 2. github를 활용한 배포 이번 포스팅에서는 web server for chrome 사용법에 대해서 설명을 해보겠다. web server for chrome는 chrome web store에 등록되어 있는 확장프로그램이다. web server for chrome을 활용하면 테스트 정도는 쉽고 빠르게 배포를 할 수 있다. 확장프로그램에 대한 개요의 한국 번역은 아래와 같다. 설치 후 실행을 하면 아래와 같은 화면이다. 위 사진과 같이, 설정을 체크하고, CHOOSE FOLDER을 ..

개발 2022.01.27

[Firebase] 파이어베이스 호스팅

파이어베이스를 통해 호스팅하기 위해 좌측 메뉴에서 호스팅을 찾아 들어간 후 시작하기를 누른다. 순서대로 진행을 해보겠다. 설치가 완료된 화면이다. 2. Google에 로그인 명령어를 실행하게 되면 아래와 같은 화면이 나오게되고 yes를 입력하면 새창에 계정 선택화면이 나오게 된다. 허용을 누르면 성공적으로 로그인을 완료 할 수 있다. firebase init 명령어를 작성하여 프로젝트를 시작한다. 3. 4. 5.

반응형