IT공부 86

[윤성우 열혈 C프로그래밍] Part2. 포인터 배열의 시작

** 배열의 이름을 대상으로 하는 sizeof 연산의 결과로는 바이트 단위의 배열 크기가 반환된다. ** 널(NULL) 문자의 아스키 코드 값은 0이다.   그리고 이를 문자의 형태로 출력할 경우, 아무런 출력이 발생하지  않는다. ** C 언어에서 표현하는 모든 문자열의 끝에는 널 문자가 자동으로 삽입된다. ** 메모리 상에서 문자열을 이진 데이터로 저장하기 때문에   문자열의 시작과 끝이 표시되어 있지 않다면, 문자열을 구분하는 것은 불가능 ** 포인터 변수란 메모리의 주소 값을 저장하기 위한 변수   ㄴ 포인터변수 = 변수 형태의 포인터 + 상수 형태의 포인터 ** 포인터형(type) : 포인터  변수의 선언 및 구분에 사용 ** & : 피연산자의 주소값을 반환하는 연산자 ** *: 포인터가 가리키..

IT공부/IT서적 2024.07.19

[윤성우 열혈 C프로그래밍] Part1. C 언어의 기본

** 기본적으로 제공되는 함수를 표준함수라고 하고,   표준함수들의 모임을 가르켜 표준 라이브러리라고 함 ** 표준함수를 호출하기 위해서는 헤더파일을 선언해야 함 ** main 함수의 마지막에서 0을 전달(반환)하는 이유?   : 이 값은 main 함수를 호출한 영역으로 전달     main 함수는 프로그램이 시작되면 자동으로 호출되는 함수     호출의 주체는 Windows나 Linux와 같은 운영체제     ㄴ 그 값은 프로그램의 종료 상태를 알리는 용도로 사용     ㄴ 보통 0은 정상적인 종료 상황에서 전달하는 값     ㄴ 비정상적인 상황으로 인해서 종료될때에는 일반적으로 0이 아닌 값을 전달 ** 서식문자(conversiuon)    : 출력의 형태를 지정하는 용도로 사용 ** 연산자(oper..

IT공부/IT서적 2024.07.16

[ETC] 경량 스레드 (Light-weight thread)

경량 스레드 코루틴을 왜 쓰는지와 자바에서도 JDK 21에 경량 스레드 Virtual Thread가 추가되었고, Virtual Thread에 대한 정리 블로그 모음 https://todaycode.tistory.com/179 코루틴은 왜 빠른 걸까요? 1. 요약 2. Thread 2-1. 스레드를 사용하는 이유 2-2. 스레드의 문제점 3. Coroutine 3-1. 코루틴의 동작 방식 3-2. 코루틴과 스레드의 비교 1. 요약 🧑‍💻: 코루틴이 빠르다, 가볍다라고들 하는데 그 이유 todaycode.tistory.com https://techblog.woowahan.com/15398/ Java의 미래, Virtual Thread | 우아한형제들 기술블로그 JDK21에 공식 feature로 추가된 Vir..

IT공부 2024.04.23

[ETC] 함수형 프로그래밍과 객체 프로그래밍의 차이

** 함수형 프로그래밍이란? : 함수가 중심이 되는 패러다임, 모든 작업은 함수로 구성되며 데이터를 불변하게 다룰려고 노력 데이터를 불변하게 다루며, 함수 호출에 따른 부작용을 최소화 이로 인해 프로그램 예측이 가능하고 테스트가 쉬워짐 함수는 데이터에 대한 반환을 나타내며, 순수 함수(Pure Function)는 주어진 입력에 대한 항상 동일한 출력을 생성 일반적으로 상속과 다양성을 지원하지 않음 대신 함수를 조합하여 원하는 기능을 만들기 위해 함수를 조립하고 재사용 ** 객체 프로그래밍이란? : 객체가 중심이 되는 패러다임, 데이터와 해당 데이터를 조작하는 메서드(함수)를 하나의 단위로 묶어서 사용 객체의 상태를 변경할 수 있으며 , 이러한 상태 변경은 메서드 호출을 통해 이루어짐 객체 내부의 상태를 ..

IT공부 2024.01.29

학습목표_및_일정

1. 과정 목표 : 개발자에게 데이터 베이스를 이해하는 능력은 필수! 데이터 베이스의 기본 개념부터 ERD를 읽는 방법, 그리고 SQL까지 한 번에 잡고 가는 6주 스터디 [모집사이트] https://programmers.co.kr/learn/courses/13003 [스터디/1기] 학교 밖에서 듣는 전공필수 SQL/DB Essentials 🚀 아쉽지만 1기는 마감되었어요. 2기 오픈 알림 신청하고, 최저가에 수강하세요! 최저가 알림 받기 개발자에게 데이터 베이스를 이해하는 능력은 필수! 데이터 베이스의 기본 개념부터 ERD를 읽 programmers.co.kr 2. 일정 : 2021년 11월 8일(월) ~ 2021년 12월 18일(토), 온라인 세션으로 매주 토요일 오전 10시부터 대략 1 ~2시간 소..

[리눅스] Telnet 서비스 구축

1. Telnet 서비스 : 원격 시스템 접속 관리 툴(프로그램) 1) 윈도우(클라이언트 역할)** 텔넷 클라이언트 활성화 2) 리눅스(서버 역할)** 패키지 설치하기 위해서, CD-ROM 마운트(CentOS IOS 파일)** 패키지 설치   rpm -ivh 패키지명** 방화벽 설정 : port/protocal, 서비스 이름   └ telnet port 번호 : 22   firewall-cmd --permanent --add-port=23/tcp    firewall-cmd --permanent --add-service=telnet ** 데몬 활성화(telnet 관련한 패키지를 모두 설치해야 활성화가 가능!)   └ 데몬(Daemon) : 백그라운드 프로세스 - "한 개의 서비스는 반드시 한 개의 데몬이..

IT공부 2021.06.04

[현실 세상의 TDD] 학습 목표 및 과정 소개

1. 학습목표 ( 모집사이트로 이동 ) 이론에만 그치지 않는, 실무에서 적용할 수 있는 TDD 활용법 2. 이 수업을 통해 내가 이룰 목표! : 4개의 팀 프로젝트를 경험하면서, 팀원들을 위한 읽기 좋은 코드가 무엇인가에 대한 고민이 시작되었다. 이 고민에 대한 해답을 찾는 과정에서 클린코드와 TDD에 대해 알게 되었고, 자바 플레이그라운드 with TDD, 클린코드 수업과 동시에 같이 수강 신청하게 되었다. 이 강의를 수강하면서 아래의 2가지 목표로 열심히 공부할 예정이다! ① 좋은 코드에 대해 정의한다. ② 테스트 주도 개발의 필요성과 방법을 배운다.

[플레이그라운드] 객체 지향 프로그래밍을 잘하기 위한 9가지 원칙과 클린코드

1. 객체 지향 프로그래밍을 잘하기 위한 9가지 원칙(소트웍스 앤솔러지) ① 한 메서드에 오직 한 단계의 들여쓰기만 한다. ② else 예약어를 쓰지 않는다. ③ 모든 원시 값과 문자열을 포장한다. ④ 한 줄에 점을 하나만 찍는다. ⑤ 줄여 쓰지 않는다(축약 금지). ⑥ 모든 엔티티를 작게 유지한다. ⑦ 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다. ⑧ 일급 컬렉션을 쓴다. ⑨ getter/setter/프로퍼티를 쓰지 않는다. 2. 클린코드는 왜 중요한가(클린코드)? https://www.youtube.com/watch?v=FSte4ht7jII 3. 레거시(legacy) : 정보·통신 정보 시스템에서 낡은 하드웨어나 소프트웨어를 통틀어 이르는 말. 새로 제안하는 방식이나 기술을 부각하는 의미로..