일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준알고리즘
- 알고리즘
- 정보처리산업기사
- 1과목
- MYSQL
- 소프티어
- 파이썬
- programmers
- 문제풀이
- kotlin
- C++
- java
- CJ UNIT
- 코틀린
- 백준 알고리즘
- SW봉사
- 자바
- 데이터베이스
- SQL
- 코딩봉사
- 공부일지
- python
- 시나공
- softeer
- BFS
- 회고
- 스프링
- 코딩교육봉사
- 프로그래머스
- 백준
- Today
- Total
목록개발 (141)
JIE0025
✅ MongoDB란? 필요한 쿼리 제공 및 인덱싱을 활용해 원하는 수준의 확장성과 유연성을 제공하는 문서 데이터베이스. NoSQL 데이터베이스 시스템이다. 문서지향 데이터베이스로JSON과 유사한 BinaryJSON (BSON)을 사용해 데이터를 저장한다. 내부적으로는 BSON 형식으로 저장되지만, 사용자는 JSON과 유사하게 데이터를 다룰 수 있다. ✔️ NoSQL Not Only SQL의 약자로, 기존 RDBMS의 한계를 극복하기 위해 만들어졌다. 고정된 스키마, JOIN이 존재하지 않다. ✔️ 문서지향 (Document Oriented) Document란 NoSQL에서 데이터를 저장하는 기본단위이다. key-value쌍의 집합으로 구성되어 있다 (JSON과 유사한 구조) 관련된 데이터를 그룹화하기 위..
✅ 개요 외부 API를 사용해야하는 상황이 생겨서 호출 방법에 고민을 하고 있다. 빠른 사용/개발을 위해서는 사용하고자 하는 API의 클라이언트 라이브러리 자체를 이용해도 되지만, 이 경우 특정 API에 종속되면서, 정책변경 및 가격변경에 영향을 받게 된다. 요구 스킬의 변화와 유연한 확장을 위해 외부 API를 호출하는 방법들을 선택해야 할듯 해 이 글을 적게 되었다. ✅ 외부 API를 호출을 위한 방법들 비교 외부 API 를 호출하고, 응답값을 받아오는 방법에는 5가지 정도가 있다. 각 기술의 장단점과 특징을 살펴보자 HttpURLConnection/URLConnection RestTemplate HttpClient WebClient OpenFeign 1️⃣ HttpURLConnection/URLCon..
코틀린에서 자료구조는 어떻게 다루는지 알아보자! ✅ 컬렉션 (Collection) 컬렉션은 자료구조를 편하게 다루기 위해 제공하는 라이브러리이다.. 코틀린에서의 컬렉션은 자체 컬렉션을 제공하지 않는다는걸 기억하자. 🧐 왜 자체 컬렉션을 제공하지 않을까? 표준 자바 컬렉션을 활용함으로써 자바 코드와 상호작용하기 더 쉽기 때문이다. 자바에서 코틀린함수를 호출하거나, 코틀린에서 자바코드를 호출 할 때 서로 변환할 필요 없이 같은 클래스를 사용한다. 코틀린에서는 자바보다 더 많은 기능을 사용할 수 있다 !!!! ✔️ 리스트의 마지막 요소 가져오기 fun main() { val strings = listOf("first", "second", "third") println(strings.last()) // 리스트의..
✅ Hello World가장 기본적인 Hello World를 출력하는 코드를 작성해보았다.fun main (args: Array) { println("hello world"); }함수 선언시 fun을 사용한다.파라미터 뒤에 타입을 써준다. args:Array함수를 최상위 수준에 정의할 수 있다. (클래스 안에 넣어야 할 필요가 없다)배열은 일반 클래스와 마찬가지(?) 자바와 다르게 코틀린에선 배열처리를 위한 문법이 존재하지 않는다. System.out.println을 println으로 사용한다. 자바 표준라이브러리 함수를 간결하게 사용할 수 있도록 래퍼를 제공한다.세미콜론은 써도 되고, 안써도 된다. ✅ 함수의 정의 본문이 증괄호로 둘러싸인 함수 (블록이 본문인 함수)fun max(num1: Int, n..
✅ 코틀린이란? JetBrains에서 개발한, 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 자바와 똑같이 JVM 위에서 작동한다! (OS에 독립적이라는 장점이 그대로 있다!) 주 목적 : 자바가 사용되는 용도에 적합하고, 자바의 단점을 극복하며 간결하고 안전한 대체용 언어 ✍️ 코틀린의 특징 (장점)간결하고 표현력이 뛰어나 개발자의 생산성을 높혀준다.자바와 100%호환되어 상호 운용성을 갖는다.대부분의 자바 프로젝트에서 활용 가능하다 (안드로이드/ 서버 개발 등)성능이 자바와 비슷하다Null 체크, 타입추론 캐스팅 등에서 안전성을 보장한다. ✅ 코틀린은 왜 배워야할까?언젠가 코프링이라는 단어를 들어본적이 있다. 많은 기업들이 자바+스프링을 사용하던 기존의 프로젝트를 코틀린+스프링으로 개선하는 ..
✅ 개요 스프링부트가 어떻게 다중요청을 처리하는지에 대해 알아보자. 나는 이전에 스프링 내부 구조와 동작원리, 요청은 어떻게 처리되는가?에 대해 전체적으로 큰그림을 그린적이 있다. 그 그림은 요청이 들어왔을때, WAS, 필터와 필터체인(시큐리티필터) , Dispatcher servlet부터 Controller까지 가는것, JSON과 DTO의 변환, Mock요청의 경우는 어떻게 되는가? 인터셉터 등등 굉장히 다양한 주제를 한개의 그림에 함축하고 있었다. (지식을 확실하게 쌓고 나서 나중에 더 업데이트 해놔야지 ㅎㅎ) 당시 내가 다중유저 처리에 관해 알았던 것은 (그림중 오른쪽의 파란 부분을 보면 된다.) 1) 톰캣 내부에 스레드풀이 존재하고, 미리 스레드를 만들어둔 다음 2) 요청이 들어올 때마다 1개씩 ..
✅ 개요 대체 왜 우리 서비스의 ELB 도메인에 접속하면 이런 링크가 뜨는걸까? 라는 생각을 지속적으로 해왔다. 왜 401이지 ? 그냥 접속해서 그런가? 두번째로 궁금했던건 로드밸런서의 대상그룹을 통해 EC2 애플리케이션에 연결되는데 이 애플리케이션에서 상태 또한 unhealthy 한 상태라고 보여주고 있었다. 둘다 401을 반환하기 때문에 비슷한 이슈로 묶을 수 있을것이라 생각했었다. 그리고 오늘 이 unhealthy 이슈에 대해 해결방법을 찾아보았고, 조만간 처리할 목적으로 이 글을 적는다. ✅ health Check란? ELB가 여러대의 서버로 요청을 분산할 수 있는데, 이때 서버가 정상적으로 활동중인지 확인하기 위해 Health Check과정이 일어난다. 🤔 서버가 정상적인지 확인하는 이유는? E..
복습을 하려고 컬렉션을 내 블로그에서 검색해봤는데, 글을 작성하지 않았나보다. 그래서 이글을 적는다! ✅ 개요 우리는 대학에서 자료구조에 대해 배운다. 자료구조가 중요한 이유는 어떤 상황에서 어떤 자료구조를 사용해야 효율적일지 아는것에서 프로그램의 효율성이 좋아지기 때문이다. 자바에서는 자료구조를 쉽게 다루기 위해 을 제공한다. 컬렉션 : 다수의 요소를 하나의 그룹으로 묶어 효율적으로 저장하고 관리하는데 사용하는 기능을 제공 이제 컬렉션 프레임워크의 계층구조를 살펴보자. 어떤 클래스를 상속하고, 구현하는지 관계를 알아보고 각 차이를 알아보자!) ✅ 컬렉션 프레임워크 계층 우리가 자바에서 자주 사용하는 ArrayList, LinkedList, HashSet등등.... 모두 여기에서 보인다. 0️⃣ Iter..
✅ 개요자바의 가장 큰 장점 2가지를 말하라 하면 첫째는JVM을 이용하여 운영체제에 독립적이라는 것과 둘째는 JVM의 가비지 컬렉터를 통해 메모리 해제를 개발자가 컨트롤하지 않아도 된다는 점이다. 가비지 컬렉션이란 무엇일까? 가비지컬렉터는 어떤 영역의 메모리를 관리해줄까? 왜 해당 영역의 메모리 해제가 필요할까? 가비지 컬렉터는 어떤 방식으로 작동할까? 내부적으로 어떻게 움직이는지 살펴보면서 가비지컬렉션에 대해 잘 이해해보자. ✅ 자바 메모리 구조우리는 JVM의 동작원리를 살펴보면서, JVM 내부적으로 어떤것들이 존재하고, 각각 어떤 역할을 하는지에 대해 미리 살펴본적이 있다. https://jie0025.tistory.com/229 [WhiteShip][1주차] JVM과 자바코드WhiteShip Ja..
✅ 개요프로젝트 중에 N+1문제가 나올것을 예상했었고, 데모일이 끝나자마자 N+1문제를 마주해 대표적인 해결방법을 보고 해결을 해봤지만... 요청 응답에 대해 시간이 비슷하게 나오고, (데이터가 적어서 그랬을거라 생각한다) 성능상 개선된게 확실한지 고민을 하다가 3주가 지난 이제서야 글을 적는다. ✅ 선행지식 : ORM, JPA, HibernateN+1문제를 제대로 이해하기 위해선 당연히 사용기술에 대한 이해가 선행되어야한다. 위의 한줄을 위해 내가 직접 ORM, JPA, Hibernate에 대한 글을 작성했다... 아래 글을 보면서 간단하게 이해해보자. https://jie0025.tistory.com/517 ✅ N+1문제JPA를 사용하면서 개발자는 비즈니스 로직 개발에 집중할 수 있어졌지만 JPA의 ..