본문 바로가기

HTML5 & Javasciprt : Drag&Drop 구현 (예제) Drag&Drop : File API파일을 다루기 위해선 HTML의 태그나, 드래그 앤 드롭을 사용해 사용자에게 파일을 받고, File API를 이용한다. 아래 움짤은 드래그 앤 드롭으로 파일을 받는 모습인데,본 포스팅에서는 이미지를 받되 한 단계 더 거쳐서 해당 이미지를 띄워주는 것까지 구현해본다.(서버상에서 이미지를 받아 경로를 리턴해주는 것이 아니라, 앞단에서 파일을 다룸)기본구조 기능구현을 위한 기본 구조는 아래와 같다.HTML이미지를 받아낼 단 하나! drag and drop your image!cscss굳이 이렇게 안해도 됩니다.. .content{ outline: 2px dashed #92b0b3 ; outline-offset:-10px; text-align: center; transitio..
@Transactional @Transactional@Transactional 어노테이션을 사용하면 트랜잭션 범위를 쉽게 지정할 수 있다. 트랜잭션 범위에서 실행하고 싶은 메서드에 어노테이션을 붙이면 메서드 안의 코드를 하나의 트랜잭션 범위에서 실행한다. 트랜잭션으로 묶인 쿼리 중 하나라도 실패하면 전체 쿼리를 실패한 것으로 판단하고 롤백(rollback)되며, 모두 성공적으로 동작하면 커밋(commit)하여 데이터베이스에 실제로 반영한다.설정트랜잭션 범위에서 실행할 메서드에 @Transactional 어노테이션을 붙인다.xml ... ... Colored by Color ScriptercsJava자바 설정을 이용할 땐 아래와 같다.@EnableTransactionManagementpublic class AppConfig { ....
Mysql root 비밀번호 재설정 Mysql root 비밀번호 재설정root 패스워드를 잊은 경우 재설정하기. Windowsmysql 서비스를 종료한 뒤 관리자 권한으로 커맨드라인을 실행해 다음을 입력한다. 비밀번호 없이 mysql에 접속된다.C:\> cd C:\Program Files\MySQL\MySQL Server 5.7\binC:\> start mysqld.exe --skip-grant-tablesC:\> mysqlColored by Color Scriptercs 패스워드를 변경한다.UPDATE mysql.user SET password=password('패스워드') WHERE user='root';FLUSH PRIVILEGES;Colored by Color Scriptercs Mysql 5.7 버전 이상에선 컬럼명이 바뀌었다. ..
init-method/destroy-method init-method/destroy-method스프링에서 Bean 속성으로 init-method와 destroy-method를 사용해 초기화 및 소멸 시 특정 동작을 수행할 수 있다. 수정이 불가해 InitializingBean 및 DisposableBean 인터페이스를 상속받을 수 없는 경우의 대안이 될 것이다. (일반적으로 상속보다 권장된다)예제아래와 같은 CustomerService 클래스가 있다.public class CustomerService{ String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void..
@Autowired @Autowired@Autowired의 필수여부 지정@Autowired 어노테이션을 적용하면 반드시 주입할 의존 객체가 존재해야 한다. 만약 xml 설정파일에 해당하는 객체가 존재하지 않으면, @Autowired가 적용된 대상에 주입할 객체를 찾을 수 없기 때문에 Exception이 발생한다.Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userRepositoryUserDetailsService' defined in file [../UserRepositoryUserDetailsService.class]: Unsatisfied dependency expresse..
CSS : box-sizing 속성 CSS : box-sizing 속성요즘 만들어진 웹페이지를 돌아다니며 요소검사를 해보면 아래 코드를 어렵지 않게 찾을 수 있을 것이다.*, *:before, *:after { box-sizing: border-box;}cs정의box-sizing 속성은 적용되는 요소에 대해 box model이 처리되는 방법을 제어한다. 즉 요소의 너비와 높이를 계산하는 방법을 정의한다. 한 단계 더 풀어쓰면 width와 height에 padding과 border를 포함할지 여부를 결정하는 속성이다.Width & Height일반적으로 요소의 Width와 Height를 계산하려면 아래와 같은 과정을 거친다. Widthwidth + padding-left + padding-right + border-left + border-r..
JavaMail API : 자바로 웹에서 파일첨부 메일보내기 JavaMail API프로젝트 중 폼태그 부분에서 파일을 첨부해 메일을 보내는 기능이 필요했다. 조건- 이용자에게 추가 액션을 요구하지 않고 폼태그 안에서 메일을 전송할 것.- 파일을 첨부하면 저장과정 없이 다이렉트로 메일이 전송되게 할 것.- 빠르고 전송이 정확할 것. JavaMail API에 Google SMTP 서버를 이용하기로 했다. Google SMTP 서버를 이용하면 지메일을 이용해 검색/색인이 쉽고, 스팸으로 차단당할 가능성이 줄어들고 무엇보다 무료다. Setup먼저 아래 JavaMail jar파일을 다운받고, 빌드패스에 추가한다.Maven을 이용한다면 아래 코드 복붙. javax.mail mail 1.4 Colored by Color Scriptercs만약 Java 버전이 6 이하라면 ja..
ffmpeg: 쉬운 동영상편집프로그램 동영상 수십개를 한 번에 일정 길이로 일일이 자르는 작업을 하다가 ffmpeg라는 프로그램을 발견했다.모든 동영상 형태의 인코딩/디코딩을 지원하고 단순 cut과 trim 또한 지원한다.Download공식홈페이지로 들어가 큰 다운로드 버튼을 누르지 말고 아래 Get the Package에서 운영체제에 맞는 빌드파일을 받는다.Usageffmpeg는 UI가 아닌 커맨드로 제어하는 프로그램이다. cmd 또는 bash 등을 사용하면 되고, 아래는 자주 쓰이는 옵션이다. 다운로드받고 압축을 풀었으면 bin 폴더에서 커맨드를 입력하면 된다. -i [input]입력 파일을 지정한다.-vcodec [codec], -acodec [codec] 또는 -c:v [codec], -c:a [codec]비디오 코덱, 오디오 코덱을..