본문 바로가기
반응형

분류 전체보기114

스택과 (원형) 큐 Stack & Queue 만들기 1. 소개 스택과 큐는 쉽고 간단하지만, 운영체제의 시스템 스택이나 스케줄링 등 다방면으로 활용되는 중요한 자료구조입니다. 스택과 큐는 모두 원소를 하나씩 저장하고 저장된 원소를 순서대로 출력 및 삭제하는 방식으로 동작합니다. 차이점으로는, 스택은 가장 나중에 입력된 원소가 가장 먼저 출력되는 후입선출(Last In First Out, LIFO) 방식인 반면, 큐는 가장 먼저 입력된 원소가 가장 먼저 출력되는 선입선출(First In First Out, FIFO) 방식입니다. 2. 구성 스택과 큐는 기본적으로 원소들을 저장할 저장소와 현재 위치를 기억하는 포인터, 그리고 현재 상태를 체크할 2가지 메서드, 핵심 기능인 삽입과 삭제를 위한 메서드 2개가 필요합니다. 3. 구현 with Java (1) 스택.. 2022. 9. 27.
해피해킹 하이브리드 키보드 사용 후기 및 깨알팁 1. 해피해킹이 뭐냐 해피해킹은 pfu에서 만든 무접점 키보드입니다. 이 포스트를 검색해서 읽고 계시는 여러분들은 어느 정도 키보드에 관심이 있고 해피해킹을 사용 중이거나 구매를 고려하고 있는 분들이리라 생각되어 구체적인 설명은 생략하도록 하겠습니다. 종류가 생각보다 다양한데, 19년 이후 판매되고 있는 3세대 제품은 유선 클래식/ 무선 하이브리드 일반 / 무선 하이브리드 저소음(타입S) 가 있습니다. 저는 최신 제품으로 블루투스를 지원하면서 심심하지 않으면서도 보다 저렴한 것을 원했기에 하이브리드 일반 버전을 구매했습니다. (타입S는 몇 만원 정도 더 비쌉니다!) 국내 출시되지 않았기 때문에 직구를 하시거나, 네이버나 오픈마켓 등에서 구매대행 업체를 통해 구매하거나 당근시장에 가끔 올라오는 중고제품을 .. 2022. 9. 24.
[Java] 자료구조 - 큐(Queue) 1. 큐란 선입선출(First In First Out, FIFO) 방식의 자료구조입니다. 먼저 들어간 놈이 먼저 나온다는 뜻입니다. 21 32 13 24 54 16 즉, 위의 큐에서 삭제를 하면 21이 제거되고 새로운 값 16을 추가하면 54의 오른쪽에 저장됩니다. 2. Java 라이브러에서의 큐 Java에서는 Queue 인터페이스를 제공하고 있고, 이를 구현하는 클래스로는 AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, Priorit.. 2022. 9. 22.
React 시작하기 react는 프론트엔드 개발을 위해 페이스북에서 만든 js 라이브러리입니다. 리액트의 장점은 빠르다는 것입니다. DOM을 직접 조작하지 않고 가상 DOM을 사용하며, 하나의 동적인 페이지로 구현되는 Single page application(SPA)이기 때문이죠. vue나 angular도 유사한 특성을 가지고 있습니다. 또 확장성과 재사용성, 높은 생산성과 더불어 커뮤니티의 활성화로 관련 자료를 많이 찾아볼 수 있다는 점도 리액트가 인기를 끄는 이유라고 할 수 있겠습니다. 그럼 지금부터 10초만에 리액트 프로젝트를 만드는 법을 알려드리겠습니다. 0. 준비단계 - node.js 설치하기 react를 설치하기 위해서는 node.js가 필요합니다. 리눅스 환경에서는 커맨드 한 줄이면 nodejs 를 설치할 수.. 2022. 9. 20.
[Java] 람다식 안에서 변수를 사용하는 방법 1. 문제점. 다음은 입력받은 두 문자열이 아나그램(한 단어에서 알파벳의 순서만 바꾼 것, 예: god dog)에 해당하는지 검사하는 간단한 프로그램입니다. 해쉬맵에 각 문자와 개수를 저장한 뒤, 해쉬맵이 서로 일치하는지 검사합니다. 이 때 해쉬맵이 서로 일치하는지 판단하기 위해 forEach 메소드를 사용했습니다. 그리고 내부에 람다식을 넣어 hm1의 값과 hm2의 값이 서로 일치하지 않으면 result 를 false로 변경해주려 했습니다. 딱히 이상할 것이 없어보이는 코드인데 빨간 줄이 똭! Variable used in lambda expression should be a final or effectively final. 라고 하네요. 람다식 내부에서는 final 이거나 effectively fin.. 2022. 9. 16.
인텔리제이 단축키와 유용한 설정 몇 가지 인텔리제이(Intellij)는 젯 브레인 사에서 만든 IDE, 통합개발환경입니다. 기존에 자바 하면 사람들이 떠올리던 툴은 이클립스였습니다. 무료라는 강점으로 높은 점유율을 차지하고 있었지만 인텔리제이의 등장으로 점점 인기를 잃어가고 있죠. 개발자들이 인텔리제이를 선호하는 이유로는 편리한 자동완성 및 유용한 편의 기능들과 다양한 플러그인, 그리고 디자인이 조금 더 고급지다는 점(?)을 들 수 있습니다. 그럼 알아두면 개발의 질이 달라지는 몇 가지 설정과 단축키를 소개해드리도록 하겠습니다. 1. Double Shift Shift 버튼을 두 번 누르면 다음과 같은 창이 나타납니다. Actions 탭에서는 인텔리제이의 다양한 기능들을 실행하거나 우측에 보이는 버튼으로 ON/OFF 할 수 있습니다. 플러그인을 .. 2022. 9. 6.
반응형