목록분류 전체보기 (277)
ecsimsw
자바의 접근 제한자 private : 같은 클래스 내에서만 접근 가능 default : 같은 패키지 내에서만 접근 가능 protected : 같은 패키지내 또는 자손 클래스일 경우 접근 가능 public : 제한 없음 캡슐화 접근 제한자는 객체지향의 캡슐화, 그리고 그를 통한 코드 은닉화를 위한 도구이다. 데이터를 외부로부터 숨기거나, 접근을 막고, 또는 접근에 처리를 강제화한다. 이전에 oop 캡슐화에 대해서 정리한 글이 있다. 객체지향을 공부하면서 캡슐화를 정확히 몰랐고, 은닉화와 구분하지 못해서 정리했던 기억이 난다. 그때 캡슐성을 아래 3개로 정리했다. Encapsulation 1) 유사한 기능이나 변수를 한 집합으로 하여 더 관리하기 쉽게하고 코드를 명확히 함. 2) 외부에서 멤버를 엑세스하는 ..
초기화 멤버 변수의 초기화는 선택적이지만, 지역 변수의 초기화는 필수적이다. 멤버 변수를 초기화 하는 방법에는 세가지가 있다. 0. 기본값 1. 명시적 초기화 2. 생성자를 통한 초기화 3. 초기화 블록 0. 기본값 초기화에 앞서, 멤버 변수는 초기화가 선택적이기 때문에 초기화가 안됐다면 자료형 마다 기본 값을 갖는다. boolean = false char = '\u000' byte,short,int = 0 long = 0L float = 0.0F double = 0.0 참조형 변수 = null 1. 명시적 초기화 가장 쉽게, 변수를 선언과 동시에 초기화하는 방식이다. class Person{ String name = "unkown"; int age=0; } 2. 생성자를 통한 초기화 생성자를 이용하여 ..
Int vs Short / Byte 작은 수를 저장할 변수의 타입은 4 바이트까지 과한거 아닌가?. Byte형은 혹시 모르고, 2 바이트 정도면 충분할 거 같은데 Short를 쓰는게 이득 아닐까?? JVM의 Operand stack은 피연산자를 4 바이트로 저장하기 때문에, 그 보다 작은 작료형은 오히려 4Byte로 변환하여 계산된다. => 성능을 고려한다면 int, 정말 공간을 효율적으로 사용해야한다면, 그땐 short나 byte 타입을 생각하자.
주식 사보기실질적인 경제 공부를 해보고 싶었다. 어떤 식으로 돈을 관리해야하는지. 저축 방법을 알아보고, 실질 금리가 마이너스로 가고 있다는 말에 무조건 통장에 쌓아두고 싶지 않았다. 재테크라고 하긴 과하고, 적어도 용어나 종류, 방법은 알아야 할 것 같아서, 고민하다가 코로나 문제로 하락장일 때 사보자고 증권 계좌를 개설하고 차트 보는척 좀 해주다가 애플 1주 매입했다. 애플을 고른 이유는 1) 안 망할거 같아서 2) 꾸준히 상승세라 3) 내가 좋아하는 기업이라. 단기간에 뭘 바라는 건 아니니까 조금씩 월급 모아서 한 주씩 사둘 생각! 20일날 산지 하루만에 3만원 손해보는거 보고, 이게 주식이구나~ 더 하지 말아야지 생각했는데, 26일 지금 다시 오르는 중! 9달 후 포스팅 이후에도 매달..
다중 분류 / Multinomial classification - 이전에 Logistic Regression으로 이진 분류를 처리하는 것을 공부하였다. 두 집합으로 나누는 것은 할 수 있는데, 여러 집합으로 분류해야하는 경우는 어떻게 처리해야할까. - 집합이 두개인 것과 똑같이, A와 A가 아닌 것, B와 B가 아닌 것, C와 C가 아닌 것으로 구분하여 이진 회귀로 처리하면 3개의 집합을 분류할 수 있다. - 이렇게 3개의 가설을 세울 수 있고, 그것을 학습하는 것으로 x가 각 집합에 속할 확률을 예측할 수 있다. 따라서 입력에 대한 3개의 함수 값을 비교하여, 가장 큰 값을 갖는 집합에 속하는 것으로 분류한다. Softmax - 위의 예제에서 가설 함수는 시그모이드 함수를 사용했으므로 0~1 사이의 값..
영화 추천 서비스공부한 자연어 처리를 연습 할 수 있는 간단한 서비스를 만들고 싶었습니다.영화를 입력하면 45000개의 영화 데이터 내에서 '제작 언어', '시리즈', '줄거리', '평점', '장르'를 바탕으로 가장 유사한 영화 n개를 추천합니다.웹 서버와 연산 서버로 구성되어, 연산 서버에서 유사한 영화 뽑는 연산을 처리하고, 웹 서버는 검색 영화, 추천 영화를 연산 서버와 주고 받고 페이지를 구성하여 브라우저에 응답합니다.연산 서버파이썬으로 제작한 연산 서버는 검색한 영화와 제작 언어 일치, 시리즈 존재 여부, 줄거리 유사도, 평점, 장르 유사 여부를 비교하여 가장 높은 점수의 n개 수의 추천 영화를 찾습니다. 소켓 통신으로 웹 서버로부터 검색 영화 정보를 받고, 연산 후 추천 영화 목록을 전송합니다..
1. DTM (Document-Term Matrix) : 문서 단어 행렬(DTM)은 문장 안 각 단어들의 빈도를 행렬로 표현한 것이다. 2. TF-IDF : TF는 각 문서 안에서의 단어의 빈도, DF는 문서군안에서 각 단어가 등장한 문서의 수를 의미한다. IDF는 DF에 반비례하는 값이다. 이 TF-IDF를 사용하여 문장끼리의 유사도나, 단어의 중요도를 구할 수 있다. #TF : term frequency #IDF : inverse document frequency #IDF는 이 DF의 역수인 것은 맞는데, 일반 역수를 사용하면 분자 (전체 문장의 개수)가 늘어짐에 따라 분모 (등장 문장의 수)는 그를 따라가지 못하므로, 그 값이 기하급수적으로 커져 결국 단어들의 중요성을 하향평준화 시켜 비교가 어려워..
백엔드 개발자를 꿈꾸는 학생 개발자에게 우연히 네이버 D2의 정상혁님이 쓰신 진로 칼럼 '백엔드 개발자를 꿈꾸는 학생 개발자에게' 을 읽게 되었다. 백엔드 개발자의 일, 전망, 필요한 지식, 네이버는 어떤 백엔드 개발자를 원하는지까지, 개발자를 꿈꾸는 학생들이 고민할 것들을 답 해두셨다. 백엔드 개발자, 시스템 엔지니어, 머신러닝 엔지니어,,, 아직 뭘 해야할지, 어떤 개발자가 되야할지 모르고 고민하고 있던 중에, 이 칼럼을 읽고, 개발 공부 방향에 느낀게 많아 생각을 정리할겸, 글쓰는 연습도 해볼겸 처음으로 블로그에 내 생각에 대한 글을 쓰게 되었다. 울타리 위에 있다! ( 갈팡질팡하는 모습을 영어로 On the fence라고 표현한다고 한다. 표현이 재밌어 써보고 싶었다.) C언어를 대학교 1학년 때..