2023.12.12 (화) TIL

진민용·2023년 12월 12일

TypeScript

Node.js로 back-end를 잘 구현 할 수 있을까?

  • 실행시간에 결정되는 변수 타입
  • 유연한 언어
    즉 , javascript 의 특성인 유연한 언어(예: 해당 변수의 타입이 엔진이 실행될 때 결정됨)가, back-end 와 같이 사소한 에러에 의해 서버의 작동의 유무가 달려있는 경우, 장점인 유연성이 단점으로 여겨진다.

TypeScript는 무엇을 개선해줄까?

  • compile시 변수의 타입 체크
  • javascript의 객체지향 언어의 단점을 개선
// javascript
class Person{
   constructor(name,age){
     this.name:name
     this.age:age
   }
  growOlder(){
   this.age+=1 
  }
  
}
보기와 같은 클래스에 
const minyong = new Person('민용',30) 
통해 이름이 민용이고 ,나이가 30인 객체를 새롭게 생성 할 수 있다.
그런데 minyong.name='메롱' 과 같이 
아무나 객체에 접근하여 '해당 객체의 값을 변환' 할 수 있다는 단점이 있다.

//typescript

class Person{
  private name:string;
  private age:number;
   constructor(name:string,age:number){
     this.name:name
     this.age:age
   }
  public growOlder():void {
    this.age+=1;
  }
  이와 같이 변환하면 
  const minyong = new Person('민용',30)  같이 객체에 접근하여 `값을 변환 할 수 없다`
  public 속성이 들어간 growOlder 함수만 외부에서 handling 가능하다.
  
또한!,객체에 접근이 불가능하기에 
console.log(minyong.age) -> 접근하지 못하여 에러가 발생
  • 정리
    javascript를 사용하여 server쪽도 관리하기 위해서는, 좀 더 규칙적이고 엄격할 필요가 있다라는 것을 한 번더 느꼈다.

Zustand

이번 챌린지 시간에 zustand와 joti를 알게 되었다. 검색해 보니 redux 다음으로 떠오르는 라이브러리 이며, 튜터님 께서는 서버의 state는 react-query로 client단의 state는 zustand로 관리하는 것을 추천해 주셨다. 다음 프로젝트 때 zustand를 사용하여 한 번 state 관리를 해봐야 겠다. 기술에 대한 유연성을 더욱 더 키워야 겠다.

기술의 방향성에 대해 고민하는 시간

링크

https://www.samsungsds.com/kr/insights/2023_tech_trends.html

인상 깊은 대목

전성기를 맞은 비밀번호가 필요없는 인증
현재 비밀번호가 없는 인증은 도입률이 10%지만 마이크로소프트,애플 등 2025년 까지 직원의 50%, 고객 거래의 20%를 비밀번호 없는 인증을 추진 하려고 한다. 이는 취약한 엔터프라이즈 리소스를 보호하는 동시 고객에게 뛰어난 사용자 경험을 제공, 직원들의 생산성을 높일 수 있다고 한다.
이부분이 제일 인상적 이였고, 대부분의 내용 즉 기업이 추구하는 것은 효율적인 패턴을 찾아 적은 리소스로, 큰 효과를 추구하려고 하는 것이 인상적이였다.
현재, 내일배움 캠프에서 공부하고 있는 나에게는 코드의 재사용성을 높이는 것이 중요한 과제라고 생각된다.

profile
Enchanté!

0개의 댓글