본문 바로가기

전체 글122

[Git] Git rebase 재배치 사용법 [Git] Sourcetree rebase 재배치 rebase - 말 그대로 분기의 베이스(시작 위치)를 바꾸겠다는 말이다. rebase와 merge는 브랜치를 합치는 역할이다. merge를 쓰겠다면 굳이 쓰지 않아도 된다. 하지만 rebase만의 장점이 있다. rebase가 merge보다 commit log가 깔끔해진다는 장점이 있다. 주의: 이미 공유된 커밋(main)은 리베이스하면 안된다. (커밋 해시 값이 변경됨) main, newFunc 두 개의 브랜치가 있다. base는 initial commit 이다. 브랜치 1, 브랜치 2가 각자 커밋이 진행하면 두 브랜치는 initial commit기점으로 하여 갈라지는 형태가 된다. 이 상태에서 rebase를 실행하려고 한다. rebase를 하면 발생 .. 2022. 7. 26.
스프링 프레임워크 DI, AOP, 환경설정(intellij, gradle, tomcat) JAVA SE 위에서 동작하는 기업형 응용 프로그램 (JAVA EE or SPRING) 현재는 EE가 유료이므로, SPRING을 주로 사용한다. 스프링의 대표 기능 MVC(DI), TRANSACTION(AOP), 인증과 권한(FILTER) DI와 IOC컨테이너 객체를 생성해주고 인터페이스를 통해 조립해준다. bean으로 생성하고, 인터페이스에 맞는 bean을 주입한다. ✔ IOC(inversion of control) 컨테이너라고 하는 이유 (1) 기존 프로그래밍 A -> B -> C -> D A에서 B객체를 생성, B에서 C 객체를 생성, C에서 D객체를 생성 (2) 스프링 컨테이너 D -> C -> B -> A D를 C에 주입, C를 B에 주입, B를 A에 주입 IOC 컨테이너의 사용 Applicat.. 2022. 7. 23.
자바스크립트 + DOM(Document Object Model) 정리 ES5 와 ES6의 변화 템플릿 리터럴: console.log( ` 이름은 ${name} 나이는 ${age} `); # 백틱 익명 함수 표현식 변경: (a, b) => { console.log( a+b ); }; // 자바 람다식과 비슷 this: ES5에서는 window 객체를 말함, ES6에서는 자신을 둘러싸는 this를 말함 변수: let, const 추가 클래스: 클래스 키워드 추가, 생성자, 메서드, 상속, instanceof https://github.com/newlecture/javascript-dom-programming-example GitHub - newlecture/javascript-dom-programming-example Contribute to newlecture/javascr.. 2022. 7. 21.
[Mysql] rownum 활용 Mysql은 Oracle과는 다르게 rownum을 지원하지 않아서 커스텀으로 만들어서 사용해줘야 한다. 함수를 사용하여 rownum을 지정해줄 수도 있다. 커스텀 rownum 함수 row_number() 커스텀 rownum select @rownum:= @rownum + 1 as rownum, t.* from table1 t, (select @rownum := 0) r; select rt.* from ( select @rownum:= @rownum +1 as rownum, t.* from table1 as t, (select @rownum := 0) as r ) as rt where rt.rownum between 2 and 4; select rt.* from ( select @rownum:= @rown.. 2022. 7. 20.
서블릿/JSP 톰캣 (WAS) tcp/ip 소켓 연결관리, http 프로토콜 해석 등 프로그래머가 웹 구현을 쉽게할 수 있도록 기능을 제공해준다. 또한 서블릿 컨테이너를 관리한다. 서블릿, 스레드를 관리한다. 스레드로 URL 요청에 맞는 서블릿을 실행시킨다. URL를 보고 해당되는 서블릿의 service()를 호출 * 스프링에서의 동작은 URL을 단순히 Dispatcher Servlet에게 전부 준다. 서블릿 톰캣은 HttpServlet 을 상속한 servlet들을 알아보고 관리한다. (HttpServletRequest, HttpServletResponse)도 생성해준다. extends HttpServlet service() service()에서 get, post를 처리해주던지, service()이후에 doGet(),.. 2022. 7. 19.
[Spring] Bean을 싱글톤으로 사용해도 되는 이유 package singletoneTest; public class Object1 { private static Object1 o; // 싱글톤 private static int oNumber; // 상태 저장 public static Object1 getInstance(){ if(o == null) o = new Object1(); return o; } public int func(int n){ try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } return n; } public int sfunc(int n){ oNumber = n; try { Thread.sleep(1); } catch (InterruptedE.. 2022. 7. 18.