지금까지 찾아낸 단축키입니다. 혹시 다른 아는것 있으면 댓글로 좀 알려주세요 ㅎ
 

신규

 
w : 자막 배경 없애기,중간,진하게 전환
o : 자막 글자 선명하게 전환
t : 브라우저 내 최대크기 전환 (영화관 모드)
i : 소형플레이어 전환 (화면 우측 아래 작게 떠있는 화면)
 
 

이동

 
좌 : 5초 앞으로
우 : 5초 뒤로
스페이스 : 일시정지/재생
J : 10초 앞으로
K : 일시정지/재생
L : 10초 뒤로
숫자키 : 각각 0%, 10%, 20% ~~ 90% 위치로 이동.
Home 키 : 맨처음 위치로 ( 숫자키 0과 같다 )
End 키 : 제일 끝 위치로. 재생목록이 있는 경우 다음 영상으로 넘어간다
 
쉬프트 + P : 재생목록의 이전 영상 재생 (previous)
쉬프트 + N : 재생목록의 다음 영상 재생 (next)
 
정지상태에서
- 쉼표(,): 한 프레임 앞으로(왼쪽으로) 이동
- 마침표(.): 한 프레임 뒤로(오른쪽으로) 이동
 
 

볼륨

 
위 : 볼륨 증가
아래 : 볼륨 감소
M : 소리 줄임 (Mute)
 

영상

 
F : 전체 화면
쉬프트 + < : 재생속도 감소
쉬프트 + > : 재생속도 증가
C : 자막 ON/OFF
컨트롤 + < : 이전챕터 이동
컨트롤 + > : 다음챕터 이동

추가: 이거 이제 다 필요 없네요. shift + / (?) 하시면 단축키 설명 팝업 뜹니다. 저도 오늘 우연히 오타(?)내서 알았음.

Posted by KENSIN
,

로컬 목록 보기

git branch

 

리모트 목록 보기

git branch -r

 

전체 목록 보기

git branch -a

Posted by KENSIN
,

참조 링크

배포/빌드 서버 등에 계속해서 최근 항목만을 가져오는 등의 경우에 사용 할 수 있다.

로컬에 있는 모든 내용을 덮어쓰려는 경우

git fetch --all
git reset --hard origin/master

master 아닌 특정 branch 지정 사용 시

git reset --hard origin/<branch_name>

현재 로컬 커밋을 유지(branch로 만들어 두고 덮어쓰기)

git checkout master
git branch <branch name>
git fetch --all
git reset --hard origin/master
Posted by KENSIN
,

MySql 수동 설치 및 설정과 구동

다운로드

MySql 5.7 Download page
windows 64bit zip 버전 다운로드

설치

귀찮은 문제들이 생길 수 있으므로 상위 폴더에 띄어쓰기, 한글 등이 들어 있지 않도록 주의 하여 압축을 해제한다.
환경변수에 MYSQL_HOME 등록. Path 에 MYSQL_HOME\bin 등록. (bin폴더 가서 작업하면 굳이 안해도..)

설정파일 생성

  1. 루트에 data 폴더 생성.
  2. 설치한 폴더 루트에 my.ini 파일 생성 (linux 에선 my.cnf)
[mysqld]  
basedir=d:/projects/mysql5  
datadir=d:/projects/mysql5/data  
port=3306

[client]  
default-character-set = utf8

[mysqld]  
character-set-client-handshake=FALSE  
init_connect="SET collation_connection = utf8_general_ci"  
init_connect="SET NAMES utf8"  
character-set-server = utf8  
collation-server = utf8_general_ci

[mysqldump]  
default-character-set = utf8

[mysql]  
default-character-set = utf8

초기화

mysqld --initialize-insecure (root 비밀번호 없음)
mysqld --initialize (비밀번호 만들어냄)

실행

mysqld --console

mysql -u root 로 접속해본다.
실행 잘 되는지 확인 해 보고 Ctrl + C 로 중지

윈도우즈 서비스 등록

mysqld --install

서비스 제거

mysqld --remove

sql 백업 파일 import

mysql -h hostname -u username -p databasename < db_backup.sql

foreign key 오류.( ERROR 1215 (HY000) at line 3041: Cannot add foreign key constraint )

cat <(echo "SET FOREIGN_KEY_CHECKS=0;") imports.sql | mysql

date null 관련 오류.

select @@sql_mode; (또는 select @@global.sql_mode;) 실행하여 나오는 설정을
my.ini ( my.cnf ) 설정의 [mysqld] 아래의
sql_mode='...,...,..' 에 복사하여 집어 넣는다. 이때 NO_ZERO_DATE 관련한 설정을 제거한다.
sql_mode 는 대소문을 구분한다.(대문자일때 서비스가 올라가지 않았다)

패스워드 변경 정책

쉬운 단어로 변경이 안될 때

  • 정책확인
    SHOW VARIABLES LIKE 'validate_password%';
  • 정책을 낮게 변경
    SET GLOBAL validate_password_policy=LOW;

테이블명 대소문자 구분(윈도우는 괜챃으나, 리눅스에서 간혹..)

#Error Code: 1146. Table 'dbname.table_name' doesn't exist
-확인
show variables like 'lower_case_table_names'; (0: 대소문자 구분함)
-수정
/etc/my.cnf 의 [mysqld] 영역에 lower_case_table_names=1 (1: 대소문자 구분안함) 을 추가한다.
(재시작필요 systemctl restart mysqld)

TABLE 상세확인

show table status;

DB FILE 저장위치 확인

SHOW VARIABLES WHERE Variable_Name LIKE '%dir';
또는
select @@datadir;

DATABASE 삭제가 안될때

  1. 저장위치 폴더 직접제거
  2. 같은 DB 명 CREATE
  3. 같은 DB 명 DROP
Posted by KENSIN
,

Server Location 이 잠겨서 수정이 되지 않는 경우.


1. 서버 View 에서 해당 서버를 선택하고 오른쪽 클릭하여 속성 정보를 연다.


2. Switch Location 을 클릭하여 정보를 변경한다.


3. Server Locations 가 활성화 되었다.  


Posted by KENSIN
,

메뉴바에서 Tools > Build System > New Build System 을 선택하면 창이 새로 열린다.

{
	"cmd": ["gradlew.bat"]
	,"working_dir": "$file_path"
}

파일 작성을 완료하고 저장을 선택하면

[SublimeText 설치폴더]\Data\Packages\User 폴더가 기본위치로 열린다.

파일앞의 untitled 부분을 원하는 이름(예: gradle.sublime-build)으로 수정하고 저장한다.


Tools > Build System 의 목록에 저장한 파일명으로 빌드가 추가 된다. 해당 빌드를 선택한다.

프로젝트의 gradlew.bat, build.gradle 이 있는 위치에서 Build (Ctrl + B) 를 실행한다.


- ${file_path} 는 현재 파일을 실행하는 폴더를 지정한다. (없어도 돌아감..)


- 윈도우즈에서 build 결과 창의 한글이 깨져 나온다. "encoding": "cp949" 을 추가하면 한글이 정상적으로 보인다.


- task 를 수행하려 한다면 gradle.sublime-build 를 열어서 "cmd" : ["gradlew.bat", "TASK 이름"] 을 적어주면 된다.(귀찮..)

Posted by KENSIN
,

설정 변경이 필요할 때마다 jar 를 변경하지 않도록 설정 파일등은 외부로 빼도록 해보자.

여기서는 log4j2.xml 설정을 외부로 옮기고 log도 파일로 기록되도록 설정한다.


resource 폴더의 log4j2.xml 설정파일을 수정

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
	<Appenders>
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
		</Console>
		<File name="MyFile" filename="logs/app.log">
			<PatternLayout>
				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
		</File>
	</Appenders>
	<Loggers>
		<Root level="DEBUG">
			<!-- <appenderref ref="MyFile" /> -->
			<AppenderRef ref="Console" />
		</Root>
	</Loggers>
</Configuration>


pom.xml 의 plugin 설정 변경, jar플러그인에 열외 항목을 추가하고, resource 관리를 통해 외부 폴더로 파일을 옮겨준다.

<plugins>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<configuration>
			<excludes>
				<exclude>**/log4j2.xml</exclude>
			</excludes>
			<archive>
				<manifest>
					<mainClass>printTime.GetTime</mainClass>
					<addClasspath>true</addClasspath>
					<classpathPrefix>libs/</classpathPrefix>
				</manifest>
			</archive>
		</configuration>
	</plugin>
</plugins>

<resources>
	<resource>
		<directory>src/main/resources</directory>
		<targetPath>../conf</targetPath>
	</resource>
</resources>


jar를 실행해 보자. conf 파일을 외부로 뺐으므로 옵션을 선언해준다.

java -Dlog4j.configurationFile=conf\log4j2.xml -jar printTime.jar


폴더구조는 아래와 같다.


libs 폴더를 외부에 두지 않고 모든 라이브러리를 내부에 포함하고자 한다면 몇가지 플러그인을 사용하여 처리할 수 있다. shade 플러그인을 적용해 본다.

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-shade-plugin</artifactId>
	<executions>
		<execution>
			<goals>
				<goal>shade</goal>
			</goals>
			<configuration>
				<shadedartifactAttached>true</shadedartifactAttached>
				<transformers>
					<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
						<manifestEntries>
							<Main-Class>printTime.GetTime</Main-Class>
							<Class-Path>.</Class-Path>
							<Build-Number>1</Build-Number>
						</manifestEntries>
					</transformer>
				</transformers>
			</configuration>
		</execution>
	</executions>
</plugin>

maven build > goals = "package shade:shade"


폴더구조는 아래와 같다.


libs 폴더는 jar 내부에 포함된다.



Posted by KENSIN
,

구동에 필요한 의존성 라이브러리를 모두 (외부폴더로)포함해서 jar 를 생성하도록 해본다.


pom.xml 에서 jar 플러그인을 수정하고 dependency 플러그인을 추가하고 설정한다.

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<configuration>
		<archive>
			<manifest>
				<mainClass>printTime.GetTime</mainClass>
				<addClasspath>true</addClasspath>
				<classpathPrefix>libs/</classpathPrefix>
			</manifest>
		</archive>
	</configuration>
</plugin>

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-dependency-plugin</artifactId>
	<version>2.5.1</version>
	<executions>
		<execution>
			<id>copy-dependencies</id>
			<phase>package</phase>
			<goals>
				<goal>copy-dependencies</goal>
			</goals>
			<configuration>
				<includeScope>runtime</includeScope>
				<outputDirectory>${project.build.directory}/libs/</outputDirectory>
			</configuration>
		</execution>
	</executions>
</plugin>


libs 폴더를 추가하고 해당 폴더에 라이브러리들을 넣어 주도록 설정하였다.


jar 플러그인은 클래스패스 선언을 관리하여 MANIFEST.MF 에 넣어줄것이고, dependency 플러그인은 폴더를 생성하고 라이브러리들을 복사하여 줄것이다.


Maven build goals = package 를 진행해 보자. 


생성된 jar 의 MANIFEST.MF 를 살펴보면 아래와 같다.


Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Built-By: macdev

Class-Path: libs/log4j-api-2.11.1.jar libs/log4j-core-2.11.1.jar

Created-By: Apache Maven 3.3.9

Build-Jdk: 1.8.0_77

Main-Class: printTime.GetTime


Class-Path 가 추가된것을 확인할 수 있다.


jar가 생성된 폴더에 libs 폴더도 생성되었고 libs 폴더 내부에 로그 라이브러리들도 들어 있다.

별도의 classpath 를 불러 올 필요가 없어졌다. 실행해 보도록 하자.


java -jar printTime-1.0.0.jar

 







Posted by KENSIN
,

프로그램 실행시 작업을 수행하고 로그를 남길수 있도록 해본다.


컴파일러를 명확하게 지정하고 로그를 기록하기 위한 플러그인을 추가해 보도록 한다.


pom.xml 수정


1. 버전관리를 한곳에 모아 보기 좋도록 버전값을 속성화 한다. (root 아래)

<properties>
	<jdk.version>1.8</jdk.version>
	<log4j2.version>2.11.1</log4j2.version>
</properties>


2. logging 라이브러리 의존성 추가 (root 아래)

<dependencies>
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-api</artifactId>
		<version>${log4j2.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>${log4j2.version}</version>
	</dependency>
</dependencies>


3. compile 플러그인 추가. (build > plugins 에 삽입)

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.5.1</version>
	<configuration>
		<source>${jdk.version}
		<target>${jdk.version}</target>
	</configuration>
</plugin>


4. Maven build 실행 하면 jar 생성


jar 실행하여 확인.


java -classpath "printTime-1.0.0.jar;[경로]\log4j-api-2.11.1.jar;[경로]\log4j-core-2.11.1.jar" printTime.GetTime



현상태에서의 MANIFEST.MF 의 내용은 아래와 같다.

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Built-By: macdev

Created-By: Apache Maven 3.3.9

Build-Jdk: 1.8.0_77

Main-Class: printTime.GetTime


폴더구조는 아래와 같다.





Posted by KENSIN
,

이클립스에서 new > maven project


create simple project 체크 하고 next


내용 입력하고 finish




프로젝트 기본 구조는 아래처럼 생성된다.



pom.xml 을 열어보면 앞서 입력한 기본정보만 등록되어 있다.



<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.macdev.study</groupId>
	<artifactId>printTime</artifactId>
	<version>1.0.0</version>
	<name>macdev</name>
	<description>시간출력</description>
</project>


src/main/java 에 new > class 로 자바파일을 생성한다.



package printTime;

import java.util.Calendar;

public class GetTime {
	public static void main(String[] args) {
		System.out.println(Calendar.getInstance().getTime());
	}
}

Wed Jan 09 17:20:04 KST 2019





jar 생성을 위해 pom.xml 에 maven plugin 을 추가한다. (maven-jar-plugin)


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelversion>4.0.0</modelversion>
	<groupid>org.macdev.study</groupid>
	<artifactid>printTime</artifactid>
	<version>1.0.0</version>
	<name>macdev</name>
	<description>시간출력</description>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<mainClass>printTime.GetTime</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>


메뉴에서 Run > Run As > Maven build 선택 후 대화상자의 Goals 에 "package" 라고 입력하고 Run 실행.

콘솔에 오류가 없이 정상적으로 진행이 되었다면 아래와 같이 target 에 jar 파일이 생성된다.





해당위치에서 커맨드를 입력하여 실행하여 본다.


java -jar printTime-1.0.0.jar



Posted by KENSIN
,