본문 바로가기

전체 글

(96)
[JAVA / 안드로이드] 데이터 입출력 및 전송 1. Stream (스트림) 데이터의 흐름을 의미하여 자바프로그램은 입력장치로 부터 InputStream을 읽어들이고, 출력장치로 OutputStream을 내보낸다. 2. File 생성 java.io.File을 import하여 사용 File foo = new File("foo.txt") -> 파일 불러오기 파일이 없을 경우에는 foo.createNewFile(); 을 통해 실제로 생성 가능. 폴더의 경우에는 foo.mkdir(); 삭제는 간단히 foo.delete(); 3. File 문자데이터 읽고 쓰기, read and write FileReader("문자열") 혹은 FileReader(File 객체)를 통해 FileReader object를 생성 후(FileWriter도 마찬가지), read() 혹은..
Pytorch 01. 파이토치 시작하기. 이 포스팅은 순수 개인 연구 목적으로 처음 딥러닝을 사용하며 정리용으로 작성되었습니다. 1. Pytorch 설치 #ANACONDA conda install pytorch torchvision -c pytorch #PIP pip3 install torch torchvision 2. 텐서(Tensor) numpy의 ndarray와 같은 자료구조라고 생각하면 됨. 이는 자동미분에 최적화되어있음. #array data 바로 tensor화 data = [[1, 2],[3, 4]] x_data = torch.tensor(data) #numpy의 tensor화 #이 때 서로의 값을 참조하고 있기 때문에 변경사항이 서로 반영됨 np_array = np.array(data) x_tensor = torch.from_num..
AWS 01. 계정 생성, 루트(root)와 아이엠(IAM) 유저. 아마존을 사용하다보니 계정 생성부터 정책(Policy)까지 꽤나 복잡해서 정리용으로 작성. AWS 서비스를 이용하기 위해서는 결국 AWS에서 제공하는 API를 사용하게 됨. 이 때 접근을 위해서는 자격 증명(Credential)을 해야 하며, 이를 위해서 Access Key , Secret Key와 같은 것을 제출하게 됨. 이 때, AWS에서는 서비스이용의 보안에 있어서 Shared Responsibility Model(공동 책임)을 강조하는데, 클라우드에 대해서는 AWS가 보안을 책임지지만, 그 위에 올라가는 데이터 및 어플리케이션은 고객이 담당을 해야한다는 것이다. 그러므로 유저는 각 리소스에 접근을 제어하기 IAM(Identity and Access Management)을 활용하여야 하는 것이다. ..
JAVA #03 패키지, 배열, 접근자, static 패키지 자바 클래스를 작성할 때 클래스를 폴더별로 나누어 관리하는 것을 패키지라고 한다. 이는 python과 유사하게 import를 통해서 사용할 수 있다. 하지만 우리가 JAVA에서 입출력을 할때 사용하는 System.out이나 in의 경우에는 별도의 import없이 사용할 수 있었는데, 이는 java.lang이라는 패키지가 자바 프로그램에서 가장 기본적이고 중요한 클래스들을 모아서 별도로 import없이 사용할 수 있는 패키지로 제공되고 있기 때문이다. 배열 배열의 생성 자료형 [] 배열명 = new 자료형[개수] (* 이걸 더 많이쓴다) 자료형 배열명[] = new 자료형[개수] 배열의 초기화 자료형 [] 배열명 = {1,2,3,4,5}; 자료형 [][] 배열명 = {{1,2,3},{4,5,6}};..
Auditory signal processing, 음향음성학 기초 최근 소리를 활용한 연구를 진행하고 있는데, 기본적인 음향음성학 및 신호처리에 대한 기본 개념이 약하여 이를 정리하면서 공부하고자 한다. 1. 소리는 무엇인가? 소리란 어떤 음원에서 만들어진 진동이 대기중에 있는 공기분자들을 움직이게 하고 이것이 전달되어 파동을 일으키는 현상이며, 이 때 이 파동을 타고 우리 귀에서 인식하는 것을 "들린다"라고 표현한다. 이와 같이 소리가 만들어 내는 파동을 "음파(Sound Wave)"라고 한다. 음파는 일반적으로 파동의 형태와 같이 단순파와 복잡파로 볼 수 있는데, 단순파는 흔히 말하는 사인함수와 같은 꼴로 일정한 패턴이 반복되는 음파의 가장 단순한 형태이다. 반면에 복잡파는 이러한 단순파들의 합으로 이루어져있으며, 이 분야를 공부하는 사람들이 많이 들어봤을 푸리에 ..
JAVA #02 JAVA 입력 (read, readLine) , 자료형변환(parseInt, valueOf, charAt) int number = Integer.parseInt(a1); JAVA에서 입력을 받는 방법은 다음과 같다. System.in.read() 위의 메소드를 통해 일반적으로 파이썬에서의 input()과 같은 기능을 하게 되는데, string과 같이 한 줄을 입력받는 경우에는 다음과 같다. 먼저 입력을 받는 클래스인 InputStreamReader(System.in)을 객체로 생성한 뒤, 해당 객체에서 각 입력을 버퍼에 저장하여 string에 저장할 수 있는 BufferedReader 클래스의 객체를 생성하고, BufferedReader의 method인 readLine()을 이용한다. 코드로는 다음과 같다. import java.io.BufferedReader; import java.io.InputStream..
JAVA #01 자바언어의 특징, 개발환경 구축 자바언어의 특징 1. JAVA는 C, C++언어를 기반으로 탄생하였다. 2. 하지만 C, C++에서의 복잡한 부분을 제거하여 언어의 복잡성 문제를 제거하였다. (preprocessor, 포인터, 다중상속, 구조체, 전역변수, goto, 연산자 중복 등등) 3. Garbage Collection을 제공하여 메모리 관리에 대한 부분을 직접 해준다. 4. 객체 지향 프로그램이다.(유지보수가 편하고, 부품단위로 재사용이 쉽고 편리하다.) 5. 네트워크를 토안 분산 환경 시스템 개발을 지원한다. 6. 운영체제와 직접적으로 동작하지 않으며, JVM(JAVA Virtual Machine)을 통해 실행된다. (이로써 개발자가 만든 프로그램이 서로 다른 운영체제에서도 쉽게 실행이 가능하며 독립적인 플랫폼에서 동작할 수 ..
C# - 01. C#으로 Hello World 출력 / 데이터 보관 이 포스팅은 이것이 C#이다. 라는 책의 공부 및 정리를 위해 작성되었습니다. Visual studio 다운로드 후 새프로젝트 콘솔앱(.NET FRAMEWORK)를 생성한 후 program.cs를 아래와 같이 변경. 1. Hello world 출력하기. using System; // System이라는 namespace안에 있는 클래스를 사용하겠다고 컴파일러에게 알림. using static System.Console; //어떤 데이터형식의 정적멤버를 데이터 형식의 이르을 명시하지 않고 참조하겠다고 선언 (CH.7에서 다룰 예정) namespace ConsoleApp1 //namespace는 하는 일이 비슷한 클래스나 구조체 등을 하나의 이름아래 묶는 역할 { class HelloWorld { // 프로그..