분류 전체보기

    Dart 시작하기 - 변수

    | Dart 시작하기 - 변수 https://nomadcoders.co/dart-for-beginners/lectures/4099 1. var 변수 - 컴파일 시에 자동으로 타입 변환된다. (권장되는 사항) *var 에 그렇다고 null을 넣을 수는 없음 2. dynamic 변수 - 타입 변환이 가능하다. (조심스럽게 사용해야 한다) 3. nullable 변수 - 타입 뒤에 ?을 붙이면 된다. 4. final 변수 - 변경 불가 제어자. 타입 없이 바로 값을 넣으면 컴파일 시 타입 지정이 된다.. 5. late 변수 - 나중에 초기화가 가능하게 하는 제어자 (ex. late final String name;) 6. constant 변수 - 컴파일 시에 반드시 값을 알고 있어야 하는 변수. (반드시 초기화..

    2. 자료구조 - 선형자료구조 - 큐

    프로그래머스 큐 문제 💡 기능 개발 - 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42586 - 문제 요약 : 현재 진행률(progresses)와 일간 작업속도(speeds)가 주어졌다. 개발은 동시에 시작하고 누가 끝나는 지는 순서와 상관이 없다. 다만, 앞선 개발이 완료된 시점에야 다음 개발을 배포할 수 있다. 만약 앞선 개발을 배포할 때 다음 개발도 완료됐다면 동시에 배포한다. 배포일마다 배포되는 개발물의 갯수를 출력하시오. - 입출력 예 : progresses speeds return [93, 30, 55] [1, 30, 5] [2, 1] [95, 90, 99, 99, 80, 99] [1, 1, 1, 1, 1, 1] [1, 3,..

    2. 자료구조 - 정의, 선형 자료구조

    자료구조 💡 자료구조란? - 자료를 효율적으로 CRUD하기 위한 구조를 말합니다. - 자료구조를 잘 사용하면 시간과 공간을 절약할 수 있습니다. 선형 자료구조 💡 선형 자료구조 특징 : 데이터가 1 : 1 관계로 들어가 있다. 종류 : 배열, 리스트, 스택/큐, 해시테이블 특징 자바 컬렉션 속도 or 차이점 배열 - 인덱스를 통해 바로 접근 가능 - 중간에 데이터를 삽입/삭제하기 어려움 - 배열의 크기를 선언 시 지정 ArrayList - add : O(1)/O(n) - get : O(1) - contains : O(n) - remove : O(1)/O(n) 리스트 - 노드에 데이터와 포인터가 존재 - 인덱스가 없어 head부터 순차 접근 - 중간에 데이터를 삽입/삭제하기 쉬움 - 크기를 선언 시 지정하..

    1. 코딩 테스트 준비하기 - 시간 복잡도와 논리 오류 잡기

    시간 복잡도 표기법 💡 시간 복잡도의 유형 - 빅 오메가 : 최선의 연산 횟수 - 빅 세타 : 보통의 연산 횟수 - 빅 오 : 최악의 연산 횟수 연산 횟수 계산하기 💡 연산 횟수 계산 방법 - 알고리즘 시간 복잡도 X 데이터의 크기 * 일반적으로 1억 번의 연산이 1초가 걸린다. 시간 복잡도 데이터 크기 속도 N 100,000,000 1초 N^2 10,000 1초 N^3 100 1초 디버깅 💡 나만의 디버깅 방법 갖기 1. 오류 메세지를 읽고 오류 원인을 유추한다. 2. 원인이 되는 곳에 break point를 놓는다. 3. 한줄씩 코드를 실행하며 유추한 원인이 맞는지 파악한다. 4. 수정을 하고 다시 디버깅을 한다. 💡 항상 자료형의 범위와 인덱스 범위를 염두하자 [ 출처 ] - [Do it! 알고리즘..

    [AWS] AWS EC2에 접속하는 방법 (스크랩)

    AWS EC2에 접속하는 방법 https://honglab.tistory.com/179 [AWS] AWS EC2에 접속하는 방법 5가지 (SSH, RDP) 팀블로그에 작성한 글입니다 1. 제일 추천 - mobaXterm (SSH, RDP, SFTP 등 한꺼번에 사용 가능) https://err-bzz.oopy.io/223a9c02-7ac2-498c-afde-01db6cf873ae [강추] mobaXterm으로 Linux, Windows Server 접속 mobaXterm이란? err-bzz. honglab.tistory.com

    [AWS] EC2 Ubuntu 서버에 레디스 설치하고 접속하기

    [AWS] EC2 Ubuntu 서버에 레디스 설치하고 접속하기

    | 개요 - 지난 시간에 한 작업 1. EC2 프리티어 계정 만들기 2. Yum 설치하기 3. JDK 설치하기 - 이번 시간에 한 작업 1. EC2에 도커와 레디스 설치하기 2. EC2 인바운드 규칙 설정하기 | 절차 1. EC2 도커와 레디스 설치하기 - 이 부분은 별도의 포스팅에 작성해두었는데, 아래에 적어두었다. https://why-dev.tistory.com/378 [Docker/Redis] Ubuntu에 Redis 설치 & Docker로 Redis 실행 | Redis 설치하기 1. Ubuntu에 Redis 설치 sudo apt-get install redis-server 2. 설치 확인 redis-server --version 3. redis가 6379 포트를 쓰는지 확인 // netstat ..

    [이커머스 프로젝트] 장바구니 구현하기 (RedisTemplate)

    [이커머스 프로젝트] 장바구니 구현하기 (RedisTemplate)

    | 개요 - RedisTemplate을 사용하여 각 회원들에 대한 장바구니를 저장 - serialize과 deserialize를 String으로 쓰는 StringRedisTemplate을 사용 - Redis에 저장되는 형태 구분 데이터 형태 key cart:hash_id value 각 회원의 장바구니 객체를 Json 타입으로 저장 | 절차 1. Build.gradle에 Redis 추가 // redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' testImplementation('it.ozimov:embedded-redis:0.7.3'){ exclude group: 'org.slf4j', module: 'slf4j-si..

    [이커머스 프로젝트] QueryDSL를 통해 상품 검색하기

    [이커머스 프로젝트] QueryDSL를 통해 상품 검색하기

    | 개요 1. Build.Gradle에 QueryDSL과 Jakarta를 함께 주입한다. 2. Config 클래스를 만들어 EntityManager를 생성하고 이를 JpaQueryFactory에 넣어준다. 3. ProductRepositoryCustom과 ProductRepositoryImpl을 만들고, ProductRepostory에서 Custom 인터페이스를 상속한다. | 상세 1. Build.Gradle에 QueryDSL를 추가한다. * Jakarta를 추가하는 이유는, NoClassDefFoundError를 방지하기 위해서이다. * NoClassDefFoundError는 컴파일 시에는 있었는데 실행 시에는 클래스를 찾을 수 없을 때 발생한다고 한다.. QueryDSL를 사용할 때 자주 나타나는 오..

    [Redis] 스프링에서 Redis Cache에 Data Crud 하는 방법

    1. RedisTemlate을 통해 다양한 형태의 데이터 CRUD하기 https://blog.kingbbode.com/25 Spring Boot에서 Redis 사용하기 Redis란?Remote Dictionary Server의 약자오픈 소스 소프트웨어휘발성이면서 영속성을 가진 key-value 저장소Redis는 NoSQLNoSQL은 데이터 간의 관계를 정의하지 않고 고정된 스키마를 갖지 않는 새로운 형태의 blog.kingbbode.com 2. Json으로 파싱하여 저장, 조회하기 https://velog.io/@kshired/Spring-Redis%EC%97%90%EC%84%9C-%EA%B0%9D%EC%B2%B4-%EC%BA%90%EC%8B%B1%ED%95%98%EA%B8%B0 [Spring] Redi..