목록개발🌐/CS지식 (8)
능히 해낼 수 있다

✍️✍️✍️ 위 글은 면접을 위한 CS 전공지식 노트를 읽고 학습한 내용으로 구성되었으며, 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영). 0. 네트워크 개념 네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체를 의미한다. 아래 그림은 네트워크를 표현한 이미지다. 위 그림을 보면 동그라미는 노드이고, 선은 링크라고 표현했는데, 앞서 작성한 설명처럼 노드가 연결되어 있거나 연결되어 있지 않다는 의미를 위 그림 처럼 나타내 네트워크가 어떤식으로 구성되어 있는지 짐작해 볼 수 있을 것 같다. 여기서 노드(node)는 서버, 라우터, 스위치 등 네트워트 장치를 의미하며, 링크는 유선 또는 무선을 의미 한다. 이렇게 복잡하게 연결되어있는 네..

✍️✍️✍️ 위 글은 면접을 위한 CS 전공지식 노트를 읽고 학습한 내용으로 구성되었으며, 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영). 공장의 컨베이어 벨트처럼, 들어가는 각 제품 공정을 통해 비슷 한 듯 새 제품을 추출해 낼 수 있는 구조를 빗대어 공장패턴(factory pattern)이라고 한다. 좀 더 CS적인 설명을 추가하자면, 팩토리 패턴은 객체를 사용하는 코드에서 객체 생성부분을 떼어 추상화한 패턴이자 상속관계에 있는 두 클래스에서 부모클래스가 중요한 뼈대를 결정하고, 자식클래스에서 객체 생성에 관란 구체적인 내용을 결정하는 패턴이다. 클래스가 상하위로 분리되기 때문에 객체 생성을 별도의 팩토리에 위임하여 클래스 간의 강한 의존성을 줄이고, 클라이언트 코드의 ..

✍️✍️✍️ 위 글은 면접을 위한 CS 전공지식 노트를 읽고 학습한 내용으로 구성되었으며, 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영). Singleton Pattern은 하나의 Class에 오직 하나의 Instance만 가지고 패턴이다. 하나의 Class를 기반으로 여러개 개별적인 Instance를 만들 수 있으나, 싱글톤 패턴은 하나 대 하나로 로직을 만들 때 사용하며 보통 DB연결 모듈에 많이 사용한다. 장점 단점 하나의 Instance를 기반으로 해당 Instance를 타 모듈이 공유. 때문에 Instance생성비용이 줆 높은 의존성 I/O(Input/Output) Bound 작업에 사용됨(인스턴스 생성에 많은 비용이 드는 작업) TDD(Test Driven Dev..

✍️✍️✍️ 위 글은 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영). 개발 용어 중에는 결국엔 같은 거를 설명하고 있는거라 할지라도 언어에 따라 달라질 때가 있는데, 그게 프레임워크, 라이브러리, 패키지 이다. 이런게 뭔가 언어에 따라 저기선 저렇게 여기선 이렇게.... 귀에걸면 귀걸이 코에걸면 코걸이 식으로 자꾸 다르게 불린다😵💫 초보자이고 배경지식이 너무 조구맣고 소중한 나에겐 너무헷갈리고 열받는다 알고있는 바로는.. API를 모은게 라이브러리, 그 라이브러리를 모은게 프레임워크 인게 아니냐..! 라고 생각을 '정립'하고있었는데, 또 어디에선 아니라고 하니까 알다가도 모르겠다 암튼 더이상 적당히 헷갈리고 싶은마음에 기록을 해본다....⭐ 기록이라도 해두면 헷갈리더라도 ..

✍️✍️✍️ 위 글은 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영). FE개발자는 소프트웨어 엔지니어라 칭할 수 있다. 좀 더 상세하게 말해 보자면 미리 마련된 하드웨어의 구동원리를 만드는사람이다. 이게 뭔말이냐...!! 원하는 목적을 컴퓨터의 하드웨어에 구현원리를 만드는 사람이라 할 수 있다. 하드웨어 엔지니어도 아닌데, 이런것들을 왜 알아야 할까??? 그 이유는 컴퓨터의기본구조를 이해해서, 이를 통한 소프트웨어에 동작이 이뤄져야 하기도하고 또 다른 이유는 클린코드 작성이 가능하기 때문이다. 클린코드는 단순 가독성이 좋아서 클린코드라 부르는 것이 아닌, 구현단계 및 동작 원리또한 깔끔하게 진행되는 것 또한 포함되는 것이 클린 코드이다. 더 나아가 특히 신입 개발자면접 질문..