Admin의 사용자 기여
기술노트
2025년 2월 5일 (수)
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +4,198 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 4 형상관리는 소스 관리/4 4 1 소프트웨어 유지보수도 중요하다 새 문서: 유지보수라는 것은 구축된 시스템을 운영 및 관리해주는 것이다. 사실 이미 구축된 시스템이라면 많은 일손이 안들수도 있다. 잘 돌아가기만 하면 될 것이다. 물론 B2C 서비스의 경우 상황은 다를 수 있다. 앞서 얘기한 것도 있지만, 린 개발방법론이라든가 DevOps를 한다면 유지보수라는 측면보다는 지속 개발이라는 것이 맞을 것이다. 계속된 요구가 있고, 개선 사항... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,803 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 3 개발 방법론의 진화, 요구공학이란/4 3 3 애자일 흉내내기 새 문서: 애자일은 쉽게 말하면 민첩한 개발이다. 스크럼을 한다. 스크럼은 간단한 회의를 말한다. 사실 개발 방법론 중에는 지나치게 그 방법론이 뭐냐를 의식하는 경우가 많다. 굉장히 자연스럽게 생겨난 형태인데, 우리는 그 겉모습을 따라하기 바쁘다. 간단하게 하라고 하니 간단하게 하고, 서서 하라고 하니 회의를 서서한다. 그 근본 취지를 좀더 생각해볼필요가 있는... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +4,135 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 3 개발 방법론의 진화, 요구공학이란/4 3 2 애자일 방법론, 방법론 테일러링 새 문서: 애자일 방법론도 어쩌면 개발방법론에 집중하기 보다는 개발에 집중하다 보니 나오게 된 방법론의 혁식적인 변화일 것이다. 애자일이라는 것은 민첩함 정도, 그렇다고 애자일 방법론을 민첩하게 개발하는 것 정도로 생각하고 해석하기에는 애자일이 가지는 의미는 매우 넓다. 대부분의 방법론은 제조에서 나온 것으로 보인다. 물론 PMP와 같은 프로젝트 관리 자격... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,907 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 3 개발 방법론의 진화, 요구공학이란/4 3 1 CBD방법론의 컴포넌트란 새 문서: Component Based Development 방법론이다. 개발 방법론은 여러가지가 있다. 컴포넌트 기반으로 개발을 한다는 것이다. 컴포넌트는 무엇일까? 프로그램의 기본 단위는 함수라고 할 수 있다. 함수도 어떤 기능을 한다. 모듈이 있다. 모듈도 기능을 하는 것인데, 함수들의 집합이다. 함수들이 어떤 순서로 동작이 되면서 기능을 하는 것이다. 모듈은 꽤 큰 기능을 표현할 때 사용... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +4,210 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 2 프로젝트 관리에는 답이 없다/4 2 2 정보시스템 감리의 실제적인 업무 내용 새 문서: 정보시스템에 있어서 감리 영역은 시스템이 잘 구축되어 있는지 점검하는 것이다. 그 기준은 설계 문서가 될 것이다. 설계 대로 구축이 되어 있는지 측면이 구현이 잘되었다고 할 수 있다. 설계도 확인을 해야 한다. 요구사항 대비 요구사항이 반영이 잘되었는지를 봐야 한다. 요구사항이 설계에 반영이 되고, 실제 구현이 잘되었는지까지 봐야 한다. 그리고 구현체... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +4,044 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 2 프로젝트 관리에는 답이 없다/4 2 1 분리 발주 분할 발주 차이가 새 문서: 분리 분할 발주는 프로젝트는 원청, 시행코자 하는 회사는 분리와 분할 발주의 차이는 두가지 모두 '을' 또는 '병정' 입장을 좀더 생각하는 것이 소프트웨어 업계는 오랜동안 병정 놀이를 해왔다. 지금도 그러고 있다. 분리 발주는 소프트웨어 분리를 발주는 하는 것이다. 하드웨어 납품업체, 또는 솔루션 납품업체가 원청에 독자적으로 납품을 하는 것이다. 이를 전... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,802 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 1 건축물의 구조 설계 같은 시스템 아키텍쳐/4 1 2 소프트웨어 아키텍쳐는 정답이 없다 새 문서: 아키텍쳐는 건물로 치면 구조물을 어떤식으로 만들 것인가 이다. 디자인은 건물의 외관이 어떤 외곽을 가지며 어떤식의 색깔과 분위기를 연출할지라면 소프트웨어에서도 비슷하다. 사용자가 접하고 있는 부분의 느낌이나 선, 색들을 정하고 꾸미는 것이다. 아키텍쳐는 순수한 그림 안에 어떤식으로 구조화 할지에 대한 부분이다. 건물 구조를 단순하게 사각형으로... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +3,487 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 1 건축물의 구조 설계 같은 시스템 아키텍쳐/4 1 1 소프트웨어 설계 vs 건축물 설계 새 문서: 설계라는 것은 그림을 그리는 것이다. 건축물로 치면 설계도를 그리는 것이다. 설계도는 건축물을 만들기 위한 모든 것이 담겨져 있다. 그림으로 표시도 되어 있고, 수치로도 표시가 되어 있다. 어떤 건축물을 만들지를 알 수가 있다. 건축물에도 조망도가 있고, 상세하게 층마다 어떻게 지어질지가 나타나있는 세부 설계도가 있다. 건물을 보면 우리는 계단을 올라... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,423 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 6 소프트웨어 테스트 방법론 새 문서: 테스트 화이트 박스 테스트 vs 블랙 박스 테스트 화이트 박스 테스트는 소스를 보고 review하거나 code inspection 같은 툴로 소스 검증을 하는 방법입니다. 블랙박스 테스트는 기능에 관련된 테스트이구요. 자세히는 아래와 같습니다. 단위테스트 unit test 통합테스트 시나리오 기반 테스트 회귀테스트 반복 테스트 연동테스트 타 모듈과 연동되는 시나리오 기반 성... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +3,723 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 5 DevOps는 시너지이다 새 문서: DevOps는 Development와 Operation의 합성어이다. 개발과 운영 함께 잘해보겠다는 것이다. 왜 이런 개념이 나왔을까? 원래 구축을 하고 운영으로 인수인계를 한다. 구축하는 사람들을 개발팀이라고 부르고, 그 구축된 시스템을 운영해주고 유지보수 해주는 팀을 운영팀이라고 부른다. 소프트웨어 개발은 사람이 하기에 사람에 대한 이해가 필요하다. 각각 소속된 사람은 어... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,313 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 4 형상관리는 소스 관리 새 문서: 형상을 관리하는 프로세스이다. 프로그램에서 있어서 형상이라는 것은 프로그램 소스 내지는 설계 문서이다. 이 형상을 관리하는 것은 기존과 어떻게 달라진 것이 무엇이 달라진 것인지 누가 변경한 것인지가 기록되어지고, 확인이 가능해야 한다. 사실 대부분의 형상관리툴은 이 기능을 지원한다. Perforce, SVN이 대표적인 형상 관리 툴이다. GitHub도 대표적인 형상 관... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +6,994 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 3 개발 방법론의 진화, 요구공학이란 새 문서: 개발 방법론은 여러가지가 있다. 개발을 어떻게 할 것인가의 문제인데, 과거 전통적인 방법론은 폭포수 방법론이였다. 폭포가 떨어지듯 순차적으로 개발을 진행하는 것이다. 기획 - 분석, 설계 - 개발 - 테스트 이 순서는 전통적인 개발의 순서이다. 어떤 것을 만들지 고민하고, 인터페이스라든가 기능을 설계하고, 해당하는 기능을 만들고 테스트하는 것이다. 이... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +5,162 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 2 프로젝트 관리에는 답이 없다 새 문서: 프로젝트 관리에 답은 없다고 생각한다. 프로그램가 원하는 목표를 달성하면 된다. 그럼 어떻게 관리할 것인가? 원칙의 문제일 것이다. 사실 사람이 핵심인데, 이 이야기는 다음에 언급하고, 일단 프로젝트 관리의 원칙적인 얘기들을 하려고 한다. \- 일정관리, 범위 관리, 원가 관리, 품질 관리, 인력 관리, 의사소통 관리, 위험 관리 이러한 것들을 관리해야 한다.... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +5,676 새글 4 소프트웨어 개발을 한다는 것은 무엇일까/4 1 건축물의 구조 설계 같은 시스템 아키텍쳐 새 문서: 시스템 아키텍쳐는 시스템의 서버들의 구성 모습이다. 구조라고 말할 수도 있다. 시스템 구성도로 표현을 하기도 한다. 서버간 연결하는 구성도만을 얘기하는 것은 아니고 좀더 깊은 내용까지 아키텍쳐라고 할 수 있다. 예를 들면 어떤 소프트웨어로 구성을 할지에 대한 것도 아키텍쳐라고 할 수 있다. 이렇게 아키텍쳐를 전문으로 구성하고 설계하는 사람들을 아키... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,760 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 9 Dijkstra 알고리즘 (feat PriorityQueue) 새 문서: Dijkstra 알고리즘 최단 경로 알고리즘 - 노드간의 경로를 모두 가는데, 최단 거리 구하기 시작점이 있어야 함. 가중치에 마이너스가 있으면 사용할 수 없음. 1 - 자기 자신 가중치는 0, 자기 자신은 0 PQ에 거리가 가장 짧게 갈 수 있는 노드를 넣고, 거리도 넣고, 우선순위가 다시 정렬될테니 그 중 가장 짧은 거리를 가지는 노드를 빼고, 그 노드에서 다른 위치의 노드... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,439 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 8 백트래킹 (BackTracking) 새 문서: backtracking 재귀를 이용한 완전 탐색 방법이다. 일단 문제의 값을 2차원 배열에 입력하고, 방문 여부를 점검한다. visit = new boolean[N]; ans = 0 ; backTracking(0, 0); 재귀함수 호출 ``` private static void backTracking(int depth, int sum){ // 종료 조건 if(depth == N){ ans = Math.max(ans, sum); return ; } for(int i = 0; i<N; i++){ if(!visit[i]) { visit[i] = true;... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,735 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 7 위상 정렬 (Topological Sort) 새 문서: input : 정점, 간선 정보 TC 5 7 1 2 1 4 1 3 2 5 3 4 4 2 4 5 output 1 3 4 2 5 ``` public class Topology_Sort { static final int MAX = 101; static int[] visited = new int [MAX]; static int[] inputEdgeCount = new int[MAX]; static ArrayList<Integer> ordered = new ArrayList<>(); static ArrayList<Integer>[] adj = new ArrayList[MAX]; public static void main(String[] args) throws IOException { for(int i = 0; i<MAX; i++){... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,823 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 6 유니온 파인드 (union find) 새 문서: 여러개의 그룹이 있을 때 합쳐서 값을 찾을 때 사용하는 알고리즘이다. ``` public class Union_Find { static int[] parent = new int[10]; public static void main(String []args){ for(int j = 0 ; j < parent.length; j++){ parent[j] = j; } } union(1, 9); union(3, 6); union(6, 7); union(9, 5); union(6, 8); System.out.println(find(1,8)); } private static void union(int... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,298 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 5 자바 스택 코드 (stack) 새 문서: 자바에서 스택 코드는 제공하는 객체를 사용할 수 있다. 넣고자 하는 변수형을 Stack와 같이 선언시 포함해주면 된다. Stack stack = new Stack(); // 스택 선언 데이터를 추가 할 때 stack.add((int)num); 데이터를 꺼내 오고 Stack에서는 지워진다. stack.pop(); 데이터를 꺼내 오지만 Stack에서 데이터가 지워지지 않는다. stack.peek(); 데이터를 비울 대 stack.empty(); 개발자, 기술사, 삼... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,577 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 4 재귀호출 (recursive) 새 문서: 자기 자신을 다시 호출하는 형태이다. Factorial이나 피보나치 수열 계산에서 사용할 수 있다. 피보나치 수열의 예이다. ` public static inc fibonachi(int num){ if(num == 0) { return 0; } else if(num<=2){ return num-1; } else { return fibonachi(num-1) + fibonachi(num-2); } } ` 구간 나눠서 값 확인 divide and conquer 에서도 재귀함수가 이용된다. ``` public static void divide(int x1, int y1, int x2, int y2){ i... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,696 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 3 자바 정렬 (배열, 객체) 새 문서: 자바에서 정렬의 경우 배열과 같은 경우는 간단하게 Arrays.sort 함수를 이용하면 된다. ``` public static void main(String[] args) throws Exception { int arr[] = {4, 2, 5, 7, 8}; Arrays.sort(arr); } ``` 개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한 IT기업 기술 면접을 위한 CS + 면접 노하우 PDF <https://kmong.com/self-marketing/539751/LUA54VnQsP> 자주 나오는 CS 질문과 답... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +1,190 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 2 깊이 우선 탐색 DFS(Depth First Search) 새 문서: 데이터를 탐색할 때 깊이로 먼저 탐색을 하는 알고리즘이다. 신기하게도 main 함수 내에서 dfs(1) 이런 식으로 호출을 하면 방문을 하면서 재귀 호출을 통해서 탐색이 된다. ``` main(){ dfs(1); } static void dfs(int u) { visited[u] = 1; for(int v : adj[u]){ if(visited[u] == 0) dfs(v); } } ``` 개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한 IT기업 기술 면접을 위한 CS... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +2,277 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어)/3 7 1 너비 우선 탐색 BFS(Breadth-first search) 새 문서: BFS는 가장 기본적인 탐색 알고리즘이다. ``` public static void bfs(int start, int end) { int count = -1; boolean visited[] = new boolean[10000]; //int 배열로 초기화한 queue Queue<int[]> qu = new LinkedList<int[]>(); qu.add(new int[] {start,0}); //처음에 큐에 {start,0} 넣음 while(!qu.isEmpty()) { //빼기전에 num, cnt에 넣기 int num = qu.peek()[0]; in... 최신
- 16:202025년 2월 5일 (수) 16:20 차이 역사 +3,849 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 6 오픈소스는 소스 오픈 왜 새 문서: 오픈소스는 말그대로 소스를 오픈한 것이다. 오픈 소스의 말이 어렵다기 보다는 왜 오픈을 했을까에 관심을 둘 필요가 있다. 왜 오픈인가? 플랫폼을 오픈 것에 대해서는 이해하기 쉽다. 오픈을 함으로써 플랫폼을 많이 사용하고, 플랫폼 사용자가 많으면 그 플랫폼은 가치가 생긴다. 쉽게 말하면 중고나라라는 카페를 만든 사람은 제공자 입장이고, 수고스러움을 통... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,697 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 5 파이썬이 나온지가 어언 20년 새 문서: 파이썬이 나온지는 꽤 오래 되었다. 1991년에 귀도 반 로섬에 의해서 개발되어졌다고 한다. 그러면 20년도 넘게 흐른 것이다. 파이썬이 각광을 받은 것은 최근 10년일 것이다. 오래 되었지만, 어떤 언어들은 사라지거나 사용이 되지 않는 언어도 있는데 파이썬은 오히려 그 존재 가치가 더 인정받게 되었다. 파이썬이 개발이 굉장히 쉽다는 장점이 있다. 기존 C, Java등이... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,944 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 4 스크립트로 서버 개발하는 node js 새 문서: node.js는 javascript형태의 서버 사이드 언어이다. 서버를 개발할 수가 있다. 기존 대개는 javascript라고 하면 클라이언트 사이드 언어로 생각했다. 화면을 제어하는 정도 사실 javascript의 시초가 네츠케이프사 이젠 유물이 되어 버린 이 브라우저를 만들 당시에 간단한 화면 제어라든가 이미지 변경 정도 홈페이지에서 필요한 몇가지를 만들려고 제작을 했다고 한다. 그래... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,627 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 3 모바일앱 vs 모바일웹 vs 하이브리드앱 새 문서: -안드로이드, 아이폰, 모바일웹, 모바일웹앱, 모바일앱 스마트폰 어플리케이션은 이제 실생활에 너무 많이 쓰여서 너무 익숙하다. 일상이 스마트폰으로 시장해서 스마트폰으로 끝난다고 볼 수도 있다. 아침 알람도 스마트폰이고, 신문도 스마트폰으로 보고, 대화도 스마트폰으로 하고 주식, 게임, SNS등 모든 것을 스마트폰으로 할 수 있다. 스마트폰의 활용이라든가... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,479 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 2 웹서비스 vs 웹사이트 새 문서: 웹서비스를 웹사이트를 통한 서비스와 혼동을 할 수 있다. 웹사이트로 서비스를 해도 웹서비스라고 부를 수는 있을 것이다. 하지만 웹서비스라고 하면 특정 프로토콜을 가지고 서비스 하는 방식을 의미한다. 서버는 특정기능을 제공할 때 방식을 표준화하여 필요로 하는 기능을 제공받고, 제공해주는 개념이다. 지금의 오픈 API 정도의 이전 그리고 특화된 버전이라... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +8,494 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지/3 6 1 응용프로그램 vs 웹어플리케이션 vs 서버프로그램 새 문서: 응용프로그램이라는 것은 우리가 사용할 수 있는 프로그램들을 모두 말한다. 워드도 그렇고, 인터넷 브라우저도 그렇고, 게임도 응용프로그램에 속한다. 응용하여 만들어진 모든 프로그램이 모두 응용 프로그램이다. 그것이 운영체제마다 조금씩 다른 형태로 제공이 된다. 윈도우 어플리케이션 윈도우는 우리가 일반적으로 사용하는 컴퓨터의 운영체제이다. 가장... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,160 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 6 압축의 원리 간단하게 새 문서: 압축이라는 것은 흔하게 많이 접해본 말이다. 원래 크기보다 줄인다라는 의미이다. 어떻게 하면 원래 크기보다 줄일 수 있을까? 압축이 되는 것이 무엇이 있을까? 원리는 무엇인가? 일반 생활에서 압축은 여유 있는 공간을 줄임으로 압축이 될 것이다. 압축을 하는 것은 부피를 줄이는 것이다. 컴퓨터에서의 압축의 대상은 파일이다. 파일의 크기를 줄이는 것이다.... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,055 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 5 검색 알고리즘도 개념만 새 문서: 검색은 자료 구조 내에서 자료를 찾는 것이다. 우리가 흔하게 사용하는 검색엔진이 대표적으로 활용한 예이다. 우리가 찾고자 하는 값을 찾는 것이다. 자료를 검색하려면 자료들이 잘 정리해져 있는 것이 유리하다. 우리가 도서관에서 책을 찾을 때에도 무언가 기준에 의해서 잘 정리되어 있다면 자료를 쉽게 찾을 수 있듯이 말이다. 자료를 얼마나 구조화 시켜 놓... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,171 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 4 정렬 알고리즘을 쉽게 개념만 새 문서: 가장 많이 쓰여지고, 기본적인 알고리즘이 정렬이다. 정렬은 순서대로 나열하는 것이다. 순서대로 나열하는 것은 많은 곳에서 의미있게 사용되어질 수 있다. 정렬을 엑셀로 데이터를 만들다가도 쇼핑몰에서 판매량순으로도 본다고 했을 때 이것들이 정렬에 해당된다. 프로그램 내부적으로도 어떤 자료들을 정렬하여 검색을 하기도 하고, 저장을 하기도 한다. 순차... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,188 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 3 큐와 스택을 쉽게 비교하면 그리고 배열 새 문서: 컴퓨터 구조에서는 또는 프로그램을 개발을 할 때 큐나 스택이라는 말이 가끔 등장을 한다. 큐와 스택 값을 저장하는 방식인데, 그 형태가 다르다. 큐는 먼저 들어온 값이 먼저 나간다. 가게에서 물건을 사기 위해서 줄을 섰다면 당연하게도 먼저 계산대에 온 사람부터 계산을 해줄 것이다. 그래서 그 사람이 끝나면 다음 사람을 계산해주는 순을 한다. 이렇게 온 순... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +5,306 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 2 알고리즘을 뭐라 말할까 새 문서: 자료구조가 데이터를 다루는 구조였다고 하면 알고리즘은 어떤 기능을 동작시키기 위한 과정이다. 프로그램은 기본적으로 다루고자 하는 데이터와 알고리즘으로 이뤄진다. 기본적으로 무엇을 넣으면 어떤 결과가 나온다는 것이 알고리즘이다. 수학의 모든 공식이 알고리즘이고, 내가 미리 정해놓은 약속들이 알고리즘이다. 알고리즘은 문제를 풀어가는 방법이다.... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,539 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까/3 5 1 배열을 선언한다는 것은 새 문서: 데이터를 연결하여 저장한다는 개념은 자료구조 상에서 필요하다. 1에서 100까지를 저장한다고 했을 때 여러가지 형태로 저장을 할 수 있다. 변수를 100개 선언할 수도 있다. 가장 쉽게 접근하는 방식이 배열이다. 100개의 저장소를 선언하고 숫자를 각각 저장소에 저장한다. 변수를 100개 선언했다면 물리적인 저장 공간의 위치가 어디 일지 모르고, 연결 여부도 알 수... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,563 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 6 NoSQL은 Not only SQL 새 문서: NoSQL(Not only SQL)은 기존 방식의 관계형 DB가 아니라 대량 데이터를 위한 고속처리를 위한 DB이다. 왜 NoSQL인가 기존 DB는 데이터 베이스 모델링할 때 관계를 맺고 그 관계 구조 상에서 데이터가 저장이 되고, SQL은 이를 조회하기 위한 문장인데, 이 문장은 이 관계를 기본으로 SQL문이 만들어진다. 이런식의 관계지향은 아니다. NoSQL은 기존 방식의 SQL을 사용하지 않는다.... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,102 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 5 왜 JSON일까 JSON이란 새 문서: 데이터를 나타낼 수 있는 방식은 여러가지가 있지만, 대표적인 것이 XML이고, 이후 가장 많이 사용되는 것이 아마도 JSON일 것이다. 왜 XML보다 JSON이 더 많이 사용되는 것처럼 보일까? 그것은 아마도 JSON의 심플함에 있을 것이다. XML만 하더라도 데이터 값 양쪽으로 태그가 있다. HTML을 근간으로 했기에 태그라는 것이 없을 수가 없는데, 그 태그를 줄인다 해도 최소한... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +1,872 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 4 데이터 표현의 표준 - XML 새 문서: XML은 시스템의 데이터 표현에서 가장 많이 사용하는 방식이다. 웹브라우저의 탄생이후 표준적으로 사용한 언어은 HTML이다. 프로그램언어라기 보다는 Markup Language 표현하는 언어이다. HTML은 로직도 없고, 글자를 또는 표를 그리기 위한 다양한 태그만이 존재한다. HTML은 한정된 태그를 가지고 있다. 물론 HTML로 대부분의 화면을 만들어낼 수 있지만, 확장성이 용이하지... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,492 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 3 HTML5, 기존 HTML과 무슨 차이일까 새 문서: HTML에 갑자기 5가 붙으면서 뭔가 많이 바뀐 듯한 느낌을 준다. 무슨 차이일까? 태그, 속도? HTML5도 HTML을 근간으로 한다. HTML태그라는 것들을 모임이고, 일종의 스크립트 언어이다. 가장 중요하고 특징적인 발전은 Socket 일 것이다. Socket은 통신에서 사용된다. 네트워크에서 통신을 할 때 Socket을 만들고, 그 Socket을 통해서 데이터를 주고 받는다. 서버와 클라이언트간의... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,652 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 2 RESTful API의 철학 새 문서: IT와 철학은 무관하게 느껴진다. 하지만 스티브 잡스가 본인이 소크라테스와 만날 수만 있다면 그 회사의 반도 주겠다고 했다고 하는데, 이토록 철학은 힘을 가지고 있다. IT와 심리도 무관한듯 하나 지금의 IT의 흐름을 보면 사람의 심리를 얼마나 이해했는가가 바로 승부의 갈림수가 되어버린 상황이다. 철학 얘기를 꺼낸 이유는 결국 기술의 발전은 사람의 생각속... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,305 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 1 API (Application Program Interface) 그리고 OpenAPI 새 문서: 어플리케이션을 개발할 때 이 API로 개발을 한다. 어플리케이션에서 또는 플랫폼에서 API를 제공한다. 그 API를 사용해서 프로그램을 개발할 수가 있다. API는 인터페이스이고, 그 것을 호출한다고 하는데, 부르면 해당 API가 실행된다. 프로그램 내부에서만 사용을 했다면 함수가 될 수 있다. 하지만 외부에서 그 함수를 호출하려면 인터페이스가 필요한데, 이 인터페이... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,145 새글 3 프로그램 개발/3 3 프로그램 요소 기술/3 3 0 함수 클래스 모듈 객체 인스턴스 컴포넌트 API 새 문서: 영상으로 보시면 더 편하게 이해하실 수 있습니다~ 프로그램을 만든다 라는 것은 특정 기능을 개발한다입니다. 특정 기능이라고 하면 가장 작은 단위는 함수입니다. 함수는 f(x) = ax + b 와 같은 기존에 아시는 함수와도 비유할 수 있고, a, b를 넣으면 더해주는 sum(a, b)라고 생각할 수도 있습니다. 특정 기능을 해주는 단위가 함수입니다. 함수 - 가장 기본적인 기능... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,977 새글 3 프로그램 개발/3 2 Java언어의 장단점/3 3 3 서버사이드 스크립트란 Server Side Script(JSP, ASP, PHP) 새 문서: 서버 편 스크립트이다. 서버 클라이언트 개념을 살짝 언급하면 서버는 어딘가 존재하는 클라이언트를 대응하는 프로그램이고, 클라이언트는 내가 보고 있는 프로그램이다. 내가 보고 있는 브라우저가 클라이언트이다. 내가 보고 있는 스마트폰앱이 클라이언트이다. 요즘은 컴퓨터에서만 또는 스마트폰에서만 동작되는 프로그램은 거의 없다고 생각된다. 시계앱이... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,136 새글 3 프로그램 개발/3 2 Java언어의 장단점/3 2 2 jQuery는 무엇인가 자바스크립트는 쉽다 새 문서: jQuery는 이름만 봐서는 뭔가 쿼리를 할거 같아서 DB관련된 것이 아니냐 싶기도 한데, jQuery는 Javascript 라이브러리로 생각하면 된다. 물론 DB관련된 기능도 사용할 수 있기는 하다. 하지만 Query라는 선입견을 가질 필요는 없다. 자바스크립에서 유용하게 사용할만한 것들을 모아두고, 또 사용이 편리하게 한 개발 라이브러리이다. Javascript도 매우 접근이 쉬운 언어이지만,... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,255 새글 3 프로그램 개발/3 2 Java언어의 장단점/3 2 1 Java 기반 서버 - J2EE 새 문서: J2EE는 Java로 만들어지는 서버 기반 프로그램이다. 약어는 Java 2 Enterprise Edition인데, 이름이 갖지는 고유한 의미보다는 버전 정도를 나타낸다. 한때 전산시스템 도입시 고려되어졌고, 많이 적용되었던 형태이다. 전산을 보면 유행이 있는 것같다. 최근 유행이야 말할 것도 없이 빅데이터, 머신러닝, 인공지능일것이다. 빅데이터를 이미 업계에 한번 지나간 것이고, 이러... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,111 새글 3 프로그램 개발/3 1 C언어는 어떻게 만들어졌을까 C언어의 중요한 개념은/3 1 1 C++은 C언어와 무슨 차이예요/매번 헷갈리는 오버로딩, 오버라이딩 새 문서: 오버로딩과 오버라이딩은 기본적으로 객체 지향 개념 중 하나이다. 객체를 기반으로 개발을 한다고 할 때는 그 객체가 가지는 속성을 잘 활용을 해야 한다. 객체를 가지고 여러가지 관점으로 이용할 수 있어야 한다. 객체를 지정하고 한번만 사용하고 약간 내용이 바뀐 것을 다시 객체를 만들어서 해야 한다면 비효율적이다. 오버로딩과 오버라이딩은 재사용관점으... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,256 새글 3 프로그램 개발/3 1 C언어는 어떻게 만들어졌을까 C언어의 중요한 개념은/3 1 1 C++은 C언어와 무슨 차이예요/객체지향을 쉽게 설명하면 새 문서: 객체지향이라는 말은 객체를 지향한다는 의미이다. 객체를 지향하는 것이 무슨 말일까? 그렇다면 이 전에는 무엇을 지향했을까? 프로그램은 순차적인 진행 절차를 가지고 개발이 되어왔다. 어떤 기능이 동작하기 위한 로직들이 수행되는 것이다. 이것만 놓고 보면 객체지향이라고 할 수는 없다. 순차적 프로그래밍이다. 순차적 프로그램 당시 무언가를 지향한다... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +2,757 새글 3 프로그램 개발/3 1 C언어는 어떻게 만들어졌을까 C언어의 중요한 개념은/3 1 1 C++은 C언어와 무슨 차이예요 새 문서: C++은 C에 ++이 더해졌으니 뭔가 더 좋아졌다고 볼 수 있는데, 이 좋아졌다는 점이 객체 지향이라는 개념이다. 객체 지향 개념은 객체를 지향했다는 것인데, C언어의 경우는 순차적인 프로그램을 만들었다. C++의 경우에는 객체가 중심이 된다. 객체라는 개념부터 이해를 해야 할텐데, 객체는 우리 주변에 모든 것이라고 할 정도로 모든 것이 객체로 되어 있다. 사람도... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +1,661 새글 3 프로그램 개발/3 7 코딩 테스트, 알고리즘 시험 준비 (자바 언어) 새 문서: 무조건 외워야 하는 코드들, 공부해본 사람들은 저절로 외워진다고 하지만, 여기까지는 입력하고 시작해야 합니다. 메인 함수 ``` import java.io.BufferedReader; import java.io.BufferedWriter; import java.util.StringTokenizer; public class Solution { static int a, b, c; public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in); Buffer... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +3,349 새글 3 프로그램 개발/3 6 앱 개발 어떻게 하지 새 문서: 프로그램을 개발한다는 것은 어떤 기능들을 가진 것을 만드는 것이다. 프로그램 개발 자체는 절차를 만들고, 특정 기능이 불려지면 해당 기능에 맞게 로직을 만드는 것이다. 어떤 프로그램을 만드느냐에 따라서 약간씩은 방법이 달라질 수 있다. 예를 들면 앱을 개발한다고 하면 어떤 앱을 개발을 할지 생각하는 것이다. 그 앱은 어떤 화면을 가질 지 생각해본다. 그... 최신