Curl Up Black Cat

이미지출처: pixabay

일부 원칙과 디자인 패턴들에는 Node.js 플랫폼과 생태계에 대한 개발자의 경험이 제대로 녹아있다. 가장 특별하게 생각할 수 있는 것은 아마도 콜백과 프라미스와 같은 비동기적 구성이 많이 사용되었다는 점이다.  Node.js를  특별하게 만드는 중요한 측면들 중 하나는 그것의 철학이다. Node.js를 알아가는 것은 단순히 새로운 기술을 배우는 것이 아니라 Node.js 가 가진 문화와 커뮤니티를 받아들인다는 의미를 갖는다.

 

Node.js 철학

모든 프로그래밍 플랫폼은 자신들만의 철학, 커뮤니티에서 따르게 되는 일련의 원칙들과 지침, 플랫폼의 진화와 애플리케이션 개발 및 디자인에 영향을 주는 이데올로기를 가지고 있다. 이러한 규칙들은 강제적인 것이 아니며 항상 따를 필요도 없지만 우리들이 소프트웨어를 디자인하는 데에 있어 영감을 얻고자 할 때 많은 도움이 된다.

 

1. 경량 코어

Node.js 코어는 몇 가지 원칙들을 기반으로 자신의 기초를 구성하였다. 그 중 한 가지는 최소한의 기능 세트를 가지고 코어의 바깥 부분에 유저랜드(userland) 혹은 유저스페이스(userspace)라 불리는 사용자 전용 모듈 생태계를 두는 것이다. 이 원칙이 Node.js 문화에 엄청난 영향을 주었고 그 영향으로 엄격하게 관리되어 안정적이지만 느리게 진화하는 해결책을 갖는 대신 커뮤니티가 사용자 관점에서의 폭넓은 해결책을 실험해볼 수 있는 자유를 주었다. 코어를 최소한의 기능 세트로 관리하는 것은 관리의 관점에서 편리할 뿐 아니라 전체 생태계 진화에 있어 긍정적인 문화적 영향을 미칠 수 있다.

 

2. 경량 모듈

Node.js 는 프로그램 코드를 구성하는 기본적인 수단으로 모듈 개념을 사용한다. 모듈은 애플리케이션과 재사용 가능한 라이브러리를 만들기 위한 구성 요소이다. Node.js 에서 가장 널리 통용되는 원칙 중 하나는 코드의 양뿐 아니라 범위 측면에서도 작은 모듈을 디자인하는 것이다. 이 원칙은 Unix 철학에 근거하는데, 특히 다음의 두 가지 수칙이 있다.

  • "작은 것이 아름답다."
  • "각 프로그램은 한 가지 역할만 잘하도록 만들어라."

Node.js 는 패키지 관리자(npm, yarn)의 도움을 받아 각 패키지가 자신이 필요로 하는 버전의 종속성 패키지들을 갖도록 함으로써 종속성 지옥에서 벗어나게 해 준다. 이러한 측면은 패키지가 충돌의 위험 없이 잘 집중화되고 많은 수의 작은 종속성을 가질 수 있도록 해준다. Node.js 에서는 이러한 관행이 표준이고 재사용성 측면을 향상시켜 준다.

 

작은 모듈은 재사용성이라는 장점 외에도 다음의 장점이 있다.

  • 이해하기 쉽고 사용하기 쉽다.
  • 테스트 및 유지보수가 쉽다.
  • 사이즈가 작아 브라우저에서 사용하기에 완벽하다.

더 작고 집중화된 모듈을 갖는 것은 모두에게 공유와 재사용을 가능하게 해준다. 이것은 완전히 다른 수준에 적용된 Don't Repeat Yourself(DRY) 원칙이다

 

3. 작은 외부 인터페이스

Node.js의 모듈들이 갖는 장점은 작은 사이즈와 작은 범위 그리고 최소한의 기능 노출이다. 이러한 것들이 명확하게 사용될 수 있고 잘못된 사용에 덜 노출되도록 하는 API 생산 효과를 갖는다. Node.js 에서 모듈을 정의하는 가장 일반적인 패턴은 명백한 단일 진입점을 제공하기 위해서 단 하나의 함수나 클래스를 노출시키는 것이다.

Node.js의 많은 모듈들의 특징 중 또 다른 하나는 그들이 확장보다는 사용되기 위해서 만들어졌다는 것이다. 확장의 가능성을 금지하기 위해 모듈 내부 접근을 제한한다는 것이 덜 유연하다고 생각되지만 사실은 유스케이스를 줄이고, 구현을 단순화하며, 유지관리를 용이하게 하고, 가용성을 높인다는 장점들을 가지고 있다.

 

4. 간결함과 실용주의

완벽하고 모든 기능을 갖춘 소프트웨어와는 반대로 단순하게 설계하는 것이 좋은 실천이다. 구현을 위해서 적은 노력이 들고, 가벼워서 빨리 보급 가능하며, 유지보수가 쉽고 빠른 이해가 가능하다. 이러한 요인들이 커뮤니티의 기여를 보다 용이하게 하고 소프트웨어 자체의 성장과 향상을 돕는다.  Node.js 에서 이 원칙이 채택되는 것에 가장 큰 영향을 준 것은 JavaScript이다. 사실 우리의 소프트웨어가 항상 현실의 근사치이며, 우리는 많은 노력과 유지보수가 필요한 엄청난 양의 코드로 완벽에 가까운 소프트웨어를 만들어 내려고 애쓰는 것보다 합리적인 복잡성을 가지고 빠르게 일할 때 더 많은 성공을 이뤄낼 것이다. 싱글톤이나 데코레이터와 같은 상당수의 전통적인 디자인 패턴을 완전하지는 않더라도 간단하게 구현할 수 있으며, 대부분의 경우 완전하고 완벽한 설계보다 복잡하지 않은 실용적인 접근 방식이 얼마나 선호되는지 보게 될 것이다.

'💻 프로그래밍 > 🅽 Node.js' 카테고리의 다른 글

Factory Design Pattern 2  (0) 2022.09.23
Factory Design Pattern 1  (0) 2022.09.21
Retry Promise Design Pattern  (0) 2022.09.20
Promise.all 병렬 실행  (0) 2022.09.19
return vs return await 함정  (0) 2022.09.19

프로그래머라면 누구나 더 나은 개발자가 되고 싶어 합니다. 저도 어떻게 해야 좋은 개발자로 성장할 수 있는 건지 늘 궁금하였습니다.
이 글은 제가 프로그래밍을 처음 시작할 적에 제게 도움을 많이 주었던 첫 멘토가 알려주었던 블로그의 글입니다. 더 나은 개발자로 성장하는 방법을 소개하는데요. 여러분들에게도 좋은 정보를 공유하고 싶어 블로깅하였습니다.

이 글은 NewRelic 블로그의 "8 essential tips to become a better coder"라는 글의 한글 번역입니다. 오역이 있을 수 있습니다.

 

8 essential tips to become a better coder

Want to become a better coder? We put together these actionable, step-by-step essential tips to go from being a good programmer to a great one.

newrelic.com


당신의 프로그래밍 스킬을 향상시키는 방법에 대해 진지하게 얘기해 봅시다. 시작!
“쩌는 프로그래머 되기”는 커리어 향상 목표로 삼기에 좋아 보이지만 사실 간단한 일은 아닙니다. 예를 들어 “더 잘하고 싶다” 는 말에는 “더 잘”하는게 어떤 건지 알고 있어야 한다는 가정이 필요하죠. 사실 많은 사람들이 더 나아지기를 원하지만 어떻게 해야하는지에 대해서는 전혀 모르는 경우가 많습니다.
그래서 제가 프로그래밍 스킬을 향상시킬 수 있는 8가지 실행 가능한 가이드라인을 알려드릴게요. 순서대로 따라하시면 됩니다. 이 지혜의 조각들은 컴퓨터 산업의 지난 35년 간 축적되었고 이를 밝히고 기록한 사람들은 이를 발에 있는 메뚜기로 사용해 왔습니다.

1. 배울 것이 얼마나 많은지 상기하세요.

 

무언가를 배우는 첫 걸음은 그것을 모른다는 것을 깨닫는 것입니다. 어찌보면 당연한 얘기지만, 경험 많은 프로그래머들은 스스로 알고 있다는 착각을 극복하는데 얼마나 많은 시간이 필요했는지 알고 있습니다. 많은 전산과 학생들이 “나는 존잘” 이라는 허세, 모든 것을 알고 있다는 강한 확신과 그것을 직장에 가서 동료들에게 증명해보이고픈 강한 욕망을 가지고 학부를 졸업합니다. 다시 말해 “나는 내가 뭘 하고 있는지 알아!” 라는 태도는 새로운 것을 배우는 길에서 멀어지게 합니다.

2. 당신이 맞다는걸 증명하려고 하지 마세요

(단지 잘 하는게 아니라) 훌륭해지기 위해서는 반드시 경험에서 배워야 합니다. 하지만 경험은 우리에게 잘못된 행동을 반복하게 하고 나쁜 습관을 만들어 줄 수도 있으니 조심해야 합니다. 아마 8년 경력의 프로그래머… 8년 간 똑같은 경험만 8번 반복한 프로그래머를 본 적이 있을겁니다. 그렇게 되지 않기 위해서는 당신이 하는 모든 일을 다시 돌아보고 스스로에게 질문하세요. “어떻게 하면 이걸 더 잘 할 수 있지?”
초짜 개발자들(그리고 너무 경험이 많은 개발자들)은 자기 코드를 보면서 그 놀라움에 스스로 감탄합니다. 그들은 자기 코드가 잘 돈다는것을 증명하기 위해서 테스트를 작성합니다. 코드가 잘 못 도는 경우를 찾는게 아니라요. 진정으로 훌륭한 프로그래머는 적극적으로 어디가 잘 못 됐는지를 찾습니다. 자기가 놓친 결함은 결국 사용자가 발견하게 되리라는 것을 알고 있기 때문이죠.

3. “동작하는 코드” 는 끝이 아니라 시작입니다.

네, 첫 걸음은 항상 스펙에 따라 동작하는 소프트웨어를 작성하는 것이죠. 평균적인 프로그래머들은 여기서 끝내고 다음으로 이동합니다.
하지만 일단 “끝”났다고 거기서 멈추는 것은, 스냅 사진을 한 장 찍고 그것이 예술 작품이 되기를 기대하는 것과 같습니다. 훌륭한 프로그래머들은 첫 반복은 그저 첫 반복일 뿐이라는 것을 알고 있습니다. 당신이 작성한 소프트웨어는 동작하지만 — 축하드립니다! — 끝난 것은 아닙니다. 자 이제, 더 낫게 만드세요.
이 과정의 일부는 무엇이 “더 나은” 것인지를 정의하는 것입니다. 더 빠르게 하는 것이 가치있는지? 더 문서화하기 쉽게? 더 재사용하기 편하게? 더 신뢰성있게? 대답은 각 어플리케이션에 따라 달라지지만, 이 과정 자체는 동일합니다.

4. 세 번 다시 작성하세요.

좋은 프로그래머들은 동작하는 소프트웨어를 작성합니다. 훌륭한 프로그래머들은 엄청나게 잘 동작하는 소프트웨어를 작성합니다. 첫 시도에서 그렇게 만들기는 매우 어렵습니다. 최고의 소프트웨어들은 보통 세 번 다시 작성됩니다.

  1. 우선, 스스로(혹은 고객)에게 그 해결책이 가능한 것임을 증명하기 위한 소프트웨어를 작성하세요. 다른 사람들은 그게 개념 증명인지 눈치채지 못 할 지도 모르지만 당신을 그렇게 생각하고 만듭니다.
  2. 두 번째, 동작하게 만드세요.
  3. 세 번째, 올바르게 만드세요.

최고의 개발자들의 작업을 보면 이런 단계로 일하는 것에 확신이 서지 않을 수도 있습니다. 그들이 하는 모든게 끝내주는 것 처럼 보이지만, 사실 록스타 개발자들 조차 그들의 소프트웨어를 다른 사람들에게 보여주기 전에 보통 저 첫 번째, 두 번째 버전을 이미 만들었고 내다 버렸을 겁니다. 만든 코드를 버리고 다시 짜는 것은 “더 낫게 만들기”를 당신의 작업 흐름에 녹여넣을 수 있는 강력한 방법이 될 수 있습니다.
다른 건 제쳐두고라도 “세 번 다시 작성하기”는 최소한 당신의 문제에 얼마나 많은 접근법이 있는지를 가르쳐 줄 수 있습니다. 관습적인 방법에만 얽매이는 걸 막아주기도 하고요.

5. 코드를 읽으세요. 많이 읽으세요.

 

아마 이 조언은 나올 거라고 생각했을 겁니다. 사실 프로그래밍 스킬을 향상시키는 가장 일반적이면서도 가장 값진 방법입니다. 다른 사람의 코드를 읽는 것이 그렇게 중요한지, 그 이유를 말하는 건 조금 덜 뻔할지도 모르겠네요.
다른 사람의 코드를 읽으면 다른 사람들이 프로그래밍 문제를 어떻게 푸는 지를 볼 수 있습니다. 그걸 단지 문자 그대로 보지만 말고 하나의 수업이나 도전 과제로 생각해보세요. 더 잘하기 위해서 스스로 이렇게 질문해 보세요:

  • 나라면 저 코드 블록을 어떻게 짰을까? 어떻게 다르게 할 수 있을까? 다른 해결책이 있나?
  • 뭘 배웠나? 저 기술을 내가 짰던 코드에 어떻게 적용시킬 수 있을까?(“나는 저기 recursive descent를 쓰는 건 생각도 못해봤어…”)
  • 이 코드를 어떻게 하면 개선할 수 있을까? 만약에 확실히 개선할 수 있고 그게 오픈 소스 프로젝트라면? PR을 보내자!
  • 원 작성자의 스타일로 코드 작성해보자. 이 연습은 그 코드를 만든 사람의 머리 속으로 들어가는 연습이 되고, 당신의 공감 능력을 향상시키는데 도움이 됩니다.

이 단계들을 그저 생각만 하지 말고 직접 대답을 적어보세요. 개인 저널이든, 블로그든, 코드 리뷰 프로세스에서든, 아니면 다른 개발자들과의 커뮤니티에서든 다 좋습니다. 그냥 도움을 줄 수 있는 친구에게 문제를 설명하는 것처럼 당신의 생각을 적고 공유하는 것은 왜 당신이 어떤 다른 사람의 코드를 보고그런 생각을 했는지 이해하는데 도움을 줄 수 있습니다. 이모든 것은 당신의 강점과 약점을 냉정하게 판단— 아까 언급한 자기 반성 — 할 수 있게 해줍니다.
경고: 단지 코드를 많이 읽는다고 해서 훌륭한 프로그래머가 되지는 않습니다. 위대한 문학 작품을 많이 읽기만 한다고 작가가 되는 건 아니죠. 수 많은 개발자가 답을 찾기 위해서 오픈 소스나 다른 소프트웨어들을 보지만 대개 비슷한 문제를 해결하는 것 처럼 보이는 코드를 복사해서 붙여넣기만 합니다. 이렇게 하는 것은 다른 사람의 지혜를 생각 없이 맹목적으로 받아들이는 것이기 때문에 사실상 당신을 더 나쁜 프로그래머로 만듭니다.

6. 코드를 작성하세요. 숙제처럼 하지 말고요.

개인적인 프로그래밍 프로젝트를 진행하는 것에는 많은 장점이 있습니다. 우선 당신의 현재 직장에서는 사용하지 못하지만 당신의 다음 직장을 위한 시장 가치를 여줄 수 있는 도구나 기술을 배울 수도 있죠. 오픈 소스 프로젝트에 기여를 하든 지역 사회 단체의 공익 사업 작업을 맡든 당신은 새로운 기술과 자신감을 얻을 수 있을 겁니다. (개인 프로젝트는 미래의 고용주에게 당신이 배움을 멈추지 않는 사람이라는 증거가 되어줄 수도 있습니다.)
취미로 코드를 작성하는 것의 또 다른 장점은 당신 혼자서 해내야만 한다는 점입니다. 어려운 일이라고 해서 다른 사람에게 넘길 수 없으니 너무 일찍 도움을 요청해버리거나 하는 일은 없습니다.
프로 팁: 개인 프로젝트를 할 때 실패하지 않을 것만 하지는 마세요. 오히려 실패할 필요가 있습니다! 회사 일에서는 실패하고 싶지 않겠지만요.

7. 어떤 방법으로든 다른 개발자와 일대일로 일해보세요.

 

다른 사람의 말을 듣는 것은 도움이 됩니다. 짝프로그래밍일 수도 있고, 해커톤에 참가할 수도 있고, 아니면 프로그래밍 사용자 그룹에 들어가는 것일 수도 있습니다. 오픈 소스 프로젝트에 기여 중이라면 다른 개발자나 사용자들의 피드백에 주의를 기울여 보세요. 그 사람들의 비판에 어떤 공통점이 있나요?
운이 충분히 좋다면 코딩 기술에서부터 커리어 결정까지 모든 부분에서 당신이 믿고 따를 수 있는 개인적인 멘토를 만나게 될지도 모릅니다. 이런 기회가 있다면 놓치지 마시길.

8. 도구가 아니라 기법을 배우세요.

프로그래밍 언어, 도구, 방법론 등은 흥했다가도 없어집니다. 그래서 가능한 한 많은 경험을 가능한 한 다양한 언어와 프레임워크에서 쌓는게 좋습니다. 프로그래밍의 근본에 집중하세요. 기본은 절대 변하지 않습니다. 프로그래밍하는 것 보다 아키텍쳐에 더 주의를 기울이세요. 만약 어떤 일을 하는데 오직 하나의 올바른 방법만 있다는 확신이든다면 아마도 현실성 검사가 필요한 때 일겁니다. 도그마는 당신이 새로운 것을 배우고 변화를 받아들이는데 족쇄가 될 수 있습니다.
좀 더 얘기할 수도 있습니다만, 자기 향상의 핵심 교리는 멈춰야 할 때를 아는 것이랍니다.


출처: https://mnpk.medium.com/

'💻 프로그래밍 > 🌳 개발자의 소양' 카테고리의 다른 글

실용주의 프로그래머 성향  (0) 2021.05.26

 

 

 

 

출처: lbbonline.com
출처: Redbrick
출처: Letras de musicas

 

이번에 포스팅할 노래는 바스틸의 survivin 입니다

 

바스틸은 영국의 록밴드 그룹입니다.

영국에 유독 록밴드가 많이 나오고 유명한 밴드가 많다고 합니다.

그 시작의 근원지를 찾아보면 비틀즈의 탄생과 함께 이뤄지지 않았을까 싶습니다.

 

이전에는 바스틸 노래중에 몇 곡 즐겨듣는 곡이 있었는데 밴드를 인지하진 않고 곡만 알고 있었습니다.

멜론에서 하트를 누른 곡들은 무수히 많지만, 부른 가수가 누군지 알고 있는 경우는 드물었는데요.

이제는 바스틸도 좋아한다고 말할 수 있는 가수중 하나가 되었습니다.

 

survivin 노래는 올해 정말 많이 듣고 있는 곡인데요 가사가 되게 직설적입니다.

헤어짐으로 인한 상처에서 그저 삶을 살아 남았다며 표현하는게 재미있는 곡입니다.

연주도 힘나는 느낌이라 출근길에 들으면 발걸음이 조금 가벼워 지더라구요.

 

좋은 노래 감상 해보세요! 🎧


Bastille - survivin

 

Had a great seven year white knuckle ride

신나지만 두렵기도 한 7년이었어

Killing time flying high as I held on tight to you, to you

널꽉 붙들곤 높이 날면 시간을 버렸지

Did I blow my mind on the wild side

Singing hallelujah to 'em every night with you, with you?

내가 매일 밤 너와 함께 그들을 찬양하며 열광했던가?

 

 

And I'm not gonna lie, say I've been alright

난 괜찮았다고 거짓말하지 않을 거야

'Cause it feels like I've been living upside down

마치 거꾸로 된 세상을 살아가는 것 같았거든

 

 

What can I say? I'm survivin'

내가 뭐라고 하겠어? 나 살아남고 있어

Crawling out these sheets to see another day

새로운 하루를 맞이하려 이불 속에서 기어 나왔지

What can I say? I'm survivin'

달리 뭐라고 하겠어? 나 살아남았어

And I'm gonna be fine, I'm gonna be fine, I think I'll be fine

난 괜찮을 거고, 괜찮아질 거라 생각해

 

 

Ooh, yeah

Ba-da-da-da-da-da

Ba-da-da-da-da-da

Ooh, yeah

Ba-da-da-da-da-da

Ba-da-da-da-da-da

 

 

Like a thunder cloud in November rain

11월에 내리는 빗속의 뇌운처럼

Is the black dog out running wild again for you, for you?

우울한 생각이 또 거칠게 날뛰기 시작한 거야?

Tryna stream my way to a better life

더 나은 삶은 사는 길로 가려 노력했지만

But I daydream crash like Vanilla Sky, do you?

나는 바닐라 스카이 같은 환상에 차여버렸어, 그렇지?

Do you?

그런 거지?

 

 

And I'm not gonna lie, say I've been alright

난 괜찮았다고 거짓말하지 않을 거야

'Cause it feels like I've been living upside down

마치 거꾸로 된 세상을 살아가는 것 같았거든

 

What can I say? I'm survivin'

내가 뭐라고 하겠어? 나 살아남고 있어

Crawling out these sheets to see another day

새로운 하루를 맞이하려 이불 속에서 기어 나왔지

What can I say? I'm survivin'

달리 뭐라고 하겠어? 나 살아남았어

And I'm gonna be fine, I'm gonna be fine, I think I'll be fine

난 괜찮을 거고, 괜찮아질 거라 생각해

 

 

Ooh, yeah

Ba-da-da-da-da-da

Ba-da-da-da-da-da

Ooh, yeah

Ba-da-da-da-da-da

Ba-da-da-da-da-da

 

 

So what can I say? I'm survivin'

그러니 내가 뭐라고 하겠어? 살아남았을 뿐인데

Just crawling out these sheets to see another day

그저 새로운 하루를 맞이하려 이불 속에서 기어 나왔는데

Oh what can I say? I’m survivin'

달리 뭐라고 하겠어? 나 살아남았어

And I'm gonna be fine, I'm gonna be fine, I think I'll be fine

난 괜찮을 거고, 괜찮아질 거라 생각해



이번에 포스팅할 노래는 송이한님의 자작곡인 '밝게 빛나는 별이되어 비춰줄게' 입니다.

송이한님은 2018년 블라인드 뮤지션에서 13000명 중 최종 우승을 한 보컬입니다.
얼굴 공개 없이 오로지 뛰어난 음악성에 초점을 맞췄던 서바이벌에서 여러뮤지션들에게 극찬을 받았습니다.
저는 그때는 몰랐지만 .. 이 노래를 듣고 감정이 너무 좋아서 찾아봐서 알게되었습니다.

원래 보컬 트레이너가 되려고 했던 그는..
전역 이후에 음반도 내고 싶고 자기의 노래를 자기가 부르고 싶다고 생각을 가지고 있었다고 합니다.
그 이후 오디션을 통해서 세상에 이름을 알리게 되었는데요.
'성공한 가수보다는 가치 있는 보컬리스트로 남기위해 묵묵히 노래하고 싶다'고 소망을 전했습니다.

송이한님은 깨끗한 고음과 미성을 가지고
말하는듯이 감정을 실어서 불러서 정말 너무 듣기 좋습니다.

작년 한해동안 정말 많이 들었던 노래네요

 

좋은 노래 감상해 보세요! 🎧


송이한 - 밝게 빛나는 별이되어 비춰줄게

우리의 모든 순간이
애틋해 눈물 날 때면
언제나 네게 닿을 수 있게
가까이서 머물게

유난히 더 힘든 날엔
더 이상 외롭지 않게 안아줄게
영원히 내 품에 너를 간직할게

세상이 널 외면해도 모두가 저버린데도
항상 곁에서 변함없이 늘 있어줄게

밝게 빛나는 별이 되어 너를 비춰줄게 매일
어두워 헤맬 때도 앞이 두려워도
언제나 널 지켜줄게

세상이 널 아프게 할 땐 내가 안아줄게 매일
포근한 바람으로 따듯한 햇살로
난 널 지켜줄게 매일

너의 모든 시간 속에 내가 함께 할게
오직 너를 위한 소중한 꿈을 담아

밝게 빛나는 별이 되어 너를 비춰줄게 매일
어두워 헤맬 대도 앞이 두려워도
언제나 널 지켜줄게

세상이 널 아프게 할 땐 내가 안아줄게 매일
포근한 바람으로 따듯한 햇살로
난 널 지켜줄게

네가 걸어가는 그 길 따라
수많은 별이 되어 비춰줄게

눈부시게 또 아름답게 너를 비춰줄게 매일
세월이 흐른대도 시간이 지나도
언제나 널 사랑할게

영원히 너만을 빛나게 내가 비춰줄게 매일
길고 긴 시간 속에서 찾아 올 끝에도
너를 사랑할게 매일

 

'🎧 음악' 카테고리의 다른 글

Never Say Never - The Fray  (0) 2023.03.19
Bastille - survivin'  (0) 2022.03.20
Ed Sheeran - Photograph (lonely version cover by J.Fla)  (0) 2021.10.17
문성욱, 임재현 - 밤  (0) 2021.09.22
Girls Like You - Maroon5 (cover by CHOA)  (0) 2021.06.02


이번에 포스팅할 노래는 제이플라가 커버한 photograph 입니다.

제이플라는 대한민국 싱어송라이터이고 유튜브 뮤직 크리에이터입니다.
주로 팝송을 원곡 그대로의 모습은 살려두고 자신만의 특유의 스타일로 재해석해서 부르는데요.

정말 많은 곡들을 커버하였습니다.
저는 그중에서 에드시런 photograph 커버곡을 좋아합니다.

듣고 있으면 그냥 계속 듣게 되는 곡 같아요.

가사가 너무 슬프네요.

이 노래도 제 무한반복곡입니다.
좋은 음악 감상해보세요! 🎧



Ed Sheeran - Photograph (lonely version cover by J.Fla)

Loving can hurt
사랑하다보면 상처받을 수 있어요
Loving can hurt sometimes
때때론 내가 상처를 줄 수도 있죠
But it's the only thing that I know
그런데 그게 내가 아는 전부에요

When it gets hard
힘든 시기가 와도
You know it can get hard sometimes
알다시피 언제든 그런시기가 오죠
It is the only thing that makes us feel alive
이것이 우리가 살아있다는 것을 알려주죠

We keep this love in a photograph
우리는 사진 속에 사랑을 담아내요
We made these memories for ourselves
우리는 자기 자신을 위해 추억을 만들었죠
Where our eyes are never closing
우리의 눈이 절대 감기지 않는 사진속에서요
Hearts are never broken
절대 상처 받지 않아요
And time's forever frozen, still
사진 속 시간은 영원히 얼어 멈춰 있을테니깐

So you can keep me
그러니 날 간직해줘요
Inside the pocket of your ripped jeans
당신의 찢어진 청바지 주머니속에
Holding me close until our eyes meet
날 안아줘요 우리의 눈이 마주칠 때까지
You won't ever be alone
영원히 나와 함께 할꺼에요
Wait for me to come home
내가 집에 돌아갈 때까지 기다려줘요


Loving can heal
사랑은 치유 할 수 있어요
Loving can mend your soul
사랑하는 당신의 영혼도 고칠 수 있죠
And it's the only thing that I know, know
그게 내가 아는 전부에요
I swear it will get easier
괜찮아질거라고 난 맹세해요
Remember that with every piece of you
당신의 모든 걸 하나하나 다 기억할꺼에요
And it's the only thing we take with us when we die
죽을때까지 그 기억과 함께 살아갈꺼에요

We keep this love in a photograph
우리는 이 사랑을 사진 속에 담아내죠
We made these memories for ourselves
우리는 자기 자신을 위해 추억을 만들었죠
Where our eyes are never closing
우리의 눈이 절대 감기지 않는 이 사진속에서요
Hearts are never broken
절대 상처 받지 않아요
And time's forever frozen, still
그리고 시간은 영원히 멈춰있겠죠

So you can keep me
그러니 날 간직해줘요
Inside the pocket of your ripped jeans
당신의 찢어진 청바지 속에
Holding me close until our eyes meet
날 안아줘요 우리의 눈이 마주칠 때까지
You won't ever be alone
영원히 나와 함께 할꺼에요

And if you hurt me
당신이 내게 상처를 주어도
That's okay baby, only words bleed
괜찮아요 당신,
날 상처준 건 당신이 아니라 말 일 뿐이니깐
Inside these pages you just hold me
사진속에선 언제나 당신은 날 안고 있을테니깐
And I won't ever let you go
절대 당신을 놓지 않을꺼에요

Wait for me to come home
내가 집에 돌아갈 때까지 기다려줘요

Wait for me to come home
내가 집에 돌아갈 때까지 기다려줘요

Wait for me to come home
내가 집에 돌아갈 때까지 기다려줘요

Wait for me to come home
내가 집에 돌아갈 때까지 기다려줘요





'🎧 음악' 카테고리의 다른 글

Never Say Never - The Fray  (0) 2023.03.19
Bastille - survivin'  (0) 2022.03.20
송이한 - 밝게 빛나는 별이 되어 비춰줄게  (0) 2022.03.02
문성욱, 임재현 - 밤  (0) 2021.09.22
Girls Like You - Maroon5 (cover by CHOA)  (0) 2021.06.02

 

이번에 포스팅할 노래는 임재현님과 문성욱님의 곡인 "밤" 이라는 곡입니다.
이곡의 작사, 작곡은 모두 문성욱님이 하였습니다.

제가 알기로 이전에 정말 힘든 일들이 많았던 시기가 있었는데..
그때에 옆에서 지켜주고 응원해주었던 분들에게 드리는 곡이라고 들었습니다.

사람은 누구나 좋은 날이 있고 안 좋은 날도 있습니다.
항상 기분 좋은 일만 있을 수는 없겠죠.

그래도 주변에 정말 진심으로 응원해주는 분들
그리고 나 스스로 나를 응원하면서 다독여주는 것
그것이 제일 중요한 것 같습니다.

저는 이 곡에서 크게 마음에 와 닿았던 부분은
나 아름다운 이곳에 머물다 너를 비추는 밤이 될게
이 가사가 정말 좋더라구요.

좋은 음악 감상해보세요 🎧


문성욱, 임재현 - 밤

자그만 손에 꼭 잡고
사라질까 감추던
어두운 밤 내 꿈에 담긴
작은 널 닮은 별 하나
한참을 서성이던
어린 날 보며 미소 짓던
한없이 빛나던 너의 모습
그려본다
흐려진 하늘의 별빛처럼
가려진 새벽의 온기처럼
나 아름다운 이곳에 머물다
너를 비추는 밤이 되길
떠나간 시간에 뒷모습만
지나간 추억에 한 걸음만
나 언젠가 그 순간에 머물다
너의 마음속에 빛이 되길
아름답게
따스한 봄의 노래에
조심스레 감던 눈
어두운 밤 내 품에 안던
작은 널 닮은 별 하나
한참을 뒤척이다
잠든 날 보며 미소 짓던
한없이 빛나던 너의 꿈을
그려본다
흐려진 하늘의 별빛처럼
가려진 새벽의 온기처럼
나 아름다운 이곳에 머물다
너를 비추는 밤이 되길
떠나간 시간에 뒷모습만
지나간 추억에 한 걸음만
나 언젠가 그 순간에 머물다
너의 마음속에 빛이 되길
까맣게 타버린 내 안에 숨 쉬던
조각난 기억들을 붙잡고
멀어져만 가는 너의 그 모습을
멍하니 바라보며 멈춰있다
나 아름다운 이곳에 머물다
너를 비추는 밤이 될게
떠나간 시간에 뒷모습만
지나간 추억의 한순간만
나 언젠간 네 두 손을 붙잡고
너의 마음속에 노래할게

출처: https://www.designveloper.com/

 

git으로 관리하고 싶지 않은 파일들은 .gitignore 에 명시함으로써 해당 파일을 무시할 수 있다.
하지만 종종 무시할 파일을 .gitignore 에 추가하기 전에 git push 해버리는 경우가 있다.
이 때 뒤늦게 .gitignore 을 수정하여 push 를 하지만 원격 저장소에서 해당 파일은 사라지지 않는다.


Apply .gitignore
아래의 git 명령들을 실행해주면 .gitignore의 파일들이 적용되어 원격 저장소에서 사라진다.

$ git rm -rf --cached . $ git add . $ git commit -m "Apply .gitignore" $ git push


같은 실수를 반복하지 않기 위한 git 사용 습관
좋은 git 사용 습관
git commit 과정에 대한 이해와 좋은 commit 습관에 대한 포스트이다.

'💻 프로그래밍 > 🅶 Git' 카테고리의 다른 글

Git 이전 커밋으로 되돌리기  (0) 2022.11.08

발단

React 프로젝트에 사용하려고 선택한 html 템플릿에 스타일을 살펴보니 일반 css 와 sass 2가지 형태로 지원하였다.

sass로 적용하고 싶어 별도의 loader를 설치 한 이후 빌드 하니깐 컴파일 에러가 발생하였다.

(typescript 패키지 @types/node-sass 가 node-sass 패키지를 의존하여 같이 설치)

$ yarn add node-sass @types/node-sass

 

원인

node-sass 버전 충돌 이슈

설치된 패키지의 버전을 살펴보니 sass 는 6버전, @types sass 는 4버전이 설치되어있다.

@type node-sass 패키지가 node-sass 4.x.x, 5.x.x 버전까지만 호환되는 것으로 보인다.

 

stackoverflow: https://stackoverflow.com/questions/64625050/error-node-sass-version-5-0-0-is-incompatible-with-4-0-0

 

Error: Node Sass version 5.0.0 is incompatible with ^4.0.0

I've created a blank React project, using the command: npx create-react-app on npm v7.0.7 and Node v15.0.1 Installed: React v17.0.1, node-sass v5.0.0, Then I tried to import blank .scss file to App

stackoverflow.com

 

해결

설치된 패키지를 삭제하고 버전을 지정하여 설치

$ yarn add node-sass@4.14.0 @types/node-sass@4.11.2

'💻 프로그래밍 > 🆁 React' 카테고리의 다른 글

React Router 에서 Navigate 함수를 확장하여 사용하기  (0) 2023.08.17
리액트 사용의 이해  (0) 2022.11.18
React Router, a 태그  (0) 2021.07.17
Create React App, Webpack  (0) 2021.07.16
NPM vs Yarn  (0) 2021.07.15

출처: https://reactrouter.com/web/guides/quick-start

리액트 라우터는 리액트의 화면 전환을 도와주는 역할을 한다. 일반적인 웹에서 a 태그를 이용해 다른 페이지로 이동했었다면, 리액트에서는 React-Router를 통해 Link 컴프넌트를 사용하여 화면을 전환한다. 리액트는 변화가 있는 컴포넌트만 업데이트하여 효율적으로 성능을 관리하는 구조로 페이지 이동 시 굳이 화면 전체를 새로 고침 할 필요가 없기 때문이다.

 

a 태그를 사용할 경우 페이지를 아예 새로 불러오게 되므로 리액트 앱이 지니고 있는 상태들도 모두 초기화되고 페이지가 새로 렌더링 된다.

리액트에서는 SPA 특징을 잘 사용하기 위해 React Router를 사용한다.

출처: https://html5up.net/

HTML5 UP

여러 가지 html5 버전 UI 템플릿을 제공하고,

 

개인용 상업용 무료라고 한다.

 

간단하게 웹 개발을 할 때 도움이 될 거 같다.

 

라이센스는 CCA 3.0

 

https://html5up.net/

 

HTML5 UP

Responsive HTML5 and CSS3 site templates designed by @ajlkn and released under the Creative Commons license.

html5up.net

 

'💻 프로그래밍 > 🅷 HTML' 카테고리의 다른 글

DOCTYPE html 선언과 의미  (0) 2022.11.12
시멘틱 마크업(Semantic Markup) 이란?  (0) 2022.11.12
HTML 이란?  (0) 2022.11.12

+ Recent posts