본문 바로가기

전체 글127

[코드 최적화하기] 불필요한 코드 제거 1. 주석처리해둔 코드나 console.log() 삭제 사실 실행시간이나 메모리같은 프로그램 성능측면에서 이 이유로 인한 성능 저하는 아~주 미미함😅 하지만!! 이런 불필요한 코드가 많아지면 개발이 모두 끝난후에 배포를 했을때, 코드 다운로드 시간이나 파일크기가 커져 로딩속도가 느려질 수 있다. ✅ 적어도 배포전에는 불필요한 주석처리나 로깅코드 삭제하기! 2. 조건문 안에서 항상 참 또는 거짓으로 평가되는 코드 삭제 항상 참이 되는 코드라면 굳이 조건문을 써줄 필요가 ❌ 예) 아래의 코드에서는 항상 if 조건문이 참이기 때문에 불필요하게 else 구문은 실행되지 않는다 if (true) { // 실행될 코드 } else { // 실행되지 않을 코드 } ✅ 항상 참이 되는 코드라면 굳이 조건문을 써줄 필요.. 2023. 3. 23.
[타입스트립트] 초보의 타입지정 타입스크립트 그냥 타입만 지정해주면 되는거네~ 라며 여기저기 다 타입을 넣어주면서 코드짜고 있었는데.. 😱 너무 소름돋는 사실을 알게되서 포스TING!! 😱 일단은 타입스크립트는 타입을 정해두어서 나중에 다른타입을 입력했을때 오류를 내준다. 때문에 모든 변수, 함수에 타입을 지정해주고 있었다. 이런식으로 type alias 도 사용해보고 type strAndNum = string | number; let 이름: strAndNum = "kim"; 이름=123 이런식으로 함수 도 사용해보고 function 함수(x: number): number { // 어떤타입이 리턴되어야하는지 return x * 2; } const 함수2 = (x: number): number => { return x + 2; }; 이런.. 2023. 3. 16.
[tsconfig.json] 타입스크립트를 편하게 사용하기 위한 파일_2 { "compilerOptions": { "target": "es5", // 'es3', 'es5', 'es2015', 'es2016', 'es2017','es2018', 'esnext' 가능 "module": "commonjs", //무슨 import 문법 쓸건지 'commonjs', 'amd', 'es2015', 'esnext' "allowJs": true, // js 파일들 ts에서 import해서 쓸 수 있는지 "checkJs": true, // 일반 js 파일에서도 에러체크 여부 "jsx": "preserve", // tsx 파일을 jsx로 어떻게 컴파일할 것인지 'preserve', 'react-native', 'react' "declaration": true, //컴파일시 .d.ts 파일도 .. 2023. 3. 16.
[유용한 JSDoc] @ts-check_ 한파일에 TS 와 JS 모두 사용가능! 상황🧐 자바스크립트로 몇천줄 코드를 다 짜놨는데 TS 로 변경하긴 뭐하고 몇개 중요한 코드만 TS가 체크해줬으면 좋겠다... 해결방법🥳 JS파일 맨윗줄에 '// @ts-check' 추가 ✅ tsconfig.json 파일에 'allowjs:true' 옵션이 들어가 있어야함 // @ts-check /** *여기는 주석을 쓰는 부분인데 *타입스크립트에게 원하는 타입을 설명해두면 *타입스크립트가 읽고 확인한다 */ export function Erin () {} ... .. .. 2023. 3. 10.
[tsconfig.json] 타입스크립트를 편하게 사용하기 위한 파일 타입스트립트로 프로젝트를 진행하기위해 초기세팅을 진행하는데 tsconfig.json 이라는 파일을 생성하라고한다. 파일없이도 tcs 명령어 잘 작동되는데 왜죠..?🤔 생성안하고 쓰려고 했지만ㅋㅋ 정말 필요한것이라명 나중에 잘못되고 돌아오기 힘들것 같아서 일단 쓰는 이유를 찾아보았다. ⭐️ 먼저 중요하게 알아야할 사실!!⭐️ 타입스크립트언어를 자바스크립트로 컴파일해주는 라이브러리이다. 사용하는 이유: ✅ tsconfig.json파일을 생성함으로써 vscode에게 내가지금 타입스크립트로 작업할거니까 알아서 JS로 잘 컴파일 해줘라~ 라고하는 것이라고 이해하면 될 것 같다 ✅ JS 로 컴파일을 할 때의 옵션들을 설정해 줄 수 있다. (내가 설정해준 옵션들은 아래서 따로 설명할 예정!) ✅ JS & TS 파일을.. 2023. 3. 10.
타입스크립트 공부시작 여기저기 많은 곳에서 타입스크립트를 쓴다. 고로 배워야겠다. 프로젝트를 새로 시작한 김에 타입스크립트로 진행하면 빠르게 배울 수 있겠다싶어 팀원분들께 조심스럽게 제안을 해보았는데 다행히도 흔쾌히 동의를 해주셔서 현재 하고있는 프로젝트는 타입스크립트를 사용해볼 예정!!🥳 아무래도 타입스크립트를 처음사용해보며 기한이 정해져있기 때문에 프로젝트 완성도는 떨어지겠지만 배운다는것에 우선순위를 두기로 했다. 타입스크립트에 대해 찾아보니 타입을 지정하고 제어할 수 있어서 더욱 코드가 클린해 질 수있다고 한다! 사실 아직은 코드도 길어보이는데 왜 이렇게 많이들 쓰나 싶긴한데.. 코드짤때는 복잡해도 에러를 계속 잡아주니 정확도(?)도 높아지고 확실히 유지보수가 쉬워질 것같다. 🥰 2023. 3. 9.
[노개북 스터디] 13일차_2023/03/01 [오늘의 과제] ✅ 에피소드 39~45 까지 읽기 ✅ TIL 작성하기 📝 오늘의 TIL 📝 ✔️ 책에서 기억하고 싶은 내용들 정리 에피소드 39 : 인공지능, 머신러닝, 딥러닝 아직도 구분하기 힘들다고? 👀 인공지능? > 일반인공지능(general AI 혹은 strong AI): 인간의 행동을 대부분 할 수 있거나 인간보다 능력이 뛰어날때. 대화, 게임, 판단 모두 가능( 현실에는 아직 없음) > 좁은인공지능(narrow AI 혹은 weak AI): 몇가지 일을 탁월하게 잘함, 한정된 영역에서만 동작 얼굴인식, 빅스비, 시리 등 (현재의 기술) 👀 머신러닝? > 인공지능을 학습시키는 것, 사람이 기계를 학습시키는 것 > 학습법에는 지도학습(supervised learning) & 비지도학습(unsuper.. 2023. 3. 1.
[노개북 스터디] 12일차_2023/02/28 [오늘의 과제] ✅ 에피소드 35~38 까지 읽기 ✅ TIL 작성하기 📝 오늘의 TIL 📝 ✔️ 책에서 기억하고 싶은 내용들 정리 에피소드 35 : 비밀번호는 어떻게 저장될까? - 비밀번호 시스템 [잘못된예 ❌] 1. 데이터베이스에 그대로 저장 : 개발자가 비밀번호 다 볼 수 있음 2. 데이터베이스 자체를 암호화하여 제공받은 키로 로그인: 키를 잃어버리면 끝 [괜찮은예 ✅] 1. 해시함수사용 : 해시함수에 통과시켜 얻은 출력값을 데이터베이스에 저장. BUT!! '레인보우테이블' 이라는것 때문에 완벽하지는 않다. (입력값, 출력값을 연결한 표) 레인보우테이블이 털리면 끝. 2. 👍BEST 솔트와 입력값을 합침 : 비밀번호와 솔트를 합쳐서 해시함수에 통과시킨다. 레인보우 테이블이 있어도 원래 입력값을 찾을 .. 2023. 3. 1.
[노개북 스터디] 11일차_2023/02/27 [오늘의 과제] ✅ 깃허브에 레포 생성하고 커밋해보기 현재 시점 기준 스터디생존율은 28% 입니다! 라고 메일이 왔다. 꼭 마지막날까지 과제완성해서 용두사미가 되지 않길🙏 오늘은 다행히 부담없는 과제여서 후딱 끝내고 제출했다, 다행!! 2023. 2. 27.