반응형

분류 전체보기 316

[프로그래머스,Java] Level2: 과제 진행하기

https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level2: 택배상자와 비슷한 문제다. Stack을 사용하여, 보조 컨테이너를 하나더 생산해서 일을 처리하는 부분에서 그렇다. 근데, 이 과제 진행하기가 조금 더 난이도가 있다. 이것저것 할게 많아서 그런거같다. 사전준비: String -> Int 문자열 정리 메소드 , 시간순서대로 정렬 여기서부터 로직 1. 과제진행 2. 과제를 진행하는데 다음 과제할 시간이 되있는지 체크 2-1 . 2번에서..

(Java) 공공데이터 API 가져와서 쓰는법

공공데이터가 필요할때 API를 가져와서 쓰는법을 작성하려고한다. 이번 테스트할 공공데이터서비스 기관은 여기 https://data.seoul.go.kr/ 열린데이터광장 메인 데이터분류,데이터검색,데이터활용 data.seoul.go.kr 이곳에서 데이터를 가져오면 회원가입 및 API키를 발급받아야한다. API키 없이 sample로 호출할수는있다. 하지만 sample은 데이터 갯수가 5개만 지원하기에 이왕 하는거 API키 발급받고 전부 가져오자. https://data.seoul.go.kr/together/guide/useGuide.do 열린데이터광장 메인 데이터분류,데이터검색,데이터활용 data.seoul.go.kr 회원가입을하고 , 인증키를 신청하자. 이 사이트는 친절하게 아래에 언어마다 URL 신청하는..

Spring Eureka (스프링 유레카) 간단 실습 및 예제

스프링 유레카란? "스프링 유레카"는 스프링 프레임워크에서 사용되는 서비스 디스커버리(Service Discovery) 서버 중 하나입니다. 스프링 유레카를 사용하는 이유는 분산 시스템에서 서비스 간의 통신을 위해 필요한 서비스 디스커버리, 로드 밸런싱, 장애 감지 및 회복 등을 쉽게 구현할 수 있기 때문입니다. 스프링 유레카를 사용하면 각각의 서비스들이 등록되고, 이를 조회하여 사용할 수 있습니다. 이를 통해 높은 가용성과 확장성을 가진 분산 시스템을 구성할 수 있습니다. 또한 스프링 유레카는 클라우드 환경에서 서비스를 배포하고 관리하기 쉽도록 지원합니다. 클라우드 네이티브 아키텍처에서 많이 사용되는 기술 중 하나이며, 스프링 부트와 같이 사용하면 더욱 편리하게 구성할 수 있습니다. 여기서 서비스 디스..

Spring Cloud Gateway 간단실습 및 이해

갑자기 왜 Spring Cloud Gateway? Spring Cloud Gateway를 배우기 시작한건 MSA의 관심이 커서이다. MSA는 마이크로 소프트 아키텍처의 약자로 한 어플리케이션의 기능을 여러개로 쪼갠뒤, 기능마다 독자적인 서버(포트)를 열어 서비스하는 방식이다. Spring Cloud Gateway는 이 MSA 구축을 가능케하는 Java 기술이다. Route API Gateway에서 가장 기본이 되는 요소로 요청할 서비스의 고유한 값인 id, 요청할 uri, Predicate, Filter로 구성되어 있습니다. 요청된 uri의 조건이 predicate와 일치하는지 확인 후, 일치하는 경우 해당 uri 경로로 요청을 매칭 시켜줍니다. Predicate API Gateway로 들어온 요청이 주..

[프로그래머스,Java] Level2: 리코쳇 로봇

문제분석 : 문제 푸는 전략은 쉽게 생각할수 있지만, 구현하다보면 빡코딩이 된다. 그래서 만약, 이 문제를 못풀면 심한 자괴감이 들수있다. 그야.. 푸는 방법은아는데 구현을 못하면 그만큼 억울한 상황이 없으니.. 1. BFS 전략 사용하기 2. BFS 전략을 사용하여 최소거리를 구하는건 맞되, 리코쳇 로봇은 벽 , 장애물을 부딪힐때까지 움직인다. 즉, 원래 BFS는 4방향으로 1칸씩 움직여 도착하는 장소를 결정하지만, 이 문제는 4방향으로 몇칸씩 움직일지 매순간 미지수이므로, 움직여 도착하는 장소를 세밀하게 개선해야한다. 요약하자면 BFS전략에 이동하는 로직만 변경하면되는데, 막상 코딩을해보면 많이 버겁다. 문제풀이: BFS의 기초 방문체크와 Que를 선언했다. 방문체크는 재 방문을통해 무한루프를 방지함..

자주 쓰는 디자인 패턴 (행위 패턴)

행위패턴( 객체간 커뮤니케이션) 1.책임 연쇄(체인) 패턴 클라이언트에게 어떠한 요청이 들어왔을 때, 요청을 받은 객체가 해당 요청을 해결할 수 없을 경우 연결된 다음 객체들에 전달하고 해당 요청을 해결할 수 있는 객체가 처리하는 방식입니다. 요청 객체와 처리 객체를 분리하거나 요청을 처리할 수 있는 객체가 여러 개인데 하나의 객체에 요청을 보낼 때 책임 연쇄 패턴을 적용할 수 있습니다. 즉, 요청을 처리할 수 있는 객체가 여러개이고 이러한 처리를 하는 객체가 명시적이지 않을 때 사용할 수 있는 패턴입니다. 요약하자면, Chain 중개자가 객체와 객체끼리 체인을 걸어주는 형태 A객체로 처리할수없으면 B객체로, B객체가 해결할수없으면 C객체로 2. 옵저버 패턴 우선 코드부터 보겠다. Editor => Ev..

자바 2023.03.23

자주 쓰는 디자인 패턴 [구조 패턴]

1. 어댑터 패턴 사용처 : 구조는 같은데, 인터페이스가 달라서 못쓰는 경우 사용하게끔 변환해주는 용도 RGB 1 2 3 4 5 6 7 8 9 10 11 public class RGB { private byte[] images; public byte[] getImages() { return images; } public void setImages(byte[] images) { this.images = images; } } Colored by Color Scripter cs HDMI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class HDMI { private byte[] images; public HDMI(byte[] images) { this.images = imag..

자바 2023.03.22

자주쓰는 디자인 패턴 총정리 (생성 패턴 편)

1. 추상 팩토리 패턴 많은 수의 연관된 서브 클래스를 특정 그룹으로 묶어 한번에 교체할 수 있도록 만들었다. 예시) 중국 요리, 한국 요리가 있다. 이 요리는 Cook()라는 공통점이있다. 비슷한 두 클래스끼리 하나의 그룹으로 묶어 표현하고싶다! Food( Interface ) ChinaFood(Class) KoreanFood(Class) 엥.. 그냥.. Interface(인터페이스) 또는 Abstract Class(추상 클래스) 를 상속해서 쓰는 건가..? 이것만 놓고보면 그렇다. 하지만, 대부분 다음에 소개할 팩토리 메소드와 연계해서 사용한다. 2. 팩토리 메소드 패턴 (Factory Method) 객체를 만들어 반환하는 함수를 (생성자 대신) 제공하여 초기화 과정을 외부에서 보지 못하게 숨기고 반..

자바 2023.03.21

플러터(Flutter) 설치하기

https://docs.flutter.dev/get-started/install/windows Windows install How to install on Windows. docs.flutter.dev 플러터 사이트를 들어가서 다운받는다. 1번 방법을 사용하면, Zip을 받아 풀어서 환경변수까지 설정을 해줘야한다. 또 다른 방법, 초콜라티를 이용한다. https://chocolatey.org/install Installing Chocolatey Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey i..

Flutter 2023.03.16

WebRTC를 사용해보자

WebRTC란? 1. P2P 통신을 지원함(Peer-to-Peer) 2. 비디오, 오디오, 각종 데이터를 빠르게 통신가능 (P2P로 오는 장점) 3. 이에따라 낮은 지연시간이 지원됨. Socket.io같은경우는, 모든 데이터가 소켓서버를 경유하기때문에, 어느정도 지연시간이 필연적이지만, WebRTC는 P2P시스템을 지원하기에, 연결만 된다면 서버없이 클라이언트끼리 직통으로 데이터교환이가능하다. 특히, 데이터 크기가 큰 비디오, 오디오를 보낸다는것이 특징! WebRTC는 3가지로 나뉜다. 1. Mesh : 1:1 과같은 화상통화인경우 많이사용한다. Mesh는 사용자가 늘어날수록, 오고가는 트랙이 점점 많아지므로 가급적 적은 유저의 화상통화일경우만 쓰인다. P2P의 특징이 가장 잘 살아나는 경우다. 2. M..

자바스크립트 2023.03.15
반응형