본문 바로가기

Language

(20)
[Javascript] Class란 무엇인가 Javascript(이하 JS)는 다른 객체지향 언어와는 차이점이 있지만 프로토타입 기반의 객체지향 언어이며, 강력한 객체지향 프로그래밍 능력을 갖고 있는 언어이다. 프로토타입 기반의 객체지형 언어란 클래스가 필요 없는 객체지향 프로그래밍 언어를 프로토타입 기반의 객체지향 언어라고 하며 JS는 ES5까지는 클래스 선언을 하지 않고 생성자 함수와 프로토타입 선언을 통해 객체지향의 상속을 구현할 수 있었다. 하지만 ES6이후 클래스 문법이 도입되면서 클래스를 선언하여 사용할 수 있게 되었고, 기존 Java나 C#과 같은 클래스 기반 객체지향 프로그래밍 언어에 익숙한 개발자들은 빠르게 학습 할 수 있게 되었다. JS에서 사용하는 클래스는 기존(ES5)의 프로토타입 기반 패턴을 클래스 기반 패턴 처럼 사용하는 ..
[Python] 파이썬에서 사용하는 input()과 sys.stdin.readline()의 차이점은 무엇인가? 최근 백준 알고리즘과 프로그래머스를 통해 코딩 테스트(일명 코테) 준비를 위해 알고리즘 문제을 풀이하고 있다. 나는 주로 파이썬이 다른 언어보다 빠르고 간결하게 작성할 수 있고, 파이썬의 강력한 라이브러리들 때문에 파이썬을 사용하여 문제를 풀이하는데 얼마 전 sys.stdin.readline()을 사용하여 문제 풀이를 하는 글을 보고 이 두 개의 차이점이 궁금해졌다. 오늘은 파이썬에서 값을 입력할 때 사용하는 input()과 sys.stdin.readline()의 차이점에 대해 글을 쓰고 비교해보려고 한다. 사용법 우선 input()의 사용법은 다음과 같다. 아래 코드는 a의 값을 정수형으로 입력받기 위해 int(input())을 사용하여 입력을 받는다. a = int(input()) print(a) s..
[Jekyll]Jekyll 테마 CP949에러 코드 해결방법 (이미지 출처 : https://jekyllrb-ko.github.io/) 나는 개인포트폴리오 사이트를 Jekyll테마(바로가기)를 사용하고 있다. Jekyll테마를 사용하는 이유는 깔끔하고 Ruby를 기반으로 하며, 마크다운 언어로 쉽게 블로그형식의 글을 작성하고 만들수 있기 때문에 많은 개발자분들은 Jekyll와 GitHub 도메인을 사용하여 개인 개발 블로그를 만들어 글을 작성하곤 한다. 나는 맥북을 통해 항상 작업을 해왔지만 윈도우 노트북을 통해 글을 작성하던중 겪었던 문제에 대해 포스팅 해보려고 한다. 현재 윈도우에 설치된 개발 환경은 다음과 같다. 내가 겪엇던 문제는 글을 작성하고 Jekyll build을 통해 글을 동기화(?) 하는 과정에서 발생 하였다. 맥북에선 잘만되던 build가 윈도우..
[Java] 두수를 입력 받아 사칙연산 하기 [공부/Java] - 객체 지향 프로그래밍(Object Oriented Programming)이란? [공부/C언어] - (c언어) 입력한 숫자(i)부터 입력한 숫자(j) 까지 입력한 수(k)만큼 한줄에 표현하기 요즘 파이썬에 빠져서 파이썬만 짜다보니 자바코드를 까먹기 시작 했다. 따라서 중간 중간 자바 기초적인것부터 짜봐야 할 거 같아 기본적인 사칙연산을 구현 해보았다. 코드는 아래와 같다. 윈도우 노트북에서 인텔리제이로 구현을 하고 이미지를 찍기 위해 맥에서 'test.java'로 만들어 실행 시킨후 캡쳐하였다. 더 자세한 코드는 Github[바로가기]에서 볼수 있다. package dev.sungmin; import java.util.Scanner; public class Main { public s..
[C언어] 행렬 곱 구하기 [공부/C언어] - (c언어) 회문 구하기 [공부/병렬 프로그래맹] - [MVAPICH]MVAPICH설치 및 MPI 테스트 최근 종강을 하고 학부 연구생으로 공부 하면서 방학을 보내고 있다. 따라서 방학에는 CUDA와 MPI을 공부하던중 행렬 곱을 구하는 프로그램을 작성해야 했고 기본적인것부터 공부하기 위해서 C언어로 행렬곱을 작성해 보았다. 해당 코드는 4X4행렬을 각각 1로 초기화을 하여 계산이 맞는지 확인하기 위해 작성을 하였다. #include #include /*함수 정의*/ int mutrix(); //행렬 곱셉 /*메인 함수*/ int main() { printf("=====행렬곱을 구하는 프로그램입니다====\n\n"); mutrix(); system("pause"); return 0; }..
[Python] 채팅 프로그램 3학년 1학기(2019) 컴퓨터 네트워크 과목을 들으면서 과제로 수행한 소스코드이다. 과제에선 언어의 장벽은 없었으며 자유롭게 소스코드를 작성후 보고서를 제출하는 형식이였다. 아래의 코드는 localhost로 8080포트로 작성한 서버 코드이다. import socket print("채팅 프로그램입니다.\n") print("클라이언트를 실행 시켜 접속을 시도 해주세요!!\n\n") host = '127.0.0.1' #localhost port = 8080 #포트번호 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #localhost의 8080 포트로 접속 server.bind((host,port)) #서버 구축 server.listen(1) #연결..
[Python] 동전 교환 프로그램 #동전 교환 프로그램 print("동전을 바꿔주는 프로그램입니다.") #동전 초기화 money,c500,c100,c50,c10=0,0,0,0,0 money=int(input("얼마의 돈을 교환할까요? : ")) c500 = money//500 money %= 500 c100 = money//100 money %= 100 c50 = money//50 money %= 50 c10 = money//10 money %= 10 print("500원짜리 : %d개" %c500) print("100원짜리 : %d개" %c100) print("50원짜리 : %d개" %c50) print("10원짜리 : %d개" %c10) print("잔돈 : %d개" %money)
[Python] 진수 변환 하기 # 진수 변환 프로그램 sel = int(input("입력 진수 결정(16/10/8/2) : ")) print("%d진수로 출력합니다" %sel) num = input("값 입력 : ") if sel==16 : num=int(num,16) elif sel==10 : num=int(num,10) elif sel==8 : num=int(num,8) elif sel==2 : num=int(num,2) print("16진수 : ",hex(num)) #16진수로 출력 print("10진수 : ",num) #10진수로 출력 print("8진수 : ",oct(num)) #8진수로 출력 print("2진수 : ",bin(num)) # 2진수로 출력