-
Ubuntu에 Apache 앱 서버 설치2024.08.022
집에 있는 안 쓰는 컴이 있어서 우분투 서버로 만들어 연습용 웹페이지를 띄워볼까 싶었다동네 컴퓨터 수리점에서 3만원짜리 고물 모니터랑 랜케이블 사옴 많은 분들이 정보를 상세하게 공유해 주셔서 새삼 감동약간의 오류와 함께 순조롭게 진행하고 있지만, 아직 개념도 안 잡혔고 몇 번 더 해봐야 이해할 수 있을 것 같다아래는 도움 된 링크들 목표는 Gpt보단 직접 검색으로 울집 컴에 리눅스 서버 구축, 웹페이지 플라스크로 띄우고 CRUD 구현 이제 DB 셋팅하고 웹앱만 만들면 됨 (? 주말까지 할 수 있을까..)아직까진 뭐가 뭔지 몰라도 재밌음 그런데 오래된 컴이긴 하지만 멀쩡한 걸 버릴 뻔 했다 ;램 문제인지 슬롯 문제인지2번째 램 슬롯을 비우니까굉음도 안 나고 뭐든지 된다 ㅋㅋ라즈베리파이 귀여워서 갖고 싶..
struct 구조체2024.07.08* 글 아래의 링크를 들으며 기록한 내용입니다. 링크에서 자세한 내용을 확인하세요. 구조체는 C, C++ 언어 문법 전체에서 가장 중요한 개념객체지향 언어인 C++은 구조체에서 확장된 클래스를 기반으로 문법이 추가된 것구조체를 잘 활용하면 가독성이 좋고 효율적인 프로그램이 가능하며, 실무 프로젝트에서 많이 사용함구조체를 이용하면 내가 원하는 자료형을 만들어 사용할 수 있음 프로그램이 깔끔하고 편하다고 계속 말씀하심 변수 : 단독주택 ㅋint x; // 4평(byte) 짜리 단독주택 1가구 정수 int, 실수 double, 문자 char, 문자열 char *, 문자열 char 배열 배열 : 같은 평수로 구성된 아파트 ㅋㅋㅋint x[5]; // 4평짜리 5가구 동일한 형(type)의 데이터들을 하나의..
C 배열 Array, 함수 Function2024.03.11Array 배열 Array는 이런 식으로. 인덱스로 호출할 수 있다. 인덱스를 사용해 값을 수정할 수 있다. 10개의 숫자가 들어가는 Array에 1번 인덱스로 80 넣고 출력할 수 있다. 그런데 이렇게 넣으면 이런 8이 나옴 내가 넣은 것이 아님.. 그냥 그 메모리 주소에 우연히 놓여져 있던 값이 불려온 것이라 함.. (쓰레기 값 garbage value) 암튼 0번 인덱스에도 값을 넣어주면 정상적으로 출력이 됨. 지금 Array에 데이터 타입을 정해주고, [] 대괄호 안에 들어갈 숫자로 크기도 지정해준 것임 배열을 선언할 때 크기를 정해주면 좋은 점은 1. 코드 읽는 사람에게 배열의 크기와 의도를 즉시 알려줘서 코드 가독성을 높여주고, 2. 컴파일러가 배열 크기를 기반으로 메모리 할당량을 결정하고, ..
C Calculator, Mad Libs Game2024.02.29간단한 Calculator 하지만 이걸로는 소수를 처리할 수 없으니 변수를 double로 바꿔주고 scanf()에서는 %lf printf()에서는 %f로 변경해 줌 하지만 문자열 입력하면 황급히 끝내버림 Building a Mad Libs Game [20]처럼 감당해야 하는 메모리의 양 정해준다.. scanf()에서 문자열에는 변수 앞에 &가 안 필요함 그런데 역시 여기서도 이름 넣는데 띄어쓰기 넣어서 두 가지 쓰면 하나밖에 안 나온다. 그래서 이런 방법을 씀 여기서 만약 Zendaya만 입력하고 엔터를 클릭하면 프로그램이 다음 글자열을 입력받기를 기다리고 있는 것을 볼 수 있다. 기본적으로 C는 사용자가 입력하는 내용에 대해 매우 구체적으로 설명하도록 강제한다고 한다.
C 사용자 입력 받기 Getting user input2024.02.28scanf("형식지정자", &변수명); 사용자가 입력한 숫자를 받아서 변수에 저장해준다. double의 경우 char 문자열의 경우 변수 옆에 대괄호를 붙이고 안에 숫자를 넣어 저장할 수 있는 메모리의 크기를 정한다. 그런데 scanf는 이렇게 문자열을 띄어 쓸 경우, 앞의 것만 접수하심 그래서 fgets(변수명, 길이, 스트림);을 사용해 데이터를 입력받는다. stream 스트림은 데이터의 흐름을 추상화한 개념으로 데이터가 연속적으로 이동하는 경로나 채널을 의미한다고 함 스트림을 사용함으로써 데이터 처리 과정을 단순화하고 일관성을 유지할 수 있다고 함 추상화: 스트림은 데이터의 실제 저장 매체(예: 파일, 메모리, 네트워크 연결)로부터 데이터를 읽고 쓰는 방법을 추상화합니다. 이로 인해, 개발자는 데이..
C의 상수2024.02.262Constants in C 이 프로그램을 실행하면 정수 5를 출력한 후 새로 입력해 준 8의 출력을 수행한다. 내 컴 왜 이렇게 느리지 하지만 여기서 num을 변경되지 않는 값으로 만들고 싶다면 const 를 붙여준다. num 변수에 const를 붙여 상수가 되었기 때문에 빌드 · 실행 버튼을 누르면 오류나고 실행이 되지 않는다. 9번째 줄 앞에 빨간색 오류 표시가 뜨고 'num'은 읽기 전용 변수로 할당됨 이라는 오류 메시지가 뜬다. 그래서 위에는 FAV_NUM이라는 상수로, 아래는 num이라는 변수로 변경해주면 더이상 같은 변수는 아니지만 오류도 나지 않는다. 아무튼 상수는 아래 열에서 변화시킬 수 없음 그리고 상수는 보통 대문자와 _로 변수를 선언해서 만드는데, 개발자들이 보고 아 상수구나 싶게 그..
C 형식지정자, 함수, 연산자2024.02.22Format Specifier 형식지정자 특정 데이터 유형의 값을 출력할 때 형식을 지정해야 한다. 이 때 사용해야 하는 문자, 또는 문자열 %d: 10진 정수를 출력할 때 사용 %f: 부동 소수점 수를 출력할 때 사용 %s: 문자열을 출력할 때 사용 %c: 문자 하나 출력할 때 사용 #include int main() { int num = 42; float pi = 3.14; char letter = 'A'; printf("정수: %d\n", num); printf("실수: %f\n", pi); printf("문자: %c\n", letter); return 0; } d 를 보면 integer를 출력하고 싶어한다는 걸 알 수 있다는~ 연속 사용 시 변수 넣기도 당연 가능 Number Types 소숫점이 ..
C Code::Blocks 설치 및 Hello world2024.02.202* 글이 좀 많아지면 카테고리 만들어서 이동시킬 계획 Code::Blocks install 코드블록은 C, C++, 및 Fortran의 통합개발환경(IDE) 오픈소스이다. C언어의 컴파일러인 GCC (GNU Compiler Collection)를 기본적으로 지원한다 설정 딱히 손대는 것 없이 그대로 설치함 Console application create : This is like there's a basic C project that you can run on your computer. int main(){}에서 main은 Method라고 하시고, printf는 함수라고 하심 (지피티한테 물어보니 객체지향 프로그래밍에서 주로 메소드라고 부르고 절차적 프로그래밍이나 함수형 프로그래밍에서는 함수라고 한다는데..
정처기 공부 중2024.02.17다양한 교재로 내용 익히는 거 괜찮은 듯 🥪 Software 소프트웨어 상품성, 복잡성, 변경 가능성, 복제성 System 시스템 기본요소 : 입력 처리 출력 제어 피드백 Software Crisis 소프트웨어 위기 - 개발비용 증가 - 개발 기간 지연 - 개발 인력 부족 인건비 상승 - 성능 및 신뢰성 부족 - 유지보수의 어려움과 유지보수의 엄청 큰 비용 Software Engineering 소프트웨어 공학 - 현대적인 프로그래밍 기술 - 신뢰성 높아야 - 사용 편리성, 유지보수성 높아야 - 지속적인 검증 시행 소프트웨어 공학 기본원칙 - 품질 높은 Software 상품 개발 - 지속적인 검증 시행 - 결과에 대한 명확한 기록 유지 Software Reengineering 소프트웨어 재공학 - Soft..
애자일 선언 Manifesto for Agile Software Development2024.01.24Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value..
정보처리기사 기출 문제 확인 중2024.01.08출처 : 정보처리기사 필기 기출문제 및 CBT 2022년 04월 24일(2회)(해설집 포함) 1과목 : 소프트웨어 설계 UML 다이어그램 중 순차 다이어그램 1. 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다. 2. 행위 다이어그램이므로 동적이고 순차적인 표현을 위한 다이어그램이다. 3. 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다. 4. 회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다. 메시지 지향 미들웨어(Message-Oriented Middleware, MOM) - 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 - 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용 1. 다소 느리..
SDK Software Development Kit (aws)2023.07.06SDK 소프트웨어 개발 키트(SDK)는 개발자를 위한 플랫폼별 구축 도구 세트입니다. 특정 플랫폼, 운영 체제 또는 프로그래밍 언어에서 실행되는 코드를 만들려면 디버거, 컴파일러 및 라이브러리와 같은 구성 요소가 필요합니다. SDK는 소프트웨어를 개발하고 실행하는 데 필요한 모든 것을 한 곳에서 제공합니다. 또한 SDK에는 문서, 튜토리얼 및 가이드와 같은 리소스와 더 빠른 애플리케이션 개발을 위한 API 및 프레임워크가 포함됩니다. SDK를 사용하는 이유 SDK는 개발 프로세스 전반에 걸쳐 개발자가 애플리케이션을 만드는 데 도움이 되는 여러 가지 이점을 제공합니다. 여기에는 다음이 포함됩니다. 효율적인 개발 SDK는 애플리케이션에 통합할 수 있는 사전 빌드된 구성 요소와 라이브러리를 제공하여 개발 효율..
시스템 메모리 기본 구조, 객체 복사, 깊은 복사, 얕은 복사2023.06.25시스템 메모리의 기본 구조 어떤 프로그램을 동작시키면 메모리에 프로그램이 동작하기 위한 가상의 메모리 공간이 생성된다. 그리고 그 메모리 공간은 다시 목적에 따라 상위 메모리와 하위 메모리로 나뉜다. 이때 상위 메모리에는 스택(Stack)이라는 메모리 공간이 형성되고, 하위 메모리에는 힙(Heap)이 생성된다. 스택 영역과 힙 영역 간단히 말해 스택 영역은 프로그램 로직이 동작하기 위한 인자(Argument)와 프로세스 상태를 저장하는 데 사용되고, 힙 영역은 프로그램이 동작할 때 필요한 데이터 정보를 임시로 저장하는 데 사용된다. 스택 영역은 레지스터의 임시 저장 장소, 서브루틴 사용 시 복귀 주소(Return Address) 저장, 서브루틴에 인자(Argument) 전달 등에 사용된다. 스택은..
Docker 도커, Container, 쿠버네티스, 웹서버, WAS2023.06.23Develop faster. Run anywhere. Docker: Accelerated, Containerized Application Development Docker: Accelerated, Containerized Application Development Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code. www.docker.com Docker란 무엇입니까? | AWS (amazon.com) Docker란 무엇입니까? | AWS Q: Docker로 어떤 작업을 할 수 있습니까? D..
Parsing 파싱, Parser 파서, 구문 분석2023.06.22'언어'라고 표현되어지는 것들을 분석하고 사용하기 위해 가공하는 프로그램/도구/방법을 의미함 1. 파싱 (Parsing) 일련의 문자열을 의미있는 token(어휘 분석의 단위) 으로 분해하고 그것들로 이루어진 Parse tree를 만드는 과정 parsing은 구문 분석이라고 한다. 문장이 이루고 있는 구성 성분을 분해하고 분해된 성분의 위계 관계를 분석하여 구조를 결정하는 것이다. 즉, 데이터를 분해 분석하여 원하는 형태로 조립하고 다시 빼내는 프로그램을 말한다. 웹상에서 주어진 정보를 내가 원하는 형태로 가공하여 서버에서 불러들이는 것이다. 이러한 parsing 기법으로는 XML parsing과 JSON parsing이 있다. ( XML, JSON : 데이터를 표현하는 문자열. JSON 파싱 : JSO..
Database, RDBMS, MySQL, NoSQL, MongoDB, Cluster2023.06.211DB를 저장 및 관리하는 방식 두 가지, RDBMS, NoSQL - 프로젝트의 목적과 상황에 맞는 것을 사용한다. - 회원정보 등 보안 정보들은 RDBMS를 쓰고, 일반 정보나 리뷰 등은 NoSQL로 쓰는 경우가 많다. RDBMS Relational Database Management System 관계형 데이터베이스 관리 시스템 보안 및 처리 과정에서 변형이 일어나지 않도록 데이터를 다룰 수 있어, 회원정보, 계좌정보, 금융정보 등 중요한 정보들을 저장하는 데 사용한다. 시스템에서 데이터 처리 과정 중에 문제가 일어나면 작동을 진행하지 않고 원점으로 복구되는 장점이 있다. 은행의 입출금 정보 등의 과정에서 오류가 일어나면 DB를 변형하지 않고 시작 전의 단계로 돌아간다는 이야기. - Oracle 소프트웨..
Serverless framework / computing, Node JS 노드JS2023.06.21사이트가 친절하다. Setting Up Serverless Framework With AWS Setting Up Serverless Framework With AWS The Serverless Framework documentation for AWS Lambda, API Gateway, EventBridge, DynamoDB and much more. www.serverless.com [AWS] 서버리스 프레임워크란? (serverless framework)설치부터 배포까지 (node.js) (tistory.com) [AWS] 서버리스 프레임워크란? (serverless framework)설치부터 배포까지 (node.js) Provider: AWS(Amazon Web Service) 작업환경: macOS..
☞ 데이터 무결성, 분산, 워크플로우, 비선형구조, 노드, 바인딩, 모듈, 객체지향 프로그래밍2023.06.20data integrity 데이터 무결성 데이터가 전송, 저장되고 처리되는 모든 과정에서 변경되거나 손상되지 않고 완전성, 정확성, 일관성을 유지함을 보장하는 특성. 데이터 무결성은 데이터를 저장, 처리, 전송, 검색하는 모든 시스템에서 중요한 특성으로 특히 데이터베이스 시스템(database system)에서는 필수적인 기능 요소다. 데이터베이스 시스템에서는 무결성 제약 조건(integrity constraint)을 부여하여 데이터에 대한 결손과 부정합이 없음을 보증한다. 또한 하드웨어적인 오류로 인한 데이터 손실 또는 변경을 막기 위해서 저장 장치 보호, 전원 장치 보호, 오류 보정 메모리 또는 칩 등이 활용되기도 한다. 또한, 보안 분야에서는 악의적인 공격으로 시스템 내부에 악성코드가 설치되거나 예..
CRUD (Creat Read Update Delete)2023.06.19CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. CRUD 대신에 다음과 같은 유사용어가 사용되기도 한다. ABCD: add(추가), browse(보기), change(변경), delete(삭제) ACID: add(추가), change(변경), inquire(질의), delete(삭제)[1] BREAD: browse(보기), read(읽기), edit(편집), add(추가), delete(삭제) VADE(R): view(참조), add(추가), delete(삭제), edit(편집),..
Framework 프레임워크2023.06.16프레임워크 (naver.com) 프레임워크 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 terms.naver.com 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다. 컴퓨터 프로그래밍에서 프레임워크는 구조적으로 고정된 부분을 재사용할 수 있도록 하고, 응용별 특정 기능을 추가적인 사용자 작성 코드에 의해 선택적으로 구현 가능하도록 하는 포괄적인 추상 구조, 그리고 이를 지원하는 소프트웨어 플랫폼을 말한다. 즉, 소프트웨어의 개발에 필수적..