<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>boramae96_.log</title>
        <link>https://velog.io/</link>
        <description>보라매 개발자</description>
        <lastBuildDate>Thu, 25 Apr 2024 14:25:48 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. boramae96_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jayoung96_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[Spring]@Configuration과 @Bean]]></title>
            <link>https://velog.io/@jayoung96_/SpringConfiguration%EA%B3%BC-Bean</link>
            <guid>https://velog.io/@jayoung96_/SpringConfiguration%EA%B3%BC-Bean</guid>
            <pubDate>Thu, 25 Apr 2024 14:25:48 GMT</pubDate>
            <description><![CDATA[<p>Configuration Class = 설정 클래스
(@Configuration)
Configuration Class 에서 spring bean을 생성할 수 있다
(@Bean)</p>
<p>Configuration class안에서 메서드가 Bean을 생성하며
이 Bean은 Spring container가 관리한다.
<img src="https://velog.velcdn.com/images/jayoung96_/post/2e5a51c9-eef5-4957-b6a3-2240299dce4c/image.png" alt="">
Spring이 Bean을 관리한다.
<img src="https://velog.velcdn.com/images/jayoung96_/post/e073f633-f389-40ef-a06b-aa5fbe2237dd/image.png" alt="">
name 이라는 bean을 관리하고 있다
<img src="https://velog.velcdn.com/images/jayoung96_/post/e3194065-5875-4d40-8d35-dbc37e316206/image.png" alt=""></p>
<p>메소드명 = Bean 이름
<img src="https://velog.velcdn.com/images/jayoung96_/post/f6b0c7a5-4efb-4e81-bebf-2dad09132cf4/image.png" alt=""></p>
<p>name이라는 속성으로 bean에 다른 이름을 줄수도 있다.
<img src="https://velog.velcdn.com/images/jayoung96_/post/d3aa9455-3f8d-4c03-97a1-cde0cd177ef2/image.png" alt=""></p>
<p>context.getBean으로 bean을 불러올 수 있고
메소드명(Bean이름) 또는 class(~.class)로도 불러올수있다</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Spring] 느슨한 결합(Loose Coupling)vs강한 결합(Tight Coupling) ]]></title>
            <link>https://velog.io/@jayoung96_/Spring%EB%8A%90%EC%8A%A8%ED%95%9C-%EA%B2%B0%ED%95%A9Loose-Couplingvs%EA%B0%95%ED%95%9C-%EA%B2%B0%ED%95%A9Tight-Coupling</link>
            <guid>https://velog.io/@jayoung96_/Spring%EB%8A%90%EC%8A%A8%ED%95%9C-%EA%B2%B0%ED%95%A9Loose-Couplingvs%EA%B0%95%ED%95%9C-%EA%B2%B0%ED%95%A9Tight-Coupling</guid>
            <pubDate>Wed, 24 Apr 2024 14:13:32 GMT</pubDate>
            <description><![CDATA[<p>느슨한 결합(Loose Coupling)
내가 코드를 변경했을때 그 여파가 적은 결합</p>
<p>강한 결합(Tight Coupling) 
반대로 여파가 큰 결합</p>
<p>어떤 클래스에서 다른 클래스를 직접적으로 사용하는 클래스 의존성을 줄인 느슨한 결합을 추구해야 한다.</p>
<p>강한 결합 상태의 코드는 유지보수가 어렵다.</p>
<p>*<em>의존성 주입(Dependency Injection, DI)을 통해 
강한 결합 -&gt; 느슨한 결합으로 바꿀 수 있다. *</em></p>
<blockquote>
<p>인터페이스를 사용한 느슨한 결합 구현 예</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/3b7cc9c0-8b63-4552-b126-a33a64a4b484/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/2ba28a3b-b5e7-4af8-a831-c2623e1ba931/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/fe9ae754-99ac-4906-95b8-fc20027d1c53/image.png" alt="">
위와 같이 인터페이스를 구현하여 클래스별로 메소드를 재정의하게되면 gameRunner 클래스를 수정할 필요 없이 소스 수정 가능
-&gt; 느슨한 결합</p>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/e380e8c3-43bf-441c-9586-e8fa2afd384c/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[spring] eclipse 로 spring project 시작하기]]></title>
            <link>https://velog.io/@jayoung96_/spring-start.spring.io-%EC%97%90%EC%84%9C-%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@jayoung96_/spring-start.spring.io-%EC%97%90%EC%84%9C-%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0</guid>
            <pubDate>Wed, 17 Apr 2024 12:57:42 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>start.spring.io -&gt; 스프링 프로젝트 생성</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/627936a9-b7f9-4eea-9208-c9071f58be41/image.png" alt=""></p>
<blockquote>
<p> Maven, Gradle
: 빌드 관리 도구(빌드 자동화 도구)
우리가 프로젝트에서 작성한 java 코드와 프로젝트 내에 필요한 각종 xml, properties, jar 파일들을 JVM이나 WAS가 인식할 수 있도록 패키징 해주는 빌드 과정</p>
</blockquote>
<p>프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램이라 할 수 있다.</p>
<p>애플리케이션 개발에 필요한 다양한 외부 라이브러리들을 다운로드하고, 해당 라이브러리를 사용하여 개발해야하는 상황이 많다.</p>
<p>이 때 각 라이브러리들을 번거롭게 모두 다운받을 필요없이, 빌드도구 설정파일에 필요한 라이브러리 종류와 버전들, 종속성 정보를 명시하여</p>
<p><strong>필요한 라이브러리들을 설정파일을 통해 자동으로 다운로드 해주고 이를 간편히 관리해주는 도구</strong></p>
<blockquote>
<p>Maven</p>
</blockquote>
<ul>
<li><p>Maven은 Java용 프로젝트 관리도구로 Apache의 Ant 대안으로 만들어졌다.</p>
</li>
<li><p>빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리 종속성 관계를 <strong>pom.xml파일에 명시</strong>한다.</p>
</li>
<li><p>Maven은 외부저장소에서 필요한 라이브러리와 플러그인들을 다운로드 한다음, 로컬시스템의 캐시에 모두 저장한다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jayoung96_/post/ab3de947-fedb-4522-994e-a1f47786eeda/image.png" alt=""></p>
<p>import &gt; existing maven projects -&gt; 메이븐 프로젝트 가져오기</p>
<p>src/main/java 모든 소스 파일 보관
src/main/resources 모든 설정 파일 보관
src/test/java 테스트 코드 작성</p>
<p>참고한 블로그
<a href="https://jisooo.tistory.com/entry/Spring-%EB%B9%8C%EB%93%9C-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-Maven%EA%B3%BC-Gradle-%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0">https://jisooo.tistory.com/entry/Spring-%EB%B9%8C%EB%93%9C-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-Maven%EA%B3%BC-Gradle-%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[java] jdk 17 download 방법]]></title>
            <link>https://velog.io/@jayoung96_/java-jdk-17-download-%EB%B0%A9%EB%B2%95</link>
            <guid>https://velog.io/@jayoung96_/java-jdk-17-download-%EB%B0%A9%EB%B2%95</guid>
            <pubDate>Wed, 17 Apr 2024 11:44:10 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>java 17 다운로드 방법</p>
</blockquote>
<ol>
<li>설치하고자 하는 버전
java 17 download 구글에 검색 -&gt; 오라클 사이트 진입
installer 다운로드
<img src="https://velog.velcdn.com/images/jayoung96_/post/aeb6ef11-4410-45e6-a423-2a01c19ced41/image.png" alt=""></li>
</ol>
<ol start="2">
<li><p>시스템 환경변수 편집 
시스템 변수 - Path 편집 클릭
<img src="https://velog.velcdn.com/images/jayoung96_/post/82694aa9-773c-40d6-a15a-696b9fa8da9d/image.png" alt="">
java 다운 받아진 경로 bin 폴더까지 입력 후 맨위로 올리기
<img src="https://velog.velcdn.com/images/jayoung96_/post/60491864-9c6d-4f79-8e00-806161405d0a/image.png" alt=""></p>
</li>
<li><p>제대로 적용되었는지 확인!
<img src="https://velog.velcdn.com/images/jayoung96_/post/dd13a11a-ac1e-470a-8b1e-2398c632f439/image.png" alt=""></p>
</li>
</ol>
<p>Mission Complete! Good job!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Scanner - 화면에서 입력 받기]]></title>
            <link>https://velog.io/@jayoung96_/Scanner</link>
            <guid>https://velog.io/@jayoung96_/Scanner</guid>
            <pubDate>Sun, 28 Mar 2021 04:39:16 GMT</pubDate>
            <description><![CDATA[<p>화면에서 입력 받기 -&gt; Scanner</p>
<p><strong>Scanner를 사용하려면</strong></p>
<p>import java.util.*</p>
<p>Scanner scanner = new Scanner(System.in); //scanner 객체 생성</p>
<p>scanner.nextLine() //Enter를 누르면 입력한 내용이 문자열로 반환</p>
<p>Integer.parseInt() //문자열을 int형으로 변환</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[printf() 와 지시자]]></title>
            <link>https://velog.io/@jayoung96_/printf-%EC%99%80-%EC%A7%80%EC%8B%9C%EC%9E%90</link>
            <guid>https://velog.io/@jayoung96_/printf-%EC%99%80-%EC%A7%80%EC%8B%9C%EC%9E%90</guid>
            <pubDate>Sun, 28 Mar 2021 04:25:06 GMT</pubDate>
            <description><![CDATA[<p>println()의 단점: 출력형식 지정불가</p>
<p><img src="https://images.velog.io/images/jayoung96_/post/aa530438-3f3e-4aaf-8813-1a0b3e9cc85b/image.png" alt=""></p>
<p>System.out.printf(&quot;%d&quot;, 15); //10진수 -&gt;decimal
System.out.printf(&quot;%o&quot;, 15); //8진수    -&gt;octal
System.out.printf(&quot;%x&quot;, 15); //16진수 -&gt;hexa</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[상수(constant)와 리터럴(literal)]]></title>
            <link>https://velog.io/@jayoung96_/%EC%83%81%EC%88%98%EC%99%80%EB%A6%AC%ED%84%B0%EB%9F%B4</link>
            <guid>https://velog.io/@jayoung96_/%EC%83%81%EC%88%98%EC%99%80%EB%A6%AC%ED%84%B0%EB%9F%B4</guid>
            <pubDate>Sun, 21 Mar 2021 14:27:14 GMT</pubDate>
            <description><![CDATA[<p>상수(constant): 값이 변하지 않는 변수
리터럴(literal): 변수의 값이 변하지 않는 데이터</p>
<blockquote>
<p>문자열 + any type -&gt; 문자열 + <strong>문자열</strong> -&gt; 문자열
any type + 문자열 -&gt; <strong>문자열</strong> + 문자열 -&gt; 문자열</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[기본형의 종류와 크기]]></title>
            <link>https://velog.io/@jayoung96_/%EA%B8%B0%EB%B3%B8%ED%98%95%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%ED%81%AC%EA%B8%B0</link>
            <guid>https://velog.io/@jayoung96_/%EA%B8%B0%EB%B3%B8%ED%98%95%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%ED%81%AC%EA%B8%B0</guid>
            <pubDate>Sun, 21 Mar 2021 07:24:46 GMT</pubDate>
            <description><![CDATA[<p><img src="https://images.velog.io/images/jayoung96_/post/79936fdd-0030-4140-bc97-21224dcab0a4/image.png" alt=""></p>
<blockquote>
<p>각 자료형이 가질 수 있는 값의 범위
-2의 n-1승 ~ 2의 n-1승의 -1(n은 bit수)</p>
</blockquote>
<p>ex) int 형이 가질 수 있는 값의 범위는 
    4바이트(32bit)이므로 
    -2의 31승 ~ 2의 31승의 -1</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[변수의 명명규칙]]></title>
            <link>https://velog.io/@jayoung96_/variablename</link>
            <guid>https://velog.io/@jayoung96_/variablename</guid>
            <pubDate>Sun, 21 Mar 2021 06:08:42 GMT</pubDate>
            <description><![CDATA[<p><strong>변수의 명명규칙</strong></p>
<blockquote>
<ol>
<li>클래스 이름의 첫 글자는 항상 대문자로 한다.<ul>
<li>변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.</li>
</ul>
</li>
<li>여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.<ul>
<li>lastindexOf, StringBuffer</li>
</ul>
</li>
<li>상수의 이름은 모두 대문자로 하고, 여러 단어로 이루어진 경우 &#39;_&#39;로 구분한다.<ul>
<li>PI, MAX_NUMBER</li>
</ul>
</li>
</ol>
</blockquote>
<p>변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 의미있는 이름으로! </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[소스파일 클래스파일]]></title>
            <link>https://velog.io/@jayoung96_/%EC%86%8C%EC%8A%A4%ED%8C%8C%EC%9D%BC-%ED%81%B4%EB%9E%98%EC%8A%A4%ED%8C%8C%EC%9D%BC</link>
            <guid>https://velog.io/@jayoung96_/%EC%86%8C%EC%8A%A4%ED%8C%8C%EC%9D%BC-%ED%81%B4%EB%9E%98%EC%8A%A4%ED%8C%8C%EC%9D%BC</guid>
            <pubDate>Sun, 21 Mar 2021 04:33:20 GMT</pubDate>
            <description><![CDATA[<p>*하나의 소스 파일에 둘 이상의 클래스를 정의할 때 주의할 점</p>
<p>클래스파일(<em>.class)는 클래스마다 하나씩 만들어진다.
하나의 소스파일(</em>.java)안에 여러개의 클래스를 정의할 수 있지만
그럴 경우 반드시 소스파일의 이름은 public 클래스의 이름과 일치해야한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[STS설치]]></title>
            <link>https://velog.io/@jayoung96_/STS%EC%84%A4%EC%B9%98</link>
            <guid>https://velog.io/@jayoung96_/STS%EC%84%A4%EC%B9%98</guid>
            <pubDate>Sun, 21 Mar 2021 04:16:30 GMT</pubDate>
            <description><![CDATA[<p><img src="https://images.velog.io/images/jayoung96_/post/e7ec676a-39e9-4156-93cd-690e016ed2ab/image.png" alt=""></p>
<p>*다운받은 jar 파일 압축풀기
cd (Change directory) : 디렉토리 이동
java -jar : jar파일 압축풀기
java java파일 실행</p>
<p>cd 디렉토리 위치 주소 //해당 디렉토리로 이동
java -jar 압축 풀 jar파일 이름 //jar파일 압축 풀기
java hello.java //hello.java 파일 실행</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[다시 java]]></title>
            <link>https://velog.io/@jayoung96_/startjava</link>
            <guid>https://velog.io/@jayoung96_/startjava</guid>
            <pubDate>Sun, 21 Mar 2021 03:41:48 GMT</pubDate>
            <description><![CDATA[<p>java 다시 시작해보려고 한다
아주 기초적인 내용일지라도 기억해두고 싶은 것을 기록한다.
start!</p>
]]></description>
        </item>
    </channel>
</rss>