본문 바로가기
반응형

개발공부102

[커리어리 글 공유] 주니어 자바 개발자를 위한 100가지 질문 (1) 질문에 답하기~ 조서희 / 주니어 자바 개발자를 위한 100가지 질문 1 | 커리어리 "주니어 자바 개발자를 위한 100가지 질문" 1편입니다. 주니어 자바 개발자를 위한 100가지 질문 (2)... careerly.co.kr 1️⃣ 기초 📌 JDK와 JRE의 차이점은 무엇입니까? JRE 자바 프로그램을 실행시키는데 필요한 런타임 환경 JDK 자바 프로그램을 개발하는데 필요한 것 ex) 컴파일러, 디버거, 개발도구 JVM 클래스라이브러리, 실행환경 등을 포함 📌 ==와 equals의 차이점은 무엇입니까? ==은 객체의 주소값을 비교한다. equals도 객체의 주소값을 비교하는데, 문자열 타입을 비교할 수 있다. 📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠? h.. 2023. 12. 4.
import할 때 중괄호를 쓸때 안쓸때 차이 정답은 export 방식의 차이이다. export 할 때 default 를 적었다면 -> 중괄호 없이 import 가능 export 할 때 default 를 적지 않았다면 -> 중괄호 포함해야 import 가능 (없으면 에러발생) 2023. 10. 17.
Typescript 인터페이스 인라인 어노테이션 인터페이스 선언 모두 동일한 역할을 한다. 인라인 var myPoint: { x: number; y: number } 인터페이스 interface Point { x: number y: number } var myPoint: Point 인터페이스 장점 인라인으로 작성할 경우 너무 길어진다. 가독성이 떨어짐 인터페이스에 정의된 속성을 선택적으로 사용할 수 있다. 재사용 가능하다. 인터페이스에 정의되어 있지 않은 속성에 대해서 인지할 수 있다. 선택적 사용 예시 interface CraftBeer { name: string; hop?: number; // 선택적 readonly brand: string // 변경불가 } 2023. 10. 15.
Typescript annotations Type annotations을 써야하는 때 function 이 'any'타입을 return 하고, 값을 명확하게할 때 변수 선언을 하고 나중에 초기화할 때 변수 선언과 초기화를 동시에 할 때는 타입 추론이 가능하다. ex) const color = 'red'; 어노테이션을 안적어도 에러가 뜨지 않는다. 추측할 수 있는 타입을 가진 변수를 원할 때 json.parse() 를 통해 의도하지 않은 다른 타입들이 나올 수 있다. 값 json.parse() 후 'false' boolean '4' number '{"value":5}' {value: number} '{"name":"alex"}' {name: string} typescript에서는 any로 예측한다. 값 json.parse() 후 'false' an.. 2023. 10. 10.
Javascript 헷갈리는 for문 4종류 javascript는 for문이 왜이리많은지 어떤걸써야하는지 까먹을때가 있다. for 문 기본 for문 장점 가장 빠르다 모든 자료형에 대해 사용이 가능하다 continue, break 사용이 가능하다 변수 활용이 가능하다 for (var i = 0; i < 9; i++) { console.log(i); // 기타 등등 } for in 문 객체를 순회할때 사용한다. 장점 객체에 접근할 수 있다. 객체 디버깅을 위해 사용될 수 있다. 단점 continue, break 사용이 가능하지만 루프를 완전히 중단하는 것은 아니다. 제일 속도가 느리다 const object = { a: 1, b: 2, c: 3 }; for (const property in object) { console.log(`${property.. 2023. 10. 10.
Typescript 기초 실행해보기 typescript compiler $ npm i -g typescript ts-node $ npm i axios index.ts 코드 생성 import axios from 'axios'; const url = 'https://jsonplaceholder.typicode.com/todos/1'; axios.get(url).then(response =>{ console.log(response); }); 코드 생성 후에 컴파일하고 생겨난 index.js 를 실행할 수 있다. $ tsc index.ts $ node index.js 이를 매번 두번 실행하는것은 비효율 적이라서 ts-node를 사용하면 되는데,, 그냥 실행하면 에러가 발생한다! 해당 패키지들을 설치해주고 $ npm i @types/node --s.. 2023. 9. 29.
[노마드 코더 NestJS로 API 만들기] 3 Testing E2E npm run test:e2e 테스팅 어플리케이션도 실제 어플리케이션처럼 설정하기 - main.ts의 pipe beforeAll(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ imports: [AppModule], }).compile(); app = moduleFixture.createNestApplication(); app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true, }), ); await app.init(); }); app.e2e-spec.ts - 유저가 사용할 수 있.. 2023. 8. 20.
[노마드 코더 NestJS로 API 만들기] 3 Testing Jest 유닛 테스트: 모든 function을 하나씩 테스트하는 것 e2e 테스트: 이페이지로 가면 특정페이지가 나와야하는 경우 (사용자 관점) getAll, getOne, deleteOne 등 만들었던 함수들 유닛 테스트하기 Jest가 spec.ts 를 찾을 수 있도록 돼있다. 테스팅하고 싶은 파일명에 spec.ts를 붙이면 된다. spec.ts 에 예시 추가 it('should be 4', () => { expect(2+2).toEqual(4); }) movie.service.spec.ts 에 유닛테스트 만들기 get describe('getAll', () => { it('should return an array', () => { const result = service.getAll(); // 배열로 리턴하는.. 2023. 8. 16.
[NestJs] Modules, Injection 모듈: 여러 컴포넌트를 조합하여 좀 더 큰 작업을 수행할 수 있게 하는 단위모듈로 쪼개는 이유: 여러 모듈에 각기 맡은 책임을 나누고 응집도를 높이기 위해마이크로서비스 아키텍처 관점에서 모듈이 커지면 하나의 마이크로서비스로 분리할 수 있다.   모듈 생성하기nest g mo 모듈을 분리하는 것이 좋다.app.module.ts@Module({ imports: [MovieModule], controllers: [], providers: [],}) movie.module.ts@Module({ controllers: [MovieController], providers: [MovieService],}) controller 생성app.controller.tsnest g co마찬가지로 app.provider.. 2023. 8. 16.
728x90
반응형