목록Computer Science 호기심 (13)
hi jaeneee

주임님께서 회사 플로우차트를 앞에서 발표해 보라고 하셨다. 플로우차트가 뭔지부터 알아보자,,!! Flow : 흐름 Chart : 자료 Flow + Chart : 순서도 / 흐름도 => 어떤 일을 처리하기 위한 과정을 도식화한 것 -> ISO(International Standardization Organization, 국제표준기구)에서 정한 기호와 흐름선을 활용 https://www.tcpschool.com/codingmath/flowchart 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com Tip) Keep it Simple 1) 일관된 디자인 사용 2) 모든 프로세스를 한 페이지에 넣기 3) 왼쪽에서 오른쪽으로, ..
DB 명명 규칙이 중요한 이유(Chat GPT 참고!) 1. 가독성 및 이해성 : 데이터베이스 구조와 개체 간의 관계를 쉽게 이해할 수 있음 -> 유지 보수 및 협업 수행에 도움 2. 충돌 방지 : DB 개체의 이름 충돌을 방지할 수 있음 -> 개체를 유일하게 식별할 수 있음 3. 일관성 : 일관되고 일련성을 갖게됨 -> 오류 발생 가능성 줄임 4. 표준 준수 : 특정 DBMS나 개발 프레임워크에서는 명명규칙을 제공함 -> 해당 시스템 또는 프레임워크와 호환성 보장 DB 명명 규칙 1. 따옴표 사용X 2. 공백 포함X 3. 소문자 작성 4. 데이터 타입의 이름 사용X ex : text, timestamp -> (X) 5. 단어 사이는 '_'로 구분(Snake case) ex : ashsilver -> a..
https://hbase.tistory.com/169 [Java] 자바 어노테이션(Annotation) 사용법 및 예제 - 커스텀 어노테이션 만들기 스프링 프레임워크 기반의 작업을 많이 하는 개발자라면 '어노테이션(Annotation)'을 자주 사용할 것이다. (어노테이션, 애너테이션 등으로 발음하지만 본 포스트에서는 어노테이션으로 명명하겠 hbase.tistory.com Annotation : 주석 자바의 어노테이션 : 소스코드에 추가해서 사용할 수 있는 메타 데이터일종 (기능) 1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공 2. 소프트웨어 개발 환경이 빌드나 배포시 코드를 자동으로 생성할 수 있도록 정보 제공 3. 런타임에 특정 기능을 실행하도록 정보 제공 @Controller : 해..

블로그를 만들어보려했는데 친한 오빠가 라고 해서,,, 뭔지부터 알아보기로 했다,,!! Maven? : 자바용 프로젝트 관리도구 -> apache ant의 대안 -> 프로젝트의 전체적인 라이프 사이클을 관리하는 도구 (특징) - 필요한 라이브러리를 특정 문서에 정의해 놓으면, 해당 라이브러리가 작동하는데에 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해 자동으로 다운받아줌 - 중앙 저장소(라이브러리를 공유하는 파일 서버)를 통한 자동 의존성 관리 - 간단한 설정을 통한 배포 관리 가능 - 전체적인 라이프사이클을 관리하는 도구 (lifecycle) clean -> validate -> compile -> test -> package -> verify -> install -> site -> deploy ..
https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/ HTTP와 HTTPS - 전송 프로토콜 비교 - AWS 1996~1997년에 출시된 최초의 HTTP 버전이 HTTP/1.1입니다. HTTP/2와 HTTP/3은 프로토콜 자체를 업그레이드한 버전입니다. 데이터 전송 시스템을 수정하면서 효율성을 개선했습니다. 예를 들어, HTTP/2는 텍 aws.amazon.com HTTP(Hypertext Transfer Protocol) : 클라이언트와 서버 간의 통신을 위한 규칙, 프로토콜 -> 암호화되지 않은 데이터 전송(브라우저에서 전송된 정보를 제 3자가 가로채고 읽을 수 있음) 기본 포트 : 80 -> 이전 텍스트 기반 웹 사이트 H..
객체 지향 프로그래밍이란? 객체 지향 프로그래밍 = Object Oriented Programming : 프로그램 구현에 필요한 객체를 파악하고 각각 객체들의 역할이 무엇인지 정의 -> 상호작용을 통해 프로그램을 만드는 것 : 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급해 객체 내부에 선언된 메서드를 활용하는 방식 http://www.incodom.kr/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5 생물정보 전문위키, 인코덤 Wikipedia for Bioinformatics www.incodom.kr 절차 지향 vs 객체 지향 절차 지향 : 프로그램을 기능 중심으로 바라봄 => 어떤 기능을 어떤 순서로 처리? -> 소형 프로그래밍 적합 (작은 기능 수반)..
http://www.tcpschool.com/php/php_intro_intro 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com PHP(Hypertext Preprocessor) : C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어 (특징) -> 동적 웹 페이지를 쉽고 빠르게 만들 수 있음 -> PHP 코드를 HTML에 추가하면 동적 웹 페이지 생성 가능 -> 주요 OS와 대부분 웹 서버에서 지원 -> 직관적인 코드 작성 가능 -> 작성해야 하는 코드의 양이 적음 -> 텍스트 처리에 특화 => HTML 문서 처리에 적합 (출처 : https://velog.io/@uvula6921/%EB%8F%..

스터디 오빠가 면접 가서 "MSA가 뭔가요?"라는 질문을 받았다고 했다. 내가 아는 건 MMA 밖에 없어서 한 번 알아보기로 했다! MSA란? MicroService Architecture : 작고 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크 Monolithic : 기존에 우리가 사용하던 전통적 방식의 개발 방식 => 한 덩어리의 구조(단일 시스템) -> 전체 애플리케이션이 하나로 됨 https://youtu.be/dSGnJWHuxtQ why MSA? (특징) 1. 복잡도↑ 2. 비용↑ -> API 호출 ↑ -> 서버의 자원 사용량↑ 3. 부분 장애가 전체 서비스 장애로의 확대를 막음 4. 부분적인 작업이 가능함 5. 약한 결합도로 서비스 변경이 보다 쉬움 6. 유지 보수 시..
디자인 패턴 : 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것 : 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴 => "Don't reinvent the wheel" -> 이미 만들어져서 잘 되는 것을 처음부터 다시 만들 필요가 없다 GoF(Gang of Four) 디자인 패턴 -> 4인방 디자인 패턴(4명이 만듦) 디자인 패턴의 분류 생성(creational) 패턴 : 객체 인스턴스를 생성하는 패턴 추상팩토리 빌더 팩토리 메서드 포로토타입 싱글톤 구조(structural) 패턴 : 클래스와 객체를 더 큰 구조로 만들 수 있게 구성 사용 어댑터 브리지 컴퍼지트 데커레이터 퍼사드 플라이웨이트 프록시 행위..
http://www.incodom.kr/%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%A3%BC%EB%8F%84_%EA%B0%9C%EB%B0%9C 생물정보 전문위키, 인코덤 Wikipedia for Bioinformatics www.incodom.kr 테스트 주도 개발 : 선 테스트 후 개발 방식 프로그래밍 방법 TDD 개발 방법 1. 테스트 케이스 작성 2. 테스트 케이스 통과 코드 작성 3. 리팩토링 TDD 장점 1. 객체 지향 코드 개발 -> 객체 지향 프로그래밍의 특징 발생! (객체지향프로그래밍 특징 -> 추상화, 캡슐화, 상속성, 다형성) 2. 수정 시간 단축 -> 테스트 케이스 관련 코드로 어디서 오류가 발생했는지, 어떤 오류가 발생했는지 알 수 있기 때문 3. 리팩토링/유지보수 용..

https://namu.wiki/w/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC 프레임워크 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권 namu.wiki 프레임워크 : 소프트웨어 개발의 뼈대 : 어떤 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조 : 공통으로 사용될 수 있는 특정한 기능들을 모듈화 프레임워크 종류 spring : java의 웹 프레임워크 django : python의 웹 프레임워크 laravel : php의 웹 프레임워크 프레임워크 vs 라이브러리 프레임워..

https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC_(%EC%BB%B4%ED%93%A8%ED%8C%85) 라이브러리 (컴퓨팅) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. Ogg Vorbis 파일을 재생하기 위해 libvorbisfile을 사용하는 응용 프로그램의 개요도. 라이브러리(영어: library)는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사 ko.wikipedia.org 라이브러리 : 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 : 공통으로 사용될 수 있는 특정한 기능들을 모듈화 -> 가져다 쓸 책의 집합 ex) 라면 끓이기 코딩하기! 1. 라면 끓일 냄..
Database : 데이터의 집합 SQL (Structured Query Language) : 데이터를 관리하기 위해 설계된 프로그래밍 언어 스키마 : DB를 구성하는 개체, 속성, 관계 및 제약 조건 등을 정의한 메타 데이터 집합 DBMS (DataBase Management System) -> 데이터베이스 관리 소프트웨어 RDBMS (Relational DataBase Management System) : 관계형 데이터 베이스 -> 모든 데이터를 2차원 테이블로 표현 -> 정해진 스키마에 따라 데이터 저장 -> 명확한 데이터 구조 -> 테이블과 테이블 사이의 관계를 맺음 -> 스키마 변경이 번거롭고 어려움 NoSQL (Not Only SQL) : 데이터 저장 기술 -> 데이터와 트래픽의 증가에 따라 ..