<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Lv. 0</title>
    <link>https://bank-coder.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 19 Aug 2026 18:03:25 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>뱅코더</managingEditor>
    <image>
      <title>Lv. 0</title>
      <url>https://tistory1.daumcdn.net/tistory/4829799/attach/b0a4d56c2f044b1992ef9d34a07b2c1a</url>
      <link>https://bank-coder.tistory.com</link>
    </image>
    <item>
      <title>프로젝트 적응기 (1)</title>
      <link>https://bank-coder.tistory.com/42</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 2022년 5월 ~ 2024년 10월까지 약 2년 반 동안 SM 업무를 수행하고 퇴사하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영업무가 비교적 편하다?는 인식이 있지만, 생각보다 유지보수를 위한 수정업무가 잦았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신규 개발 업무도 내려오는 경우가 많아서 일정을 맞추기 위해 야근을 하는 경우도 꽤 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 매일매일 밤 늦게까지 야근하는분들에 비하면 편안한 환경에서 근무했던 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함께 일하는 분들도 실력도 뛰어나고, 잘 도와주셔서 일하는 동안 사람들을 정말 잘 만났다는 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 업무의 시작을 운영으로 해서 개발부터 배포까지 IT 업무 흐름에 대해 파악할 수 있는 좋은 경험을 한 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(코딩 국비 학원 수료 후에도 SSH랑 FTP가 뭔지도 모르는 수준이었음...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 운영업무를 마무리하고 이제는 프로젝트를에서 새로운 도전을 시작하려고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 투입된지 얼마 되지는 않았지만, 열심히 소스 분석 및 관련 지식이나 기술 습득을 위해 공부하고있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;벌써부터 험난한 앞길이 보이기는 하지만... 성장을 위해서 감수해야하는 고통이라 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영업무를 하는동안에는 자바 8버전의 람다나 스트림을 잘 활용하지 않았는데, 여기선 이게 필수라고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공부를 위해 책도 구입했다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[모던자바 인 액션] 이랑 [자바/스프링 개발자를 위한 실용주의 프로그래밍] 이다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 비전공자이다보니 일을 하면서 다른분들과 업무 대화를 나눌 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소위 근본?이 많이 부족한것 같다는 생각이 많이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 기회에 공부해서 전공자에 비빌 수 있는 지식을 가졌으면 한다.&lt;/p&gt;</description>
      <category>A</category>
      <category>SI</category>
      <category>적응기</category>
      <category>프로젝트</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/42</guid>
      <comments>https://bank-coder.tistory.com/42#entry42comment</comments>
      <pubDate>Mon, 18 Nov 2024 20:43:19 +0900</pubDate>
    </item>
    <item>
      <title>Spring (2/?)</title>
      <link>https://bank-coder.tistory.com/41</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;b&gt;주요 개념 복습 및 Spring Annotation 정리&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;  &lt;b&gt;이전 개념 복습 + 새로운 개념&lt;/b&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 260px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 24.4186%; height: 20px;&quot;&gt;Controller&lt;/td&gt;
&lt;td style=&quot;width: 75.5814%; height: 20px;&quot;&gt;- 요청에 따라 알맞은 서비스를 호출하고 결과에 따라 응답을 제어하는 역할을 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 220px;&quot;&gt;
&lt;td style=&quot;width: 24.4186%; height: 220px;&quot;&gt;Interface&lt;/td&gt;
&lt;td style=&quot;width: 75.5814%; height: 220px;&quot;&gt;- 모든 메서드가 추상인 클래스&lt;br /&gt;- 필드는 묵시적으로 public static final&lt;br /&gt;- 메서드는 묵시적으로 public abstract ( + default 메서드도 가능함 )&lt;br /&gt;&lt;br /&gt;* Service에서 인터페이스를 사용하는 이유&lt;br /&gt;1. 프로젝트에 규칙성을 부여하기 위해&amp;nbsp;&lt;br /&gt;( 인터페이스 상속 &amp;rarr; 오버라이딩 강제 &amp;rarr; 상속 받은 모든 클래스가 동일한 형태 )&lt;br /&gt;&lt;br /&gt;2. 유지보수를 쉽게 하기 위해&lt;br /&gt;( Service는 비즈니스 로직을 처리하므로 수정이 잦음.&lt;br /&gt;&amp;nbsp; 인터페이스를 상속 받은 다른 클래스에 수정 코드를 작성한 후,&lt;br /&gt;&amp;nbsp; 부모 인터페이스 = 자식 객체; (업캐스팅) 상태에서 대입되는 객체만 교체 )&lt;br /&gt;&lt;br /&gt;3. 클래스 사이의 결합도를 낮추기 위해&lt;br /&gt;&lt;br /&gt;4. Spring AOP&lt;br /&gt;&amp;rarr;&amp;nbsp; AOP는 spring-proxy를 이용해 동작하고, spring-proxy 객체는 Service 인터페이스를&lt;br /&gt;&amp;nbsp; &amp;nbsp; 상속받아 동작한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 24.4186%; height: 20px;&quot;&gt;Model 객체&lt;/td&gt;
&lt;td style=&quot;width: 75.5814%; height: 20px;&quot;&gt;데이터를 K:V 형태로 담아서 전달하는 용도의 객체&lt;br /&gt;&amp;rarr; page, request, session, application scope와 사용 방법이 유사함.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt; &amp;nbsp;&lt;b&gt;Annotation 정리&lt;/b&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 180px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@Controller&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- presentation layer , 웹앱에 전달되는 모든 요청과 응답을 처리하는 역할임을 명시&lt;br /&gt;&amp;nbsp; + Bean에 등록함.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@Service&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- Service layer , 비즈니스 로직을 가진 클래스임을 명시&lt;br /&gt;&amp;nbsp; + Bean에 등록함.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@Repository&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- Persistance layer , 영속성을 가지는 속성(파일,DB)을 제어하는 클래스임을 명시 &lt;br /&gt;&amp;nbsp; + Bean 등록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@RequestMapping&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- 요청 주소, 전달 방식에따라 연결되는 클래스 또는 메서드를 지정한다.&lt;br /&gt;&amp;rarr; 클래스 + 메서드에 동시 작성하여 하나의 주소로 해석할 수 있다.&lt;br /&gt;&lt;br /&gt;* @RequestMapping 규칙&lt;br /&gt;1. ( ) 안에 작성되는 매개변수가 1개인 경우&lt;br /&gt;&amp;rarr; 매핑할 요청 주소로 해석한다. ( == value )&lt;br /&gt;&lt;br /&gt;2. ( ) 안에 작성되는 매개변수가 2개 이상인 경우&lt;br /&gt;&amp;rarr; 각 값을 해석하기 위해 value= , method= 과 같은 key 값을 작성한다.&lt;br /&gt;&lt;br /&gt;3. method 키 미작성 시 GET/POST 관계없이 모두 처리한다.&lt;br /&gt;&lt;br /&gt;ex) &lt;br /&gt;@RequestMapping(&quot;/member/*&quot;)&amp;nbsp;&lt;br /&gt;@RequestMapping(value=&quot;login&quot;, method=RequestMethod.GET)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@Autowired&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- Servlet-context.xml 파일의 Component-scan을 통해 Bean으로 등록된 객체 중&lt;br /&gt;&amp;nbsp; 타입이 같거나 상속관계인 객체를 찾아서 자동으로 의존성 주입(DI)를 하는 Annotation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@RequestParam&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- 메서드 매개변수 앞에 작성하는 Annotation&lt;br /&gt;- @RequestParam( ) 뒤쪽에 작성된 매개변수에 Parameter가 저장된다.&lt;br /&gt;&lt;br /&gt;ex) @RequestParam(&quot;memberId&quot;)&amp;nbsp;String&amp;nbsp;id&lt;br /&gt;&amp;rarr; name 속성이 memberId인 파라미터를 얻어와 id 변수에 저장한다.&lt;br /&gt;&lt;br /&gt;* @RequestParam&amp;nbsp;속성&lt;br /&gt;- value&amp;nbsp;:&amp;nbsp;전달&amp;nbsp;받을&amp;nbsp;input&amp;nbsp;태그의&amp;nbsp;name&amp;nbsp;속성&amp;nbsp;값&amp;nbsp;(매개변수&amp;nbsp;1개일&amp;nbsp;때&amp;nbsp;기본&amp;nbsp;값) &lt;br /&gt;- required&amp;nbsp;:&amp;nbsp;파라미터&amp;nbsp;필수&amp;nbsp;여부(기본값&amp;nbsp;:&amp;nbsp;true&amp;nbsp;==&amp;nbsp;필수)&lt;br /&gt;&amp;rarr;&amp;nbsp;required=true 일 때 파라미터가 없으면 : 400 Bad Request(잘못된 요청)&lt;br /&gt;- defaultValue&amp;nbsp;:&amp;nbsp;전달&amp;nbsp;받은&amp;nbsp;파라미터&amp;nbsp;값이&amp;nbsp;없을&amp;nbsp;때&amp;nbsp;지정할&amp;nbsp;기본&amp;nbsp;값&lt;br /&gt;&lt;br /&gt;* input 태그의 name 속성 값과,&amp;nbsp;파라미터를 저장할 매개 변수명이 같으면 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;생략 가능&lt;/b&gt;&lt;/span&gt;하다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.1162%;&quot;&gt;@ModelAttribute&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%;&quot;&gt;- 요청 시 전달 받은 파라미터를 객체 형태로 매핑하는 역할을 하는 Annotation&lt;br /&gt;&amp;nbsp;&lt;br /&gt;* 객체로 매핑하기 위한 조건&lt;br /&gt;1) input 태그 name 속성 값과 객체의 멤버 변수(필드)명이 같아야한다. &lt;br /&gt;2) 객체로 만들어진 클래스에 기본 생성자가 있어야한다.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;rarr;&amp;nbsp; 스프링이 객체를 자동 생성할 때 사용하기 때문! &lt;br /&gt;3) setter가 작성되어 있어야 한다.&lt;br /&gt;&lt;br /&gt;* 메서드 / 매개변수 레벨로 사용이 가능하다.&lt;br /&gt;- @ModelAttribute를 이용해 파라미터가 세팅된 객체를 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;커맨드 객체&lt;/span&gt;&lt;/b&gt;라고 한다.&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 20.1162%; height: 20px;&quot;&gt;@SessionAttributes&lt;/td&gt;
&lt;td style=&quot;width: 79.8838%; height: 20px;&quot;&gt;- Model 속성 중 { } 안에 작성한 것을 request &amp;rarr; session 범위로 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/41</guid>
      <comments>https://bank-coder.tistory.com/41#entry41comment</comments>
      <pubDate>Tue, 11 Jan 2022 15:40:23 +0900</pubDate>
    </item>
    <item>
      <title>Spring 기초1</title>
      <link>https://bank-coder.tistory.com/40</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Spring Framework 란??&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 자바를 위한 오픈 소스 프레임워크&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 동적 웹 사이트 개발을 위한 여러 서비스를 제공함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 공공기관 웹서비스 개발 시 사용 권장하는 전자정부 표준 프레임워크(Spring MVC Project)의 기반 기술&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Spring Framework의 특징&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* &lt;span style=&quot;color: #0593d3;&quot;&gt;IOC (Inversion of Control) : 제어의 반전&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 컨트롤의 제어권이 프레임워크에 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 객체의 생명주기를 프레임워크가 주도함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 객체를 생성하고 직접 호출하는 프로그램이 아니라, 만들어둔 자원을 호출해서 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;* &lt;span style=&quot;color: #0593d3;&quot;&gt;DI (Dependency Injection) : 의존성 주입&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설정 파일이나 Annotation을 통해 객체 간 의존 관계를 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 의존하는 객체를 개발자가 직접 생성할 필요가 없음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;* &lt;span style=&quot;color: #0593d3;&quot;&gt;POJO (Plain Old Java Object) 기반의 프레임워크&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특정 기술, 라이브러리의 내용을 상속받아 구현하지 않고 기본 기능을 이용한 순수 자바 객체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특정 클래스에 종속되지 않으므로 객체지향적 설계가 쉽고, 코드길이 감소 및&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 유지보수성 증가, 기존 자바 API, 라이브러리 지원에 강점을 가진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;* &lt;span style=&quot;color: #0593d3;&quot;&gt;Spring AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 트랜잭션, 로깅, 보안 등 여러 모듈, 계층에서 공통적으로 필요로 하는 기능인 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 해당 기능들을 분리하여 관리함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;* &lt;span style=&quot;color: #0593d3;&quot;&gt;Spring JDBC&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- Mybatis나 Hibernate 등 데이터베이스 처리용 프레임워크와 연결할 수 있는 인터페이스 제공&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* Spring MVC&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- MVC&amp;nbsp; 패턴을 통하여 Model, View, Controller 사이의 관계를 DI 컨테이너가 관리함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* PSA (Portable Service Abstraction)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 다른 여러 모듈을 사용함에 있어서 별도의 추상화 레이어를 제공함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/40</guid>
      <comments>https://bank-coder.tistory.com/40#entry40comment</comments>
      <pubDate>Tue, 4 Jan 2022 00:24:49 +0900</pubDate>
    </item>
    <item>
      <title>Servlet / JSP [ 1 / ? ] 211208</title>
      <link>https://bank-coder.tistory.com/39</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@WebServlet(&quot;url&quot;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 기존 web.xml(배포서술자)에 작성하던 servlet 연결 구문을 간소화하는 Annotation(어노테이션)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 전송 방식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- POST : 삽입&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- GET : 조회(검색)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- PUT : 수정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- DELETE : 삭제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* &amp;lt;a href=&quot;&quot;&amp;gt;&amp;lt;/a&amp;gt; 를 이용한 요청은 GET 방식으로 처리된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* POST 방식의 요청은 문자인코딩 설정을 해야한다. (한글이 깨지기 때문)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1638949694976&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@WebServlet(&quot;/login&quot;)
public class LoginServlet extends HttpServlet{
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		req.setCharacterEncoding(&quot;UTF-8&quot;);
		
		String inputId = req.getParameter(&quot;inputId&quot;);
		String inputPw = req.getParameter(&quot;inputPw&quot;);
		
		String saveId = req.getParameter(&quot;saveId&quot;);
		
		System.out.println(inputId);
		System.out.println(inputPw);
		System.out.println(saveId);
		
		String name = &quot;아무개&quot;;
		
		if( inputId.equals(&quot;user01&quot;)) {
			name = &quot;홍길동&quot;;
		}
	
		req.setAttribute(&quot;name&quot;, name); 
		
		RequestDispatcher dispacher = req.getRequestDispatcher(&quot;/WEB-INF/views/loginResult.jsp&quot;);
		dispacher.forward(req, resp);
		
	}
	
	
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* HttpServletRequest req : 요청과 관련된 정보, 데이터(값)을 가지고있는 객체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* HttpServletResponse&amp;nbsp;resp&amp;nbsp;:&amp;nbsp;응답과&amp;nbsp;관련된&amp;nbsp;정보,&amp;nbsp;스트림을&amp;nbsp;가지고있는&amp;nbsp;객체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;POST 방식은 한글이 깨지기 때문에 문자인코딩 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; req.setCharacterEncoding(&quot;UTF-8&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;input&amp;gt;태그에 작성된 값을 req.getParameter(&quot;name값&quot;) 이용하여 변수로 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* &amp;lt;input type=&quot;checkbox&quot;&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 체크박스가 여러 개&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--&amp;gt; 같은 name 속성을 가지므로 배열로 받아야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 체크박스가 한 개&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--&amp;gt; 배열로 받을 필요 없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;checkbox는 &quot;checked&quot; 속성을 가지는 경우 value = &quot;on&quot; (따로 지정하지 않을 시)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;체크되지 않은 경우 value == null&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Parameter가 아닌 새로운 값을 JSP에 위임하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;req.setAttribute(&quot;name&quot;,name);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--&amp;gt; Key : Value 형태로 req에 담아서 JSP로 위임한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;** EL을 사용하지 않는 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- setAttribute를 통해 넘어간 매개변수는 자료형이 Object로 설정되어있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--&amp;gt; JSP에서 사용하기 위해서는 다운캐스팅을 해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/39</guid>
      <comments>https://bank-coder.tistory.com/39#entry39comment</comments>
      <pubDate>Wed, 8 Dec 2021 17:07:04 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript - 정규 표현식 기초</title>
      <link>https://bank-coder.tistory.com/38</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt; &amp;zwj;  정규 표현식 (Regular Expression)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특정 규칙을 가지는 문자열의 집합을 표현하는데 사용하는 식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 정규 표현식을 사용하면 입력된 문자열에 대하여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 특정 조건 검색, 일치 여부, 치환에 대한 조건문을 처리하기 쉽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt; &amp;zwj;  정규 표현식 객체 생성 및 확인 메서드&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 정규 표현식 객체 생성 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- const regExp = new regExp(&quot;정규 표현식&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- const regExp = /정규 표현식/;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 문자열 패턴이 일치하는지 확인하는 메서드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) regExp.test( 문자열 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문자열에서 일치하는 패턴이 있으면 true 반환하고 없으면 false를 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) regExp.exec( 문자열 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문자열에서 일치하는 패턴이 있으면 매칭되는 첫 번째 문자열을 반환하고 없으면 &lt;span style=&quot;color: #ee2323;&quot;&gt;null&lt;/span&gt;을 반환함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1636451574969&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;button id=&quot;btn1&quot;&amp;gt;확인용 버튼&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1636451600178&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;document.getElementById(&quot;btn1&quot;).addEventListener(&quot;click&quot;, ()=&amp;gt;{

  // 1. 정규 표현식 객체 생성
  const regExp1 = new RegExp(&quot;script&quot;);
  const regExp2 = /java/;

  console.log(regExp1.test(&quot;javascript&quot;));  // t
  console.log(regExp1.test(&quot;css&quot;));         // f

  console.log(regExp2.exec(&quot;javascript&quot;));  // java (index = 0) -&amp;gt; 개발자도구에서 편의를 위해 index 정보도 제공
  console.log(regExp2.exec(&quot;scriptjava&quot;));  // java (index = 6)
  console.log(regExp2.exec(&quot;부대찌개&quot;));    // null

});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자 도구 콘솔창에서 확인해보기&lt;/p&gt;
&lt;br&gt;&lt;br&gt;
&lt;button id=&quot;btn1&quot;&gt;정규 표현식 기본&lt;/button&gt;
&lt;br&gt;&lt;br&gt;
&lt;script&gt;
  document.getElementById(&quot;btn1&quot;).addEventListener(&quot;click&quot;, ()=&gt;{

  // 1. 정규 표현식 객체 생성
  const regExp1 = new RegExp(&quot;script&quot;);
  const regExp2 = /java/;

  console.log(regExp1.test(&quot;javascript&quot;));  // t
  console.log(regExp1.test(&quot;css&quot;));         // f

  console.log(regExp2.exec(&quot;javascript&quot;));  // java (index = 0) -&gt; 개발자도구에서 편의를 위해 index 정보도 제공
  console.log(regExp2.exec(&quot;scriptjava&quot;));  // java (index = 6)
  console.log(regExp2.exec(&quot;부대찌개&quot;));    // null

});
&lt;/script&gt;
&lt;br&gt;&lt;br&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt; &amp;zwj;  정규 표현식의 메타 문자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문자열의 패턴을 나타내는 특수문자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 특수문자마다 지정된 의미가 담겨 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;^ (캐럿) : 문자열의 시작을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ (달러) : 문자열의 끝을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) /^a/ : a로 시작하는 문자열&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--&amp;gt; aaa, abc, apple ( O ) / gag, pap, 가나다라마 ( X )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/38</guid>
      <comments>https://bank-coder.tistory.com/38#entry38comment</comments>
      <pubDate>Tue, 9 Nov 2021 18:54:56 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript - 함수</title>
      <link>https://bank-coder.tistory.com/37</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;/p&gt;

&lt;h3&gt;기본적인 함수&lt;/h3&gt;

&lt;pre&gt;
&lt;code&gt;
function 함수명(){	// 함수 선언
	// 함수 정의
}
함수명(); 	// 함수 호출
&lt;/code&gt;
&lt;/pre&gt;
클릭하면 숫자가 증가하는 버튼
&lt;br&gt;
&lt;button id=&quot;btn1&quot; style=&quot;width:50px; height:50px;&quot; onclick=&quot;clickCount();&quot;&gt; 0 &lt;/button&gt;

&lt;script&gt;
  function clickCount(){
  	const btn1 = document.getElementById(&quot;btn1&quot;);
  	btn1.innerText = Number(btn1.innerText) + 1;
  }
&lt;/script&gt;
&lt;br&gt;
&lt;pre&gt;
&lt;code&gt;
function clickCount(){
  	const btn1 = document.getElementById(&quot;btn1&quot;);
  	btn1.innerText = Number(btn1.innerText) + 1;
  }
&lt;/code&gt;
&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt; 익명 함수 &lt;/h3&gt;
&lt;pre&gt;
	&lt;code&gt;
    	function(매개변수){		// 함수 선언
        	// 함수 정의
        }
    &lt;/code&gt;
    - 이름이 없는 함수, 마음대로 호출하는 것이 불가능하다
    - 이벤트 핸들러 같이 바로 실행되는 함수가 필요할 때,
      매개변수나 변수에 함수를 저장해야하는 경우에 사용한다.
&lt;/pre&gt;

* 클릭하면 배경 색깔이 변하는 버튼 만들기 (익명 함수 사용)
&lt;br&gt;
&lt;button id = &quot;btn2&quot;&gt; 익명 함수 &lt;/button&gt;

&lt;script&gt;
  document.getElementById(&quot;btn2&quot;).addEventListener(&quot;click&quot;, function(){
  	this.style.backgroundColor = &quot;yellow&quot;;
  });
&lt;/script&gt;
&lt;pre&gt;
	&lt;code&gt;
    	document.getElementById(&quot;btn2&quot;).addEventListener(&quot;click&quot;, function(){
  	this.style.backgroundColor = &quot;yellow&quot;;
  });
    &lt;/code&gt;
&lt;/pre&gt;	

&lt;hr&gt;

&lt;h3&gt; 화살표 함수 &lt;/h3&gt;

&lt;pre&gt;
익명 함수를 간단하게 표현한 표기법 (es6)

작성법1. 기본형태 : ([매개변수]) =&gt; { 함수 };

작성법2. 매개변수가 1개인 경우 소괄호() 생략 가능
-&gt; ex) (num) =&gt; { return num * 2 };
== num =&gt; { return num * 2 };

작성법3. 매개변수가 없을 경우에는 소괄호() '무조건' 작성하기

작성법4. 함수 정의 부분이 return [식 또는 값] 으로만 작성되어있는 경우에는 중괄호{ }, return이 생략 가능하다.

작성법5. 4번의 경우이지만 반환하는것이 객체(Object)인 경우에는 중괄호와 return 생략이 불가능하다.
&lt;/pre&gt;

</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/37</guid>
      <comments>https://bank-coder.tistory.com/37#entry37comment</comments>
      <pubDate>Tue, 9 Nov 2021 18:41:04 +0900</pubDate>
    </item>
    <item>
      <title>이사</title>
      <link>https://bank-coder.tistory.com/36</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;당분간 정리 글은&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@bank-coder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://velog.io/@bank-coder&lt;/a&gt;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/36</guid>
      <comments>https://bank-coder.tistory.com/36#entry36comment</comments>
      <pubDate>Thu, 4 Nov 2021 18:10:13 +0900</pubDate>
    </item>
    <item>
      <title>Javascript 기초</title>
      <link>https://bank-coder.tistory.com/35</link>
      <description>&lt;h1&gt;01. JavaScript 개요&lt;/h1&gt;
&lt;h2&gt;  script 언어&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;응용 프로그램의 동작을 사용자의 요구에 맞게 제어하는 언어&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;별도의 소스코드 컴파일을 진행하지 않고 인터프리터(Interpreter)를 이용해 소스코드를 한 줄씩 읽는다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;  JavaScript(JS)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;웹 브라우저에서 많이 사용하는 인터프리터 방식의 객체 지향 프로그래밍 언어&lt;br&gt;ECMA Script 표준을 따르는 대표적인 웹 기술&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;  JS preview&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;    &amp;lt;button type=&amp;quot;button&amp;quot; onclick=&amp;quot;alert(&amp;#39;버튼1 클릭&amp;#39;);&amp;quot;&amp;gt;버튼1&amp;lt;/button&amp;gt;
    &amp;lt;!-- onclick : 해당 요소가 클릭 되었을 때 --&amp;gt;

    &amp;lt;button type=&amp;quot;button&amp;quot; onclick=&amp;quot;changeBg();&amp;quot;&amp;gt;제목 배경색 바꾸기1&amp;lt;/button&amp;gt;

    &amp;lt;button type=&amp;quot;button&amp;quot; id=&amp;quot;btn1&amp;quot;&amp;gt;제목 배경색 바꾸기2&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h1&gt;Test 영역&lt;/h1&gt;
&lt;h1 id=&quot;title1&quot;&gt; 테스트 영역 &lt;/h1&gt;
  &lt;button type=&quot;button&quot; onclick=&quot;alert('버튼1 클릭');&quot;&gt;버튼1&lt;/button&gt;
  &lt;!-- onclick : 해당 요소가 클릭 되었을 때 --&gt;
  
  &lt;button type=&quot;button&quot; onclick=&quot;changeBg();&quot;&gt;제목 배경색 바꾸기1&lt;/button&gt;

  &lt;button type=&quot;button&quot; id=&quot;btn1&quot;&gt;제목 배경색 바꾸기2&lt;/button&gt;


  &lt;script&gt;
    // JavaScript를 작성하는 영역
    function changeBg(){
      document.getElementById(&quot;title1&quot;).style.backgroundColor = &quot;yellow&quot;;
    };

    document.querySelector(&quot;#btn1&quot;).addEventListener(&quot;click&quot;, () =&gt; {
      document.getElementById(&quot;title1&quot;).style.backgroundColor = &quot;red&quot;;
    });
    
  &lt;/script&gt;
&lt;hr&gt;
&lt;br&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/35</guid>
      <comments>https://bank-coder.tistory.com/35#entry35comment</comments>
      <pubDate>Tue, 2 Nov 2021 21:59:33 +0900</pubDate>
    </item>
    <item>
      <title>BootStrap &amp;lt; 2021 - 11- 01 &amp;gt;</title>
      <link>https://bank-coder.tistory.com/33</link>
      <description>&lt;h1&gt;BootStrap&lt;/h1&gt;
&lt;p&gt;BootStrap이란?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;  웹 페이지 개발 시 화면을 쉽고 일관성있게 구현할 수 있도록 Twitter에서 만든 Framework&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;  각종 레이아웃, 버튼, input 태그 등 컴포넌트를 CSS, JS 등으로 미리 만들어놓고 제공한다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;  클래스를 지정해서 원하는 속성을 적용시킬 수 있다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3&gt;BootStrap 개요&lt;/h3&gt;
&lt;p&gt;버튼 (button) 관련 속성 (컴포넌트)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;버튼 크기 : .btn-lg , .btn-sm 적용&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;btn btn-primary btn-lg&amp;quot;&amp;gt;Large button&amp;lt;/button&amp;gt;
  &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;btn btn-secondary btn-lg&amp;quot;&amp;gt;Large button&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;버튼 비활성화 : disabled&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;btn btn-lg btn-primary&amp;quot; disabled&amp;gt;Primary button&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;버튼 블록(grid 이용) : class=&amp;quot;d-grid gap-2 col-6 mx-auto&amp;quot;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;div class=&amp;quot;d-grid gap-2 col-6 mx-auto&amp;quot;&amp;gt;
  &amp;lt;button class=&amp;quot;btn btn-primary&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Button&amp;lt;/button&amp;gt;
  &amp;lt;button class=&amp;quot;btn btn-primary&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Button&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;BootStrap 유틸리티&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;배경색 관련 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;배경색 : bg-&lt;br&gt;그라데이션 : bg-gradient&lt;br&gt;불투명도 : bg-opacity-*&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;div class=&amp;quot;bg-primary&amp;quot;&amp;gt;배경1&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;bg-dark&amp;quot;&amp;gt;배경2&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;bg-danger bg-opacity-50&amp;quot;&amp;gt;배경3&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;글자색 관련 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;글자색 : text-&lt;br&gt;불투명도 : text-opacity-*&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;div class=&amp;quot;text-danger&amp;quot;&amp;gt;테스트1&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;text-white bg-dark&amp;quot;&amp;gt;테스트2&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;text-white-50 bg-dark&amp;quot;&amp;gt;테스트3&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;테두리 관련 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;테두리 : border&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;border-top, border-bottom, border-start, border-end&lt;br&gt;색상 : border- 색상&lt;br&gt;두께 : border- *&lt;br&gt;모서리 : rounded&lt;br&gt;rounded-top, rounded-bottom, rounded-start, rounded-end, rounded-circle, rounded-pill&lt;br&gt;모서리 곡률 : rounded-1~3&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p class=&amp;quot;border border-danger border-3 rounded&amp;quot;&amp;gt;테두리 테스트 1&amp;lt;/p&amp;gt;
  &amp;lt;p class=&amp;quot;border-bottom border-success border-2&amp;quot;&amp;gt;테두리 테스트 2&amp;lt;/p&amp;gt;
  &amp;lt;p class=&amp;quot;border-bottom border-warning border-5&amp;quot;&amp;gt;테두리 테스트 3&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;  크기 조절 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;25% 단위&lt;br&gt;폭 : w-25, w-50, w-75, w-100, w-auto&lt;br&gt;높이 : h-25, h-50, h-75, h-100, h-auto&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;필요에 따라 max-width, max-height 사용 가능 : mw, mh&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;    &amp;lt;div id=&amp;quot;wrapper1&amp;quot; class=&amp;quot;border&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;w-50 h-25 border bg-primary&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;w-25 h-50 border bg-warning d-inline-block&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;w-25 h-50 border bg-warning d-inline-block&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;  간격 조절 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;m : margin, p : padding&lt;br&gt;t : top, b : bottom, s : start, e : end, x : x축 이동, y : y축 이동&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;div class=&amp;quot;border d-inline-block w-25 mt-3 mb-5&amp;quot;&amp;gt;테스트1&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;border d-inline-block w-25 mx-4 p-4&amp;quot;&amp;gt;테스트2&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;border&amp;quot;&amp;gt;테스트3&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;텍스트 정렬 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;fs : font-size, fw : font-weight&lt;br&gt;왼쪽 정렬 : text-start&lt;br&gt;오른쪽 정렬 : text-end&lt;br&gt;중앙 정렬 : text-center&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p class=&amp;quot;border p-3 m-3 text-start fs-3 fw-bold&amp;quot;&amp;gt;왼쪽 정렬&amp;lt;/p&amp;gt;
  &amp;lt;p class=&amp;quot;border p-3 m-3 text-center fs-4&amp;quot;&amp;gt;가운데 정렬&amp;lt;/p&amp;gt;
  &amp;lt;p class=&amp;quot;border p-3 m-3 text-end fs-5&amp;quot;&amp;gt; 오른쪽 정렬&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;float 관련 유틸리티&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;float-start&lt;br&gt;float-end&lt;br&gt;float-none -&amp;gt; float:none 이므로 다음에 작성할 부분에서 clear:both 처리를 해주어야 겹치지 않음&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;div class=&amp;quot;float-start&amp;quot;&amp;gt;Float start on all viewport sizes&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;
  &amp;lt;div class=&amp;quot;float-end&amp;quot;&amp;gt;Float end on all viewport sizes&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;
  &amp;lt;div class=&amp;quot;float-none&amp;quot;&amp;gt;Don&amp;#39;t float on all viewport sizes&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/33</guid>
      <comments>https://bank-coder.tistory.com/33#entry33comment</comments>
      <pubDate>Mon, 1 Nov 2021 21:45:39 +0900</pubDate>
    </item>
    <item>
      <title>HTML3 &amp;lt; 2021 - 10 - 28 &amp;gt;</title>
      <link>https://bank-coder.tistory.com/32</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;영역 관련 태그&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;block 형식- 공간을 수직 분할하는 영역&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- 요소가 한 줄 모두를 차지함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- width, height 사용 가능함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- h1~ h6,p, pre, hr, div 등&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;inline 형식&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- 공간을 수평 분할하는 영역&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- 요소의 크기만큼만 차지함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- width, height 지정 불가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- b, strong, i, em, mark, span 등&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* block / inline 차이점&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1. 줄바꿈&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- div(division) : 화면 영역을 나누는 용도로 사용한다. (block 형식)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- span : 줄바꿈이 일어나지 않고 다음 영역이 옆에 온다. (inline 형식)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2. 영역 지정 방식&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- block 형식 : 줄 전체를 영역으로 가짐&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- inline 형식 : 내용(content) 단위로 영역을 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3. 크기 지정&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1635409393392&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;div style = &quot;width : 200px; height: 200px; background-color: beige;&quot;&amp;gt;
    크기 지정 O
&amp;lt;/div&amp;gt;

&amp;lt;span style = &quot;width : 200px; height: 200px; background-color: gray;&quot;&amp;gt;
    크기 지정 X
&amp;lt;/span&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;width: 200px; height: 200px; background-color: beige;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;크기 지정 O&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;width: 200px; height: 200px; background-color: gray; font-family: 'Nanum Gothic';&quot;&gt; 크기 지정 X &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* Iframe 태그&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- HTML 문서 내에 다른 웹 페이지를 추가하는 태그 (inline)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;이미지 관련 태그&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;img 태그- HTML 문서(웹문서, 웹페이지)에 사진 및 그림을 삽입할 때 사용하는 태그&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;img 태그의 속성- src : 삽입할 이미지 경로 지정&amp;nbsp;- width : 폭 지정- height : 높이 지정- alt : 이미지를 설명하는 속성, 이미지가 출력되지 않는 경우에 표시&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* img 태그에 width, height 중 하나의 크기를 지정하면 나머지 크기도 조정된다.* 폭과 높이를 모두 지정하면 비율을 무시하고 지정한 크기대로 삽입된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;고정크기 / 가변크기- 고정 크기 단위 : 화면 크기에 관계 없이 지정된 값 만큼의 크기가 지정되는 단위ex) width=&quot;200px&quot; height=&quot;200px&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- 가변 크기 단위 : 화면 또는 지정된 영역을 기준으로 삼고 그에 따라 변하는 단위ex) width=&quot;20%&quot; height=&quot;30%&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* img 태그는 inline 형식이지만 폭과 높이 지정이 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;하이퍼링크 관련 태그&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;하이퍼링크- 웹 문서가 일반 문서와 구분되는 가장 큰 기능- 클릭을 통해 연결된 다른 문서로 이동하는 방법을 편리하게 제공한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1) 텍스트를 클릭해서 다른 문서로 이동&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2) 이미지를 클릭해서 다른 문서로 이동&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3) 같은 페이지 내에서 이동&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;a 태그 (anchor : 닻, 고정하다)&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;속성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* href 속성 (hypertext reference) : 이동할 페이지를 작성하는 속성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* title 속성 : 링크에 마우스를 오버할 경우 설명을 나타내는 속성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;* target 속성 : a 태그 클릭 시 페이지가 열리는 방법을 지정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- _self : 현재 창에서 열기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- _blank : 새 창에서 지정된 링크로 이동(새 창으로 열기)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- _parent : 부모 창에서 열기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;- _top : 가장 상위 창에서 열기&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1635410439282&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://bank-coder.tistory.com/&quot; title=&quot;블로그 홈으로 이동&quot; targer=&quot;-blank&quot;&amp;gt;
	홈페이지로 이동하기
&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;블로그 홈으로 이동&quot; href=&quot;https://bank-coder.tistory.com/&quot;&gt; 홈페이지로 이동하기 &lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/수업 내용 정리</category>
      <author>뱅코더</author>
      <guid isPermaLink="true">https://bank-coder.tistory.com/32</guid>
      <comments>https://bank-coder.tistory.com/32#entry32comment</comments>
      <pubDate>Fri, 29 Oct 2021 07:49:22 +0900</pubDate>
    </item>
  </channel>
</rss>