본문 바로가기
반응형

기술면접30

[CS] 동기와 비동기 동기와 비동기의 차이는 간단하게 동기는 맡은 일을 끝내고 다음일을 시작하며, 비동기는 응답여부에 상관없이 다음일을 시작합니다. ✔️동기 (Synchronous) 프로그래밍이란? 동기 프로그래밍은 작업이 순차적으로 실행되는 방식입니다. 간단히 말하면, 한 작업이 시작되고 완료될 때까지 다음 작업이 대기하는 방식입니다. 이것은 일반적으로 우리가 일상적으로 하는 작업과 유사합니다. 예를 들어, 요리를 할 때, 각 단계가 다음 단계를 기다리는 것과 같습니다. 💡동기 (Synchronous) 프로그래밍 특징 순차적 실행: 작업들은 순서대로 실행되며, 한 작업이 완료되기 전에 다음 작업은 시작되지 않습니다. 직관적: 코드가 순차적이므로 이해하기 쉽고 디버깅하기도 상대적으로 쉽습니다. 블로킹: 한 작업이 다른 작업을.. 2023. 9. 17.
프레임워크(Framework) vs 라이브러리(Library) ✔️프레임워크(Framework)란? 프레임워크는 소프트웨어 개발을 위한 뼈대나 기반 구조를 제공하는 추상적인 개념입니다. 이는 개발자들이 프로젝트를 시작할 때 필요한 구조와 규칙을 정의해놓은 것으로, 개발자가 해당 프레임워크를 사용하면 프로젝트의 전체 아키텍처와 흐름을 기반으로 작업을 시작할 수 있게 됩니다. 💡프레임워크(Framework) 특징 제어 역전 (Inversion of Control, IoC): 프레임워크가 개발자 대신 코드를 제어하며, 개발자는 프레임워크가 제공하는 규칙에 따라 코드를 작성합니다. 재사용성: 프레임워크는 다양한 프로젝트에 재사용할 수 있는 코드와 구성 요소를 포함하고 있어 개발 생산성을 향상시킵니다. 일관성: 프레임워크는 표준화된 방식으로 개발을 진행하므로 프로젝트 내에서.. 2023. 9. 16.
[CS] 오버라이딩(Overriding)과 오버로딩(Overloading) ✔️오버라이딩(Overriding)이란? 오버라이딩은 객체 지향 프로그래밍(OOP)에서 중요한 개념 중 하나로, 부모 클래스(또는 슈퍼 클래스)의 메서드를 자식 클래스(또는 서브 클래스)에서 다시 정의하여 사용하는 것을 의미합니다. 이를 통해 자식 클래스는 부모 클래스의 동일한 이름의 메서드를 가지고 있지만, 그 메서드의 동작을 자신의 필요에 맞게 변경할 수 있습니다. 오버라이딩은 다형성(Polymorphism)의 핵심 원칙 중 하나이며, 자식 클래스가 부모 클래스의 메서드를 덮어쓰는 것을 가능하게 합니다. 💡오버라이딩 규칙 메서드 이름, 매개변수의 수, 매개변수의 타입은 부모 클래스의 메서드와 동일해야 합니다. 자식 클래스에서 오버라이딩한 메서드는 @Override 어노테이션을 사용해 표시할 수 있습니.. 2023. 9. 15.
[CS] MSA(Micro Service Architecture) ✔️MSA란? MSA는 소프트웨어 시스템을 작은 독립적인 서비스로 나누고, 각 서비스가 서로 협력하여 전체 애플리케이션을 구성하는 아키텍처 패턴입니다. MSA는 모놀리식(monolithic) 아키텍처와 대조되며, 애플리케이션을 하나의 대규모 모놀리식 애플리케이션 대신 작고 독립적인 서비스로 분해합니다. 💡MSA 특징 독립적인 서비스: 각 마이크로서비스는 특정한 비즈니스 기능을 수행하며, 서로 독립적으로 배포 및 확장 가능합니다. 효율적인 개발 및 배포: 각 마이크로서비스는 작고 간단하기 때문에 더 빠르게 개발하고 배포할 수 있습니다. 이로 인해 개발자 팀 간 협업이 쉬워집니다. 기술 다양성: 각 서비스는 자체 기술 스택을 선택할 수 있으므로 최신 기술을 도입하거나 레거시 시스템을 통합할 수 있습니다. 확.. 2023. 9. 11.
반응형