출처 : http://okjsp.net/bbs?seq=92230주어진 문자열(공백 없이 쉼표로 구분되어 있음)을 가지고 아래 문제에 대한 프로그램을 작성하세요.이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌김씨와 이씨는 각각 몇 명 인가요?"이재영"이란 이름이 몇 번 반복되나요?중복을 제거한 이름을 출력하세요.중복을 제거한 이름을 오름차순으로 정렬하여 출력하세요. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import java.util.ArrayList;import java.util.Collect..
시큐어 코딩 실습 #시큐어 코딩을 해야하는 이유?해킹의 피해를 최소화시키기 위해. 데이터베이스 암호화까지 시큐어 코딩의 범주에 속한다. #파로스(Paros) 파로스는 Proxy 프로그램 중 하나. 파로스를 설치하면 Proxy Server를 구축할 수 있다.Proxy = 브로커, 즉 웹 요청을 처리할 때 임시 저장소를 거쳐서 데이터를 가져오는 요청 및 응답의 중개자.프록시를 가지고 해킹을 할 수 있다. 요청과 응답을 중간에 잡게 되니까, 사용자가 보냈던 요청정보를 중간에 바꿔서 응답을 보내고, 응답정보를 중간에 바꿔서 사용자에게 요청을 보낸다. 파로스 설정하기 브라우저가 요청을 프록시를 경유하도록 만들어주어야 한다.크롬 → 설정 → 고급설정 표시 → 네트워크 : 프록시설정 → LAN 설정 → 확인 파로스를..
#게시판 전체 구조다 똑같은데 Service가 추가가 된다. Service가 추가되면 web이 아니라, service에 transaction이 걸린다. Web은 하나의 서비스만 호출한다. Web이 하던 로직을 일부 service로 넘긴다. 세션이 필요하다면 web에서 service로 세션을 넘겨준다. 컨트롤러가 하는 일은 서비스만 호출해주면 되는 것이다.서비스는 여러개의 biz를 호출한다. #Toad에서 계정 만들기 1. System으로 접속한다. 2. Create UserSPRING으로 만든다.3. Roles와 System Privileges를 HR에서 copy해온다.4. 테이블 만들기 #Tip. 4000글자 넘을 때는 어떻게 하나요??Data Type을 CLOB으로 설정하면 제한없이 쓸 수 있다. 5..
Dynamic SQL쿼리 내에 조건문을 이용해서 중복되는 쿼리들을 최소화시킬 수 있다. #Dynamic Query 의 종류IfChooseJava의 else if 격TrimForeach잘 사용되지 않지만 가끔 사용한다. #if파라미터로 받아온 값을 조건절로 거를 때 사용한다. 파라미터 타입 안에 다른 타입(클래스)가 포함되어 캡슐화를 이룰 경우 .(dot) 연산자로 변수 접근이 가능하다. #chooseElse if 가 없기 때문에 choose로 사용한다.로 로 크게 감싸고 으로 조건을 걸고 로 기타를 거른다. #Trim(where, set)여러 구문 중 하나만 실행할 수 있다. SELECT *FROM BLOGWHERE state = #{state}AND title like #{title} 이런 구문에서 모..
# Tip. bean Graph를 보면서 MyBatis 전체 구조 파악하기 각 bean 설명AOP 영역+dataSource은 다른 것을 쓰더라도 공통적으로 사용한다.sqlSessionFactory 와 sqlSessionTemplate은 MyBatis 전용이다.코드를 보면 알수 있다. sqlSessionFactory와 sqlSessionTemplate은 org.mybatis로 시작된다. dataSource는 org.apache로 시작하기 때문에 공통사항이다. dataSource : 연결에 필요한 커넥션들을 미리 만들어놔서 커넥션 풀에 담아두는 역할이였고,sqlSessionFactory : MyBatis가 db에 붙을 수 있게 만들어주는 부분sqlSessionTemplate : MyBatis가 db가 연동되..
트랜잭션이란? 하나의 업무 단위 하나의 업무는 여러개의 작업단위로 쪼개진다. 이것들을 모아둔 것을 트랜잭션이라고 부른다. #이런 트랜잭션이 왜 중요할까? 트랜잭션임을 어떻게 알고 롤백을 시킬까? 어플리케이션에서 쿼리를 날리면 바로 커밋이 되는데, 어떻게 롤백을 시킬까? 트랜잭션을 날렸을 때 MyBatis가 커밋을 날린다. 중간에 에러가날 경우, 다 롤백을 시킨다. 즉, MyBatis 트랜잭션을 이해하기 위해서는 관점지향 프로그래밍을 이해해야한다. 관점 지향 프로그래밍(AOP: Aspect Oriented Programming) 공통적으로 적용되는 기능들을 특정 Method 혹은 Class가 실행되기 전/후 등의 단계에서 자동으로 실행될 수 있게 지원하는 프로그래밍 방법. Logging, Transacti..
- Total
- Today
- Yesterday
- ERD
- 배열
- 뒤로가기 버튼
- activity
- sql
- 예외처리
- JSP
- spring
- 포스팅하기
- 클래스
- 뉴스피드 가져오기
- mybatis
- mongo db
- aop
- Erwin
- 자바프로그래밍
- 쿼리
- MVC
- facebook 연동
- query
- 제이쿼리
- intent
- Relative Layout
- 메뉴바에 버튼 생성하기
- er다이어그램
- 글쓰기 버튼
- 메소드
- Linear Layout
- jQuery
- 게시판 만들기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |