목록Coding (40)
잇뉴얼 (IT_Manual)

[Java] 진법 변환 쉽게 하는 방법 (10진법을 다양한 진법으로 변환하기) 코딩을 하다보면 한번씩 진법 변환을 해야되는경우가 있습니다. 진법 변환을 할려고 로직을 짜보면 간단하게 짤수는 있습니다. int a = 151; String result = ""; // 10진법 -> 3진법으로 변환 while(a > 0) { int b = a%3; result += b; a = a/3; } StringBuffer sb = new StringBuffer(result); result = sb.reverse().toString(); // 결과 result = 12121 로직을 보면 그렇게 어려운 느낌은 아닙니다. 3진법을 구하기 위해 a에 담겨있는 10진법 데이터값을 3으로 나눈 나머지값을 문자열에 포함시킨 다음,..

[선형대수학] 선형(linear)과 비선형(Nonlinear) - 선형(linear)이란? >> 집합X의 원소 x_1,x_2,x_3, ···, x_n에 각각 상수 a_1, a_2, a_3, ···, a_n을 곱한 다음, 곱한값을 더한 a_1x_1 + a_2x_2 + a_3x_3 + ··· + a_nx_n이 집합X에 속한 경우 참고 : x_1, x_2, x_3, ···, x_n은 아래의 사진을 의미합니다. 선형(Linear)는 쉽게 생각하면 1차식, 그래프상에서는 직선이라 생각하면 됩니다. 그러면 반대로 비선형(Nonlinear)는 1차식이 아닌 2차식 이상, 그래프상에서는 곡선입니다. 선형과 비선형을 비교하면 다음과 같습니다. 선형 (Linear) 비선형 (Nonlinear) 1차식 or 1차함수 2차 ..

[선형대수학] 선형대수학(Linear Algebra)이란? 인공지능 학습을 위해서는 백터와 행렬을 알아야합니다. 그리고 더 깊은 지식을 얻기 위해서는 선형대수학을 알아두면 도움이 됩니다. 선형대수학이란? 행렬과 백터는 고등학교때 들어는 보셨을껍니다. 그런데, 선형대수학은 처음들어보시는분들이 많으실껍니다. 선형대수학에 대한 설명은 다음과 같습니다. 선형대수학은 선형방정식의 풀이를 위한 행렬 이론, 백터공간과 그들 사이의 선형사상에 관한 이론이 핵심적인 부분을 이루고 있다. 수학의 영역에서 카테고리로 정리하면 [ 대수학 > 추상대수학 > 선형대수학 ]으로 되어있으며, 선형대수학은 다양한 분야에서 많이 응용이 되고 있다고 합니다. 공학 사회과학 자연과학 경재학 전기 회로 사회학 물리학 경영학 통신 네트워크 인..

[Python] 파이썬 패키지 관리를 위한 requirements.txt 파일 생성 & 사용법 파이썬으로 코드를 작성하다보면, 모듈을 포함시키기 위해 'pip'명령어를 이용해서 하나하나 설치를 해줘야 할 경우가 꼭 한번은 경험해보셨을껍니다. 기능 좀 추가하면, 따로 또 설치를 해줘야 됩니다. 프로젝트 만들때 한번은 필요로 하니, 설치를 한다 생각을 할 수 있지만, 그것이 아닌, 해당 프로젝트를 새로운 환경에서 사용을 하거나, 배포를 하게 되면, 또 다시 이 작업을 해야되고, 놓치는 모듈도 있을껍니다. 이러한 번거로움을 해결해줄수 있는 방법이 있습니다. pip freeze 터미널에서 프로젝트 경로로 이동해 'pip freeze'를 입력하면, 해당 프로젝트에 설치되어있는 모듈을 찾아 터미널에 출력을 해줍니다..

[Java] 객체지향 프로그래밍이란? 프로그래밍을 어떻게 하냐라고 답한다면, 보통은 크게 2가지로 이야기 할껍니다. 절차적 프로그래밍(Procedure Programming) 혹은 객체지향 프로그래밍([OOP] Object Oriented Programming)이라 이야기할껍니다. 객체지향 언어로는 대표적으로 'Java, Python, C#, PHP' 등이 있는데요. 언어이름만 보아도 유행하는 언어들이 객체지향 언어라 볼 수 있습니다. 이번 포스트에서는 객체지향 프로그램에 대해 살짝 다뤄볼까 합니다. ▶ 객체 (Object) 란? 간단하게 설명하면, 객체는 속성과 기능을 가지고 있는 녀석이라 볼 수 있습니다. 객체 : 자동차 객체의 속성 : 색상, 속도, 연식 등 객체의 기능 : 출발, 정지, 운행, 제..

[Java] JVM(Java Virtual Machine)이란? JWM (Java Virtual Machine)은 OS에 종속받지 않고 CPU가 java를 인식, 실행할 수 있게 하는 가상 컴퓨터입니다. Java가 자바 가상 머신을 거쳐 OS에 도달하는 과정이 있기에, java파일을 java bytecode(class)로 변환을 시켜줍니다. 이때 java bytecode(class)로 변환를 해주는것이 Java compiler 입니다. 그리고 Window, Mac, Linux 와 같은 다양한 OS에서 프로그램을 실행할 수 있도록 만들어줍니다. ▶ 자바 가상 머신(JWM) 구조 Garbage Collector Execution Engine Class Loader Runtime Data Area ▶ 자바 가..

[Algorithm - Java] 알고리즘에서 중요한 정렬의 종류 (버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬) 코드를 구현하다보면, 어떠한 값을 산출하기 위해서 계산을 해야됩니다. 그런데, 계산을 하다보면, 무식하게 작성을 한 코드를 보면서, '지금까지 뭐한걸까?' 라는 생각과 함께, 제가 짠 코드도 뭐가 어떻게 구현한건지 몰라 해매는 경우가 많았습니다. 물론.. 지금도 그렇구요;;; 그리고 다른 고수분들께서 문제를 풀어 작성한 코드를 보면, '와.. 이렇게 코드줄을 짧게도 결과를 만들어낼수 있구나!'라는 생각을 많이 하게 되었습니다. 그래서 코드를 구현하는 방법을 개선하기 위해 공부를 하고 있는것중 하나! 바로 '정렬'에 대한 주제로 포스팅을 해보기로 했습니다. ▶ 정렬이란? 데이터를 순서대로 ..

[Security] - 보안을 위한 JWT (JSON Web Token)란? JWT란? ▶ JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준 기존에 웹 개발을 하면서 보안에 대한 신경을 쓰지않고, DB에 Password를 그대로 저장해 데이터가 일치하는지만 확인을 해서 로그인을 할 수 있도록 코드를 구현했었습니다. 물론, 혼자 학습용으로 만드는것이기 때문에, 보안에 신경을 쓸 필요가 없지만, 만일 서비스를 하게 된다면, 보안 신경안쓰고 개발을 했을경우, 개발자가 Password를 볼 수 있다는 점과, 데이터 전달중 정보를 빼낼수 있다는 점에서 아주 위험한 상태로 놔두는것과 같게되겠죠. 그래서 JWT를 사용해서 중요한 정보를 보안해주게 됩니다. ▶ JWT 토큰 구성 구성 설명 Header 토큰의 ..

[HTML] - 장고 템플릿 태그 기본 사용법 (with 파이썬) 장고 (Django) 템플릿이란? 정적인 HTML에 동적인 Python을 사용할 수 있도록 해주는 기능 ■ HTML에서 장고 (Django) 조건문 사용방법 {% if num == 1 %} one {% elif num == 2 %} two {% elif num == 3 %} three {% else %} four {% endif %} '장고 (Django)'에서는 'HTML'에서 조건문을 바로 만들수 있습니다. 따로 'JavaScript'를 사용하지 않고도 바로 알고리즘을 짤 수 있습니다. 위에서 언급했듯이 '파이썬'문법으로 작성을 해야합니다. '{% if 조건문 %}'으로 시작을해 아래쪽에 'HTML'을 작성한 다음, 조건문이 끝난다면,..

[Python] 파이썬을 활용한 웹크롤링 방법 (Feat. PyCharm) 목표 : 파이썬을 활용한 웹크롤링 ▶ requests, BeautifulSoup 라이브러리 이름 설명 requests 파이썬으로 http 통신이 필요한 프로그램을 작성할 때 가장 많이 사용되는 라이브러리 BeautifulSoup 웹 페이지의 정보를 쉡게 스크랩할 수 있도록 도와주는 라이브러리 PyCharm 라이브러리 사용 방법 파이참 프로그램 왼쪽 상단을 보면 '파일'탭이 보입니다. 여기로 들어가주세요. 설정화면에서 왼쪽 목록에 '프로젝트: 프로젝트명'을 클릭하면, 오른쪽 화면에 'Python 인터프리터'버튼이 보입니다. 여길 눌러주세요. 오른쪽화면에 설치되어있는 패키지를 볼 수 있습니다. 여기서 오른쪽 화면의 왼쪽 상단에 작은 ..