찰스 두히그- 습관의 힘

면접관 이형의 유튜브에서 꼭 봐야할 추천 도서를 보고 나서

추천 도서 중에 찰스 두히그의 습관의 힘이 가장 끌려서 읽어 보았다.

 

읽으면서 정말 좋은 책이라고 느껴지는 것이 단순하게 습관을 설명하지 않고,

뇌 과학이나 심리학 등의 실험들을 인용하여 습관을 설명하고, 실제로 있었던 예시들을 같이 보여주었기 때문에

훨씬 더 흥미롭게 읽었던 것 같다.

목차를 보면 개인의 습관, 기업의 습관, 사회의 습관으로 나뉘어져 있는데

각각이 달라 보이면서 크게 보면 같다는 것이 신기할 따름이다.

 

그리고 가장 중요한 것으로 마지막에 Appendix로 (중간중간에도 주요한 내용이 나오지만)

[누구나 습관을 바꿀 수 있다 - 좋은 습관을 갖기 위한 4가지 법칙] 을 알려준다.

 

나는 이제 막 이 책을 읽었기 때문에 아직 바뀐 습관은 없지만

정해진 시간에 공부하는 습관, 꾸준히 블로그에 글을 올리는 습관, 아침에 일찍 일어나는 습관

이 3가지를 습관으로 만들어볼 예정이다.

 

생각보다 굉장히 논리적이고, 친절하게 설명을 해주는 책이므로

많은 사람들이 이 책을 읽고 좋은 습관을 만들어 갔으면 좋겠다.

개인적으로 나는 좋은 사회가 되기 위해서는 개개인이 바뀌는 것이 먼저라고 생각하기 때문이다.

It is written after reading Efficient R programming book website.(https://csgillespie.github.io/efficientR/)


1. Prerequisites

library("microbenchmark")
library("profvis")
library("ggplot2")

#install 3 packages and attach by using install.packages() and library()


2. profiling

profvis( expr = { any code })

# this code can show you how long each code takes and how much each code takes by percent


3. system and Ram

Sys.info()

#see your OS and its version etc.


# Note: uses 2+ GB RAM and several seconds or more depending on hardware

# 1: Create large dataset

X = as.data.frame(matrix(rnorm(1e8), nrow = 1e7))

# 2: Find the median of each column using a single core

r1 = lapply(X, median)

# 3: Find the median of each column using many cores

r2 = parallel::mclapply(X, median)

#mclapply only work in parallel on Mac or Linux. we must use parLapply() on Windows.


4. packages

install.packages('installr')

installr::updateR()

#if R return FALSE, your Rversion is uptodate.


pkgs = c('raster', 'leaflet', 'rgeos')

install.packages(pkgs)

inst = lapply(pkgs, library, characher.only = TRUE)

#to shorten code, install packages in only two line of code and use lapply

#to make library(pkgs[i]).

#we use library instead of require because the former returns error when pkg is not installed.


update.packages()

#default of ask parameter is TRUE, change it to FASLE if you want.

#if you want this code run automatically when starting R

#you can add update.packages(ask = FALSE) in .Rprofile startup file


5. .Rprofile

# A fun welcome message
message("Hi your name, Welcome")

#print fortune message when R starts
if(interactive()) 
  try(fortunes::fortune(), silent = TRUE)

# `local` creates a new, empty environment
# This avoids polluting .GlobalEnv with the object r
local({
  r = getOption("repos")             
  r["CRAN"] = "https://cran.rstudio.com/"
  options(repos = r)
})

#nice par for nice plotting
nice_par = function(mar = c(3, 3, 2, 1), mgp = c(2, 0.4, 0), tck = -0.01, 
                    cex.axis = 0.9, las = 1, mfrow = c(1, 1), ...) {
  par(mar = mar, mgp = mgp, tck = tck, cex.axis = cex.axis, las = las, 
      mfrow = mfrow, ...)
}

#.env makes hidden environment
.env = new.env()
#head and tail function
.env$ht = function(d, n = 5) rbind(head(d, n), tail(d, n))
attach(.env)

#.Last will work when R session ended.
.Last = function() {
  cond = suppressWarnings(!require(fortunes, quietly = TRUE))
  if(cond) 
    try(install.packages("fortunes"), silent = TRUE)
  message("Goodbye at ", date(), "\n")
}


'Programming' 카테고리의 다른 글

가상환경을 위해 WSL(windows subsystem for Linux) 깔아보기  (0) 2020.05.06
html, css 가운데 정렬 총 정리  (0) 2020.04.11
[R] ggplot error message  (0) 2018.12.06
[R] ggplot basic item  (0) 2018.12.06
[R] ggplot coloring manual  (0) 2018.12.06

몇 달 전에 리브메이트에서 MVP 고객들에게 여러 쿠폰들을 주는 걸

사용하는 방법을 올렸었는데

이번에 저도 쓰려고 보니까 앱이 완전히 바뀌었더라구요.

그래서 다시 쓰는 MVP 쿠폰 사용하는 방법!

1. 먼저 로그인을 해줍시다.


2. 마이페이지로 가줍시다. 이제는 쿠폰 메뉴와 따로 되어 있습니다.


3. 오른쪽 위에 있는 MVP스타를 클릭해줍시다.


4. MVP쿠폰이 보입니다. 들어가 줍시다.


5. 쓸 만 한 쿠폰들이 많이 보이는데 다운받으면 쿠폰함에 들어갑니다.

6. 그럼 매장에 가서 쿠폰을 써줍시다.



참고로 몇 개는 한 달마다 선착순이 있습니다.

뭐 월 중순만 지나지 않으면 남아 있는 경우가 꽤 있어서

급하게 받아 놓지는 않지만

너무 늦게 받으면 선착순이라 못 받는 경우도 있습니다.

폴 바셋 쿠폰 같은 경우에는 어떤 제한 없이 공짜로 커피 한 잔을 주니까

애용하는 편입니다.

롯데시네마 쿠폰도 여러번 썼고요.

근처에 폴 바셋이나 롯데시네마가 있으면 매달 유용하게 쓰시길 바랍니다.


1. error message

1. Title 

... + ggtitle('title') # or labs(title = 'title', ...)

# title appears at topright by default. To move title to center

... + theme(plot.title = element_text(hjust = 0.5))


2. labels

... + xlabs('label') + ylabs('label') # or labs(x = 'xlab', y = 'ylab')


3. line

... + geom_line(size = 2, color = '') # just connect points with line

... + geom_abline(size = 2, color = '') # draw regression line

... + geom_vline(size = 2, color = '') # draw vertical line

... + geom_hline(size = 2, color = '') # draw horizontal line


4. draw dynamic plot with manipulate function

myplot <- function(dynamic variable){

d <- data.frame(..., temp = dynamic variable, ...),

g <- ggplot(d, aes(...))

g <- g + geom_line()

...

g

}

manipulate(myplot(dynamic variable), slider(min, max, step = 1))






+ Recent posts