Skip to content

Instantly share code, notes, and snippets.

View peterkimzz's full-sized avatar

Peter Donghyun Kim peterkimzz

View GitHub Profile
// 브라우저 뒤로가기 눌렀을 때 발생하는 이벤트
addEventListeners() {
window.onpopstate = () => {
this.isLoungeVisible = false
window.scrollTo(0, this.scrollY)
}
},
fetchLounges() {
const options = {
method: 'get',
@peterkimzz
peterkimzz / redis.config.js
Created November 1, 2018 08:05
자바스크립트 redis configuration
module.exports = session => {
const RedisStore = require('connect-redis')(session)
const { REDIS_HOST, REDIS_PORT, REDIS_SECRET } = process.env
return {
resave: false,
saveUninitialized: false,
secret: REDIS_SECRET || 'YOUR_SERCERT_KEY',
name: 'YOUR_REDIS_NAME',
cookie: { httpOnly: true, secure: false },
@peterkimzz
peterkimzz / aws-s3.config.js
Last active November 1, 2018 08:05
자바스크립트 aws-s3, multer-s3 예제
const AWS = require('aws-sdk')
AWS.config.update({
region: process.env.AWS_REGION || 'ap-northeast-2',
accessKeyId: process.env.AWS_ACCESS_KEY,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
})
const s3 = new AWS.S3()
module.exports = s3
@peterkimzz
peterkimzz / data-comparison.sql
Created November 1, 2018 08:01
MySQL Timestamp 데이터 타입 비교하기
SELECT
DATE_FORMAT(r.createdDate, '%Y%m%d') AS date,
count(r.id) AS total
FROM
reviews r
WHERE
DATE_FORMAT(r.createdDate, '%Y%m%d') > DATE_ADD(NOW(), INTERVAL -7 DAY)
@peterkimzz
peterkimzz / formatter.js
Created November 1, 2018 04:37
숫자를 k, M 등으로 축약해서 반환하기
const nFormatter = (num, digits) => {
const si = [
{ value: 1, symbol: '' },
{ value: 1e3, symbol: 'k' },
{ value: 1e6, symbol: 'M' },
{ value: 1e9, symbol: 'G' },
{ value: 1e12, symbol: 'T' },
{ value: 1e15, symbol: 'P' },
{ value: 1e18, symbol: 'E' }
]
@peterkimzz
peterkimzz / bounding.js
Created November 1, 2018 04:36
getBoundingClientRect를 이용해 HTML 엘리먼트를 다루기
function setFixedContainer() {
const handleScroll = () => {
const $container = this.$refs.contactSupplier
const { y } = $container.getBoundingClientRect()
console.log(y)
}
window.addEventListener('scroll', handleScroll)
}
@peterkimzz
peterkimzz / autoresize.vue
Created November 1, 2018 04:35
Vuejs 자동으로 높이를 조절하는 Textarea
<template>
<textarea
id="textarea"
:placeholder="placeholder"
:value="value"
name="textarea"
@input="input($event.target.value)"/>
</template>
<script>
@peterkimzz
peterkimzz / serialize.js
Created November 1, 2018 04:31
오브젝트를 쿼리스트링으로 변환하기
export const serialize = obj => {
return (
'?' +
Object.keys(obj)
.reduce(function(a, k) {
a.push(k + '=' + encodeURIComponent(obj[k]))
return a
}, [])
.join('&')
)
@peterkimzz
peterkimzz / categories.sql
Last active November 1, 2018 04:32
부모 아이디를 가진 카테고리를 순서에 맞게 가져오기
SELECT
l3.id AS locationId,
l1.name AS name1,
l2.name AS name2,
l3.name AS name3,
CONCAT_WS(" ", l1.name, l2.name, l3.name) AS location
FROM
static_locations l1
@peterkimzz
peterkimzz / left-join.sql
Last active November 1, 2018 04:32
하위 테이블을 LEFT JOIN 할 때 최신 한 줄만 가져오는 쿼리
LEFT JOIN
news n
ON
n.salonId = s.id AND
n.date = (
SELECT
MAX(date)
FROM
news
WHERE