Computer Science(12)
-
기본 알고리즘
1. 알고리즘이란 알고리즘은 다음과 같이 정의할 수 있다. "문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합" 예를 들어 보자, 아래의 코드는 세 수를 입력받아 최댓값을 구하는 프로그램이다. #include int find_max(int n1, int n2, int n3) { int max = n1; if (n2 > max) max = n2; if (n3 > max) max = n3; return max; } int main() { printf("%d, %d, %d 중 최대값: %d\n", 1, 2, 3, find_max(1, 2, 3)); //최댓값은 3 printf("%d, %d, %d 중 최대값: %d\n", 23, 54, 25, find_max(23,..
2024.02.25 -
Design Pattern
ICEBREAK ❄💔 : 서울은 정말 살기 좋은 곳 같습니다. 지하철도 있고, 공원도 있고, 좋은 사람들도 많은 것 같아요 ;) 🔴열정으로 임하습니다.🔴 📌Design Pattern 디자인패턴(DesignPattern)이란? 객체지향 프로그래밍 설계를 할 때 생기는 문제들을 해결하기 위한 패턴이다. 우리는 객체 지향 프로그래밍을 설계하며 수많은 문제들에 부딪힙니다. 그런데 우리가 보는 문제들은 다른 개발자들도 많이 보고 싸워왔던 문제일텐데요. 많은 사람들이 싸워왔던 만큼, 많은 전문가분들이 해결책을 마련해 놓았습니다. 그 해결책들을 디자인 패턴이라고 부릅니다. 📌Creational Pattern(생성 패턴) ✅Prototype : 원본을 만들어 놓고 원본 객체를 복사하여 사용하는 방식을 사용하는 패턴입니..
2022.10.07 -
[Git,Github]EP.2 - Git 버전 관리하기
ICEBREAK ❄💔 : 서울 미세먼지 장난 없습니다. 코로나 아니어도 마스크 써야할지도... 🔴열정으로 임하습니다.🔴 🚨시작하기 전, SourceTree와 VisualStudio Code를 설치하고 초기 설정을 해주세요🚨 📌로컬저장소를 SourceTree에 불러오기 제 블로그에 있는 Git,GitHub - EP.1에 이어서 내용 작성할게욥! 지난번까지 검정 바탕의 CLI환경에서 진행했었는데요. 인간은 시각을 중요하게 여기는 동물이다보니 아무래도 조금 어려운 감이 있었습니다. 그래서 GUI프로그램인 SourceTree를 사용하는 법을 알려드릴게요! 1️⃣소스트리를 실행하고 상단 탭에서 [Add] 버튼을 눌러주세요. 2️⃣[탐색] 버튼을 누르고 [iTshirt-cat] 폴더를 찾아 [폴더 선택]을 클릭합니..
2022.10.07 -
[Thread]Ep.1 - 스레드 vs 프로세스
ICEBREAK ❄💔 : 500에 이슬 정말 맛있습니다. 소주가 아니라 그저 주스입니다. 그러나, 주스처럼 마시다가 훅갑니다. 네, 경험담 맞습니다. 저는 겁없는 초딩시절부터 거의 6년 가까이 Android 개발을 해 왔었는데요. 그때마다 JAVA 개발의 벽에 막혔었고, 그 벽은 대부분 쓰레드와 NullPointerException으로 구성되어 있었습니다. NullPointerException은 두손모아 기도를 하면 어느정도 해결이 가능하지만 쓰레드는 정말 공부 해야만 해결할 수 있을 것 같았습니다. 그리고 지금, 좋은 기회가 생긴 것 같아 쓰레드에 대해 심도있게 공부해 볼 예정입니다. 쓰레드도 제 블로그의 Git,Github과 마찬가지로 매주 공부하는 내용을 올리고자 합니다(다음주 부터는 일주일에 적어..
2022.09.30 -
[Git,Github]EP.1 - Git,GitHub 감 익히기
개발을 배우기 시작할 때부터, "나중에 기회가 생긴다면 Git, Github에 대해 자세히 공부해보고싶다.."라는 생각을 했습니다. 갓 대학에 입학한 이제는 입시공부도 끝나고, 생활에도 어느정도 여유가 생긴 것 같아 기회를 잡아 Git, Github에 대해 심도 있게 공부해 보기로 했습니다(책도 구매했습니다!!). 앞으로 3달에 걸쳐 매주 Git, Github에 관련해서 공부하는 내용을 올리고자 합니다. Github Desktop 설치 부터 실무에서 활용되는 CLI 명령어 까지, 당장 내일 개발자로 채용되도 문제 없을 정도로 열심히 공부해 보고자 합니다. 🔥열정으로 불태우겠습니다🔥 📌Git, Github? 그게 뭔데? 0️⃣들어가기에 앞서, 버전관리 개발은 혼자 진행하는 경우도 있지만, 여럿이 한 프로젝..
2022.09.30 -
객체지향 vs 절차지향
📌 객체 지향 프로그래밍 '객체 지향(Object Oriented Programming)'은 사전적 정의로 "객체를 생성하고 조직하며 객체끼리 관계를 맺음으로써 여러 객체가 함께 수행될 수 있게 해주는 언어"라는 뜻을 가지고 있다. 절차(혹은 데이터)를 하나의 덩어리로 묶에서 관리하게 되는 것인데, 각각의 다른 기능을 수행하는 부품을 모아서 핸드폰을 만드는 것과 비슷한 방법이다. 각각의 기능들을 먼저 구성하고 그 기능들을 종합하는 것이 특징인 만큼, 기능을 추가하거나 삭제하는 작업이 생길 경우 해당 기능을 구현하는 부분에서만 변경해 주면 된다는 장점이 있다. 예를 들어 핸드폰의 충전 형식을 8핀에서 C타입으로 변경하고 싶다면 충전 단자 부분만 변경해 주면 된다는 것이다(만약 핸드폰이 절차 지향 방식으로 ..
2022.09.23