오늘 배운 내용 📚 오픈소스를 구성하는 구성원 Contributor와 Contribution 오픈소스 커뮤니티 discussions 오늘은 오픈소스를 구성하는 구성원에 대해서 먼저 이야기를 시작해 보겠습니다. 오픈소스를 구경하다 보면 다양한 구성원을 마주 할 수 있습니다. 저작자 : 프로젝트를 만든 사람이나 조직 사용자 : 프로젝트를 가져다 쓰는 사람 이 외에도 다른 구성원이 존재하는데 아래에 작성된 구성원들은 필수 구성원이 아니기 때문에 존재할 수도 있고 없을 수도 있습니다. Maintainer : 프로젝트를 관리하는 사람으로 보통 프로젝트의 방향을 알고 있거나, 직접적으로 설정한 사람을 말하며, 책임자입니다. Committer : Contributor가 contribution을 했을 때 리뷰를 하는 ..
오늘 배운 내용 📚 오픈소스 라이선스 표기법과 분쟁사례 라이선스 문서 구조 오픈소스를 기여하기 위한 issue와 pull request 어제에 이어서 라이선스와 관련된 수업을 들었습니다. 일단 라이선스를 지키지 않았을 때 발생할 수 있는 분쟁사례로 시작을 했는데요. 앞으로 우리가 작업을 하면서 가장 많이 신경 써야 하는 일이라고 생각을 했습니다. 그래서 어떻게 오픈소스를 어떻게 사용하는지 라이선스를 사용한다면 어떻게 작성을 하는지에 대해서 예시로 구글 크롬으로 보여주셨는데 크롬에서 사용한 라이선스들을 특정 링크에 연결시키고 해당 라이선스와 깃허브/사이트로 연결이 되게 설정을 해놓은 것을 보고 많은 참고가 됐던 시간이었습니다. 그리고 프로젝트를 하다보면 오픈소스로 만들 수도 있는데 그때 참고하면 좋을 깃허..
오늘 배운 내용 📚 오픈소스와 라이선스 퍼블리셔로 일하면서 해당 부분에 대해서 따로 생각해보지 않았고 진짜 끽해야 font 정도의 라이선스에 맞춰서 작성할거라 생각했는데 앞으로 계속 일을 할 생각이라면 조금 더 진중하게 찾아보고 작업을 해야하지 않는가 생각을 했던것 같습니다. 처음 든 생각은 배포한다는 전제하에 사용하는 오픈소스의 라이선스를 기본적으로 미리 체크를 해놓고 나중에 배포할때 어떤 라이선스가 존재했는지, 한눈에 알수 있게 정리해놓자 였습니다. 그 이유는 배포할때 어떤 오픈소스를 사용했는지 package.json통해서 확인할수도 있지만 놓친게 있을수도 있기 때문에 사용하는 미리 찾아놓으면 후에 놓치지 않고 작성할수 있을것 같았기 때문입니다. (사실 대부분의 오픈소스들은 MIT 라이선스를 사용하기..
오늘 배운 내용 📚 이미지 파일 사용 export와 export default 컴포넌트와 배열 라우팅 - Route와 Link styled-components 컴포넌트의 생명주기 서버통신 Ajax 전역상태관리 react 배포 지난주 프로젝트는 react를 체험해 보는 시간이었다면, 이번주 프로젝트는 조금 더 깊이 있는 프로젝트였습니다. 또한 타입으로 인해 막막한 점이 한두 번이 아니었는데요, 에러가 났다 하면 전부 타입에러여서 어떻게 접근을 해야 할지 막막했습니다. 거기에다 따로 폴더관리를 안 하면서 수업에 맞춰가니 어디에 어떤 interface가 존재하는지도 헷갈려서 점차 interface나 재사용성이 있는 것들은 따로 관리를 해야겠다는 생각을 하게 된 시간이었던 것 같습니다. 이번주 프로젝트를 진행하..
오늘 배운 내용 📚 React를 통해 간단한 사이트 제작하기 기본적인 JSX 문법 컴포넌트와 state React의 반복문과 조건문 props 통한 동적바인딩 리액트를 이용하여 간단한 웹사이트를 만들어보는 시간을 가졌습니다. 강사님이 코드를 작성하기 전에 미리 기능을 구현을 해보는 과정에서 다양한 에러를 만나보았는데 그중 기억에 남는 에러는 onClick 이벤트였습니다. // 기존 자바스크립트 사용방식 Activate Lasers // 리액트 사용방식 Activate Lasers 이때 문제가 됐던 부분은, onClick 할 때 매개변수가 존재할 때였는데, 자바스크립트에서는 onclick="함수()" 이렇게 작성을 했다면 리액트에서는 onClick={함수()} 이렇게 작성을 하게 되면 에러가 발생을 하는데..
오늘 배운 내용 📚 사용자 정의 타입 - 리터럴, 유니온 타입 별칭과 타입 가드 클래스 객체 지난 수업에 이어서 사용자 정의 타입에 대해서 수업을 진행하였습니다. 지난 수업에서 배웠던 enum과 리터럴 타입이 유사하다 느껴어서 어려움이 없었고 유니온타입같은 경우에도 여러 타입을 이용할때 any를 사용하기 보다 유니온 타입을 이용해야겠다 느꼈습니다. 그리고 이러한 사용자 정의 타입들을 정의할 수 있는 타입별칭과, 각 타입별로 대입할때 발생할수 있는 에러를 막을 수 있는 타입가드를 생각을 하고 있어야 겠다 생각이 들었습니다. 그리고 타입스크립트의 마지막으로 클래스를 알려주셨는데요 마지막인 만큼 가장 이해하기 어려웠던것 같습니다. 일단 많이 사용해보지 않아서 사실 퍼블리셔로 일하면서 클래를 사용해본적이 전무하..
오늘 배운 내용 📚 사용자 정의 타입 - class, interface 오버로딩 오버라이딩 람다 사용자 정의 타입의 마지막은 class와 interface가 장식을 했습니다. class는 수업듣기전 혼자 node 독학을 하면서 써본게 처음이자 다였습니다. 그리고 최근에 클래스형을 쓰니 함수형을 쓰니 이야기 나왔던것같아 왜 클래스형보다 함수형을 쓴다는 이야기가 나왔을까 생각을 해보았습니다. 일단 클래스형과 함수형을 비교를 하자면 일단 클래스형은 복잡하다고 느꼈고 상대적으로 함수형은 코드가 간결하다 느꼈습니다. 때문에 클래스형을 사용하지 않는건가 그래도 각 코드에는 장단점이 있으니 이번 수업을 들으면서 클래스의 장점을 찾아보자 하면서 수업을 들었습니다. 확실히 수업을 들으니 이전보다는 클래스에 대한 이해도가..
오늘 배운 내용 📚 함수포인터 객체지향 프로그래밍 사용자 정의 타입 - 구조체, 공용체, enum 추가 정리 내용 📑 메모리 구조와 할당 처음에 함수포인터를 보고 전날에 배운 포인터와 함수라는 연결이 되는 건 줄 알고 이걸 왜 날짜를 나눠서 올렸을까 생각을 했었습니다. 하지만 영상을 통해 확인한 내용은 완전 다른 수준이었습니다. 그리고 자바스크립트나 타입스크립트에서는 사용을 안 하겠지만, 나중에 보고 둘이 같은 걸로 착각할까 싶어 함수포인터와 포인터와 함수를 링크로 연결해 놓았습니다. 그리고 객체지향을 배우면서 말로는 객체지향 객체지향하는데 정확하게 객체지향이 무엇일까 생각했는데 그 궁금증이 오늘에서야 풀렸습니다. 하지만 풀린 거랑은 별개로 내가 짠 코드가 객체지향이 아닐 수도 있겠구나 싶었습니다. 그 ..
오늘 배운 내용 📚 함수 배열 포인터 👉 정리글 보러가기 c언어로 배우다보니 기존에 함수와 배열 개념을 다른 방향으로 익힐수 있는 시간이 되었습니다. 특히 자바스크립트에서는 잘 모르는 포인터 개념을 짚어주셔서 좋았는데요. 그만큼 처음 접하는 이론들이 있었기 때문에 이해하는데 조금 시간이 걸렸던것 같습니다. 포인터의 개념은 알아두면 좋은 코딩 지식으로 자바스크립트를 하는 사람이라면 사용하지 않지만 그래도 한번쯤 읽고 넘어갔으면하는 개념이 아닐까 생각했습니다. 그리고 궁금했던게 c언어라서 문자열 배열의 마지막에 null값이 들어가는건지 자바스크립트에서도 null값을 받는지 알아보니 자바스크립트에서는 글자와 공백수만 길이로 들어가는걸 확인했습니다. 이게 c언어랑 자바스크립트랑 다른 개념을 발견하니 뭔가 새로운..