전체 글

· TechTalk
오늘의 주제는 Android에서는 API Key처럼 외부에 유출이 되면 안 되는 정보를 어떻게 관리해야 되는지 그 방법에 대해서 알려드리고자 합니다. 방법은 간단합니다. 제목에서처럼 프로젝트 root아래의 local.properties 파일을 활용하면 됩니다. local.properties에 사용하고 싶은 API_KEY의 key값과 value를 정의해줍니다. buildConfigField "String", "TEST", properties['TEST'] buildConfigField 타입, 사용할 변수명, local.properties에 정의된 key 다음으로는 build.gradle(:app)에 defaultConfig라는 영역에 Field 설정을 추가해주시면 됩니다. 원래는 이 다음에 Sync now..
· TechTalk
⚠ 본 포스팅은 그저 영웅문4에서는 사용자 정보를 어떻게 관리하는지 궁금하여 찾아보게 된 글로 깊은 내용을 다루지는 않습니다. 키움증권에서는 영웅문4라는 HTS를 이용해서 주식 매매를 할 수 있습니다. 영웅문4에서는 조건검색식을 만들어서 사용할 수 있는데요. 이걸 이용하면 주식시장에 상장된 모든 주식이 아닌 조건에 맞는 종목만 필터링해주기에 매매를 간편하게 할 수 있습니다. 간혹 주식 전문가들이 검색식을 파는 것을 보았는데요. 그 검색식을 그냥 사진으로 찍어서 혹은 검색식 만드는 영상을 배포하는걸 봤습니다. 만약에 그냥 검색식 데이터를 그대로 복사 붙여넣기 할 수 있으면 얼마나 좋을까요?? (물론 이는 2차 판매에 의한 피해가 발생할 수 있을 것으로 예상합니다.) 그래서 영웅문4에서는 조건식 정보를 어떻..
개발자 친구랑 서로 어떤 업무를 하는지 대화를 나누다 보면 심심치 않게 들려오는 Spring batch. batch라는 단어를 생각해보면 병렬처리를 하거나 일괄처리를 할 것 같다는 느낌은 오는데 정확히 무엇인지 모르겠습니다. Spring batch를 언젠가는 쓸 날이 오겠지만, 당장은 쓸 일이 없다면 학습을 나중으로 미뤄두고 바로 적용이 가능하다면 조금 더 찾아보기로 결정했습니다. 그래서 오늘은 쓸 일의 여부를 장점으로 판단할 것이고 그것을 정리한 포스팅을 올립니다. Spring Batch 장점 글자 그대로 Spring Batch 장점이라고 검색을 하면 정말 놀랍게도 모두가 같은 장점을 적어주셨습니다. - 대용량 데이터 처리에 최적화되어 고성능 - 로깅, 통계처리, 트랜잭션 관리 등 재사용 가능한 필수 ..
컴퓨터를 포맷한 뒤로 그동안의 작업물들이 다 사라진 관계로 집에서는 프로그래밍을 하지 않았습니다. 어쩔 수 없이 github에 올라간 프로젝트들이라도 정리해보려고 했는데 위와 같은걸 찾아버렸어요. Todo : RESTful API 과거의 저는 방법을 알지 못하여 한참을 고민만 하다가 끝내 완성하지 못했나 봐요. 그런 과거를 위해 해답을 주려고 합니다. 목표 : 게시글 목록 전달 클라이언트쪽에서 요청이 오면 게시글 목록을 전달해주고 싶었습니다. 아래는 티스토리 게시글 목록 API 예시입니다. GET 요청을 보내면 JSON으로 데이터 목록을 쫘르륵 보내주고 싶었습니다. { "tistory": { "status": "200", "item": { "url": "http://oauth-test.tistory.co..
· Java
어노테이션 스프링이나 스프링부트를 사용하다보면 여러 어노테이션들을 마주할 수 있습니다. @Service //어노테이션 예시 그러면 스프링에서는 아 얘가 Service구나 파악을 하고 관리해주겠죠. 저는 그래서 이런 어노테이션은 곧 메서드랑 비슷하구나 생각을 했었습니다. 그러나 찾아보니 어노테이션이라는 단어 자체는 주석이라는 뜻을 가지고 있다고 합니다. 주석과 비슷하면서도 다른 점이 존재하는데, 그것은 뭔가 특별한 기능을 제공한다는 점에서 차이가 있습니다. 어노테이션을 붙인 메서드나 클래스에는 별 다른 기능을 제공하지 않는다고 합니다. 다만 다른 곳에서 이 프로그램을 인식하기 쉽게 정보를 제공해준다고 합니다. 이게 특별한거죠. 아까 예시처럼 @Service를 붙인 BoardService가 있다고 해볼게요...
· TechTalk
인덱스(Index)란? 인덱스란 저장 공간을 조금 더 활용해서 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다. 전공책의 뒷 편을 보면 인덱스(색인) 페이지가 있습니다. 특정 키워드와 관련된 페이지가 책의 어느 부분에 위치하는지 알려주고 있습니다. 책도 색인 페이지가 따로 존대하듯이 데이터베이스의 인덱스도 데이터베이스 메모리에 일정 공간을 사용해 저장을 하게 됩니다. 인덱스를 활용하면 데이터를 조회연산하는 작업들의 성능이 좋아질 수 있습니다. 기존의 방식은 Full Scan 방식으로 데이터베이스의 모든 내용을 조회하므로 오래 걸리지만 인덱스는 그것을 개선한 방식이기 때문이죠. 인덱스 구조 대부분의 DBMS는 B-Tree 계열 인덱스를 사용합니다. 그중에서도 B+-Tree를 사용하는 DBM..
게시글이 한 줄로 1부터 100000개가 나열되면 불편하겠죠. 불편을 해결하기 위해 페이징 기능을 구현해봅시다. BoardController @GetMapping("/board/list") public String list(Model model, @PageableDefault(size = 5, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { List boardList = boardService.getBoardList(pageable); Integer[] pageList = boardService.getPageList(pageable); model.addAttribute("postList", boardList); model.addAtt..
· Java
Enum을 정의하는 방법 Enum이란? enum 열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러 개 정의할 때 사용합니다. enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않는다는 특징이 있습니다. 또한 자바의 열거형은 C언어와는 달리 타입까지 비교가 가능하다고 합니다. public enum Dir { UP, DOWN, LEFT, RIGHT } 열거형은 위와 같이 작성할 수 있습니다. @Getter @Setter public class EnumExample { public enum Dir { UP, DOWN, LEFT, RIGHT } private int x; private int y; public void move(Dir dir){ switch (dir){ c..
moongomi
개발냥발