본문 바로가기

전체 글285

26살 사회초년생인데, 월급 받자마자 투자부터 고민하는 내가 이상한 걸까 26살이다.중소기업 사무직이고, 회사 다닌 지 1년 조금 넘었다.며칠 전 월급이 들어왔다.통장에 숫자 찍힌 거 보고 솔직히 말하면 기쁘긴 했다.근데 그 기쁨이…진짜 딱 10분 갔다.월급 받자마자 드는 생각이 “투자해야 하나?”인 게 정상인가보통 이런 거 아닌가?“오늘은 뭐 사 먹지?”“이번 달은 좀 숨통 트이네”근데 나는 달랐다.“이 돈… 그냥 두면 안 되는 거 아니야?”이 생각이 먼저 들었다.돈이 적어서가 아니라, 가만히 있으면 손해 보는 기분이 들었다.사회초년생 투자 검색하면 멘탈부터 털림진짜 궁금해서 검색해봤다.사회초년생 투자첫 월급 투자20대 자산관리근데 결과가 다 이렇다.“지금 시작 안 하면 늦습니다”“20대는 공격적으로 가야 합니다”“현금 들고 있으면 바보입니다”읽다 보면 점점 이런 생각이 든.. 2026. 2. 2.
[T.I.L]DAY89 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 2022.05.08 - [프레임워크/스프링] - [Redis] MongoDB와 Redis를 사용하여 Molon차트 저장하기 (2) 2022.05.08 - [프레임워크/스프링] - [Redis] MongoDB와 Redis를 사용하여 Molon차트 저장하기 (1) [Redis] MongoDB와 Redis를 사용하여 Molon차트 저장하기 (1) 캐시 DB는 데이터의 빠른 출력을 위해 메모리에 저장하는 데이터베이스로 RedisDB를 많이 활용한다 오늘 해본것은 멜론 차트 100을 .. 2022. 5. 8.
[Redis] MongoDB와 Redis를 사용하여 Molon차트 저장하기 (2) melonService Interface를 생성해준다 /** * 멜론 노래 리스트 저장하기 */ int collectMelonSong() throws Exception; /** * 오늘 수집된 멜론 노래리스트 가져오기 */ List getSongList() throws Exception; /** * 멜론 가수별 노래 수 가져오기 */ List getSingerSongCnt() throws Exception; Service를 생성해준다. 이 로직의 핵심은 MongoDB와 Redis를 함께 사용하여 만약 Redis에 데이터가 존재한다면, Redis에서 조회하고 Redis에 존재하지 않는다면 Mongodb에서 조회하는 특징을 가지고 있다 @Slf4j @Service("MelonService") public c.. 2022. 5. 8.
[Redis] MongoDB와 Redis를 사용하여 Molon차트 저장하기 (1) 캐시 DB는 데이터의 빠른 출력을 위해 메모리에 저장하는 데이터베이스로 RedisDB를 많이 활용한다 오늘 해본것은 멜론 차트 100을 수집한 내용을 RedisDB에 일정시간동안 저장하고, 조회 요청이 발생하면 RedisDB에서 데이터를 가져오고, 만약 RedisDB에 데이터가 없다면, MongoDB에서 가져온다 우선 Interface Mapper 부터 생성해준다 주석에 설명을 적어놔서 설명은 생략하겠다 /** * 멜론 노래 리스트 저장하기 * * @param pList 저장할 데이터 * @return 저장 결과 */ int insertSong(List pList, String redisKey) throws Exception; /** * 멜론 노래 키 정보 존재여부 체크하기 * * @param key 저.. 2022. 5. 8.
[T.I.L]DAY88 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 2022.05.06 - [프레임워크/스프링] - [Redis] Spring Boot Redis JSON 데이터 다루기​ [Redis] Spring Boot Redis JSON 데이터 다루기 실시간 채팅 프로그램을 만들기 이전에 Redis로 JSON 데이터 다루기를 해보았다 @JsonInclude(JsonInclude.Include.NON_DEFAULT) @Data public class RedisDTO { private String name = ""; // 이름 private.. 2022. 5. 6.
[Redis] Spring Boot Redis JSON 데이터 다루기 실시간 채팅 프로그램을 만들기 이전에 Redis로 JSON 데이터 다루기를 해보았다 @JsonInclude(JsonInclude.Include.NON_DEFAULT) @Data public class RedisDTO { private String name = ""; // 이름 private String email = ""; // 이메일 private String addr = ""; // 주소 private String test_text = ""; // 테스트 문구 } 먼저 Redis 정보를 다룰 DTO를 생성해준다 int saveRedisZSetJSON(String redisKey, List pList) throws Exception; IRedisMapper에 int형으로된 인터페이스를 생성해준다 int.. 2022. 5. 6.
[MOBEE] 개발 진행 상황 및 진행 계획 처음 하는 프로젝트인 만큼 고민을 굉장히 많이 했고, 많은 공부가 필요했다 일단 오늘까지 고민한것은 영화정보를 DB로 받아와야 하는데 받아올만한 정보가 없다는 것이었다 그래서 크롤링은 다 해봤고, 내가 원하는 만큼의 데이터를 얻을 수 없었다 그래서 찾고 찾던중 TMDB API 라는 것을 알게되었다 그래서 일단 영화 데이터는 해결이 됐고, 검색은 네이버 API, 도로 API는 다음 API가 짱이다.. 그리고 영화에 리뷰를 남길 수 있게 할 예정인데 기본 리뷰 형태는 물론이고 좋아요도 넣어보려고 한다 그리고 기회가 된다면 Redis를 사용한 채팅도 구현해볼 생각이다... 너무 욕심인가? 아무튼 일단 Reat와 Spring 연동과 로그인 회원가입, React 디자인 기본 틀은 잡았으니 이제 데이터 전처리와 A.. 2022. 5. 6.
[T.I.L] DAY87 2022.05.05 - [프레임워크/스프링] - [Spring] TMDB JSON 형태로 총 페이지 불러오기 2022. 5. 5.
[Spring] TMDB JSON 형태로 총 페이지 불러오기 // 총 페이지를 알아내기 위한 컨트롤러 @ResponseBody @GetMapping("/api/getPages") public int getPages() { int page = 0 ; log.info("getPage Service 시작!"); try { URL url = new URL("https://api.themoviedb.org/3/discover/movie?api_key=" + KEY + "&release_date.gte=2013-01-01&watch_region=KR&language=ko"); BufferedReader bf; bf = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8")); result = bf.readLi.. 2022. 5. 5.
[T.I.L]DAY86 2022.05.04 - [프로그래밍언어/Python] - [Python] Deque (Double-Ended Queue) 구조 파악 [Python] Deque (Double-Ended Queue) 구조 파악 Deque (Double-Ended Queue) 앞 쪽과 뒤쪽에서 모두 삽입과 삭제가 가능 from collections import deque # 데큐 데이터 생성하기 myDeque = deque([(1,"첫번쨰"), (2, "두번째"), (3, "세번째"), (4, "네번째"), (.. yikanghee2.tistory.com 2022.05.04 - [프레임워크/스프링] - [Spring] RestApi 게시판 만들기 [Spring] RestApi 게시판 만들기 React로 게시판을 만들기 위해서.. 2022. 5. 4.
[Python] Deque (Double-Ended Queue) 구조 파악 Deque (Double-Ended Queue) 앞 쪽과 뒤쪽에서 모두 삽입과 삭제가 가능 from collections import deque # 데큐 데이터 생성하기 myDeque = deque([(1,"첫번쨰"), (2, "두번째"), (3, "세번째"), (4, "네번째"), (5, "다섯번 째",)]) # 출력 print("전체 데큐 : ", myDeque) # 왼쪽 내용 가져오기, 가져오면 삭제됨 firstData = myDeque.popleft() # 삭제한 데이터 print("왼쪽 첫번째 데이터 : " , firstData) print("현재 데큐 : ", myDeque) # 방금 가져온 첫번째 데이터를 추가하기 myDeque.append(firstData) print("현재 데큐 : ",.. 2022. 5. 4.
[Spring] RestApi 게시판 만들기 React로 게시판을 만들기 위해서 RestApi 형태로 게시판을 만들어 보았다 package com.mobee.movie.controller; import com.mobee.movie.dto.ModifyPostsDTO; import com.mobee.movie.dto.PostsResDTO; import com.mobee.movie.dto.RegistPostsDTO; import com.mobee.movie.service.PostsService; import lombok.AllArgsConstructor; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springfram.. 2022. 5. 4.
[TIL]DAY85 2022.04.30 - [코딩테스트/풀이] - [코딩테스트] 파이썬 프린트 [코딩테스트] 파이썬 프린트 이 문제는 Deque를 사용하여 순차적으로 비교하여 순서를 찾아내면 되는 문제! from collections import deque def solution(priorities, location): answer = 0 # deque 구조 만들기 myDeque = deque([v,i] for.. yikanghee2.tistory.com 알고리즘 한문제를 풀고 프로젝트 만드는 작업을 했다 2022. 4. 30.
[코딩테스트] 파이썬 프린트 이 문제는 Deque를 사용하여 순차적으로 비교하여 순서를 찾아내면 되는 문제! from collections import deque def solution(priorities, location): answer = 0 # deque 구조 만들기 myDeque = deque([v,i] for i ,v in enumerate(priorities)) idx = 0 while myDeque: idx += 1 firstData = myDeque.popleft() # myDeque 데이터가 존재하고, 먼저 가져온 가장 높은 데이터가 가져온 데이터보다 크다면 if myDeque and max(myDeque)[0] > firstData[0]: # 가져온 데이터를 뒤에추가하기 myDeque.append(firstData.. 2022. 4. 30.
[T.I.L]DAY84 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 2022.04.29 - [프레임워크/스프링] - [Spring] 크롤링하여 json 형태로 저장 2022.04.29 - [프레임워크/스프링] - [Spring] jsoup 크롤링 [Spring] jsoup 크롤링 @Autowired MovieRepository movieRepository; LocalDateTime dateTime = LocalDateTime.now(); public Boolean crawlingMovieInfo() throws Exception { Strin.. 2022. 4. 29.
[Spring] jsoup 크롤링 @Autowired MovieRepository movieRepository; LocalDateTime dateTime = LocalDateTime.now(); public Boolean crawlingMovieInfo() throws Exception { String url = "http://www.cgv.co.kr/movies/"; Document doc = null; doc = Jsoup.connect(url).get(); Elements es = doc.select(".sect-movie-chart"); for (Element e : es.select("li")) { movieRepository.save( Movie.builder() .movie_rank(CmmUtil.nvl(e.select("... 2022. 4. 29.
[Spring] 크롤링하여 json 형태로 저장 @GetMapping("/movie.json") @ResponseBody public HashMap movieJson() throws Exception { HashMap map = new HashMap(); Document doc = Jsoup.connect("http://www.cgv.co.kr/movies/").get(); Elements es = doc.select(".sect-movie-chart"); ArrayList array = new ArrayList(); for (Element e : es.select("li")){ HashMap m = new HashMap(); m.put("rank", e.select(".rank").text()); m.put("title", e.select(".tit.. 2022. 4. 29.
[T.I.L]DAY83 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 2022.04.28 - [프로그래밍언어/Python] - [Python] BeautifulSoup 파이썬 웹 크롤링​ [Python] BeautifulSoup 파이썬 웹 크롤링 스프링과 연동하여 사용할 수 있는 네이버 영화 크롤링 from urllib.request import urlopen from bs4 import BeautifulSoup from flask import Flask, jsonify from flask_restful import reqparse, abort.. 2022. 4. 28.
[Python] BeautifulSoup 파이썬 웹 크롤링 스프링과 연동하여 사용할 수 있는 네이버 영화 크롤링 from urllib.request import urlopen from bs4 import BeautifulSoup from flask import Flask, jsonify from flask_restful import reqparse, abort, Api, Resource app = Flask(__name__) app.config['JSON_AS_ASCII'] = False api = Api(app) @app.route('/') def hello_world(): return "Movie API" @app.route('/api/crawlingMovieInfo') def crawlingMovieInfo(): try: url = "https://movi.. 2022. 4. 28.
[T.I.L]DAY82 ------------------------------------------------------------ [T.I.L] ------------------------------------------------------------ 2022.04.27 - [프레임워크/React.js] - [React] Spring Boot, React, Redux 회원가입 구현 (프론트) [React] Spring Boot, React, Redux 회원가입 구현 (프론트) Frontend redux // 사용자 정보 관리 모듈 import { createAction, handleActions } from "redux-actions"; // 불변성 관리 패키지 import { produce } from "immer"; /.. 2022. 4. 27.
[React] Spring Boot, React, Redux 회원가입 구현 (프론트) Frontend redux // 사용자 정보 관리 모듈 import { createAction, handleActions } from "redux-actions"; // 불변성 관리 패키지 import { produce } from "immer"; // axios import axios from 'axios'; // Actions const LOG_OUT = "LOG_OUT"; const SET_USER = 'SET_USER'; // Action Creators const setUser = createAction(SET_USER, (user) => ({ user })); const logOut = createAction(LOG_OUT, (user) => ({ user })); // Initial stat.. 2022. 4. 27.