vue console 경고 창 무시 방법
log 앞 뒤로 주석 추가.
Rule로 바꾸는 방법이 있다고 하지만 테스트가 잘 안되서 나중에 확인..
/* eslint-disable */
console.log(error.response);
/* eslint-enable */
2019년 4월 12일 금요일
vue axios 내부 함수 호출
vue에서 REST 요청을 위해서 axios를 많이 활용 한다.
jQuery에서 $.get(), $.post 와 같이 vue에서는 axios.get()으로 쓴다.
틀은 다음과 같음
axios.get('url')
.then(response => {
//응답 처리
})
.catch(error => {
//에러 처리
});
!then 문에서 methods에 정의된 함수를 호출할 경우 Reference Error가 발생 할 수 있다.
=> 해결 방법은 axios 호출 전에 this를 임시 변수에 넣고 해당 변수를 활용하는 방법으로 해결 할 수 있다. (아래 코드 참조)
jQuery에서 $.get(), $.post 와 같이 vue에서는 axios.get()으로 쓴다.
틀은 다음과 같음
axios.get('url')
.then(response => {
//응답 처리
})
.catch(error => {
//에러 처리
});
!then 문에서 methods에 정의된 함수를 호출할 경우 Reference Error가 발생 할 수 있다.
=> 해결 방법은 axios 호출 전에 this를 임시 변수에 넣고 해당 변수를 활용하는 방법으로 해결 할 수 있다. (아래 코드 참조)
let self = this
axios.get('url')
.then(response => {
response.data.forEach(function(value){
value.a = self.innerMethod(value.a) // Reference Error 발생 부분, this대신 self로 대체
});
self.a = response.data // data 또한 self로 접근
})
.catch(error => {
console.log(error.response);
});
vue data table
https://vuetifyjs.com/en/components/data-tables#data-table 참고
- sort 주의 할 점 :
- 내부적으로 sort에 ascending(오름차 순) / descending(내림차 순) / unsorted (미정렬) 상태가 존재 한다.
- 따라서, data table 컬럼에 sortable을 true로 한 컬럼은 세 가지 상태를 준수하게 된다.
- => 미정렬 상태로 인해 sort가 안되는 것 처럼 보이지만 제대로 작동하는 것
- => 이 부분이 거슬린다면 must-sort를 True로 변경하면 미정렬 상태는 없음
- 사용자 정의 정렬 함수
- Date 데이터는 날짜의 차이에 따라 정렬이 되어야 한다. 따라서 custom-sort props에 사용자 정의 정렬 함수를 추가 해야 한다.
<v-data-table :custom-sort="customSort" :headers="headers"></v-data-table>
- custom-sort 함수는 (item 목록, index (column의 value 값), 정렬 방법) 세가지 인자 값을 가지고 정렬된 목록의 아이템을 반환하면 된다. (props의 custom-sort 참조)
- 대략적인 소스는다음과 같다.
customSort(items, index, isDescending) {
items.sort((a, b) => {
if (index === 'Column Name') {
if (isDescending) {
return new Date(b.timestamp) - new Date(a.timestamp);
} else {
return new Date(a.timestamp) - new Date(b.timestamp);
}
}
//필요하다면 else-if문으로 column에 따라 다르게 적용가능
});
return items; }
- 첫 행 CSS 안 먹히는 버그
- 무심코 넘어갈려다가 보니 페이지의 첫 행들은 모두 CSS가 안먹는 버그가 발생 (page 첫 로드 시에만)
- 이때는 key props를 할당하면 다시 원하는 CSS가 먹힘(이상하게 콘솔로 찍으면 태그의 클래스가 혼자 다르게 먹음..)
- 예를 들어, v-for로 하였다면 key를 i로 한다던지, 특정 데이터를 반복하여 생성하였다면 해당 아이템의 id를 key로 할당 (:key="i")
라벨:
웹,
프론트엔드,
v-data-table,
Vue,
Web
2019년 4월 10일 수요일
vue create 명령어로 만든 프로젝트 IP, port 변경
vue create ""Project Name" 으로 생성시 (vue-cli 3.x 버전 이후..) npm run serve를 수행하면
Local (localhost:8080), Network(내부 ip 주소:8080)으로 실행이 됨
!!외부 ip 주소 혹은 포트를 변경하고 싶다면
project/package.json 내용 변경
=>
{
"name" : ..
"version" : ..
"private" :
"scripts" :{
"serve" : "vue-cli-service serve",
...
}
}
==>
{
"name" : ..
"version" : ..
"private" :
"scripts" :{
"serve" : "vue-cli-service serve --host 203.x.x.x --port 8081",
...
}
}
즉, npm run serve 에서 serve는 스크립트를 수행 하는 명령어. 내부 적으로는 vue-cli-service를 실행
Local (localhost:8080), Network(내부 ip 주소:8080)으로 실행이 됨
!!외부 ip 주소 혹은 포트를 변경하고 싶다면
project/package.json 내용 변경
=>
{
"name" : ..
"version" : ..
"private" :
"scripts" :{
"serve" : "vue-cli-service serve",
...
}
}
==>
{
"name" : ..
"version" : ..
"private" :
"scripts" :{
"serve" : "vue-cli-service serve --host 203.x.x.x --port 8081",
...
}
}
즉, npm run serve 에서 serve는 스크립트를 수행 하는 명령어. 내부 적으로는 vue-cli-service를 실행
Vue draggable
Vue draggable (https://github.com/SortableJS/Vue.Draggable)
move 이벤트를 통해 draggable의 함수 적용 시
=> move 이벤트는 소스 draggable 태그에 작성
=> 타겟 draggable에서는 새로운 아이템이 들어오더라도 move 함수 실행이 작동 x
=> 대신 change 이벤트에 added 이벤트로 접근 가능 (이미 added 된 상태이기 때문에 added 되기 전 이벤트를 감지하지는 못함.)
group의 name으로 드래그-앤-드롭이 가능한 리스트를 식별
pull : 'clone' => 아이템을 뺄 때 '복제'되어 이동 (원본 리스트에서는 삭제 x)
put : false => 아이템이 드롭 불가능
:sort="false" => 내부 정렬 불가능 속성
move => return 을 true로 하면 이동 허용, false는 이동 불가
(move 함수내에서 evt.relatedContext.list 내에 중복 element가 있는지 확인하여 중복 여부를 가지고 리스트 중복 제거 가능)
move 이벤트로 접근 가능한 속성은 다음과 같음
move 이벤트를 통해 draggable의 함수 적용 시
=> move 이벤트는 소스 draggable 태그에 작성
=> 타겟 draggable에서는 새로운 아이템이 들어오더라도 move 함수 실행이 작동 x
=> 대신 change 이벤트에 added 이벤트로 접근 가능 (이미 added 된 상태이기 때문에 added 되기 전 이벤트를 감지하지는 못함.)
group의 name으로 드래그-앤-드롭이 가능한 리스트를 식별
pull : 'clone' => 아이템을 뺄 때 '복제'되어 이동 (원본 리스트에서는 삭제 x)
put : false => 아이템이 드롭 불가능
:sort="false" => 내부 정렬 불가능 속성
move => return 을 true로 하면 이동 허용, false는 이동 불가
(move 함수내에서 evt.relatedContext.list 내에 중복 element가 있는지 확인하여 중복 여부를 가지고 리스트 중복 제거 가능)
move 이벤트로 접근 가능한 속성은 다음과 같음
- evt.draggedContext : 드래그 한 element의 context 정보
- evt.draggedContext.index : 드래그한 element의 인덱스 (draggable 태그의 :list(혹은 v-model)과 연결된 data에서의 인덱스
- evt.draggedContext.element : 드래그한 element
- evt.draggedContext.futureIndex : 드롭이 성공했을 때 들어갈 해당 draggable 태그의 :list(혹은 v-model)과 연결된 data에서의 인덱스
- evt.relatedContext : 드롭 대상 element의 context 정보
- evt.relatedContext.index : 드롭 대상의element의 인덱스
- evt.relatedContext.element : 드롭 대상의 element
- evt.relatedContext.list : 드롭 대상의 list 정보 (해당 list 확인을 통해 중복 체크 확인 가능)
- evt.relatedContext.component : 드롭 대상의 VueComponent
2018년 7월 24일 화요일
hive 빡..
hive 2.3.3
1. hive-env.sh에 HADOOP_HOME 설정
2. hive 쉘 실행 => show tables;
=>
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
1. hive-env.sh에 HADOOP_HOME 설정
2. hive 쉘 실행 => show tables;
=>
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
해결책 :
1.hive 쉘 실행 위치에 metastor_db 폴더가 생김 -> rm으로 삭제
2. schematool -initSchema -dbType derby 실행
3. hive 쉘 실행 => show tables; => 정상 작동
공식 문서에는 아래 명렁어를 실행하라고 되어있음.
(참고 : https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallationandConfiguration)
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp $ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse $ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp $ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
2016년 5월 4일 수요일
postgreSQL 설치
#postgres 설치 참조 : https://wiki.postgresql.org/wiki/Apt
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.5 pgadmin3
#유저 생성
sudo -u postgres createuser -W dojin
#유저 db 생성
sudo -u postgres createdb testdb -O dojin
#쉘 접속
psql testdb
#*.conf 파일 위치
sql -> show config_file;
/etc/postgresql/9.5/main/*.conf
#*.conf 설정법
postgresql.conf
=> address = "*"
pg_hba.conf
=> host all all 0.0.0.0/0 md5
#기타
sudo service postgres [stop/start]
#설치 2 - yum 설치
#https://wiki.postgresql.org/wiki/YUM_Installation
exclude=postgresql*
yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum install postgresql94-server
#data directory
ls /var/lib/pgsql/9.4/data/
#한번만 하면댐.
service postgresql-9.4 initdb
#만약 안된다면
/usr/pgsql-9.4/bin/postgresql94-setup initdb
#auto start .
chkconfig postgresql-9.4 on
#서비스 시작
service postgresql-9.4 start
#삭제
yum erase postgresql94*
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.5 pgadmin3
#유저 생성
sudo -u postgres createuser -W dojin
#유저 db 생성
sudo -u postgres createdb testdb -O dojin
#쉘 접속
psql testdb
#*.conf 파일 위치
sql -> show config_file;
/etc/postgresql/9.5/main/*.conf
#*.conf 설정법
postgresql.conf
=> address = "*"
pg_hba.conf
=> host all all 0.0.0.0/0 md5
#기타
sudo service postgres [stop/start]
#설치 2 - yum 설치
#https://wiki.postgresql.org/wiki/YUM_Installation
exclude=postgresql*
yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum install postgresql94-server
#data directory
ls /var/lib/pgsql/9.4/data/
#한번만 하면댐.
service postgresql-9.4 initdb
#만약 안된다면
/usr/pgsql-9.4/bin/postgresql94-setup initdb
#auto start .
chkconfig postgresql-9.4 on
#서비스 시작
service postgresql-9.4 start
#삭제
yum erase postgresql94*
피드 구독하기:
글 (Atom)