반응형
반응형

인생의 의미는 끊임없이 다른 존재로 되어가기의 과정에서 발견되는 것이다.

반응형
반응형

동문시장 청양수산 회포장

늘 전화주문하고 받으러갑니다~ 좋아요~  제주특별자치도 제주시 오현길 90 

064-753-1510

 

반응형
반응형

12 Extremely Useful Hacks for JavaScript

https://github.com/maketroli/js-hacks/blob/master/README.md

 

maketroli/js-hacks

12 Extremely Useful Hacks for JavaScript. Contribute to maketroli/js-hacks development by creating an account on GitHub.

github.com

1) Converting to boolean using !! operator

function Account(cash) {
    this.cash = cash;
    this.hasMoney = !!cash;
}

var account = new Account(100.50);
console.log(account.cash); // 100.50
console.log(account.hasMoney); // true

var emptyAccount = new Account(0);
console.log(emptyAccount.cash); // 0
console.log(emptyAccount.hasMoney); // false

2) Converting to number using + operator

function toNumber(strNumber) {
    return +strNumber;
}

console.log(toNumber("1234")); // 1234
console.log(toNumber("ACB")); // NaN
This magic will work with Date too and, in this case, it will return the timestamp number:

console.log(+new Date()) // 1461288164385

3) Short-circuits conditionals

if (conected) {
    login();
}

conected && login();

user && user.login();

4) Default values using || operator

function User(name, age) {
    this.name = name || "Oliver Queen";
    this.age = age || 27;
}

var user1 = new User();
console.log(user1.name); // Oliver Queen
console.log(user1.age); // 27

var user2 = new User("Barry Allen", 25);
console.log(user2.name); // Barry Allen
console.log(user2.age); // 25

5) Caching the array.length in the loop

/*
This tip is very simple and causes a huge impact on the performance when 
processing large arrays during a loop. Basically, 
almost everybody writes this synchronous for to iterate an array:
*/
for(var i = 0; i < array.length; i++) {
    console.log(array[i]);
}

/*
If you work with smaller arrays – it’s fine, but if you process large arrays, 
this code will recalculate the size of array in every iteration of this loop and 
this will cause a bit of delays. 
To avoid it, you can cache the array.length in a variable to use it instead of invoking 
the array.length every time during the loop:
*/
var length = array.length;
for(var i = 0; i < length; i++) {
    console.log(array[i]);
}

//-- To make it smaller, just write this code:
for(var i = 0, length = array.length; i < length; i++) {
    console.log(array[i]);
}

; }

6) Detecting properties in an object

This trick is very useful when you need to check if some attribute exists and it avoids running undefined functions or attributes. If you are planning to write cross-browser code, probably you will use this technique too. For example, let’s imagine that you need to write code that is compatible with the old Internet Explorer 6 and you want to use the document.querySelector(), to get some elements by their ids. However, in this browser this function doesn’t exist, so to check the existence of this function you can use the in operator, see this example:

if ('querySelector' in document) {
    document.querySelector("#id");
} else {
    document.getElementById("id");
}

7) Getting the last item in the array

The Array.prototype.slice(begin, end) has the power to cut arrays when you set the begin and end arguments. But if you don’t set the end argument, this function will automatically set the max value for the array. I think that few people know that this function can accept negative values, and if you set a negative number as begin argument you will get the last elements from the array:

var array = [1,2,3,4,5,6];
console.log(array.slice(-1)); // [6]
console.log(array.slice(-2)); // [5,6]
console.log(array.slice(-3)); // [4,5,6]

8) Array truncation

var array = [1,2,3,4,5,6];
console.log(array.length); // 6
array.length = 3;
console.log(array.length); // 3
console.log(array); // [1,2,3]

9) Replace all

The String.replace() function allows using String and Regex to replace strings, natively this function only replaces the first occurrence. But you can simulate a replaceAll() function by using the /g at the end of a ​Regex:

var string = "john john";
console.log(string.replace(/hn/, "ana")); // "joana john"
console.log(string.replace(/hn/g, "ana")); // "joana joana"

10) Merging arrays

var array1 = [1,2,3];
var array2 = [4,5,6];
console.log(array1.concat(array2)); // [1,2,3,4,5,6];

/*
However, this function is not the most suitable to merge large arrays 
because it will consume a lot of memory by creating a new array. 
In this case, you can use Array.push.apply(arr1, arr2) which 
instead creates a new array – it will merge the second array in 
the first one reducing the memory usage:
*/
var array1 = [1,2,3];
var array2 = [4,5,6];
console.log(array1.push.apply(array1, array2)); // [1,2,3,4,5,6];

11) Converting NodeList to Arrays

If you run the document.querySelectorAll("p") function, it will probably return an array of DOM elements, the NodeList object. But this object doesn’t have all array’s functions, like: sort(), reduce(), map(), filter(). In order to enable these and many other native array’s functions you need to convert NodeList into Arrays. To run this technique just use this function: [].slice.call(elements):

var elements = document.querySelectorAll("p"); // NodeList
var arrayElements = [].slice.call(elements); // Now the NodeList is an array
var arrayElements = Array.from(elements); // This is another way of converting NodeList to Array

12) Shuffling array’s elements

var list = [1,2,3];
console.log(list.sort(function() { Math.random() - 0.5 })); // [2,1,3]

 

​#javascript

#!! #operator #+ #number

#Short-circuit

#array.length #loop

#detecting #properties #object

#item #array

#array_truncation

#replaceAll #replace

#merging #array #merging_array

#NodeList to #Array

#Shuffling #elements

반응형
반응형

미소를 짓는 행동만으로도 기분이 좋아지고 면역력이 증가하며,
스트레스가 줄어들고 혈압이 낮아진다.
또한 심장마비의 위험성이 적어진다. 1번 웃으면
초콜릿바 2000개를 섭취하는 것에 필적하는 수준으로 뇌를 자극할 수 있다.
웃는 얼굴은 수명과도 관련이 있다.
- 크리스틴 포래스, ‘무례함의 비용’ 

활짝 웃는 메이저리그 선수들의 평균 수명은 79세,
별로 웃지 않는 선수들의 평균 수명은 72세였습니다.
웃는 얼굴 덕분에 7년을 더 살았습니다.
“미소나 다정한 말 한마디, 경청하는 자세, 마음을 담은 칭찬,
아주 사소한 배려는 우리 삶의 방향을 바꿀 수 있는데,
사람들은 이런 행동의 잠재력을 너무 과소평가한다.”(레오 버스카글리아)

반응형
반응형

나는 아직도
존재가 무엇인지 잘 모른다.
의식이 무엇인지 잘 모른다. 하지만
희열이 어떤 것인지는 알고 있다. 그것은
온전하게 현재에 존재하는 느낌, 진정한
나 자신이 되기 위해 해야 하는
어떤 것을 하고 있을 때의
느낌이다.

- 조셉 캠벨의《블리스 내 인생의 신화를 찾아서》중에서 -


* 2019년 한해를 마감하는 마지막날입니다.
올 한 해도 무고들 하셨는지요. 기쁨과 희열을 맛본
순간들은 얼마나 있으셨나요? 풍요와 안락의 시간도
기쁨을 안겨주었지만, 한 번 돌이켜 보십시오. 궁핍과
고통의 시간도 돌아보니 의미가 있었지 않습니까?
그 힘든 시간을 오직 현재에 존재하는 마음으로
잘 견디어낸 자기 자신이 희열이지 않습니까?
내가 나를 이겨낸 기쁨. 그보다
더 큰 희열은 없습니다.

반응형

'아침편지' 카테고리의 다른 글

긍정적 목표가 먼저다  (0) 2020.01.02
새해 복 많이 지으세요!  (0) 2020.01.02
낯선 풍경이 말을 걸어왔다  (0) 2019.12.30
상대를 바꾸려는 마음  (0) 2019.12.28
간디의 길  (0) 2019.12.27
반응형

자요우(加油)는 글자 그대로 기름을 더한다는 뜻으로 중국사람들은 격려하거나 응원할 때 이 말을 자주 사용한다. 그런데 최근 중국 네티즌 사이에 이 자요우(加油)를 영어로 어떻게 번역할 것인가를 놓고 토론이 벌어지고 있다. 정확한 의미를 전달할 영어 단어를 찾아내지 못했기 때문이다.

실제로 '자요우(加油)'는 다양한 상황에서 사용되고 그 때마다 뉘앙스가 조금씩 다르다.

 예를 들어, 올림픽 경기장에서 응원하며 외치는 "자요우"의 의미는 "이겨라!" 정도의 뜻이지만 원촨(汶川) 지진 당시의 '원촨자요우(汶川加油!)', '쓰촨자요우(四川加油!)'등에서는 의미가 다소 다르다.

많은 중국 네티즌들이 "Go, China!", "Come on, China!" 등의 다양한 의견을 제시했지만 아직까지 모두의 공감을 얻을만한 적절한 표현을 찾지 못하고 있는 실정이다.

반응형

+ Recent posts