안녕하세요. 성조입니다. 예전에 강남에 있는 중소기업 면접 볼 때 인원이 3 자릿수를 넘었고, Java 직군을 지원했는데 JavaScript 관련해서 반복문을 다루는 문제가 나왔던 것이 생각나서 기본기를 다질 겸 겸사겸사 포스팅을 작성했습니다. 혹여나 올바르지 못한 지식을 전달하고 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다. 반복문(LooP)이란? 프로그래밍에서 반복문(LooP)이란 동일하거나 유사한 작업을 여러 번 반복 실행할 때 사용하는 구문이다. 이는 코드의 재사용성을 높이고, 코드의 길이를 줄여 효율성을 향상한다. 하지만 부분별 한 중첩 반복문은 반복문 호출의 양이 많아질 때. 기하급수적으로 많아질 수 있으므로 주의하여 사용해야 한다. 사실 자바스크립트 역시 다른 프로그래밍 언어와 반복..
안녕하세요. 성조입니다. 2023년 5월을 마무리하며, 5월 한 달 동안 있던 일들을 회고하고 정리하는 내용을 담아봤습니다. 사이드 프로젝트와 스터디 4월 회고록에서 작성했지만 4월부터 하고 싶었던 사이드 프로젝트를 진행하고 있다. 1주일에 한 시간 정도 얘기를 나누고 아이디어를 모아서 조금씩 진행하고 있었다. 이번 5월 달을 기준으로 0.01 ver..? 정도의 수준 프로젝트를 구현하고 배포하기로 했는데 아직은 완성하지 못했고, 백엔드지만 하고 싶은 프로젝트가 백엔드가 거의 필요 없고 프론트엔드에 99% 존속되는 바람에 프론트엔드 파트도 공부하고 진행하고 있다. 팀 구성은 현재 디자이너 2명, 마케팅 1명, 개발 2명 5인 1팀으로 진행되고 있다. 개발 팀에서는 Next.js (13) + ts로 프로젝..
안녕하세요. 성조입니다. 이번 포스팅은 'SOLID'에서 L을 맡고 있는 리스코프 치환 원칙에 대해서 정리해 보려 합니다. SOLID를 공부하면서 5개 개념 중. L은 이해하는 데 가장 오래 걸렸던 파트라고 생각합니다. 혹여나 올바르지 못한 정보를 전달하고 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다! 리스코프 치환 원칙(Liskov Substitution Principle, LSP) 리스코프 치환 원칙은(LSP) 상위 클래스의 인스턴스를 하위 클래스의 인스턴스가 파생(치환) 되어도 반드시 기본 타입 부분에서 완벽하게 대체하여 정확성을 유지해야 한다는 원칙이다. 즉, 상위(부모) 클래스의 객체와 하위(자식) 클래스는 같은 방식으로 동작되어야 한다는 의미이다. (오버라이딩) LSP를 준수하는 과정에서 ..
안녕하세요. 성조입니다. 이번에 자바와 조금 더 친해지기 위해서 버전 종류를 정리하는 포스팅을 진행해 보려 합니다. 혹여나 올바르지 못한 지식 전달 사항이 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다! Java SE(Standard Edition)이란? Java SE는 영어 그대로 자바의 [기준, 기본]이 되는 플랫폼을 말한다. 자바의 핵심 기능들을 가지고 있으며, Java SE는 객체지향 프로그래밍 언어로 기본적인 기능들을 사용해 프로그래밍할 수 있도록 도와주는 역할을 한다. SE는 기본적인 API와 JVM을 제공하며, 기본 자바 프로그래밍(APIs), 객체 지향 언어(캡슐화, 다형성, 상속, 추상화), 기본 입출력(I/O)과 네트워킹, Multi-threading, JDBC, GUI, 보안, et..
안녕하세요. 성조입니다. 이전에 작성한 SRP 포스팅에 이어서 SOLID 원칙의 두 번째 원칙. OCP에 대해서 정리해보려 합니다. 혹여나 올바르지 못한 지식 전달이 있는 경우 언제든지 피드백 댓글 남겨주시면 감사드리겠습니다. 개방-폐쇄 원칙(Open-Closed Principle, OCP)이란? 개방-폐쇄 원칙은 객체 지향 설계 원칙 중 하나로, "소프트워에 개체(클래스, 모듈, 함수 등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다."는 것을 말한다. (객체 지향 원칙에서 유명한 말이므로 공부하다 보면 들어봤을 수도 있다.) 즉, 기존 코드의 변경 없이. 새로운 기능을 추가할 수 있도록 설계하는 것을 의미한다. [개방-폐쇄 원칙(OCP)이 적용되지 않은 예시] public cl..
안녕하세요. 성조입니다. 이번 포스팅은 학부에서 한참 자바 배울 때 온갖 이해 안 가는 것 중. 유일하게 비교적 쉽게 이해됐던 개념입니다. 혹여나 올바르지 못한 지식 전달이 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다! 접근 지정자(Access Modifier)란? 자바에서 클래스, 변수, 메서드, 생성자에 대한 접근을 제한하거나, 제어하기 위해서 사용하는 키워드이다. 클래스 또는 객체의 상태와 동작과 같은 값을 보호하는 데 사용된다. 자바는 객체 지향 언어이므로, 객체 지향 프로그래밍을 해야 한다. 접근 지정자의 경우. 중요한 원칙인 캡슐화(Encapsulation)와 데이터 은닉화(Data Hiding)를 지키기 위한 수단으로 사용된다. ● 캡슐화(Encapsulation) 캡슐화란? A라는 데이..
안녕하세요. 성조입니다. 오늘은 객체지향 설계 5대 원칙인 SOILD에 대해서 정리해 보려 합니다. 또한, 원칙 중 S인 SRP에 대해서 포스팅해 보려 합니다. 자바 코드를 활용해서 SRP를 설명하는 것이므로 Java 카테고리에 들어오게 됐습니다. 올바르지 못한 지식 전달이 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다! 단일 책임 원칙(Single Responsibility Principle, SRP)이란? 클래스가 단 하나의 책임을 가져야 한다는 의미를 갖는다. 조금 더 풀어서 얘기하면 클래스를 변경해야 하는 이유가 발생하게 되면. 변경 이유는 하나만 있어야 한다. 즉, 클래스는 하나의 기능만을 관리하고, 그것에만 집중해야 한다는 의미이다. 만약 'A'라는 클래스가 B와 C라는 기능에 책임을 가지고..
안녕하세요. 성조입니다. 자바스크립트를 사용하면 '...'라는 것을 생각보다 많이 사용하게 됩니다. 다양한 곳에서 사용되는 '...'를 이번 포스팅을 통해 조금 더 정리하고 흡수된 지식으로 만들고자 합니다. 혹여나 올바르지 못한 지식을 전달하고 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다. Spread 연산자(문법)란? Spread 연산자로 사용되는 '...'는 배열이나 객체, 문자열과 같은 이터러블한 값을 개별 요소나 속성으로 분해하는 데 사용된다. 이것은 함수 호출 시 인자를 전달하거나 배열, 객체를 합체 또는 복제하는 용도로 사용하기 좋다. [배열 예시] let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [...arr1, ...arr2]; /..