전체 글
-
[Java] Stack vs QueueLanguage/Java 2024. 7. 24. 19:43
Stack과 QueueStack : LIFO - ArrayList로 구현 - 수식계산, 괄호검사, undo/redoQueue : FIFO - LinkedList로 구현 - 최근 사용문서, 인쇄작업 대기목록, 버퍼메서드stack : empty(), peek(), pop(), push(o), search(o)queue : add(o), remove(), element(), offer(o), poll(), peek()java에서는 Stack은 클래스로 제공하지만 Queue는 따로 클래스로 제공하지 않음 -> Queue인터페이스를 구현한 클래스를 사용하자추가 메서드 : push(), offer(), add()꺼내서 반환하는 메서드 : pop(), remove(), poll()꺼내서 반환하는 메서드들의 차이Sta..
-
[Java] ArrayList vs LinkedListLanguage/Java 2024. 7. 24. 19:41
ArrayList vs LinkedListArrayList기존의 Vector를 개선한 것Object 배열을 이용해 데이터를 순차적으로 저장더이상 저장할 공간이 없으면 큰 새로운 배열을 생성하여 내용을 복사해서 확장중간 요소 삭제 시 바로 아래에 있는 데이터를 한칸씩 당겨서 덮어쓰는 방식 -> 시간 오래걸림LinkedListArrayList의 단점 : 크기 변경 불가, 추가 및 삭제 오래걸림LinkedList는 불연속적으로 존재하는 데이터를 연결하는 구조삭제와 추가가 빠르다.그대신 index로 탐색하는 방식이 아니라 처음부터 n번까지 따라가야됨. 접근 시간이 오래걸린다.class Node{ Node next; Object obj;}데이터의 개수가 변하지 않는 경우 ArrayList > Linke..
-
[Java] Collection frameworkLanguage/Java 2024. 7. 22. 14:14
collection framework?데이터 군을 저장하는 클래스들을 표준화한 설계.데이터 군을 다루고 표현하기 위한 단일화된 구조.컬렉션 : 다수의 데이터. 데이터 그룹프레임웍 : 표준화된 프로그래밍 방식JDK1.2부터 등장 (그 전에는 Vector, Hashtable, Properties 있었음)컬렉션 데이터 그룹을 크게 세 가지로 존재한다고 정의한다.ListSetMapclassDiagram Collection List와 Set은 공통부분이 많아서 Collection 인터페이스로 정의할 수 있었으나, Map은 성질이 달라 상속 계층도에 포함되지 않는다.Collection 인터페이스 메서드add/addAll() : 객체 또는 클래스를 collection에 추가clear() : 모두 삭제contai..
-
[Java] 날짜와 시간Language/Java 2024. 7. 19. 19:24
참고 도서 : Java의 정석 기초편 (남궁 성)JDK1.0부터 제공되어 온 Date를 사용했었으나, 빈약하여 JDK1.1부터 Calendar 제공하여 20년 동안 사용해왔음 (현재 deprecated, 그러나 이해할 필요가 있다)JDK1.8부터 java.time패키지로 기존의 단점을 개선한 새로운 클래스들이 추가 되었다.Calendar class추상 클래스객체 직접 생성 불가, 메서드를 통해 완전히 구현된 클래스의 인스턴스를 얻어야 한다.Calendar cal = Calendar.getInstance();getInstance() : 태국 제외하곤 GregorianCalendar의 인스턴스를 반환.태국에서는 BuddhistCalendar의 인스턴스를 반환직접 생성하지 않고 메서드를 통하는 방식의 이유 :..
-
AWS에 프로젝트 올리기playground(개인블로그pj) 2024. 7. 18. 22:55
java spring boot + react 조합으로 작성한 프로젝트이다.작년 작품발표회에서 라즈베리파이에 호스팅해보려다가 실패해서 결국 localhost로만 보여줘야 했는데 너무 아쉬웠던 기억이 있다.내내 계획에 두고 있었지만 실천하지 못했던 aws+rds 호스팅을 해보려고 한다.아래 사이트를 참고하여 진행하면서 생긴 에러들을 해결한 과정을 이 포스트에 정리해본다.사용한 환경로컬 : Apple Macbook pro M1EC2 : amazon linux 2RDS DB : mysqlIDE : Intelli Jaws 호스팅하는 과정을 참고한 사이트AWS EC2에 spring 프로젝트 올리기spring boot+react.js 개발환경 연동하기mysql관련[MySQL] Can't connect to local..
-
🛠️playground 프로젝트는 유지보수중~🛠️playground(개인블로그pj) 2024. 7. 12. 23:23
취업의 시장에 뛰어드니 반복적인 좌절의 경험으로 자신감이 떨어진다..ㅠ그래서 마음 한켠에 아쉬움으로 남았지만 자신이 없어 미뤄두었던 것을 조금씩 하기로 했다!!나의 첫 자바 프로젝트 배포하고 꾸준히 유지보수 하기...!작년(2023)에 포털서비스개발방법론 수업에서 만들었던 java spring boot + react 로 만든 블로그 페이지를 유지보수하고 있다. 처음으로 도전해본 자바 스프링 부트 프로젝트라서 걱정도 많이 했지만, 워낙 사용하기 쉽도록 만들어놓은 프레임워크라서 그런지 CRUD는 성공적으로 구현할 수 있었다.그럼에도 짧은 시간 안에 언어와 프레임워크를 마스터하기는 부족했다.이력서를 위해 포트폴리오를 정리하면서 꼭 AWS에 올리고 싶었던 playground를 올려보기로 했다.(사실 어제 이미..
-
[Javascript] RegExp 정규표현식Language/Javascript 2024. 7. 9. 13:05
너무 편리한데 패턴을 자꾸 까먹어서 정리해보았다.Regular Expression일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어문자열을 대상으로 패턴 매칭 기능을 제공정규 표현식 생성flagflagmeaningg전역탐색 (g가 없을 경우엔 첫번째 패턴까지만 검색함)i대소문자 구분Xm여러줄에 걸쳐 탐색u패턴을 유니코드 포인트의 시퀀스로 간주y대상문자열의 현재 위치에서의 탐색 시작패턴patternmeaningA{1,2}A가 최소 1번, 최대 2번 반복A{2}A가 2번 반복A{2,}A가 최소 2번 반복A+A가 최소 한번 반복A?BA가 최대한번 반복되고 B가 이어짐AB[AB]+A 또는 B가 1번 이상 반복[A-Za-z]+A-Z 또는 a-z(알파벳) 가 1번 이상 반복[0-9]+ [\d]+숫..
-
programmers 258711 - 도넛과 막대 그래프codingTest 2024. 7. 9. 10:59
요구사항세 타입의 그래프도넛 모양 그래프막대 모양 그래프8자 모양 그래프단방향 간선크기가 n인 도넛의 모양 그래프는 n개의 정점과 n개의 간선이 존재구하려는 것세 타입의 그래프 여러 개가 있고, 그와 무관한 정점을 하나 그린 뒤, 각 그래프의 임의의 정점 하나로 향하는 간선들을 연결했다.간선 정보가 주어지면 [생성한 정점의 번호, (정점 생성 전) 도넛그래프 수, 막대 그래프 수, 8자 그래프 수]를 담은 1차원 배열을 return입력[[2, 3], [4, 3], [1, 1], [2, 1]]출력[2, 1, 1, 0]문제 첫인상도넛이 세가지 있구나깊이 우선으로 탐색해보자생성한 정점은 어떻게 계산할 수 있을까막대 그래프는 루프가 없는 경우로 판별하면 되겠다도넛 그래프는 루프가 하나 있는 경우로 판별하면 되겠..