참조: https://blog.rocketpunch.com/2017/07/02/2-million-pv-with-300-krw/로켓펀치에서는 기본적인 웹 서비스 외에 제휴를 통해 로켓펀치의 채용 공고를 위젯 형식으로 노출하는 경우가 있습니다. (예 : 플래텀 오른쪽 사이드바 위젯) 이런 위젯들을 운영하다 보니 몇 가지 추가적인 요구 사항이 생겼는데요. 주로 아래의 두 가지로 요약할 수 있습니다.제휴를 맺은 곳의 갑작스러운 트래픽 증가가 로켓펀치 웹 서비스에 영향을 주지 않을 것로켓펀치에서 일시적인 오류가 발생하더라도 제휴를 맺은 곳에서 가능하면 오류가 발생하지 않을 것이 두 가지를 만족하기 위해 최초에 기존의 서버와 분리하여 별도의 서버를 구축하는 방안을 생각했습니다. 다만 이 서버를 구축하고 유지하는 여..
참조: https://dzone.com/articles/test-doubles-mockitoIntroductionA common thing I come across is that teams using a mocking framework assume they are mocking. They are not aware that Mocks are just one of a number of 'Test Doubles' which Gerard Meszaros has categorised at xunitpatterns.com. It’s important to realise that each type of test double has a different role to play in testing. In the same..
참조: http://leebaro.tistory.com/33System ArchitectureApplication Server실제 사용자가 이용하는 서비스를 제공하는 서버(예:쇼핑몰)Contents DB상품 정보, 사용자 정보, 주문이력, 장바구니 이력 등을 저장한 데이터베이스Log Stream사용자가 Application Server(쇼핑몰)을 이용시 발생하는 이력 정보(Web Log)Recommendation Server추천 아이템을 생성하고, Applcation Server에 추천 데이터를 제공하는 서버Log CacheBatch Processing을 거치지 않고 로그 데이터를 이용하여 추천 상품을 제공하기 위해 로그 데이터를 저장하는 공간(예 : 이전 조회 상품 등)Recommendation DBB..
참조: https://wikidocs.net/224D. 테스트 주도 개발프로그래머라면 다음과 같은 코드를 만들어야한다."Clean code that works!"TDD(Test Driven Development)는 이것을 추구하는 가장 현실적인 방법이다.수많은 하드웨어와 소프트웨어, 언어와 개발방법론, 프레임워크 등 끊임없이 쏟아져 나오는 IT업계의 신기술은 이 시대의 프로그래머에게 마냥 좋은 소식만은 아닌 것 같다. 프로그래머란 변화를 수용하지 않고는 가까운 미래마저 보장받기 어려운 직업이기 때문이다. 항상 새로운 것을 배우고 개척해야만 뒤쳐지지 않을 것이라는 부담이 우리를 억누르고 있고, 또한 일정한 나이가 지나면 지금껏 쌓아온 지식과 경험이 대부분 쓸모없는 것이 되어 버릴 것이라는 불안감이 늘 함께..
Test Double(대역, 스턴트맨) 용어 정리 참조: http://hyunalee.tistory.com/33 Dummy객체의 기능이 보장되지 않는 단순 껍데기. 객체 생성은 되나, 해당 객체에 대한 기능은 보장하지 못하는 경우 사용한다. StubDummy와 다르게 특정값을 출력하거나, 특정 메세지를 출력하는 기능을 한다. Dummy가 실제로 동작하도록 구현한 객체를 말한다. FakeStub은 하나의 Instance를 대표한다면, Fake는 여러개의 Instance를 대표하는 형태의 객체를 말한다. 그래서 조금 더 구현이 복잡한 것을 일컫는다. 복잡한 로직을 사용하는 객체(관계성으로 묶여있는)를 간단하게 구현하도록 만든 객체를 말한다. 해당 부분은 이미지를 보는게 더 이해하기가 쉬울 것 같다. 아래의 ..
출처: https://spoqa.github.io/2013/06/11/more-restful-interface.html Document?컬렉션에 관해서는 앞서 소개한 이전 글에서 자세히 설명해놓았으니 읽어보시기 바랍니다. 지금 제가 언급할 것을 도큐먼트인데요. 도큐먼트는 컬렉션과는 달리 단수명사나 명사의 조합으로 표현되어 URI에 나타납니다. http://api.soccer.restapi.org/leagues/seattle/teams/trebuchet/players/claudio위의 예제에서 leauges라는 컬렉션 리소스가 있는 것을 알 수 있습니다. 그 컬렉션의 자식 리소스 중 하나가 seattle이라는 리소스인데요, 바로 이 리소스가 도큐먼트입니다. 도큐먼트는 하위 계층으로 또 컬렉션을 가질 수 있..
netty + SpringMVC를 이용하여, NIO입출력 방식을 이용하면 속도가 향상될 것 같았다. 그래서 구글링을 하다보니 camel 또는? 스프링을 사용하여 서비스를 지원하고 netty IO 입출력을 이용하여 입출력에 대한 속도를 향상하는 방법에 대해 알 수 있었다. 나중에 한번 고려해보자… vert.x + spring 이냐.. netty + spring 이냐... 아님 그냥 공부해서 node?? 참고: http://camel.apache.org/netty-http-server-example.htmlhttp://aoruqjfu.fun25.co.kr/index.php/post/576
선택 정렬 : 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다. 주어진 리스트 중에 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 소스 void selectionSort(int[] list) { int indexMin, temp; for (int i = 0; i
- spring
- Maven
- spark
- AWS
- 텐서플로우
- Configuration
- mybatis
- Docker
- NIO
- AI
- serverless
- web
- 머신러닝
- executor
- 파이썬
- 모두의딥러닝
- tensorflow
- TDD
- 중앙정보처리학원
- BigData
- Gradle
- API
- Java
- python
- javascript
- 점프투파이썬
- memory
- ML
- mysql
- Error
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |