
지난 강의 내용에서는 모노레포 환경을 구축하기 였다면, 이번 강의에서는 monorepo 환경에서 코딩 컨벤션과 공통 로직을 공유하는 방법에 대한 주제로 진행되었다. 모노레포는 여러개의 프로젝트를 하나의 레포에서 관리하기 때문에 코딩 컨벤션을 통일해야 한다 tsconfig 설정 공유 base가 되는 tsconfig를 만들어 놓고 각 프로젝트에서 extend 받아 오버라이딩 할 수 있는 구조로 진행할 것이다. root 디렉토리에서 tsconfig.base.json 파일을 생성한다. { "compilerOptions": { "strict": true, "useUnknownInCatchVariables": true, "allowJs": true, "skipLibCheck": true, "forceConsiste..

원티드에서 5월 프리온보딩 챌린지를 진행하여 참가하였다. 이번달 주제는 바로 monorepo와 관련된 것! 평소에 너무 궁금하고 배워보고 싶었는데 이런 기회가 오다니 ! 바로 신청했다. 이번 챌린지는 모노레포인 만큼 실습이 많았는데 환경 세팅하는 과정에서 놓치는 부분이 많았다. 다시보기로 놓친 부분도 공부하겸 블로그에 정리해 놓기로 마음을 먹었다. 모노레포 관련 아티클 사전 미션으로 모노레포와 관련된 아티클을 읽어보라고 추천해주셨는데 너무 재미있고 흥미롭게 읽을 수 있었다. 그러면서 나의 프로젝트를 잠시 회고해 볼 수 있었다. 나는 주로 멀티 레포로만 서비스를 운영했었다. 각 프로젝트가 고유 저장소를 가지므로 독자적으로 빠르게 개발을 가능했고, 각각의 프로젝트를 관리하기엔 가벼웠다. 하지만 같은 도메인의..

[ 문제 발생 ] Flutter 를 디버깅모드로 실행하는 도중에 flutter Permission denied Could not build the application for the simulator. Error launching application on iPhone 14 Pro. 라는 에러가 계속 발생했다.. 권한의 문제인 것 같아서 sudo flutter run을 해줬더니 실행됐음.! 근데 나는 vs code 에서 멋진 기능들을 사용하면서 ,, 시뮬레이터를 돌리면서 실행시키고 싶었기 항상 sudo로 할수 없었고,, 꼭 해결해야 했음!! [ 에러 내용 ] Permission denied flutter/packages/flutter/lib/src/material/bottom_navigation_bar...

WebRTC 란 ? WEB Real-Time Communication 으로 실시간 커뮤니케이션을 가능하게 해주는 기술로 peer-to-peer방식이다. peer-to-peer 방식 ? 소켓은 peer-to-peer방식이 아니다. 상대방과 내가 소켓io로 연결된 상황일 경우, 내가 상대방에게 hello라고 보내면 그 hello는 서버로 보내지고, 서버는 다시 상대방에게 hello를 전달한다. 즉 언제나 서버를 사용해야한다. 나는 상대방에게 메세지를 보내지만 사실 서버한테 메세지를 보내고 서버가 상대방한테 메세지를 보낸다. 이는 peer-to-peer가 아닌 서버에 연결되어 있을 뿐이다. 하지만 webRTC는 더이상 서버가 필요없다. webRTC는 서버가 보내고 받을 필요가 없이, 내 브라우저가 직접 상대방..

인터페이스 역할 인터페이스는 사전적인 의미로 두 장치를 연결하는 접속기를 말한다. 여기서 두 장치를 서로 다른 객체로 본다면, 인터페이스는 이 두 객체를 연결하는 역할을 한다. 두 객체는 메소드를 호출하여 상호작용을 한다. 그러면 메소드를 호출하면 간단할 텐데 왜 인터페이스를 중간에 거치도록 할까? 두 객체는 서로 어떤 객체인지 알 필요가 없고 각 객체는 인터페이스의 기능만 알면 된다. 인터페이스에게 전달만 해주면 인터페이스가 대신 메소드를 호출해주고 리턴값을 다시 넘겨준다. 객체가 변경 된 것에 관심이 없기 때문에 객체간의 교체가 쉽다. (부품 교체) 이 특징으로 인해 인터페이스는 다형성 구현에 주된 기술로 이용왼다. 상속을 이용해서 다형성을 구현할 수 있지만, 인터페이스를 이용해서 다형성을 구현하는 ..

상속 개념 상속은 부모가 자식에게 물려주는 행위를 말한다. 객체 지향 프로그램에서도 부모클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있다. 상속은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여 개발 시간을 단축시킨다. public class A{ int field1; void method1(){ ... } } public class B extends A{ //A를 상속해서 B를 만들겠다. String field2; void method2(){...} } //A로부터 물려받은 필드와 메소드 B b = new B(); b.field1 = 10; b.method1(); //B가 추가한 필드와 메소드 b.field2 = "홍길동"; method2(); 클래스 상속..

객체 지향 프로그래밍 ? 현실 세계에서 어떤 제품을 만들 때 부품을 먼저 만들고, 이 부품들을 하나씩 조립해서 완성품을 만든다. 소프트웨어 개발할 때에도 부품에 해당하는 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체지향프로그래밍 이라고 한다. 객체와 클래스 객체 객체란 물리적으로 존재하거나 개념적인 것 중 다른 것과 식별이 가능한 것을 말한다. 객체는 속성과 동작으로 구성된다. 예를들어 사람이라는 객체는 이름, 나이라는 속성이 있고, 웃다, 걷다 등과 같은 동작이 있다. 자바는 이러한 속성과 동작은 각각 필드, 메소드 라고 부른다. 객체 모델링 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링이라고 한다. 객체 모델링은 현실 세계 객체의 대표 속성..

열거타입 데이터 중에는 몇가지고 한정되어 있는 값이 있다. 예를들어 월,화,수,목,금,토,일 이라는 7개의 값이나, 봄, 여름 ,가을, 겨울 이라는 4개의 값이 있다. 이러한 한정된 값을 갖는 타입을 열거 타입이라고 한다. public enum Week { MONDAY, TUSEDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 열거 상수는 열거타입으로 사용할 수 있는 한정된 값을 말한다. 열거타입도 하나의 데이터 타입이므로 변수를 선언하고 사용해야한다. Week today; Week reservationDay; //열거타입은 참조타입이므로 null 대입 가능 Week birthday = null; //비교 코드 Week today = Week.SUNDAY; t..