IT 11

[The Physics Engine] 물리엔진의 기본

최초의 컴퓨터 에니악은 탄도를 계산하기 위한 목적으로 만들어졌다. 세상의 물리를 컴퓨터 속으로 구현한 것이다. 이처럼 게임, 영화, 가상현실에서 물체에 작용하는 물리 현상 ex) Gravity or Inertia을 처리하는 엔진을 물리 엔진이라 한다. 게임 부문에서는 '하프라이프 2'가 물리 엔진에 큰 업적을 끼쳤다. 기존에는 게임 플레이어가 할 수 있는 역할이 고정되어 있었는데, 하프라이프 2에서 비교적 자유로운 물리 엔진을 오브젝트에 모두 적용하면서 신박한 플레이가 가능해졌다. 예를 들자면 낙하해서 적을 깔아뭉개 죽이는 등의 플레이도 가능했다. 물리 엔진은 현재는 거의 모든 가상현실 게임에 쓰이고 있다. 4진 트리(평면)와 8진 트리(공간) 등이 Broad Phase에서 광역으로 충돌 가능성을 탐지하..

IT/Computer Science 2022.05.20

[Python] 데이터 처리 & 시각화

Tree_data.csv - height 정렬 후 가장 큰 나무 한그루 출력 import pandas as pd df=pd.read_csv("./data/tree_data.csv") df=df.sort_values(by='height', ascending=False) print(df.head(1)) race.csv를 읽어 데이터 시각화 처리하는 법 from matplotlib import pyplot as plt import pandas as pd df = pd.read_csv("./data/race.csv") df.set_index("시간", inplace=True) x = df["토끼"] y = df["거북이"] fig, ax = plt.subplots() ax.plot(x, label = "토끼")..

IT/Computer Science 2021.08.22

[Big Data] Gas station market analysis - based on oil price data

Project Goal [한국석유공사 제품별 주유소 판매가격 Data]의 (가격,지역,브랜드,셀프여부)를 분석하여 주유소 시장 인사이트 도출 * 탐색적 데이터 분석(EDA) 활용 [인사이트 예시] 1. 주유소 개업, 폐업 현황 분석 및 연도별 수치 분석 2. 브랜드별 가격경쟁력 및 시장점유율 분석 with Line Plot & Stacked Bar Plot - Heatmap 3. 주유소 및 지역별 가격 편차 분석 - Boxplot 1. 데이터 전처리 Data Cleansing & Feature Engineering 그러나 다음의 데이터 전처리 필요성 발견 To many 지역 개수: 229 상표 개수는 9개로 적절 휘발유 min 값이 문제 있음 기간은 수치로 인식되면 안됨 2. 데이터 시각화 3. 결과 [..

IT/Computer Science 2021.08.21

[C언어] 자연수 N의 자릿수 합 구하기, 문자열 내림차순 정렬

[C언어] 자연수 N의 자릿수 합 구하기 입력값 풀이 출력값 123 1+2+3 6 9876 9+8+7+6 30 풀이: %(나머지 구하기 사용) #include #include #include int solution(int n) { int answer = 0; scanf("%d", &n); while(1){ if(n==0){break;} answer = answer + (n % 10); n = n / 10 ; } return answer; } [C언어] 문자열 내림차순으로 정렬 입력 풀이 출력 abcdAB 내림차순 정렬 dcbaBA dbasDCA 내림차순 정렬 sdbaDCA 풀이: 버블정렬 사용 #include #include #include char* solution(const char* s) { cha..

IT/Computer Science 2021.07.17

[IT] Servlet(서블렛)의 정의와 특징

Servlet이란? Servlet은 한마디로 사용자의 요청에 동적으로 웹페이지를 생성하는 서버 측 프로그램 or 사양입니다. 또한, Servlet은 Java로 웹을 만들기 위해 필요한 기술이며, 클라이언트가 요청을 했을 때 그 결과를 전송해줍니다. 예를 들어 사용자가 웹에서 특정 행동을 할 때, 그 행동을 확인 후 그 결과에 맞는 다음 페이지를 보여주는 것이 바로 Servlet입니다. 웹은 정적인 페이지(이미 개발자가 보여주려고 미리 만들어 놓은 페이지를 보여줌, 포트폴리오와 비슷)가 많습니다. 그러나 동적인 페이지(사용자와 상호작용하며 데이터를 가공처리하여 페이지를 생성하여 보여줌)를 만들기 위해서 이러한 Servlet은 필요합니다. Servlet의 특징 1. 이전에 말했던 MVC패턴에서 Control..

IT/Computer Science 2021.07.08

[JAVA의 예외 처리] Try-Catch-Finally 구문!

JAVA에서는 항상 열 받게 예외가 발생한다. 컴퓨터는 도전 정신이 없어서 이상한 반항을 많이 한다. 예를 들어... "아닛! 절 왜 0으로 나눠요!" "여기 메모리 넣을 곳이 없는데 숫자를 어떻게 넣어요!" "이거 길이 모른다고(Null)이라 해놓고 왜 길이 얼만지 물어봐요?!" 이런 질문을 하는 것으로 보아 컴퓨터는 미필임에 분명하다. 해보려고 하지도 않고... 따라서 이러한 컴퓨터가 이상하다는 낌새를 채고 "오류다!"라고 생각할 때 즉시 대처할 수 있는 방안을 개발자들은 개발해냈다. 바로 Try-Catch-Finally 구문이다! Try 속에서 오류가 발생한다면? Catch에서 그 오류에 대한 대처를 하고 Finally로 Try-Catch를 끝내고 무조건 실행한다. Try - Catch - Fina..

IT/JAVA 2021.04.30

[SQL] CASE-WHEN 구문

[SQL] CASE-WHEN 구문이란? CASE-WHEN 구문은 실제 전사 쿼리문에서 많이 사용하며, 시험에도 종종 등장한다. 꼭 알아놓는게 좋다. 조건에 따라 값을 설정하거나 조건에 따라 무엇을 할지 입력할 수 있다. (C언어의 SWITCH문이랑 비슷하다고 보면 된다.) 예시로 아래 구문을 보자. SELECT COMPANY_RANK, CASE WHEN COMPANY_RANK = '사원' THEN 4000000 WHEN COMPANY_RANK = '주임' THEN 5000000 WHEN COMPANY_RANK = '대리' THEN 7000000 ELSE 10000000 END AS 급여 FROM EMPLOYEE; EMPLOYEE라는 테이블에서 COMPANY_RANK와 급여 정보를 빼올 것이다. 그러나 '..

IT/SQL 2021.03.09

[IT] MVC 패턴이란?

MVC 패턴이란? MVC(Model-View-Controller)는 모델-뷰-컨트롤러로 이루어진 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 3가지 구성요소에 대한 설명은 아래와 같다. 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이러한 통보로 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. (알고리즘, 데이터 처리) 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. HTML, XML 등을 생성해서 컨트롤러에 보낸다. (웹 페이지) 컨트롤러는 모델에 명령을 보내 모델의 상태를 변경할 수 있다. 또한, 관련된 뷰에 명령을 보내 모델의 표시 방법을 바꿀 수 있다. MVC 패턴의 작동..

IT/Computer Science 2021.03.09