전체 글 120

[Spring] 03. Singleton(싱글톤)으로 객체 선언하기

오늘은 스프링에서 싱글톤을 이용해서 객체 생성하는 방법을 알아보려고 합니다. 그렇다면 싱글톤이란 무엇인가 먼저 알아봐야겠죠? Singleton(싱글톤) 이란? 간단하게 말하면 "객체의 인스턴스가 단 1개만 생성되는 패턴을 의미한다." 입니다. 그렇다면 왜 싱글톤을 사용할까요? 싱글톤의 장점으로는 객체의 인스턴스가 1개만 생성되기 때문에 고정된 메모리 영역을 사용하여 메모리 낭비를 방지할 수 있습니다. 싱글톤은 전역으로 사용되는 인스턴스를 가지기 때문에 다른 클래스간의 데이터 공유가 비교적 간단합니다. 이제 본격적으로 코딩해볼게요!! 이번에는 Spring03이라는 프로젝트를 새로 만들어주시고 그 안에 com.test01이라는 패키지를 만들어 주세요 AbstractTest.java package com.te..

Java/Spring 2021.06.14

[Programmers] 프로그래머스 42587 프린터 - java

이번에는 프로그래머스에서 스택/큐 카테고리에 있는 프린터 문제를 풀어봤는데요 아직 알고리즘도 그렇고 문법도 뭔가 어려움이 많아 고민도 많이하고 시간도 많이 걸린거 같아요 먼저 문제를 보면 잘 안보이시다면 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 여기를 참고해주세요~ 문제풀이 import java.util.*; public class Solution { public int solution(int[] prio..

[Spring] 02. bean 객체 생성하기(01)

이제 본격적으로 스프링을 사용해서 코딩을 해볼게요!! 지난 포스팅과 비슷하게 Spring_Hello라는 프로젝트에 이렇게 5가지를 만들어 줍니다. - 여기서 MessageBean.java는 interface이며 MessageBeanEn, MessageBeanKo는 MessageBean을 상속받고 있어야합니다. - beans.xml은 패키지 마우스 오른쪽 클릭 - new - other - spring 검색 후 Spring Bean Configuration File로 만들어 주시면 됩니다. 그리고 태그 안에다가 이 코드를 작성한다면 준비 완료! MessageBean, MessageBeanKo, MessageBeanEn은 아래 포스팅된 내용과 같습니다. https://darmk.tistory.com/6 [Sp..

Java/Spring 2021.06.11

[Python] Python 자료형 - Number

이번 포스팅에선 파이썬에서 사용하는 자료형 중 정수형, 실수형과 몇가지 표현방식에 대해 간단히 알아보려고 합니다. 파이썬은 다른 언어와는 다르게 변수의 타입을 따로 선언하지 않아도 알아서 잡아주기 때문에 따로 타입을 선언하지 않아도 됩니다. 정수형 양의정수, 음의정수, 0이 포함됩니다. a = 1000 print(a) b = -7 print(b) c = 0 print(c) 실수형 소수점 아래의 데이터를 포함하는 수 자료형으로 변수에 소숫점을 붙여 실수형 변수를 만들 수 있습니다. a = 157.40 print(a) b = -183.23 print(b) c = 5. print(c) x진수형 2진수, 8진수 16진수를 간단히 표현할 수 있습니다. 각각 0b, 0o, 0x뒤에 숫자를 적어주면 해당 진수로 표현..

Python/Python 2021.06.10

[Spring] 01. DI / IoC 강결합 약결합

오늘은 DI / IoC 중에 DI에서의 강결합과 약결합의 뜻과 함께 실제 사용하는 코드를 작성해서 비교해보려고 합니다. 그 전에 잠깐 앞서 저번 포스팅에 안에 가져온 spring-core, spirng-context에 대해 간단히 설명하자면 그림에서 보는것과 같이 스프링 구성으로 되어있는데, 이 모듈들을 가져와서 스프링 프레임워크를 가져다 쓰겠다! 하는 의미로 가져와서 사용하는것이라고 알고계시면 됩니다 앞으로 많이 쓰게될거에요 ㅎㅎㅎ 자 이제 그럼 다시 본문으로 와서 실습을 위해 Eclipse를 켜고 Spring_Hello라는 자바 패키지를 만든 후 저번과 동일하게 설정을 마쳐주겠습니다 (당연히 pom.xml에 에 core, context를 추가해줘야겠죠? ㅎㅎ) 설정을 다 마쳤다면 Spring_Hell..

Java/Spring 2021.06.09

[Spring] Eclipse에 Spring 설치하기

이제 스프링을 실습하기 위한 환경을 구축할 건데요. 저는 Eclipse IDE 환경에서 실습할 예정이며 이클립스 설정에 대한 부분은 추후 올리겠습니다. 가장 먼저 Eclipse 위에 메뉴바에 help 눌러보시면 사진과 같이 밑에 뭔가 주르륵 많이 뜨는데 여기서 elipse market place를 선택해줍니다. 그다음 sts를 검색해줍니다 그럼 또 여러가지가 나오죠 여기서 제가 실습할 환경은 Spring tools 3 (standalone Edition)입니다. 설치해줍니다. 그러면 뭔가 엄청 많이 체크되어있는데 해제할 거 없이 바로 confirm 누르시면 됩니다. 그 다음 바로 accept 누르고 finish 하시면 오른쪽 아래에 progress 도는 거 확인하시면 됩니다. ** sts에 대해 간단히 ..

Java/Spring 2021.06.08

[Git/error] git push 에러 해결하기

오늘도 역시 공부했던 내용을 github에 올리기 위해 git push를 했는데 못 보던 에러가 발생했어요...ㅜ error: failed to push some refs to '......' 당황스러워서 좀 찾아보니 이유는 여러 가지가 있는데 저의 경우는 이러한데 간단히 말하면 remote 버전과 로컬의 버전이 달라서 충돌이 일어났다고 합니다.... (아니... 어제도 잘 되다가 갑자기...?) remote에 내가 pull 하지 않은 변경사항이 있는데 이러한 상황을 무시하고 push 하게 되면 remote에 있는 변경사항이 유실되는 등 문제가 발생할 수 있어서 git에서 막는 거라고 합니다. 이를 해결하기 위한 방법은 2가지 정도 있는데요 첫 번째! pull로 내려받고 merge 후 다시 push 하는..

Git/Git 2021.06.07

[Python] Python 설치 및 VScode 개발환경 구축하기

요즘 자료구조 공부를 시작하는데 주위에서 파이썬 공부해서 파이썬으로 뭔가를 표현하기가 쉽다는 설명과 함께 파이썬을 추천해주더라고요….ㅎㅎ 그래서 이왕 자료구조 처음 공부 시작한 거 파이썬으로 첨부터 시작해야겠다 마음을 먹고 시작하려고 합니다!! 먼저 파이썬은 파이썬 공식 홈페이지에서 다운로드를 받았습니다.(2021.06.06 기준 3.9.5버전이 최신버전이네요) https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 다운로드후 실행을 누르게 되면 위와 같은 화면이 나오는데 밑에 Add Python ... 부분은 꼭 같이 체크해 주세요!! (저건 cmd 창에서..

Python/Python 2021.06.06

[Spring] 스프링 프레임워크란?

스프링을 공부하기 전에 스프링 프레임워크란 무엇인가 기본 개념을 정리해봐야겠다 해서 열심히 찾아서 공부해봤는데 공부한 내용을 간략하게 정리해보자면 먼저 스프링(Spring)이란? Java의 프레임워크로 Java 언어를 기반으로 사용하여 JSP, Mybatis, JPA 등 Java를 활용한 기술들의 사용을 편하게 해주고 EJB 기반이 아닌 POJO 기반의 개발로 EJB와 다르게 복잡한 순서 없이 간단하게 이용할 수 있어 "경량 컨테이너"라고 부르기도 합니다. 장점으로는 중복 코드의 사용을 줄여 비즈니스 로직을 간단히 할 수 있다는 점과 이로 인한 오픈소스를 좀 더 효율적으로 가져다 쓰기 좋다는 점이 있겠네요. 그렇다면 프레임워크(Framework)란 무엇일까요? 프레임워크는 간단히 말하자면 필요한것 들을 ..

Java/Spring 2021.05.06