Admin의 사용자 기여
기술노트
2025년 2월 5일 (수)
- 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 앱 개발 어떻게 하지 새 문서: 프로그램을 개발한다는 것은 어떤 기능들을 가진 것을 만드는 것이다. 프로그램 개발 자체는 절차를 만들고, 특정 기능이 불려지면 해당 기능에 맞게 로직을 만드는 것이다. 어떤 프로그램을 만드느냐에 따라서 약간씩은 방법이 달라질 수 있다. 예를 들면 앱을 개발한다고 하면 어떤 앱을 개발을 할지 생각하는 것이다. 그 앱은 어떤 화면을 가질 지 생각해본다. 그... 최신
- 16:192025년 2월 5일 (수) 16:19 차이 역사 +4,645 새글 3 프로그램 개발/3 5 자료구조 꼭 알아야 할까 새 문서: 자료 구조라는 것을 꼭 알아야 할까? 컴퓨터를 조금 공부한 상황이라면 자료구조라는 말에 먼저 머리가 아플수도 있다. 개발을 할 때 꼭 알아야 할까? 소프트웨어 개발에 있어서 필수적인 요소이긴 하다. 프로그램은 기본적으로 어떤 데이터를 다룬다. 회원 관리 프로그램이라고 하면 회원 데이터를 다룬다. 회원의 정보를 기억하고, 보여주기도 하고, 탈퇴할 수도... 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +76 새글 3 프로그램 개발/3 3 프로그램 요소 기술 새 문서: 여러가지 프로그램 개발의 요소 기술들에 대한 설명이다. 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +5,104 새글 3 프로그램 개발/3 2 Java언어의 장단점 새 문서: 프로그램 Java라는 것은 커피 이름에서 왔다고 한다. 어찌 이렇게 근사한 이름을 지었는지. C++이후에 개발이 되었고, C++개발 시 여러가지 어려운 점들을 쉽게 사용할 수 있게 바꾼 부분이 있다. 기본적으로 객체 지향이라는 관점은 동일하다. Java가 기존 언어와 극명한 차이가 있다면 메모리의 사용 방법에 있을 것이다. 기존 C나 C++은 메모리를 사용할 때 메모리 할당... 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +4,293 새글 3 프로그램 개발/3 1 C언어는 어떻게 만들어졌을까 C언어의 중요한 개념은 새 문서: C언어는 개발자들이 접할 수 있는 처음 언어이거나 프로그램 개발의 기초가 되는 언어이다. B언어 다음으로 개발되어졌다고 하는데, B언어는 Bell 연구소에서 개발되었다고 한다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B"언어(언어를 개발한 벨 연구소의 B를 따서)라 명명했고, 데니스 리치가 이것을 개선하여 C 언어가 탄생했다. 모든 명령에 대해서 코드로 되... 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +1,998 새글 2 인터넷의 탄생과 원리/2 2 클라이언트 and 서버 그리고 WAS, DB서버/2 2 6 토렌토라는 게 P2P(Peer-to-Peer) 개념이죠 새 문서: P2P는 중앙에 서버가 없는 것이다. 사실 서버 클라이언트든 웹사이트이든 모든 서비스에서 서버가 없는 것은 없다. 서버가 없다면 접속을 어디로 해야 할지도 모를 것이다. 접속할 대상이 없다. 물론 P2P의 방식에 따라서 Peer리스트를 가지고 있는 방식도 있고, 접속 대상을 연결해주는 방식도 있다. 기본적으로 중앙에서 서버가 모든 것을 처리해주지는 않는다는 것... 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +2,138 새글 2 인터넷의 탄생과 원리/2 2 클라이언트 and 서버 그리고 WAS, DB서버/2 2 5 폴링 vs 이벤트 새 문서: 시스템 내에 동작 중에 폴링 방식과 이벤트 방식이 있다. 폴링 방식은 어떤 상태인지를 주기적으로 확인해보는 것이다. 폴링 방식을 예를 든다면 우편물이 왔는지를 매번 내가 가서 보는 것이다. 이렇게 매번 오가는게 폴링이다. 주기적으로 알아보는 만큼 오지 않았을 때 나가보는 동안 비효율이 발생을 한다. 이벤트 방식은 어떤 상태가 되면 알려주는 것이다. 매... 최신
- 16:182025년 2월 5일 (수) 16:18 차이 역사 +4,256 새글 2 인터넷의 탄생과 원리/2 2 클라이언트 and 서버 그리고 WAS, DB서버/2 2 4 인터넷 쿠키와 세션 새 문서: 컴퓨터에서의 쿠키도 먹는 쿠키에서 표현이 나왔을지 모른다. 개발을 하다보면 쿠키로 구웠냐 라는 표현을 하는 것 봐서는 그럴 수 있다. 변수 값을 단말, 클라이언트쪽에 저장하는 개념이 쿠키이다. 달리 서버에 저장되는 것을 세션이라고 한다. 클라이언트나 서버에 왜 무엇을 저장할까 보면 이것이 왜 나왔을지 생각해보면서 개념을 이해하면 좋을 것이다. 웹은... 최신