본문 바로가기
일지/취준일기

2025_03_10 취준일기 31일차

by 알케니브 2025. 3. 10.

오늘 들은 강의

1. 소프트웨어 구축

1-10. 프로그래밍 기초 개념

알고리즘 표현 방법⭐

  • 자연어
  • 의사 코드
  • 순서도
  • 나씨 슈나이더만 차트
  • UML

변수 표기법

  • 카멜 표기법
  • 파스칼 표기법
  • 스네이크 표기법
  • 헝가리안 표기법
  • 케밥 표기법

프로그래밍 언어의 유형 분류

  1. 개발 편의성 측면에 따른 분류
    1. 저급 언어
    2. 고급 언어
  2. 빌드 방식에 따른 분류
    1. 컴파일 언어
    2. 인터프리터 언어
    3. 바이트 코드 언어
    4. 어셈블리 언어

1-11. 개발 환경 구축

서버 환경 구축

  • 웹 서버(WEB)
  • 웹 애플리케이션 서버(WAS)
  • 데이터베이스 서버(DBMS)
  • 파일 서버
  • 로드 밸런서(Load Balancer)
  • CDN(Content Delivery Network)

개발 소프트웨어 환경

  1. 요구사항 관리 도구
  2. 설계/모델링 도구
  3. 구현도구(IDE Integrated Development Environment)⭐⭐⭐
    • 소프트웨어에서 개발에 필요한 다양한 기능을 하나의 프로그램 내에서 제공하는 소프트웨어
    • 코딩, 디버깅, 컴파일, 배포 등 개발 작업을 통합적으로 처리할 수 있는 환경을 제공함
    • 개발자의 편의성과 효율성을 증대시키기 위해 설계됨
  4. 테스트 도구: 개발된 소프트웨어 모듈이 요구사항에 부합하는지, 오류가 없는지, 성능이 적절한지를 테스트하는 도구
    ex) 부하 테스트, 스트레스 테스트
  5. 형상 관리 도구(CI 도구)⭐⭐⭐⭐⭐
    • 소프트웨어 개발 과정에서 발생하는 모든 변경 사항을 통제하고 관리하는 방법
    • 변경 관리, 버전 관, 형상 관리
    • 절차⭐⭐⭐: 형상 식별 → 형상 통제⭐⭐⭐⭐ → 형상 감사 → 형상 기록/보고
    • ex) Git, CVS, SVN
  6. 협업 도구
  7. 배포 도구(CD 도구): Make, Ant, Maven, Jenkins, Gradle

1-12. 모듈 구현⭐⭐⭐⭐⭐

결합도: 낮을수록 잘 설계된 모듈

  1. 자료 결합도(Data Coupling): 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
  2. 스탬프 결합도(Stamp Coupling): 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
  3. 제어 결합도(Control Coupling): 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도
  4. 외부 결합도(ExternalCoupling): 어떤 모듈에서 외부로 선언한 데이터(변수)를 다른 모듈에서 참조할 때의 결합도
  5. 공통 결합도(Common Coupling): 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
  6. 내용 결합도(Content Coupling): 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도

응집도: 높을수록 잘 설계된 모듈

  1. 기능적 응집도(Functional Cohesion): 모듈 내부의 모든 기능이 단일한 목정을 위해 수행되는 경우
  2. 순차적 응집도(Sequential Cohesion): 모듈 내에서 한 활동의 출력값을 다른 활동의 입력값으로 사용하는 경우
  3. 교환(통신)적 응집도(Communication Cohesion): 동일한 입력과 출력을 사용하여 다양한 기능을 수행하는 활동들이 모여 있는 경우
  4. 절차적 응집도(Procedural Cohesion): 모듈이 다수의 관련 기능을 포함하여, 그 기능들이 순차적으로 수행될 경우
  5. 시간적 응집도(Temporal Cohesion): 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리하는 경우
  6. 논리적 응집도(Logical Cohesion): 유사한 성격이나 특정 분류에 해당하는 처리 요소들이 한 모듈에서 처리되는 경우
  7. 우연적 응집도(Coincidental Cohesion): 모듈 내부의 각 구성요소들이 서로 연관이 없는 경우

 

7. 프로그래밍 언어

5. 함수와 변수의 유효범위

지역변수(Local Variable)

  • 함수 또는 블록 내부에서 선언된 변수
  • 해당 블록 내에서만 유효하며, 블록이 종료되면 메모리에서 사라짐
  • 동일한 이름의 변수를 다른 블록에셔 사용할 수 있음

지역변수(Global Variable)

  • 함수 외부에서 선언된 변수
  • 프로그램 전체에서 접근 가능하며, 모든 함수에서 공유됨
  • 프로그램이 종료될 때까지 메모리에 유지됨

정적변수(Static Variable)

  • static 키워드로 선언된 변수
  • 선언된 블록 내에서만 유효하지만, 프로그램이 종료될 때까지 메모리에 유지됨
  • 초기화 값은 프로그램 실행 중 한 번만 설정됨
  • 값을 유지하며, 다음 호출 시 이전 값이 그대로 남아 있음

매개변수(Parameter Variable)

  • 함수 호출 시 전달된 값을 저장하는 임시 변수
  • 함수 내부에서만 유효하며, 함수가 종료되면 메모리에서 소멸됨

'일지 > 취준일기' 카테고리의 다른 글

2025_03_12 취준일기 33일차  (0) 2025.03.12
2025_03_11 취준일기 32일차  (0) 2025.03.11
2025_03_07 취준일기 30일차  (0) 2025.03.07
2025_03_05 취준일기 29일차  (0) 2025.03.05
2025_03_04 취준일기 28일차  (0) 2025.03.04