개발자의 공부방 216

javascript] 함수의 기본파라미터

자바스크립트에서 기본 함수의 파라미터를 어떻게 정의하는지 알아보자. function calcCircleArea(r) { const radius = r || 1; return Math.PI * radius * radius; } const area = calcCircleArea(); console.log(area) 위의 코드는 함수 안에 파라미터가 없을 때 기본 값을 1로 지정하게끔 하는 코드이다. 아래는 기본 값을 지정하는 방법의 또 다른 방법이다. //1. function calcCircleArea(r = 1) { const radius = r || 1; return Math.PI * radius * radius; } const area = calcCircleArea(); console.log(area)..

javascript] 단축평가 논리계산법.

논리연산자를 이용해서 코드를 더 짧게 사용하는 것을 말한다. 전에 있던 Truthy한 값과 Falsy한 값에서 좀 더 나아가보자. const dog = { name: '멍멍이' } function getName(animal) { // 1번째 코드 if(animal) { return animal.name; } return undefined; //----------------------------------- // 2번째 코드 return animal && animal.name } const name = getName(dog); console.log(name) 위의 코드에 1번과 2번은 같은 결과를 내준다. 2번 코드가 어떻게 1번과 같을까? 앞에 부분이 true가 되면 뒤의 값이 오게 된다. 아래의 코드를..

javascript] Truthy와 Falsy

자바스크립트에는 Truthy한 값과 Falsy한 값이 있다. 이 두가지에 대해서 알아보자! 1. Falsy한 값. console.log(!undefined); console.log(!null); console.log(!0); console.log(!''); console.log(!NaN); console.log(!false); 기본적으로 위의 나열된 값은 false가 default값이다. 여기에 ! 느낌표를 덧붙임으로 반전을 했기 때문에 콘솔로그에서는 true가 나오게 된다. ※참고로 NaN은 Not a Number를 의미한다. const value = 1 / 'foo'; console.log(value); >> 결과 : NaN 2. Truthy한 값. console.log(!3); console.log..

javascript] property shorthand란?

ES6에서 property shorthand, 단축 속성명이라는게 있다. 즉, key와 value의 값이 같으면 각각 표기하지않고 한번만 표기하는 것을 말한다. 아래는 vuex에서 사용되는 코드이나 기반은 javascript라서 예제로 사용해본다. commit('ADD_TOAST') 라는 함수 아래 message와 type 속성들이 있다. 이 부분은 key, value값이 동일하기때문에 생략이 가능하다. actions: { triggerToast({ commit }, message, type = 'success') { // commit('UPDATE_TOAST_MESSAGE', message); // commit('UPDATE_TOAST_ALERT_TYPE', type); // commit('UPDATE..

플랫폼 기업] 양면시장

양면시장은 플랫폼 경제에 적용가능한 개념이다. 서로 다른 두 시장을 하나로 묶어서 고려하자는 뜻을 담고 있다. 플랫폼 기업은 두 시장에 참여한다. 시장의 한 면인 구매자, 소비자에게 편익을 제공하고, 다른 한 면인 판매자, 생산자에게는 비용을 전가하는 방식이다. 한국의 카카오도 양면시장의 관점에서 볼 수 있다. 2010년에 등장한 카카오톡은 공짜 문자메시지를 내세웠다. 무료 서비스를 이용하려는 가입자가 크게 늘었고, 가입자들은 카카오의 서비스로 혜택을 누렸다. 양면시장은 플랫폼 서비스 이용료가 공짜인 이유를 설명한다. 구글도 하나의 사례다. 구글을 통해 뉴스를 보는 뉴스소비자가 플랫폼과 언론사에 구독료를 내지 않는 건 광고주가 비용을 지불하고 언론사가 부담을 지고 있기 때문이다. 일각에서는 플랫폼 기업이..

인텔리제이 단축키 마우스로 사용하는 방법

로지텍 마우스로 인텔리제이 단축키를 사용하는 방법을 찾아냈다! https://velog.io/@blackjune67/로지텍-마우스와-함께-Intellij를-쌈빡하게-사용해보자 로지텍 마우스와 함께 Intellij를 쌈빡하게 사용해보자! 들어가기에 앞서.. > 사무용 마우스 중 끝판왕이라는 말을 듣고 당시 거의 10만원에 임박한 금액을 들이면서 로지텍 MX Master 2s 마우스를 구매했다. 제품 자체는 엄청났지만 난 이녀석을 좀 더 쌈 velog.io 정말 좋은 방법이다!!! 크... 어떻게 이런 생각을 ?! 나도 따라해봐야겠다!! ....사실 내가 Velog에 작성한 글이다... 많은 분들께 도움이 되길...🤣

자바] 디자인 패턴, 싱글톤 패턴

1. 개요 일단 정처기 공부하면서도 나왔던 것 같은데 어쨌든 면접 질문에 빡쳐서 또 공부한다. 🤬 생각할 수록 빡친다. 디자인 패턴 1 싱글톤 패턴을 먼저 시작해본다. 예를 들어서 3명의 클라이언트가 있다고 가정한다. 각각의 클라이언트는 어떤 어플리케이션을 실행한다. 이때 이 어플리케이션 내부의 서비스 로직 중 어떤 것이 호출되는데 3명이 실행하고 호출하면 당연히 3번의 서비스 로직의 인스턴스가 생성되고 호출된다. 그럼 만약 100명이 호출한다면? 싱글톤 패턴은 이런 무분별한 인스턴스의 메모리 낭비를 방지하기 위해서 나온 것이다. 이제 코드를 통해 알아본다. 2. 본론 1) 싱글톤 패턴 코드 package hello.core.singleton; public class SingletonService { p..

JVM 메모리 구조

1. 개요 면접 보고 JVM 구조 질문이 있었다. 면접 끝나고 나서 갑자기 짜증이 났다. 아니 xx 이거 알아서 뭐 어쩌라는건데? 한글의 자음 모음의 첫 시작은 뭐고 그 구조는 언어학적으로 어떤지 모르면 한국어 못하는건가? 라는 이런 뜬금없는 생각이 났고 질문에 어버버 거리면서 머뭇거리는 상황이 떠올라서 갑자기 짜증이 확났다. 그래서 공부한다. 그리고 정리해본다. 2. 본론 자바 프로그램의 실행 단계 JAVA CODE (.java) ➡️ JAVAC Compiler ➡️ Byte Code (.class) ➡️ JVM ➡️ Windows or LINUX ➡️ Mac 그래서 자바코드를 갖고 개발할 때 JAVA를 다운받는 것이고 그 안에는 JDK(개발키트), JRE(런타임 환경)가 있는 것이다. 🎱 JRE는 J..