본문 바로가기
[🫧CleanCode] 2. 의미 있는 이름(2/3) - 발음하기 쉬운 이름 / 검색하기 쉬운 이름 / 인코딩 피하기 / 기억력 자랑 피하기 / 클래스/객체명과 메서드/함수 명 변수명, 함수명, 메서드명, 클래스명 등 - 프로그래밍에서 naming 중요하다는 것은 늘 알고 있었지만, 어떤 이름이 좋은 이름인지, 안 좋은 이름은 왜 안 좋은 이름인지, 좋은 이름을 짓기 위한 어떤 방법이 존재하는 지에 대해서는 잘 알지 못했다. 클린코드 2장을 읽으며 알게 된 내용에 대해 잘 정리해보고, 내가 매일 쓰는 코드들에 적용해보려 한다! 어떤 이름이 좋은 이름인지에 대한 이전 포스팅은 여기! 2023.08.07 - [분류 전체보기] - [🫧CleanCode] 2. 의미 있는 이름 - 분명한 의도 / 그릇된 정보 피하기 / 의미있는 구분 4. 발음하기 쉬운 이름 코드에 쓰이는 이름들은 발음하기 쉬운 이름인 것이 좋다. 단어의 발음이 쉬운 것을 선택하라는 의미보다는 과도한 약어를 사용해서 해.. 2023. 8. 10.
[🫧CleanCode] 2. 의미 있는 이름(1/3) - 분명한 의도 / 그릇된 정보 피하기 / 의미있는 구분 변수명, 함수명, 메서드명, 클래스명 등 - 프로그래밍에서 naming 중요하다는 것은 늘 알고 있었지만, 어떤 이름이 좋은 이름인지, 안 좋은 이름은 왜 안 좋은 이름인지, 좋은 이름을 짓기 위한 어떤 방법이 존재하는 지에 대해서는 잘 알지 못했다. 클린코드 2장을 읽으며 알게 된 내용에 대해 잘 정리해보고, 내가 매일 쓰는 코드들에 적용해보려 한다! 1. 분명한 의도 코드에 쓰이는 이름들은 분명한 의도를 나타내야 한다. 분명한 의도를 나타낸다는 것은 이 함수/변수/클래스가 왜 존재해야 하는지, 어떤 기능을 수행하는지, 어떻게 사용해야 하는지에 대해 대답할 수 있는 이름이어야 한다는 것이다. 예를 들어 '경과한 시간(단위: 날짜)' 라는 나타내는 아래의 변수가 있다고 해보자. let time; time.. 2023. 8. 7.
[JS] 자바스크립트에서 함수 정의 - 함수 정의 이전에 함수 호출하기 자바스크립트에서 함수를 선언하는 방법으로 함수 선언문과 화살표 함수만 있다고 생각했는데 공부를 해보니 총 4가지 방법이 있다. 1. 함수 선언문 function sayHello() { console.log("Hello!"); } 2. 화살표 함수 const hello = () => {console.log("Hello!")} 3. Funciton 생성자 - 다른 대안이 없이 꼭 써야 할 때만 쓰자.. const hello = new Function('console.log("Hello!")') 4. 함수 리터럴 const hello = function() { console.log("Hello!") } 처음 자바스크립트를 공부했을 때, 자바스크립트에서는 함수 호이스팅이 가능하므로 함수 정의 이전에 함수 호출이.. 2023. 4. 27.
우리가 빛의 속도로 갈 수 없다면 - 김초엽 우리가 빛의 속도로 갈 수 없다면 을 포함한 여러 단편 소설들이 담긴 소설집이다. 각 소설마다 담겨있는 풍부한 상상력이 그저 놀라웠고 다른 장편 소설도 읽어보고 싶다! 개인적으로는 '우리가 빛의 속도로 갈 수 없다면' 보다도, 순례자들은 왜 돌아오지 않는가, 그리고 공생가설이 더 마음에 들었다. 담겨있는 이야기 하나하나들이 신선하고, 재밌고 독특해서 우선 책장을 펼쳐보라고 말하고 권하고 싶다. 꽤나 현실적인 성향의 나는 (파워 ESTJ) 이런 상상력이 풍부한 글을 읽을 때마다 이야기보다는 이런 이야기를 만들어내는 작가 자체에 호기심이 더 가는 편이긴하다. 소설의 작가 김초엽은 포항공대에서 화학을 전공하고, 생화학으로 석사학위까지 전공했고, 그 지식을 담아 이전에는 없는 새로운 관점과 시선으로 여러가지 이.. 2023. 2. 25.
[문학] 인간 실격 - 다자이 오사무 세계문학전집에 있는 작품들은 한 번씩은 읽어봐야하지 않나하는 생각과, 책의 제목이 자아내는 호기심, 그리고 밀리의 서재에서 제공하는 도서라는 효용이 시너지를 내서 읽게 된 다자이 오사무의 인간 실격. 소설을 읽으며 나는 점점 더 한숨을 자주 쉬었고, 소설을 마쳤을 때는 고개를 저었다. 나에게 주인공 요조는 '괴로워 하는 알콜 중독자' 에 지나지 않았다. 책 뒷 부분에 작품 해설을 보면서 이 작품이 다섯 번의 자살 시도 끝에 죽음에 이른 다자이 오사무의 삶을 반영한 자전적인 소설임을 알고 난 후에야 조금은 안타까운 마음이 생겨나는 정도였다. 기본적으로 여리고 세상과 인간에 대해 겁이 많았던 요조는 그 두려움을 술과 여자 그리고 죽음을 통해 이기려한다. 나는 이 모습을 통해 인간의 나약한 모습에 대한 공감보.. 2023. 2. 21.
SW사관학교 정글 입소 전 Tip (?) 을 적어봅니다 저도 정글에 입소하기 전에는 모든 게 궁금했던것 같습니다.. 어차피 오면 알게 되지만 ㅋㅋㅋ그래도 궁금하죠... 그래서 간단하게 제가 궁금해했었고 궁금해 하실만한 것들, 그리고 미리 알아두면 좋을 (?) 내용들을 간단하게 적어봅니다!!! 1. 기본적으로 가져와야 하는 것 외에 가지고 오면 좋은 것 매트리스커버 : 저는 조금 예민보스인 편..문지캠퍼스 기숙사가 오래돼서 매트리스가 깨끗하지는 않은 느낌을 받아서 사실 제 이불 바로 깔기 조금 망설여졌어요.. 저 같은 분은 쿠팡에서 저렴한 매트리스 커버 같은거 하나 사시면 마음이 편합니다) 노트북 받침대 / 기계식키보드 + 팜레스트 / 독 : 어차피.. 다 결국 삽니다 왜냐면..? 목이 아프거든요! 처음엔 나만 유난인가 싶겠지만 어차피 다 못버티고 삽니다 ㅋㅋ.. 2023. 2. 16.
[마지막 회고] SW 사관학교 정글 5기를 마치며. 정글이 끝났다. 얻은 게 참 많은 다섯 달이었고 한 번 더 하라고 하면 절대 못할 거같다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 누군가 내게 정글 프로그램을 추천하냐고 묻는다면, 아래 조건을 만족하는 사람이라면 아주 강력하게 추천한다 할것이다. 1. 스스로 동기부여를 할 수 있는 사람 2. 개발에 대한 명확한 목적의식이 있는 사람 3. 정글 커리큘럼에 대해 공감하는 사람 정글은 진짜 '정글'이다. 어마무시한 양의 과제가 있고, 그 과제에 대해 지식적인 가르침을 주는 사람은 없다. (OS의 경우에는 KAIST 권영진 교수님의 특강이 두번 있고, 전체적으로 정글 생활을 도와주시는 코치님은 계신다) 알아서 해야 한다. 못한다고 다그치는 사람? 없다. 과제를 끝냈는지 못 끝냈는지 확인하는 사람? 없다. 몇시에 나오고.. 2023. 2. 16.
MediaSoup 을 사용해서 SFU방식으로 VideoChat 구현하기(2/2) - 구현 과정 다수의 사람이 화상으로 대화를 하기 위해서는 미디어 스트림은 audio track과 video track 이 둘 다 존재해야 하고, 각 사람이 producer 이면서 동시에 consumer 여야 한다. 하지만 결국 가장 기본 흐름은 지난 포스팅에서 다룬 아래 형식에서 시작하게 된다! 이를 기반으로, 어떻게 video chat 코드를 짤 수 있고 어떤 흐름으로 다중 화상 통화 기능을 구현할 수 있는지 정리해보려고 한다. 코드에서 서 중요한 부분만 발췌하였기 때문에 실제로 돌아가는 코드를 보고 참고하시려는 분들은 gitHub 레포지토리를 참고하시길 바란다! (frontend Repository, socket Repository) 아래는 간단한 흐름을 내 식대로 다시 정리한 표이다! 그렇다면 순서대로 흐름과 .. 2023. 1. 23.
MediaSoup 을 사용해서 SFU방식으로 VideoChat 구현하기(1/2) 이론 우리 조 프로젝트는 다대다 화상 통신을 기본으로 하는데, 이 부분을 내가 맡게 되었다. 처음에는 SocketIO를 사용해서 Mesh 방식(P2P)으로 다대다 화상 통신을 구현했는데, Mesh 방식은 1:1 통신에 가장 적합하고, 최대 3명까지 정도에 적합한 방식이라는 의견이 많아서 최대 5인 까지 통신해야 하는 우리 프로젝트 특성을 고려해 미디어 서버를 두는 방식으로 변경하기로 했다. Mesh와 MCU, SFU 방식의 가장 큰 차이는 아래 그림으로 대체하겠다. P2P 방식인 Mesh 방식은 참여자가 모든 다른 참여자에게 자신의 자신의 영상을 보내야 하지만 SFU 방식에서는 미디어 서버에 한 번만 보내면 된다. 구조상으로는 MCU가 가장 간결해보이지만 이 경우 미디어 서버의 부하가 커지기 때문에 우리 조는.. 2023. 1. 22.
반응형