개발 아카이브

    [Spring] @Autowired를 지혜롭게 하는 법.

    이 포스팅은 인프런의 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 강의를 보다가 좋은 내용인 것 같아서 참고하여 포스팅했습니다. Autowired 하는 방법은 아마 대략적으로 3가지가 있을 것입니다. 그냥 멤버 필드에 @Autowired 하는 방법 생성자에 @Autowired 하는 방법 Setter에 @Autowired 하는 방법 이 3가지 방법 중, 어떤 방법이 좋은 방법일지, 이번 포스트로 다루어 보겠습니다. 시나리오 package com.min.edu.controller; import com.min.edu.service.MemberService; import org.springframework.stereotype.Controller; @Controller..

    정규표현식 문법 공부하기

    본 포스트는 프로그래머스 정규표현식 강의를 참조하여 정리한 글입니다. 그래서 프로그래머스 강의에서 나오는 예제 코드와 같습니다. https://programmers.co.kr/learn/courses/11 정규표현식 문법 \d 숫자를 대표하는 글자들(d 는 digit의 약자) \D 숫자를 제외한 문자 \w 글자를 대표하는 글자들 (w는 word의 약자) \W 글자 대표 문자를 제외한 글자들 (특수문자, 공백 등) \s 공백 문자 (스페이스, 탭, 뉴라인) \S 공백 문자를 제외한 문자 + '하나 혹은 그 이상 연결된' 라는 뜻. - \d+ : 연결된 숫자들만 ['02', '123', '4567', '070', '9999', '9999', '010', '2454', '3457'] - \w+ : 연결된 글자..

    gitignore 파일을 쉽게 만들어주는 사이트 gitignore.io

    안녕하세요. 오랜만에 사이트 소개 포스팅을 하게 되었습니다. 정말 유용한 사이트인데 지금 보니 소개가 안되어 있어서 저장할 겸 소개하고자 합니다. .gitignore 파일을 만들어주는 gitignore.io 라는 사이트입니다. gitignore이란? gitignore에 대해서 모르는 분들을 위해서 설명하겠습니다. gitignore이란 사용자가 git 리포지토리에 올리고 싶지 않은 파일들을 제외 대상으로 설정해주는 것입니다. 예를 들어 특정 IDE 관련 파일이나 빌드 도구 파일, DB 연결 도구 파일 등의 파일들은 굳이 리포지토리에 공유할 필요가 없겠죠? 그리고 공개 리포지토리인 경우 민감한 정보나 중요한 정보를 업로드하는 것을 방지할 수 있습니다. gitignore 설정은 프로젝트에 .gitignore ..

    CI/CD 기본 개념 정리와 툴

    CI/CD 란? CI : Continuous Integration 지속적 통합 소프트웨어를 개발하면서 새로운 코드를 작성하거나 코드를 변경하고 빌드 및 테스트하여 공유 리포지토리에 통합되는 것을 말합니다. CI개발을 하려면 개발자들은 코드를 추가, 변경하면 주기적인 일정마다 공유 리포지토리에 병합시켜줘야 합니다. 만약 주기적으로 리포지토리에 공유하지 않고 오랜 시간이 지난 후 병합을 하면 아주 큰 컨플릭트(충돌)가 일어나겠죠? 작은 컨플릭트라면 그나마 다행이지만, 오랫동안 개인만의 개발을 한다면 나중에 병합을 할 때 큰 컨플릭트가 날 확률이 높습니다. 그래서 요즘 IT 기업들은 개인주의 성향의 개발자보다 커뮤니케이션을 중요시하는 개발자를 선호한답니다. CI는 빌드, 테스트, 병합이 모두 자동화되어야 합니..

    [CSS] CSS 텍스트 줄이기 ... 표시

    제목만으로 어떤 말인지 알기가 힘든데 그림으로 어떤 내용을 포스팅할지 보여드리겠습니다. 게시판이나 리스트의 제목을 줄이는 방법입니다. 엄청나게 긴 글을 게시판 리스트에 표시한다면 제목이 칸 밖으로 넘어가거나 줄 바꿈이 됩니다. 공간의 크기를 늘려서 보기 싫게 만드는 모습. 바꾸고 싶으실 겁니다. 어떻게 바꾸시겠습니까? 자바스크립트로 for문으로 DOM탐색해서 제목 요소를 하나하나 선택하고 특정 글자 수까지 표현하실 건가요? CSS를 이용해서 클래스 하나만 추가하면 일괄적으로 쉽게 변경할 수 있습니다. 방법 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; CSS의 class에 위의 코드를 입력하는 것이 키워드입니다. 위의 코드가 모두 있어야..

    [Python]NHN 채용 공고 크롤링, 검색, 추출 코드

    다른 기업 채용사이트에 비해 NHN 채용사이트는 특정 키워드로 검색하는 기능이 없길래 심심해서 만들었습니다. 필수 라이브러리 requests BeautifulSoup 코드 import requests from bs4 import BeautifulSoup from datetime import datetime URL = 'https://recruit.nhn.com' param={'type':'company'} recruit_list = [] selected_recruits = [] # 채용공고 리스트 추출 print('>> 리스트 추출 중...') responce = requests.get(URL + '/ent/recruitings', params=param) html = BeautifulSoup(respo..

    [Spring] 스케줄러 Cron 사용하기

    스프링 프로젝트를 개발하면서 시스템이 커지고 DB 또는 다양한 서비스를 위해 어떤 모듈들을 주기적으로 실행해야 할 때가 옵니다. 그럴 때 사용하는 것이 스케줄러입니다. 스프링에서 스케줄러 사용방법은 쉽습니다. servlet-context.xml에서 task namespace를 추가하고 bean을 참조하여 cron 표현식으로 언제 주기적으로 등록한 메서드를 실행할지 선언만 해주면 됩니다. 스프링 프로젝트를 구축하고 간단하게 따라해 봅시다. 1. servlet-context.xml에 scheduled-tasks 추가 servlet-context.xml에 namespace에서 task를 추가합니다. 그럼

    [JAVA] Properties 파일 읽기 메서드

    🔍 설명 하드코딩을 피하고 중요한 키나 패스워드는 코드에 직접 입력하지 않고 외부 파일에서 읽어 사용합니다. 그럴때 보통 Properties 파일을 많이 사용합니다. 공통적으로 많이 사용하기도 하고 가끔 필요할때 사용하기 쉽게 코드를 공유합니다. 아래의 readProperties 메서드의 argument는 Properties 파일 상대경로 입니다. 그리고 입력한 경로로 읽어낸 Properties 객체를 반환합니다. 📝 파라미터 예시 : properties/db.properties ✅ Properties 파일 읽기 메서드 : readProperties 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 /** * prop.getPropert..

    MarkDown을 편하게 작성하기 위한 도구들

    개요 MarkDown은 가독성이 좋은 글이나 문서를 쉽고 빠르게 만들 수 있습니다. 그래서 특히 Github에서 많이 사용하고 있습니다. 하지만 MarkDown은 마크업 언어이기 때문에 작성하다 보면, 자신이 작성한 글이 잘 나오는지 확인하거나 이미지나 표가 잘 나오는지 확인하기 힘듭니다. 그리고 이미지나 링크, 표 등의 문법을 입력하는 것은 까다로운 부분도 있습니다. MarkDown을 편하게 사용할 수 있도록 도와주는 몇가지 프로그램들을 소개하겠습니다. 프로그램 소개 VS Code Plugin MarkDown은 개발자들이 글을 적을때 많이 사용하는 마크업 언어입니다. 그리고 VS Code는 개발자들이 많이 사용하는 에디터이자 IDE입니다. 실제로 VS Code에 MarkDown 형식의 파일을 작성할 수..