본문 바로가기

분류 전체보기

[Intern] Ubuntu16.04 + nginx 서버를 포맷하고 가상머신을 새로 설치하였다. 이전에는 APM으로 서버세팅을 하였는데 nginx에서 nodejs를 사용할 수 있는 환경을 만들라고 하셨다.. 나중에 봐도 알아볼수만 있게 간단히 정리한다. nginx설치sudo apt-get install nginx 설치후 nginx -v 명령어로 버전확인nginx/1.10.0 버전이 설치된다.웹에서 서버의 ip로 접속해보면 Welcome to nginx! 를 확인할 수 있다. nodejs 는 홈페이지에서 다운받아서 압축풀어서 쓸수도있지만 패키지 매니저를 이용해서 다운로드 받았다. apt install curlcurl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -apt-get install nodejs.. 더보기
[summer]GCE(ubuntu16.04) + django 환경 설정 여름방학때 시간을 그냥 보내기 싫어서 계속 생각만 했었던 웹페이지를 하나 만들어 보기로 했다. 학교에서 웹 프로그래밍 수업을 들었을 걸 하는 후회가 생긴다 .. 웹은 너무 어려운것 같다 ㅠㅠ 어떤 언어를 쓸지? 웹프레임워크는 뭘 써야할지..굉장히 고민하다가작년에 장고걸스 대전 수업에 참여해서 장고로 간단한 웹 어플리케이션을 만들어 본적이 있기때문에 장고를 사용하기로 결정했다. 서버는 구글의 클라우드 플랫폼,Compute Engine에서 Ubuntu 16.04로 인스턴스를 하나 만들어서 사용하였다.설치는 장고걸스 튜토리얼(https://tutorial.djangogirls.org/ko/django_start_project/)을 따라했다. 설치는 어렵지 않았고, 문제는 runserver 였다...ubuntu.. 더보기
[오픈소스]FreeCodeCamp빌드하기 FreeCodeCamp 빌드과정을 정리한 문서이다! 더보기
[1] Sbt 설치 시 오류 학교에서 과제로 들어야하는 Functional Programming Principles in Scala 강좌에서 필요한 환경설정을 하는 중 아래와 같은 오류가 났다.정확히는 sbt설치중에 난 에러인데 sbt sbt-version이 되지 않았고, java -version도 되지 않았다. Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'has value '1.8', but '1.7' is required. Error: could not find java.dll Error: Could not find Java SE Runtime Environment. 아마 수업중에 이것저것 깔면서 java 1.8 , 1.7이 모두 .. 더보기
[1149] RGB거리 dynamic programming문제였다.. 처음에 문제를 완전 잘못 접근해서 삽질을 반복하다결국 소스를 보고 해결하였다..ㅠ^ㅠ소스를 보니 이제야 dp가 뭔지 이해가 될랑말랑한다. 생각보다 단순한 문제였다. dp가 뭔지 제대로 이해하고있다면 금방 풀었을듯..!주어진 두개의 숫자나 세개의 숫자중에서 최솟값을 구하는 연산은 삼항연산자를 이용했다.( 귀찮아서 ...) 문제 본문 링크 : https://www.acmicpc.net/problem/1149소스 + 해결하고나면 다른 사람들이 공개해둔 소스를 볼 수 있는데 입력을 받으면서 바로 해결하는 경우도 있었다... 생각해보니 꼭 저렇게 두번 돌릴 필요가 없다는 생각이 들었다.python 숏코딩은 충격이었다.;; 더보기
[9996] 한국이 그리울 땐 서버에 접속하지 알고리즘 동아리 활동하면서 푼 문제들을 간단하게 정리 생각보다 쉬운 문제였지만 뒷부분 문자열을 검사하는게 까다로웠다 결국 저렇게 밖에 해결을 못했는데 다음번에 풀어볼때는패턴을 받자마자 *을 기준으로 앞,뒤를 잘라서 저장해둔뒤에 비교해보면 덜 복잡해질듯?c로 작성했는데 앞으로는 문제풀때 c++로 작성해봐야겠다. 문제 본문 링크 : https://www.acmicpc.net/problem/9996 소스! 더보기
03. LinkedList 03. Linked ListLinked List, 연결리스트.. 처음에 과제할때 가장 애먹었던 자료구조였다 ㅠㅜ노드의 삽입과 삭제를 구현할때 욕나오도록 짜증이 났던 기억이 새록새록 배열의 경우 인덱스를 통해 빠르게 원소에 접근할 수 있지만 자료의 삽입과 삭제가 불편하다는 단점이있다.자료의 신속한 삽입과 삭제가 용이한 자료구조는 바로 링크드 리스트, 연결리스트이다. 연결 리스트는 말그래도 연결(링크드)되어있다. 리스트는 노드(Node)로 이루어져있으며, 각각의 노드는 데이터와 포인터로 구성되어있다. 노드에 있는 포인터는 바로 이전의 노드나, 바로 다음 노드를 주소를 저장하고있다. 연결 리스트는 노드의 중간에서도 데이터의 추가, 삭제가 빠르게 가능하지만, 데이터의 검색에 있어서는 O(n)의 시간이 걸리는 단.. 더보기
02. 배열의 순차탐색, 이진탐색 배열을 배우고 배열을 탐색하는 방식인 순차탐색과 이진탐색에 대해 공부하였다. 순차탐색( = 선형탐색, 직렬탐색 ) 말그대로 순차적으로 탐색하는 방법인데, 가장 단순하다.가장 처음부터 끝까지 반복문을 돌려가면서 탐색한다.시간복잡도는 O(n) 이진탐색탐색해야할 부분이 정렬되어있다는 가정하에 반으로 반복해서 나누어가며 탐색한다. 배열의 경우 배열의 중앙에 저장된 값이 탐색값과 일치하는지를 검사하고, 일치하지 않는 경우탐색범위를 반으로 줄여서 다시 중앙에 저장된 값과 검사한다.탐색값과 일치할 경우 해당 배열의 인덱스를 리턴 시간복잡도는 O(log n) 또, 기존에 만들었었던 Set자료형을 Integer객체를 추가하도록 변경하여서 순차탐색과 이진탐색의 성능을 측정해보았다.배열의 크기가 작을 때에는 순차탐색이 더빠.. 더보기
01. 배열( Array ) 자료구조 시간에 가장 먼저 배웠던 것은 c언어 코딩할때 배웠었던 배열! 이였다. 아무 생각없이 편하게 사용했던 배열도 자료구조의 일종이였다. 배열은 간단하게 동일한 자료형들이 묶여있다고 생각하면 된다.int형끼리 모여 int형 배열, char형끼리 모여 char형 배열..( 다른 자료형들끼리 모여져있으면 C에서는 구조체!라고한다. ) Java에서는 배열을 하나의 객체라고 본다고한다!배열을 사용하기 위해서는 배열을 선언을 해주어야한다.위와 같이 선언하여 사용할 수 있다. 배열은 배열의 인덱스를 통해 접근할 수 있는데예를들어 int arr[] = new int[5]; 와같이 선언하였을 경우 배열의 인덱스는 0부터 크기 -1 까지 만들어진다. int형 배열의 경우는 선언시 0으로 초기화 되고, char형은 n.. 더보기
[12] 카드결제 시스템 해킹해 신용카드 복제했다 덜미 원문 기사 링크 : http://www.boannews.com/media/view.asp?idx=47579&skind=O 요약 : POS 보안 문제를 악용한 신용카드 복제 /*지갑을 꺼내 살펴보니 모두 IC카드 였다.대부분 신용카드의 전면 왼쪽을 보면 노랗고 작은 금색 칩을 발견할 수 있는데 이러한 칩이 달린 카드가 바로 IC카드 라고한다.마그네틱 카드가 취약하기 때문에 이러한 IC카드를 사용하도록 하였는데, 예산등의 문제로 대부분 IC칩 전용 결제기가 아닌 마그네틱 결제기를 사용한다고 한다.구글링을 해보니 IC카드 같은 경우에는 단말기에 꽂아서? 결제를 하는 방식인것같고,, 근데 지금까지 이런 결제방식을 단 한번도 보지못한것같은데 ;; 단말기 자체를 바꾸기 보다는 소프트웨어 차원에서 보안을 강화했으면 .. 더보기