분류 전체보기 (189) 썸네일형 리스트형 [Spring] 스프링 빈 조회하기 모든 Bean 출력하기 메소드 getBeanDefinitionNames() // 스프링의 모든 빈 이름으로 조회 ac.getBean(빈 이름 입력) // 빈 이름으로 빈 객체(인스턴스) 조회 코드 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " .. 스프링의 역사 공부를 시작한지 6개월이 조금 넘었지만 벌써 취업을 하게 됐다. 스스로 부족한 점이 많다고 느껴져서 잘 할 수 있을지 걱정도 되고 설레이기도 하다. 스프링의 탄생 초기의 기업들은 자바의 표준 기술로 Enterprise Java Bean을 사용했다. EJB는 트랜잭션, 분산기술, Entity Bean (ORM)등 기술을 지원하여 많은 기업들이 사용하였다. 하지만 비싸고, 어렵고, 복잡하고, 느린 단점이 있었다. EJB의 단점이 너무 심한 나머지 초기의 순수자바(POJO)를 사용하자는 이야기 까지 나왔다. 실무 개발자들이 EJB를 대신 할 오픈소스를 만들다.(Rod Johnson, Gavin King) Rod Johnson은 당시의 EJB를 비판하며 나중에 스프링을 만들어 냈고 Gavin King는 EJB의.. [Git] Commit History 정리하기 (Rebase, Sublime Merge) 지난 글에 이어 바로 작성하고 싶었지만 프로젝트 AWS배포가 꽤나 시간을 오래잡아먹었다. 정말 좋은 공부가 됐지만 그 긴 과정을 차마 글로 작성할 엄두는 안난다.. 프로젝트를 끝마친 뒤 반성점 중 하나가 Commit History 관리였다. 실제로 작업한 프로젝트의 커밋로그이다. 341개의 커밋로그 중 로그로서 온전한 기능을 하는 커밋은 절반도 안될 것이다. 프로젝트의 규모가 커지고 협업하는 사람이 많아질 수록 로그를 잘 관리해야 할 필요성이 커질 것이다. 이번 기회에 그 방법에 대해 공부하자. Rebase에 대해 커밋히스토리 관리는 rebase 명령어 하나로 해결된다. rebase의 기능은 특정 브랜치에서 분기되는 커밋로그를 정렬 하는 것이다. 만약 위와같은 b에서 분기된 커밋로그에서 f2와 m2를 병.. [Git] Git-flow / Git을 사용하여 협업하는 방법 이번에 협업을 진행하면서 처음으로 git을 사용해보았지만 팀원들과 나름대로 규칙을 정해서 git을 사용하여 큰 문제없이 프로젝트를 완료할 수 있었다. 프로젝트를 끝 마친 뒤에야 알게 된 내용이지만 Git을 이용한 협업에도 권장하는 방식이 있으며 그 방식을 Git-Flow라고 부르는 것 같다. 언뜻 보면 어려워 보이지만 속은 그렇게 어렵지 않다고 한다. Git-Flow란? Git을 이용해 협업을 할 때 서로 작업한 내용을 합치고 배포하고 수정하는 과정을 더 안전하고 깔끔하게 처리하기 위해 표준으로 널리 사용되는 방법이다. Git-Flow는 5가지의 브랜치를 사용한다. main : 기준이 되는 브랜치로 제품이 배포될 브랜치 (main = master) develop : 실제 개발이 이루어지는 브랜치, 이 브.. 프로그래밍을 배우기 어려운 이유와 극복하는 방법 본문 : https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/ Why Learning to Code is So Damn Hard | Thinkful What every beginner absolutely needs to know about the journey ahead. www.thinkful.com 취업하기 전 언어의 기초를 다시 한번 다지고 싶어서 인프런의 자바 무료 기초 강의인 JAVA 플레이그라운드를 잠들기 전 조금 씩 수강하기 시작했다. 첫 강의에서 프로그래밍 학습이 어려운 이유와 그 극복 방법에 대한 방법을 지도하기에 이를 정리해보고 앞으로 개발자의 토대를 쌓아가는데 도움을 주고자 한다. 학습이 어려운 이유 1. 절망의 계곡.. [JavaScript] 스크립트 로딩 제어 (defer, async, onload, DOMContentLoaded) 백엔드를 지망하지만 프로젝트를 하다 보니 비교적 덜 다뤘던 JavaScript를 더 많이 공부하게 되는거 같다. 내가 헷갈렸던것은 가 와야할 위치와 defer/async, DOMContentLoaded 와 onload의 차이점이였고, 이번 시간에 그에 대해 공부해보았다. 의 위치는 body 최하단이 제일 좋은 이유 웹 소스는 위에서 아래로 실행되기 때문에 Display가 모두 표시되고 나서 가 실행되서 자연스러운 흐름을 만들 수 있다. 중간에 동적으로 변화하는 DOM 구조가 있을 경우 그 노드의 조작을 시도할 수 있다. 만약 script 태그를 맨 밑에 놓지 못하는 상황이라면? defer를 사용한다. // html 중간에 스크립트를 만나도 바로 실행시키지 않고 지연시켜서 가 일어나며 이를 지연 시켜서 맨.. [JavaScript] JQuery-UI 드래그앤 드랍으로 요소 정렬하기 JQuery-UI/Sortable JQuery-UI란 CSS, JavaScript로 구현할 수 있는 UI를 쉽게 다룰 수 있도록 만들어진 API이다. JQuery-UI의 Sortable를 사용하면 아이템의 순서를 바꿀 수 있다. CDN jQuery는 3.x 버전까지 있지만 구버전 브라우저와 호환을 위해 제일 안정적인 1.12.4버전을 사용을 권장한다고 한다. 사용방법 가 나 다 라 마 리스트 개체를 선택자로 .sortable() 메소드를 선언해주면 드래그앤 드랍을 사용할 수 있다. items 만약 리스트가 아닌 개체나 원하는 요소를 지정해서 사용하고 싶으면 items 속성을 사용한다. 가 나 다 라 마 이렇게 사용하게 되면 sort를 선언해준 가, 나, 다 아이템만 sortable속성이 적용 된다. 간단.. [MYSQL] JOIN 사용하기 개인적으로 서브쿼리가 직관적이고 이해하긴 쉬운거 같은데 성능의 문제로 조인쿼리를 사용을 권장한다고 한다. 사용하게된 김에 다시 공부해보자. 이론 INNERJOIN : 양 테이블 서로 겹치는 값만 검색한다. (교집합) --문법-- SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼 FROM 기준테이블 별칭 INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키.... --예제-- SELECT A.NAME, --A테이블의 NAME조회 B.AGE --B테이블의 AGE조회 FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT LEFT(RIGHT) OUTER JOIN : 왼쪽 테이블.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 24 다음