Programming/etc 57

스택(stack);값 형식과 힙(heap);참조 형식

스택(Stack)과 힙(Heap)은 컴퓨터 메모리에서 데이터를 저장하는 두 가지 주요 영역입니다. 이들은 값 형식(Value Type)과 참조 형식(Reference Type) 데이터를 저장하는 데 사용됩니다. 다음은 스택과 값 형식, 그리고 힙과 참조 형식의 개념과 차이점을 알기 쉽게 설명한 것입니다. 스택과 값 형식: - 스택은 메모리의 한 부분으로, 지역 변수, 매개 변수, 반환 값 등의 작은 크기의 데이터를 저장합니다. - 값 형식은 해당 데이터를 스택에 직접 저장합니다. - 값 형식은 실제 데이터를 저장하며, 변수에 할당될 때 데이터의 복사본이 생성됩니다. - 값 형식은 주로 정수, 부동 소수점 숫자, 논리값, 열거형 등과 같은 단순한 데이터를 나타냅니다. - 값 형식은 메모리에서 할당 및 해제..

Programming/etc 2023.06.27

컴파일러(compiler)와 인터프리터(interpreter)

컴파일러(Compiler)와 인터프리터(Interpreter)는 프로그래밍 언어 코드를 실행 가능한 형태로 변환하는 데 사용되는 두 가지 주요 방법입니다. 다음은 컴파일러와 인터프리터의 개념과 주요 차이점에 대한 설명입니다. 컴파일러: 컴파일러는 프로그래밍 언어 코드를 기계어나 중간 언어로 변환하는 프로그램입니다. 컴파일러는 소스 코드 전체를 한 번에 읽고, 분석하고, 변환하여 실행 가능한 파일(바이너리)을 생성합니다. 이 파일은 컴퓨터에서 직접 실행할 수 있습니다. 컴파일러는 컴파일 과정에서 코드를 최적화하고, 오류를 검출하고, 실행 속도를 향상시킬 수 있습니다. 일반적으로 컴파일러를 통해 생성된 실행 파일은 다양한 환경에서 반복적으로 실행할 수 있으며, 빠른 실행 속도를 제공합니다. 그러나 컴파일러는..

Programming/etc 2023.06.27

디자인 패턴(design pattern)

# 디자인 패턴 소프트웨어 개발에서 자주 나타나는 문제를 해결하기 위한 일반적인 해결책입니다. 다양한 디자인 패턴이 있지만, 여기서는 몇 가지 대표적인 디자인 패턴을 나열하고 간단한 예시 코드를 제공하겠습니다. 1. Singleton Pattern (싱글턴 패턴): - 목적: 클래스의 인스턴스가 하나만 생성되고, 전역적인 접근점을 제공하는 패턴입니다. - 예시 코드: public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instan..

Programming/etc 2023.06.24

서버 측 스크립트 언어에 관하여

# 서버 측 스크립트 언어(서버 사이드 언어) 웹 서버에서 실행되는 스크립트 언어로, 클라이언트로부터의 요청을 받아 처리하고, 그에 따른 동적인 웹 페이지나 데이터를 생성하는 역할을 수행합니다. 주로 다양한 백엔드 프레임워크와 함께 사용되며, 데이터베이스와의 상호작용, 비즈니스 로직의 처리, 세션 관리 등 다양한 서버 측 작업을 수행할 수 있습니다. 주요한 서버 측 스크립트 언어로는 다음과 같은 것들이 있습니다: (클라이언트 측에 보이지 않는다.) PHP: 가장 널리 사용되는 서버 측 스크립트 언어로, HTML과 통합하기 쉽고 다양한 웹 개발에 활용됩니다. 대부분의 웹 호스팅 환경에서 기본적으로 지원됩니다. Python: 다양한 웹 프레임워크와 함께 사용되는 인기 있는 스크립트 언어입니다. Django,..

Programming/etc 2023.06.21

포트 포워딩(port fowarding)

# 포트 포워딩 해당 포트로 들어오는 TCP/UDP + SSH 등의 패킷이 들어온다면 특정 IP로 보낸다는 뜻 설정 - 명령프롬프트에서 ipgonfig :ip주소 확인 netstat -an :로컬 인바운드, 외부 아웃바운드, 확인 ping ip 주소 : 네트워크 작동 확인 제어판 - 방화벽 - 고급 인바운드- 아웃바운드 규칙/ 새규칙 - 포트 - 특정로컬포트 지정 * 127.0.0.1 은 컴퓨터의 네트워크 입출력 확인 위한 로컬 가상 할당 주소(루프백 주소) * 포트(port)는 부호가 없는 16비트 정수로 0~65535 값 이용. 보통 HTTP는 80/ HTTPS는 443/ FTP는 21/ TELNET은 23/ SMTP는 25 # 참고 https://blog.naver.com/seoulworkshop/..

Programming/etc 2023.06.20

TCP와 UDP와 IP 프로토콜

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷 프로토콜 스위트의 두 가지 중요한 전송 프로토콜입니다. 다음은 TCP와 UDP의 주요 특징과 차이점을 자세히 설명한 것입니다: 1. TCP (Transmission Control Protocol): - 연결 지향적 프로토콜: TCP는 연결을 설정하고 유지하는 데 중점을 둔 연결 지향적인 프로토콜입니다. - 신뢰성: 데이터의 전달 신뢰성을 보장하기 위해 순차적이고 에러 검출 및 복구, 재전송 등의 메커니즘을 사용합니다. - 흐름 제어: 송신 측과 수신 측 간의 데이터 흐름을 조절하여 송신 측의 데이터 속도를 수신 측의 처리 속도에 맞추는 기능을 제공합니다. - 혼잡 제어: 네트워크 혼..

Programming/etc 2023.06.20

웹 서버(WS)와 웹 어플리케이션 서버(WAS) 비교

웹 서버와 웹 어플리케이션 서버(WAS)는 웹 애플리케이션의 서비스를 위해 사용되는 두 가지 주요 컴포넌트입니다. 다음은 각각의 특징과 역할에 대한 자세한 설명입니다: 1. 웹 서버(WS): - 역할: 웹 서버는 클라이언트로부터 HTTP 요청을 받아들이고, 해당 요청에 대한 정적인 컨텐츠를 제공합니다. - 정적인 컨텐츠: 웹 서버는 HTML, CSS, JavaScript, 이미지 파일 등과 같은 정적인 파일을 제공하는 데 주로 사용됩니다. - 기능: - 정적 파일 서비스: 웹 서버는 클라이언트로부터 요청된 정적 파일을 응답으로 제공합니다. - 기본적인 보안 기능: 웹 서버는 기본적인 보안 기능(예: SSL/TLS 암호화)을 제공할 수 있습니다. - 부하 분산: 웹 서버는 여러 대의 서버로 로드를 분산시키..

Programming/etc 2023.06.20

애자일(Agile) 방법론

# 애자일 방법론 소프트웨어 개발 프로젝트를 위한 반복적이고 협업 중심의 접근 방식입니다. 애자일은 변경에 유연하게 대응하고 고객의 요구사항을 빠르게 수용하기 위해 계획 대신 협력, 적응, 반복을 강조합니다. 주요한 애자일 방법론으로는 스크럼(Scrum), 익스트림 프로그래밍(XP), 칸반(Kanban) 등이 있습니다. 주요 특징과 원칙: 1. 반복적인 개발: 애자일 방법론은 프로젝트를 작은 반복주기인 스프린트(Sprint)로 나누어 진행합니다. 각 스프린트에서는 소프트웨어를 개발하고 테스트하여 작동하는 제품을 빠르게 제공합니다. 이를 통해 초기 피드백을 받고, 지속적인 개선과 변경을 수용할 수 있습니다. 2. 고객 중심 개발: 애자일은 고객의 요구사항을 중요시하며, 지속적인 고객의 참여와 피드백을 수용..

Programming/etc 2023.06.20

DevOps(데브옵스)

# DevOps 개발(Deployment)과 운영(Operations)의 합성어로, 소프트웨어 개발과 IT 운영을 효과적으로 통합하는 방법론 및 문화를 의미합니다. DevOps의 주요 목표는 개발과 운영 사이의 협력과 커뮤니케이션을 강화하여 소프트웨어의 개발, 배포, 운영, 유지보수를 효율적으로 진행하는 것입니다. DevOps에서의 주요 개념은 다음과 같습니다: 1. 협력과 커뮤니케이션: 개발자, 운영팀, 품질 관리자 등 조직 내 다양한 역할 간의 원활한 소통과 협력이 필요합니다. 개발과 운영팀 간의 경계를 허물고, 지속적인 피드백과 지식 공유를 통해 협업을 강화합니다. 2. 자동화: DevOps에서는 반복적이고 자주 발생하는 작업들을 자동화하여 개발과 운영 프로세스를 최적화합니다. 자동화는 빠른 배포,..

Programming/etc 2023.06.13

취업 관련

# 신입 개발자 준비 출처: https://mangkyu.tistory.com/171 [취업준비] 신입 개발자 취업 준비 시작하는법 요즘 개발자로 취업준비하려는 분들이 주변에 참 많이 보입니다. 심지어는 본인이 하고 있는 일을 그만두고 개발자로 전향하시는 분도 계시는데, 카페나 SNS 글을 보면 많이 고민하고 어려워하 mangkyu.tistory.com # 신입 개발자 코딩테스트(알고리즘 문제) 관련 출처: https://mangkyu.tistory.com/181 [취업 준비] 신입 개발자 알고리즘 팁 정리 및 문제 추천 이번에는 취업 준비를 하면서 풀었던 백준 알고리즘 문제 중에서 개인적으로 괜찮았던 문제들을 추천해보고자 합니다. 예전에 풀었던 기록들을 보고 정리한거라 빠진 좋은 문제들도 많이 있을 m..

Programming/etc 2023.06.07