http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220954420688 메모리구조는 Static, stack, heap으로 구성된다. static: 전역변수, 정적 멤버 변수와 같이 static이 붙은 것들이 메모리에 남아있다. 그래서 자바 어디에서나 호출이 가능하다. stack: 데이터의 값이 저장되는 곳으로 종료되면 메모리가 해제된다. LIFO방식으로 처리하기 때문에 마지막 데이터만 의미가 있고 이전 데이터는 지워진다. 메소드가 끝나면 종료된다. heap: 참조형 타입의 데이터를 가지고 있다. 이때 stack은 heap의 메모리참조 주소값을 가지고 있다. 그래서 heap 데이터를 가져올 수 있다. heap에 저장된 데이터가 불필요하면 jvm이..
참조: 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://changyeopkim.blogspot.kr/2013/04/gradle-wrapper.html추가: http://kwonnam.pe.kr/wiki/gradle/wrapper Chapter 59. Gradle WrapperGradle Wrapper(이하 wrapper)는 Gradle 빌드를 시작하는데 가장 선호되는 방법입니다. wrapper는 윈도우의 배치 스크립트이고, 다른 운영체제의 쉘 스크립트입니다. wrapper를 통해서 Gradle 빌드를 시작할 때, Gradle이 자동으로 다운로드되고 빌드를 동작하는데 사용됩니다. wrapper는 당신이 반드시 버전 관리 시스템에서 사용해야하는 것입니다. 프로젝트에 wrapper를 함께 배포함으로써, 누구든지 Gradle을 설치할 필요없이 프..
참조: https://dev.mysql.com/doc/refman/5.7/en/packet-too-large.html참조: http://blackbull.tistory.com/12 아래와 같은 패킷 에러가 발생했다. Could not roll back JPA transaction; nested exception is javax.persistence.PersistenceException: unexpected error when rollbacking] with root causecom.mysql.jdbc.PacketTooBigException: Packet for query is too large (9825416 > 4194304). You can change this value on the server b..
참조: http://www.whatwant.com/714여러 버전의 JDK를 사용하고 싶은 경우 때문에 알게된 명령어가 바로 "update-alternatives" 이다. 기본적인 사항을 한 번 살펴보기 위해서 java를 살펴보자. $ whereis java java: /usr/bin/java /usr/bin/X11/java /usr/local/java /usr/share/java 여기저기에 위치하고 있는 java 중에서 "/usr/bin/java"에 대해서 조금 더 자세히 살펴보면, $ ls -al /usr/bin/java lrwxrwxrwx 1 root root 22 6월 7 22:10 /usr/bin/java -> /etc/alternatives/java 잘 살펴보면, 일반적이지 않은 경로의 링크가..
참조: 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업계의 신기술은 이 시대의 프로그래머에게 마냥 좋은 소식만은 아닌 것 같다. 프로그래머란 변화를 수용하지 않고는 가까운 미래마저 보장받기 어려운 직업이기 때문이다. 항상 새로운 것을 배우고 개척해야만 뒤쳐지지 않을 것이라는 부담이 우리를 억누르고 있고, 또한 일정한 나이가 지나면 지금껏 쌓아온 지식과 경험이 대부분 쓸모없는 것이 되어 버릴 것이라는 불안감이 늘 함께..
- spring
- 머신러닝
- Gradle
- Java
- AWS
- mybatis
- 점프투파이썬
- Maven
- serverless
- NIO
- Configuration
- AI
- 텐서플로우
- 파이썬
- TDD
- mysql
- spark
- BigData
- API
- Error
- executor
- web
- Docker
- tensorflow
- javascript
- ML
- memory
- python
- 중앙정보처리학원
- 모두의딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |