본문 바로가기
  • _^**_

전체 글304

천 단위로 30억 이상의 정수에 콤마 찍는 c언어 코드 천 단위로 30억 이상의 정수에 콤마 찍는 c언어 코드 1. main 함수만 사용해서 2. main 함수에서 입력 받은 정수를 사용자 정의 함수에 넘겨주어서 콤마 찍기 3. main 함수에서 입력 받은 정수를 사용자 정의 함수에 넘겨주고 다시 main 함수에서 콤마 찍기 C언어에서 천 단위마다 콤마를 찍는 코드를 작성하려면, 주어진 조건에 따라 두 가지 방법으로 접근할 수 있습니다. 먼저, main 함수에서 입력 받은 정수를 다른 함수에 넘겨주어 콤마를 찍는 방법을 구현합니다. 그 후, 같은 작업을 main 함수 내에서 직접 처리하는 방법으로 구현하겠습니다. 1. 사용자 정의 함수를 통해 콤마 찍기: • main 함수에서 정수를 입력 받습니다. • 입력 받은 정수를 사용자 정의 함수 insertComma.. 2023. 11. 26.
[무근본C언어] 2차원 배열과 포인터를 사용하여 배열의 다양한 요소들에 접근하는 예시 [질의사항] #include void main() { int b[3][2] = { {10, 20}, {30, 40}, {50, 60} }; int(*pointer)[2]; pointer = b; printf("pointer = %d\n", (int)pointer); printf("pointer+1 = %d\n\n", (int)(pointer + 1)); printf("*pointer = %d\n", (int)*(pointer)); printf("*(pointer+1) = %d\n\n", (int)*(pointer + 1)); printf("(*pointer)[0] = %d\n", (int)(*pointer)[0]); printf("(*(pointer+1)[0]) = %d\n\n", (*(pointer +.. 2023. 11. 25.
[무근본네트워크] 풀스택 개발자가 네트워크에 대한 지식을 갖추어야 하는 이유 웹 개발자, 특히 풀스택 개발자가 네트워크에 대한 지식을 갖추는 것은 여러 가지 이유로 중요합니다 1.효율적인 커뮤니케이션: 웹 개발은 클라이언트와 서버 간의 지속적인 데이터 교환을 포함합니다. 네트워크에 대한 이해는 데이터가 어떻게 전송되고, 최적화될 수 있는지를 아는 데 도움이 됩니다. 2.성능 최적화: 네트워크 지식을 통해 개발자는 애플리케이션의 로딩 시간을 줄이고, 효율적인 데이터 전송 방법을 적용할 수 있습니다. 예를 들어, HTTP/HTTPS 프로토콜, 웹소켓 등의 이해는 성능 최적화에 큰 도움이 됩니다. 3.보안 강화: 보안은 웹 개발의 중요한 부분입니다. 네트워크 보안에 대한 이해는 SQL 인젝션, XSS, CSRF 등의 공격으로부터 웹 애플리케이션을 보호하는 데 필수적입니다. 4.API .. 2023. 11. 25.
LinkedList와 ArrayList의 차이점이 대체 뭐야? LinkedList와 LinkedArray의 차이점 1.LinkedList (연결 리스트) •구조: 각 요소(노드)가 다음 노드를 가리키는 포인터를 포함합니다. •접근 방식: 순차적 접근. 특정 인덱스에 접근하려면 처음부터 노드를 따라가야 합니다. •삽입/삭제: 특정 위치에 요소를 추가하거나 삭제하는 것이 빠릅니다. 이전 노드의 포인터만 변경하면 됩니다. •메모리 사용: 각 노드는 데이터와 함께 다음 노드를 가리키는 추가적인 포인터 공간을 필요로 합니다. 2.LinkedArray (연결 배열, 더 일반적으로는 ArrayList라고 불림) •구조: 배열 기반의 구조에서, 요소들이 메모리 상에서 연속적으로 위치합니다. •접근 방식: 인덱스 기반 접근. 특정 인덱스의 요소에 빠르게 접근할 수 있습니다. •삽입.. 2023. 11. 25.
해시 테이블(HASH Table)과 해시 테이블의 시간복잡도는? 해시 테이블(Hash Table)은 매우 빠른 데이터 검색을 가능하게 하는 자료구조입니다. 해시 테이블은 키(Key)와 값(Value)을 연결하여 데이터를 저장합니다. 각 키에는 해시 함수를 적용하여 고유한 인덱스(Index)를 생성하고, 이 인덱스를 사용해 값을 저장하거나 검색합니다. 해시 테이블의 시간 복잡도 •평균적인 경우 (Average Case): 해시 테이블의 주요 장점은 평균적인 상황에서 삽입, 삭제, 검색 작업이 모두 의 시간 복잡도를 가진다는 것입니다. 이는 해시 함수가 고르게 분포된 인덱스를 생성하고, 충돌이 최소화될 때 성립합니다. •최악의 경우 (Worst Case): 해시 테이블에서 충돌(Collision)이 빈번하게 발생한다면, 특정 인덱스에 여러 값이 연결될 수 있습니다. 이 .. 2023. 11. 25.
[무근본파이썬] 레드블랙 트리가 대체 뭐야?! 레드-블랙 트리(Red-Black Tree)는 자가 균형 이진 탐색 트리의 일종입니다. 이 구조는 효율적인 검색, 삽입, 삭제 작업을 위해 트리의 균형을 유지합니다. 각 노드는 레드 혹은 블랙 색상을 가지며, 다음과 같은 속성을 만족해야 합니다. 1.노드 색상: 각 노드는 레드 또는 블랙입니다. 2.루트 노드: 트리의 루트 노드는 항상 블랙입니다. 3.리프 노드: 모든 리프(끝) 노드는 블랙입니다. 4.레드 노드: 레드 노드의 자식 노드는 모두 블랙입니다(연속된 레드 노드가 없음). 5.블랙 균형: 각 노드에서 임의의 리프 노드로의 경로에 있는 블랙 노드의 수는 모두 같습니다. 레드-블랙 트리의 예시로 삽입 작업을 살펴보겠습니다. 삽입은 일반적인 이진 탐색 트리와 유사한 방식으로 진행되지만, 새로 삽입된.. 2023. 11. 25.
자바 생성자 규칙 - 상속 시 Super() 위치 [질문사항] package myClass; class Parent2{ int a; Parent2(){ //기본생성자 안쓰면 자동생성 a = 10; } Parent2(int n){ a = n; } } class Child2 extends Parent2{ int b; Child2() { b=20; super(40); //이 부분입니다. } public void display() { System.out.println(a); System.out.println(b); } } public class Inheritance02 { public static void main(String[] args) { Child2 ch = new Child2(); ch.display(); } } 궁금한점이 class Child2 ex.. 2023. 11. 25.
파이썬 Pandas csv 파일 읽기 오류사항 해결 방법(read_csv) / groupby [질문] 아래 명령문을 그대로 작성했는데 오류가 발생해 질문합니다참고로 mac os 입니다 import pandas as pd weather=pd.read_csv('weather.csv',encoding="cp949") weather['month']=pd.DatetimeIndex(weather['일시']).month month_weather=weather.groupby('month').mean() print(month_weather) weather['month'] ~ 까지는 잘 되는데 groupby 문에서 오류가 발생합니다.. 문제가 무엇일까요 [답변]macOS에서는 cp949 인코딩을 사용하는 것이 일반적이지 않습니다. cp949 인코딩은 주로 한국어 Windows 시스템에서 사용되므로 macOS에서 .. 2023. 11. 23.
자바스크립트에서 웹소켓 호출방법 JavaScript에서 웹소켓 호출 방법을 알려드리겠습니다. 웹소켓은 웹 페이지와 서버 간의 양방향 통신을 가능하게 하는 기술입니다. 이를 사용하기 위해선 먼저 WebSocket 객체를 생성해야 합니다. 아래는 JavaScript에서 웹소켓을 사용하는 기본적인 방법입니다: 1.WebSocket 객체 생성: var ws = new WebSocket('ws://example.com/socketserver'); 2.이벤트 핸들러 연결:•onopen: 연결이 성공적으로 열렸을 때 실행됩니다. ws.onopen = function(event) { // 연결이 열렸을 때 수행할 작업 }; 2. •onmessage: 서버로부터 메시지를 받았을 때 실행됩니다. ws.onmessage = function(event) {.. 2023. 11. 23.
자바스크립트에서 특정 문자 포함 여부 확인 방법 자바스크립트에서 특정 변수에 특정 문자가 포함되어 있는지 확인하기 위해서는 주로 includes() 메서드를 사용합니다. 이 메서드는 문자열에서 특정 문자열이 포함되어 있는지 여부를 확인할 때 유용합니다. 사용 방법은 다음과 같습니다. 예를 들어, 문자열 변수 str에 문자열 “hello”가 포함되어 있는지 확인하려면 다음과 같이 작성할 수 있습니다: let str = "Hello, world!"; let containsHello = str.includes("hello"); // 대소문자를 구분합니다. 이 코드에서 containsHello는 str이 “hello”를 포함하는 경우 true를, 그렇지 않은 경우 false를 가질 것입니다. 참고로 includes() 메서드는 대소문자를 구분하므로, 대소문자.. 2023. 11. 23.
C# 에서 httpclient 사용 시 인증서 무시 방법 .NET Framework 4.5.2에서 SSL 인증서를 무시하는 방법 NET Core나 최신 버전의 .NET Framework와 약간 다를 수 있습니다. 하지만, 기본적인 개념은 동일합니다. ServicePointManager 클래스를 사용하여 전역적으로 SSL 인증서 검증을 오버라이드할 수 있습니다. 다음은 .NET Framework 4.5.2에 맞는 예제 코드입니다: using System; using System.Net; using System.Net.Http; using System.Net.Security; using System.Security.Cryptography.X509Certificates; class Program { static void Main() { ServicePointMana.. 2023. 11. 23.
Oracle DB 쿼리 출력시 컬럼명 제거 방법 Oracle 데이터베이스에서 쿼리를 실행할 때 결과로 반환되는 데이터에 컬럼명을 포함하지 않으려면 SQL*Plus 또는 SQLcl과 같은 클라이언트 툴을 사용하고 있을 때 몇 가지 옵션을 설정할 수 있습니다. 여기에 일반적인 방법을 소개합니다: 1.SET PAGESIZE 0 사용하기: 이 명령어는 페이지 크기를 0으로 설정하여 헤더와 풋터를 제거합니다. 결과적으로 컬럼명과 페이지 번호도 표시되지 않습니다.2.SET HEADING OFF 사용하기: 이 명령어는 결과 집합에서 컬럼명을 숨깁니다. 예를 들어, SQL*Plus 또는 SQLcl에서 쿼리를 실행하기 전에 다음 명령을 사용할 수 있습니다: SET PAGESIZE 0SET HEADING OFFSELECT * FROM your_table; 이 방법은 쿼.. 2023. 11. 23.
리눅스쉘 / ls명령 시 조회되는 폴더별 ls 결과의 라인 수를 각각 출력하는 방법(예시) Work1, work2, work3 ... 폴더별 ls 결과의 라인 수를 각각 출력하는 방법 ? 특정 폴더(`Work1`, `Work2`, `Work3`, 등) 내부의 `ls` 명령어 결과의 라인 수를 출력하고 싶다면, Bash 쉘 스크립트에서 반복문과 파이프라인을 사용할 수 있습니다. 아래의 스크립트는 각 `Work` 폴더에 대해 `ls` 명령어의 출력 라인 수를 계산하고 출력합니다. #!/bin/bash for folder in Work1 Work2 Work3; do if [ -d "$folder" ]; then # 폴더가 존재하는지 확인 count=$(ls -1 "$folder" | wc -l) # 폴더 내 항목 수 계산 echo "$folder has $count items" else echo ".. 2023. 11. 23.
[TCP] NETSTAT명령어 사용 시 CLOSE_WAIT 상태란? `CLOSE_WAIT` 상태는 Linux의 `netstat` 명령어를 사용할 때 볼 수 있는 TCP 네트워크 상태 중 하나입니다. 이 상태는 TCP 연결이 종료되는 과정에서 나타나며, 특히 다음과 같은 상황을 나타냅니다: `CLOSE_WAIT` 상태는 종종 시스템이 여전히 자원을 보유하고 있음을 나타냅니다. 만약 이 상태가 과도하게 오래 지속되면, 이는 일반적으로 응용 프로그램의 버그나 부적절한 관리로 인해 발생하는 문제일 수 있습니다. 결론적으로, `CLOSE_WAIT` 상태는 정상적인 TCP 연결 종료 과정의 일부이지만, 이 상태가 지속적으로 유지되면 네트워크 자원이 낭비되거나 시스템 성능에 영향을 줄 수 있습니다. 이러한 상황에서는 응용 프로그램의 로그를 확인하거나 네트워크 관리 도구를 사용하여 문.. 2023. 11. 22.
리눅스 Curl https 인증서 오류 무시 옵션 `curl` 명령어를 사용할 때 HTTPS 인증서 검증을 무시하려면 `-k` 또는 `--insecure` 옵션을 사용합니다. 예를 들면: curl -k https://example.com 이 명령은 `curl`이 서버의 SSL 인증서의 유효성을 검사하지 않고 연결을 수행하게 합니다. 이는 테스트 목적으로 유용하지만, 보안상의 이유로 실제 운영 환경에서는 권장되지 않습니다. 2023. 11. 21.
C# 폴더 내 파일 목록 추출 방법 C#에서 폴더 내의 파일 목록을 추출하는 방법은 ? `System.IO` 네임스페이스에 있는 `Directory` 클래스를 사용하는 것입니다. `Directory.GetFiles` 메서드를 사용하면 지정된 폴더 내의 파일 목록을 가져올 수 있습니다. 다음은 기본적인 예제 코드입니다: using System; using System.IO; class Program { static void Main() { string folderPath = @"C:\your\folder\path"; // 폴더 경로 지정 try { // 폴더 내의 모든 파일 목록을 가져옴 string[] files = Directory.GetFiles(folderPath); foreach (string file in files) { Cons.. 2023. 11. 21.
C# 특정 디렉토리 경로에서 특정 이름의 파일 찾기 C#에서 특정 디렉토리 경로에서 특정 이름의 파일을 찾으려면 ? `System.IO.Directory` 클래스의 `GetFiles` 메서드를 사용하되, 검색 패턴을 지정하여 해당 이름을 가진 파일만 찾을 수 있습니다. 예를 들어, 특정 디렉토리에서 "example.txt"라는 이름의 파일을 찾으려면 다음과 같은 코드를 작성할 수 있습니다: using System; using System.IO; class Program { static void Main() { string directoryPath = @"C:\your\directory\path"; // 디렉토리 경로 string searchPattern = "example.txt"; // 찾고자 하는 파일 이름 try { // 지정된 패턴에 맞는 파일들의.. 2023. 11. 21.
CC BY-SA 라이센스란? Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0)는 저작권이 있는 작품을 공유하고 수정할 수 있는 권한을 제공하는 라이센스입니다. 이 라이센스의 주요 특징은 다음과 같습니다: 1. **저작자 표시(Attribution)**: 사용자는 원래 저작자를 인정해야 합니다. 이는 저작자가 요구하는 방식대로 이루어져야 합니다. 2. **동일조건 변경허락(ShareAlike)**: 이 라이센스를 사용하여 수정된 작품은 원래 작품과 동일한 라이센스 하에 배포되어야 합니다. 즉, 원작을 수정하거나 변형한 새로운 작품은 원작과 같은 CC BY-SA 라이센스를 적용해야 합니다. 3. **자유로운 사용**: 이 라이센스 하에 있는 .. 2023. 11. 21.
FTP 서버가 보안에 취약한 이유 FTP (File Transfer Protocol)는 몇 가지 이유로 보안에 취약합니다: 1. **텍스트 기반 인증 FTP는 사용자 이름과 비밀번호를 평문(암호화되지 않은 형태)으로 전송합니다. 이는 중간자 공격에 매우 취약하게 만듭니다. 2. **데이터 전송 암호화 부재FTP는 데이터 전송 시 암호화를 제공하지 않습니다. 따라서 전송되는 모든 데이터(파일, 명령, 로그인 정보 등)가 도청될 위험이 있습니다. 3. **명령과 데이터의 분리FTP는 명령과 데이터를 별도의 채널을 통해 전송합니다. 이는 데이터 전송 도중 명령 채널을 하이재킹하는 공격에 취약하게 만듭니다. 4. **악의적 파일 업로드와 다운로드인증이 약하거나 전혀 없는 FTP 서버는 악의적인 사용자가 민감한 파일을 업로드하거나 다운로드할 수 .. 2023. 11. 21.
C#에서 백슬래쉬 출력처리 C#에서 원화(₩) 키를 눌러 백슬래시로 입력하려면 원화(₩) 키의 입력을 특별히 처리해야 합니다. 아래는 C#에서 이를 어떻게 할 수 있는지 간단한 예제입니다: ```csharp using System; class Program { static void Main() { ConsoleKeyInfo keyInfo; do { keyInfo = Console.ReadKey(); if (keyInfo.KeyChar == '₩') { Console.Write("/"); } else { Console.Write(keyInfo.KeyChar); } } while (keyInfo.Key != ConsoleKey.Escape); } } ``` 이 예제는 원화(₩) 키를 누르면 백슬래시("/")를 출력하도록 처리하고, 다.. 2023. 9. 21.
아누이노 Serial에 대해 [질문사항]아두이노 serial 질문 Serial.print() 경우 ()안에 그냥 숫자 45를 넣어도 45가 출력되나요? 그럼 "45"도 똑같은 값이 나오나요? 숫자는 각 숫자에 대한 아스키 문자로 사용하여 인쇄된다는게 무슨 뜻인가요? Serial.println() 이건 위에랑 결과는 똑같은데 줄 바꿈해주는 거라고 생각하면 되는건가요? Serial.write() 괄호안에 (char 데이터)를 넣어서 char 데이터에 해당하는 ASCII 코드 값을 문자로 출력이라 하는데 이건 Serial.write(65) 하면 A가 출력되는 건가요? Serial.print("A") = Serial.write("A") = Serial.print(2+0x20) = Serial.write(2+0x20) = 답은 뭔가요 이해가.. 2023. 9. 20.
AWS의 eks 사용법에 대하여 [질문사항]제가 aws의 eks를 이용하려고 하는데 web,app은 wordpress를 이용하여 구축하고 db는 rds를 사용하고, wordpress의 php 파일들을 efs를 사용하여 보관하려고 합니다. 이런식의 구성도일 때 eks를 사용해서 구현해야 하는 부분은 어떤 부분이 있을까요 ?? 원래는 eks, efs, rds, wordpress 를 연동하는 걸로 하려고 했는데 다른 사람이 말한 부분이 있어 헷갈립니다. https://velog.io/@squarebird/AWS-EKS%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-Wordpress-%EB%B0%B0%ED%8F%AC-%EB%B0%8F-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%8113 이 주소를 보며 따라.. 2023. 9. 20.
시스템 프로그래밍 makefile 간단 문제 예시 [문제] 메인함수: 변수 a, b, c 함수1: - 변수 x - ax^2+bx+c에 대한 결과 출력 함수2: - 변수 x, y - ax+by+c에 대한 결과 출력 함수3: - ax^2+bx+c 함수의 두 해를 출력(근해 공식) a, b, c, x, y의 값은 임의로 지정 Makefile 및 소스코드 포함 Makefile은 clean 명령어가 포함되어야 하고, 실행파일을 제외한 object 파일을 삭제 해야 함 제출은 tar 파일 하나로 제출하며, tar파일에 제출에 필요한 파일들이 포함 되어야 함 ------------------------------------------- main.c#include #include "functions.h" int main() { double a = 1, b = 2, c.. 2023. 9. 19.
[무근본운영체제] OS에서 시스템 API란 커널은 운영체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 인터페이스를 제공합니다. 사용자나 응용 프로그램이 하드웨어와 직접 통신하는 것은 복잡하고 위험할 수 있기 때문에, 커널을 통해 이를 간단하게 만드는 '시스템 API'가 필요합니다. 1. 시스템 API의 정의 시스템 API는 Application Programming Interface의 약자로, 응용 프로그램이 운영체제와 통신할 수 있도록 도와주는 일련의 루틴, 프로토콜, 도구들을 의미합니다. 이를 통해 프로그래머는 하드웨어와 직접적인 통신을 하지 않아도 원하는 기능을 구현할 수 있습니다. 2. 시스템 API의 중요성 1. 추상화 API는 하드웨어나 다른 소프트웨어의 내부 구조나 작동 원리를 숨기면서 필요한 기능만을 제공합니다. 이러한 추상화는 .. 2023. 9. 19.
[무근본파이썬] 메세지 큐와 그 중요성: 온라인 쇼핑몰 예시와 코드로 이해하기 메세지 큐와 그 중요성: 온라인 쇼핑몰 예시와 코드로 이해하기 1. 메세지 큐란 무엇인가? 메세지 큐(Message Queue)는 프로세스나 스레드, 심지어는 서로 다른 서버나 애플리케이션 간에 메시지를 비동기적으로 교환하는 데 사용되는 데이터 구조입니다. 메세지 큐는 메시지를 순차적으로 저장하고, 메시지를 보내는 쪽(Producer)과 받는 쪽(Consumer) 사이에서 메시지를 전송하는 역할을 합니다. 2. 왜 메세지 큐를 사용하는가? 메세지 큐를 사용하면 시스템 간의 통신을 비동기적으로 처리할 수 있습니다. 이는 특정 작업이나 요청에 대한 응답을 즉시 기다리지 않고, 해당 작업을 큐에 넣고 다른 작업을 계속 수행할 수 있음을 의미합니다. 따라서, 과도한 트래픽이나 부하가 발생했을 때 시스템의 병목 .. 2023. 9. 19.
[파이썬,C언어] 행렬 M에서, N번째로 큰 수를 찾아야 합니다. 다음과 같은 문제가 있습니다. 문제에서는 M이라는 N * N 행렬이 있습니다. 이 행렬에서는 각각의 원소들이 분리되어 있습니다. 그리고 각각의 원소는 서로 다른 값을 가지고 있습니다. 이 행렬 M에서, N번째로 큰 수를 찾아야 합니다. 즉, 6 * 6 행렬에서 6번째로 큰 수를 찾는 것이 목표입니다. 이 문제에 대한 알고리즘을 설명해주시면 감사하겠습니다. 또한 수도코드도 같이 알려주시면 감사하겠습니다. -------------------------------------------------- N * N 행렬에서 N번째로 큰 수를 찾는 문제에 대한 알고리즘은 다음과 같습니다. 1. **정렬 방법을 사용하는 알고리즘**: - 먼저, N * N 행렬의 모든 원소를 하나의 리스트에 넣습니다. - 이 리스트를 내.. 2023. 9. 17.
C언어, 파이썬 이진탐색에 관하여 (샘플문제, 수도코드) 문제는 다음과 같습니다. N * N 행렬이 있습니다. 각각의 행과 열은 오름차순으로 구성되어 있습니다. 그리고 정수 k가 주어집니다. 행렬 내에서 이 k의 위치를 구하는 것이 알고리즘의 목표입니다. 만약 k가 2개 이상일 시, k의 위치는 두개의 위치 중 하나의 위치를 랜덤하게 출력합니다. 첫번째 입력으로는 행렬이 들어옵니다. 두번째 입력으로는 정수 k의 값이 들어갑니다. 그리고 output은 (행,열) : position of ‘입력받은 정수‘ 입니다. input과 output은 다음과 앝이 입력되어집니다. 이 알고리즘 문제의 풀이과정과 수도코드를 알려주시면 진심으로 감사드립니다. ------------------------------------------------ 이 문제를 효율적으로 해결하려면 이.. 2023. 9. 17.
무료로 사용할 수 있는 클라우드 기반의 파이썬 실행환경 소개 [궁금한 사항]python을 모바일에서 실행하려고 하는데 긴 시간이 걸리는 작업이라서 핸드폰이 꺼져 있어도 계속 코드를 실행하는 그런 사이트 좀 추천해주세요, 단, 제 코드를 비공개로 할 수 있는 걸로요, 무료로 제 코드 비공개할 수 있는 거 원해요,( Repl.it 은 돈내야지 비공개더라고요) [답변]무료로 사용할 수 있는 클라우드 기반의 Python 실행 환경을 찾으시는 것 같습니다. 핸드폰이 꺼져 있어도 코드를 실행하게 하는 것은 서버나 클라우드 기반 환경을 찾아보시는 것이 좋습니다. 1. Google Colab: Google에서 제공하는 무료 Jupyter 노트북 환경입니다. GPU를 무료로 사용할 수 있기도 합니다. 주의하실 점은 실행 후 일정 시간이 지나면 VM이 재시작됩니다. 하지만, 핸드폰.. 2023. 9. 17.
(프로그래밍) 프레임워크와 라이브러리의 차이점은???-왕초보도 이해하는 개념 프로그래밍의 세계에 발을 들이면 가장 먼저 마주치게 되는 거대한 두 산이 있습니다. 그 두 산의 이름은 바로 ‘프레임워크(Framework)’와 ‘라이브러리(Library)’ 입니다. 이 두 산을 넘지 않고서는 진정한 프로그래밍의 세계로 들어갈 수 없죠. 그렇다면 이 두 산은 어떻게 다른 것일까요? 오늘, 그 진실의 심연으로 여러분을 안내하겠습니다. 우선, 먼 옛날부터 사람들은 도구를 사용해 일을 편리하게 해 왔습니다. 이처럼 프로그래밍에서도 개발자들의 일을 도와주기 위한 도구들이 등장했습니다. 이러한 도구 중 두 가지, 바로 프레임워크와 라이브러리를 오늘 우리의 주제로 삼았습니다. 라이브러리를 상상해보세요. 그것은 마치 우리가 책을 찾아 읽기 위해 도서관을 찾아가는 것과 같습니다. 당신이 필요로 하는 .. 2023. 9. 16.
(프로그래밍) Parameter와 Argument의 차이점이 있다고???-왕초보도 이해하는 프로그래밍 자, 오늘 우리가 함께 파헤쳐 볼 주제는 바로 프로그래밍에서의 ‘Parameter’와 ‘Argument’의 차이점입니다. 이 주제를 이해하기 위해 먼저 어느 가을 날, 우리의 향기로운 일상을 생각해봅시다. 당신이 좋아하는 카페에 들어가 커피를 주문하려고 합니다. 카페 앞에는 여러 메뉴판들이 있습니다. 그 메뉴판들이 바로 함수의 ‘Parameter’와 같습니다. 메뉴판은 당신에게 커피를 주문할 때 필요한 정보들을 제시하죠. 예를 들면, 아메리카노에는 몇 스푼의 설탕을 넣을 것인지, 우유는 얼마나 추가할 것인지 등의 정보를 미리 정의해 놓은 것입니다. 이제 당신이 카운터에 가서 실제로 주문을 합니다. “아메리카노에 설탕 두 스푼, 우유는 조금만 추가해주세요.” 바로 이 순간, 당신이 전달한 이 실제 값들, .. 2023. 9. 16.