IT
32 posts
자바스크립트 비동기 처리 study

자바스크립트 비동기 처리와 콜백 함수 프로미스? async & await 함수 표현 INTRO 프론트단에서 간단히 작동할 동작들을 스크립트로 작성할 필요가 많아졌다. 문법적으로 생소한 부분들을 공부 겸, 정리해두려고 한다. 비동기 처리 비동기 처리가 무엇이며, 왜 비동기 처리가 필요할까? 기본적으로 프로그램은 절차적으로 동작을 수행한다. 이 말은 다음과 같다. c의 값을 알기 위해서는 a가 수행되고, b가 수행되고 난 후에야만 가능하다. function1()이 종료되고, function2()가 종료되어야만 c의 값이 결정되는 것이다. 이것이 절차적으로 수행되는 것이며 이러한 방식을 요청을 보낸 후 응답을 받아야만 다음 태스크가 수행되는,동기식 처리라고 한다. 이러한 처리가 왜 문제가 될까? 가끔 마트에서 급하게 물건 하나를 살 일이 있어서 들렀을 때가 생각난다. 나는 진짜 딱 한개의 물건만 계산하면 되지만, 앞줄의 사람들이 다 계산될 때 까지 기다려야 한다. 동기식 처리는 이 …

Programmers LV1 > 3진법 뒤집기

존재하는 함수들을 사용한다면 위처럼 간단하게 코딩할 수도 있다. 하지만, 간단한 문제이므로 직접 함수들을 구성하면 논리력을 강화시킬 수 있는 좋은 공부가 될 것이다. 간단하게 수행해야 할 단계들을 구상하고, 각 단계들을 디테일하게 구현하는 탑다운 방식으로 짜볼 것이다.

jQuery UI를 이용한, 탭 동적추가/삭제 기능 구현(div내에 jsp include 포함)

https://jqueryui.com/tabs/#manipulation jQuery UI에서 탭 추가/삭제 데모버전 코드를 기준으로 작성하였다. 여기서는, 탭의 이름과 탭에 들어갈 내용을 적어주면 해당 결과로 탭을 추가해주는 구조다. 그러나 실질적으로 내가 사용할 때에는 다이얼로그는 필요없고, 탭을 추가할때 div를 추가해주는지, 그 시점에 jsp를 동적으로 해당 div에 include 해주는지 가 관건이었다. 현재 테스트를 위해, include 할 jsp의 url은 정해놨지만 변수로 빼놓은 상황이다. 추후 상황에 맞게 응용 가능한 구조. Add tab을 누르면 탭이 추가가 된다. 탭을 클릭시 해당 탭으로 이동되는 형태이며, X버튼을 클릭시 해당 탭은 삭제가 된다. 즉, 동적으로 탭을 추가/삭제 할 수 있는 구조 단순히 태그만 추가하는 형태가 아니라, 해당 탭에 id를 부여하고 jsp를 include하여주는 형태다. 이러한 작업들이 동적으로 작동되도록 구현한 점이 핵심 …

Spring기반 웹서비스의 백그라운드 Agent 개발을 위한 기본 구조 정리노트

가장 먼저 context정보를 불러온다. DB에 접근하는 영역 DAO (Data Access Object) 여기에 정의된 내용들은 agent가 동작할 데이터 영역의 구조들이라 생각하면 된다. 이 데이터들을 이용하여 유의미하게 서비스를 제공 혹은 인사이트를 생성해내는 로직을 개발하는 것이 앞으로의 agent 개발 건들에 대해서 기본적으로 생각해야할 전제가 될 것으로 보인다. 따라서 어떤 기능을 동작할 것인지 명세하고 탑-다운 형태로 구현해나가는 것을 목표로 할 것이다. DB단과 통신하는 경우는 DAO를 이용하고, 질의문은 sql을 정의해놓은 xml에서 id값을 찾아서 데이터를 넘겨준다. 결과값은 보통 HashMap을 이용하여 불러오는 형태로 만든다. 해쉬는 형태인데 키 값을 통하여 찾고자 하는 레코드에 접근하는 형태다. 레코드는 여러개의 필드의 값을 담고있는 객체인데, 보통 이러한 객체를 Bean객체라 부른다. 통상적으로 agent가 작동할 때는, 파일…

Search Search | m.nearbyme.io 와의 사투, 해결일지

요즘들어 계속 나를 괴롭히고 있는 이상한 맬웨어다. 브라우저를 하이재킹해서 키워드를 가로채서 새로운 탭으로 m.nearbyme.io에 쿼리를 날려서 호출하는 방식이다. 검색엔진은 광고주의 부탁에 따라 상위노출 시켜줄 시 더 많은 돈을 받을 수 있는 것으로 알고있다. 확실한 것은 아니지만, 이 맬웨어는 자체적으로 검색키워드를 하이재킹해서 상위노출시키는 방식으로 광고주에게 돈을 받는 모양이다. 브라우저 하이재킹을 한다면, 단순히 브라우저 내의 키워드만 가져가지는 않을 것 같았다. 1차적으로 구글링을 통해 해당이슈를 해결할 수 있는 방법을 찾아보았다. 국내페이지에서는 이 이슈를 다루는 곳이 별로 없는 듯 하였다. 해외페이지에서는 이 문제를 상당히 다루기는 했는데, 다 똑같은 이야기였다. 요약하자면 프로그램 추가/제거 에서 이상한 프로그램을 삭제하라 안되면 우리 애드웨어 제거 프로그램을 사용하라(유료) 이런식의 백신 홍보글이었다. 우선은 수상한 프로그램을 발견해서 해당 프로그램을 삭…

JAVA 정규식 study

정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다. 컴퓨터 과학의 정규 언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 현재 많은 프로그래밍 언어, 텍스트 처리 프로그램, 고급 텍스트 편집기 등이 정규 표현식 기능을 제공한다. 일부는 펄, 자바스크립트, 루비, Tcl처럼 문법에 내장되어 있는 반면 닷넷 언어, 자바, 파이썬, POSIX C, C++ (C++11 이후)에서는 표준 라이브러리를 통해 제공한다. 그 밖의 …

API 패키지 설치 (작성중)

# INTRO CentOS 설치 (CentOS Linux release 7.4.1708) (API에 맞는 운영체제 버전을 설치해야 한다.) 보통 물리서버장치에 바로 설치하지만, 매뉴얼 작성을 위해 가상환경에서 진행 VMware Workstation 이용 가상 환경만 구성하고, iso파일을 이용하여 직접 설치한다. 여기까지 가상환경 조성 완료 암호까지 설정하고 대기, 설치 완료되면 usb제거 기본적인 설치가 끝나고 부팅이 되면 OS가 잘 설치되었는지, 하드웨어 스펙은 일치하는지 확인해준다. cat /etc/redhat-release 입력하면 os버전 확인 가능 # 전체적인 순서 자바설치 -> DB설치 -> 톰캣 설치 -> 인증서설치 -> 설정 -> 테스트 0. 외부 터미널에서 접근하기 위한 interface 정의 # cd /etc/sysconfig/network-scripts/ # ll 로 인터페이스명 확인 (ifcfg~~ 파일) …

파싱 AGENT 클래스 동작 구조분석

메인클래스 Parser \1. conf에서 properties에서 정보들을 가져옴 \2. xml파일을 이용해서 Spring Bean을 생성한다. 해당 bean은 context라는 객체로 담기게 됨. \3. 메인 클래스에서는 init()과 execute() 두 메소드가 동작하게된다. init()에서 읽어온 prop 순회하면서 핸들러 설정해주고 execute()에서 DAO를 받아서 처리를 하게된다. execute를 자세히 보면 스레드로 프로세싱을 하게되는데 Producer - Consumer 패턴 구조로 이루어져 있다. (보통, 데이터를 생성하는 스레드를 Producer 데이터를 처리하는 스레드를 Consumer로 구분) 해당 agent에서 Producer는 생성중인 로그, 생성된 로그, 에러로 빠진 로그 구분해서 정리해줌 ConsumerMgr이라는 단일클래스에서 여러개의 Consuemer 스레드들을 관리하는 형태로 구조화해서 Consumer는 멀티스레드 구조로 여러개의 파일을 …

컴퓨터 활용 lil tip

프론트엔드 자동화 테스트 : Cypress.io 2 .쉬프트 + 윈도우 + 방향키 : 창 모니터 이동 3 .다중모니터 마우스커서이동 : https://blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=windowexe&logNo=221501498360 윈도우 + (1~0) : 작업표시줄 아이콘 실행 이클립스 탭이동 : 컨트롤 + pgUP,pgDn 이클립스 탭분할 : 컨트롤 + 쉬프트 + { or _ 크롬 내부 검색창 바로가기 : / 크롬 뒤로가기 앞으로 가기 : 알트 + 방향키 ========================================================================= Tomcat 서버 이미 가동중일 때, 이클립스 서버와 비동기화 되있는 경우 프로세스를 강제로 종료해줘야 한다. 이 때 pid확인하는 법 (윈도우 기준) 명령 프롬프트에 다음 명령어 입력 톰캣에서 기 사용하고있…

0012 > 파이썬 기본수학 - 2 | 골드바흐의 추측

#9020 골드바흐의 추측 백준 알고리즘 9020# 구조를 다음과 같이 하여 문제를 해결할 예정 골드바흐 파티션을 구할 수 n n은 두 수의 합으로 나타낼 수 있으므로 n = p + q로 표현 4부터 10000사이의 짝수만 골드바흐 파티션을 구할 예정이므로 2로 나누어 생각할 수 있다. n = p+q에서 p = n/2 , q = n/2로 시작한다. (n = (n/2) + (n/2) 이므로 ) 그리고 p는 1씩 감소, q는 1씩 증가하는 방식으로 n을 표현할 수 있다. p가 1이면 소수가 아니므로 이를 제외하면 이 때 나올 수 있는 합의 조합은 (n/2 - 1) 가지 이 중 소수의 합으로 이루어진 경우에만 골드바흐 파티션 이므로 각각의 p와 q가 소수인지 확인을한다. 모든 골드바흐 파티션을 구하는 것이 아니라 두 수의 차가 최소인 값을 출력해주는 것이 문제의 요구사항 16을 예로 들어보면, p q 두 수의 차 골드바흐 파티션 8 8 0 x 7 9 2 x 6 …

0011 > 파이썬 랜덤, 엑셀파일 접근, 로또

잠시 쉬어가는 의미로 파이썬에서의 랜덤함수 그리고 엑셀파일 접근하는 방법을 익혀서 이를 활용하여 로또 알고리즘을 만들어보자 계획은 이러하다 동행로또 홈페이지에서 회차별 정보를 엑셀로 제공해준다. 이를 다운받으면 역대 당첨번호를 쉽게 엑셀로 만들 수 있다. 엑셀로 만든 이유는 이 엑셀에서 파이썬으로 데이터를 가져오기 편하기 때문 엑셀파일을 열어보면 역대 회차별 당첨금액, 당첨번호가 다 나온다. 여기에서 내가 활용할 데이터는 당첨번호다. 이렇게 당첨번호만 가져오고 이는 각각 배열로서 담기게 될 것이다. 이 데이터들은 각 로또 번호와 대차비교하여 1등은 3000점 2등은 600점 3등은 30점 4등은 10점 5등은 1점 이렇게 점수를 매겨준다. 정확한 계산을 위해서는 각 회차별 당첨금액으로 점수를 매기는 것이 좋았겠지만 사실 로또가 매번 독립시행인데 이런 점수가 무슨 의미가 있을까? 그냥 재미를 위해 이정도 스케일로만 계산해봤다. 이제 로또 번호를 랜덤함수를 이용해서 생성해볼 것이…

0010 > 파이썬 기본 수학 - 1 extra

#10250 ACM 호텔 백준 알고리즘 10250# 문제를 단순화 해서 해석해보자면, 이동거리는 엘리베이터로 이동하는 거리는 따지지 않고 이동하는 거리로 생각하므로 W는 이동거리가 되고 남아있는 방중 이 거리가 가장 짧은 방을 배정해주면 된다. 다만, W가 같을때는 H에 따라 호감도가 달라지는 구조이다. 그러므로 방배정은 H층이라 하면 1부터 h까지 방배정하고, 다시 1부터 h까지 … 1부터 h까지 순서로 방배정을 하게 되어있다. 반복문을 이용해 푼다면 매우 간단할 것 같다. #2775 부녀회장이 될테야 백준 알고리즘 2775# k층의 n호에 몇 명이 살고 있는지 알아내는 함수 k층의 n호에 살기 위해서는 (k-1)층의 1호~n호까지의 사람의 수만큼을 데려와야 한다. 0층 1호부터 i호까지 순서대로 0~i명이 산다. K0,i = {1,2,3,4, … ,i} K1,i = {1,3,6,10, … ,i(i-1)/2} K2,i = {1,4,10,20, … , Sum(1,i)} …

0009 > 파이썬 기본 수학 - 1

#1712 손익분기점 백준 알고리즘 1712# 코드를 작성하기 전에 관계식을 세울 필요가 있다. A는 고정적으로 들어가는 비용이고 B는 노트북 한대를 생산하는데 들어가는 비용이기 때문에, 제작비용은 A + Bx 가된다. 노트북의 가격은 C원이고, x대를 팔았을 때의 돈이 수입이 된다. 제작한 노트북은 모두 팔린다는 가정하에 제작비용보다 수입이 많아지는 지점이 바로 손익분기점이 된다. A+Bx < Cx 로 식을 세울 수 있으며, x의 최소값이 손익분기점이다. 식을 x에 관하여 정리해보면 이를 만족하는 x의 최소값을 구하면 된다. 이러한 수식이 만족하려면 ( C != B )이여야 한다. 또한 C가 B보다 작은 값이면 음수가 되어 절대로 손익분기가 발생하지 않는다. A / ( C-B) < x 를 만족하는 x의 최소값 (단, x는 정수)이 손익분기점이며, ( C<=B ) 이면 손익분기점이 발생하지 않으므로 -1이다. c.f) 틈새정보 : 손익분기점은 Break-even point이…

0008 > 파이썬 문자열

숫자의 합 백준 알고리즘 11720# 첫째줄에 숫자의 갯수를 적어주고 둘째줄에 입력한 수의 합을 구해주는 단순한 구조 둘째줄의 수는 정수의 의미라기보다는 공백없는 숫자들의 나열, 즉 문자열이라 봐야 해결가능한 문제다. 파이썬에서 기본적으로 입력받은 값은 문자열이다. 이를 int, float등 형 변환 해주지 않으면 수가 입력되더라도 문자열이므로 각 자릿수들을 분리하는 것이 매우 간단하다. 이후, 각 문자들을 정수로 변환해주고 합산해주면 끝 x가 둘째줄이고, 합을 구하는 과정에서 int형으로 형변환 해주는 것이 핵심 알파벳 찾기 백준 알고리즘 10809# 소문자로만 이루어진 단어를 입력하면 a~z까지 단어에 각각 처음 등장하는 위치를 출력해주는 프로그램 첫번째 위치는 0부터 시작하며, 존재하지 않을 경우는 -1을 출력 첫번째로 생각할 것이 단어와 알파벳이 주어졌을 때, 단어에 해당 알파벳이 존재하는지 확인하는 함수다. 둘째로는 a~z까지 각각 이 함수들을 써서 각 위치들을 …

0007 > 파이썬 함수선언

백준 알고리즘에서 말하길 함수를 쓰면 코드가 깔끔해진다고 한다. 말 그대로, 자주 쓸 것 같은 기능들을 함수로 구현해놓으면 재사용이 가능하다. 파이썬에서 함수 선언하는 법은 매우 간단하다. def라는 키워드로 함수선언임을 알리고(영어단어 Define : 정의하다 에서 따옴) 함수이름과 들어가는 매개변수를 적어주면 된다. 그리고 return없이 그냥 함수를 종료하면 void함수가 된다. 리턴값을 한 개 이상 줄 수 있다는 것이 특징 리턴값이 반드시 한 개인 것이 아니다. 리턴값이 없을 수도 있고, 여러개의 리턴값이 나올 수도 있다. 다만 예를들어 리턴값이 2개이면 이를 받을 2개의 변수가 필요하므로 함수를 구성할 때 이를 고려할 필요가 있다. 또한, 함수의 선언은 함수의 사용하는 시점보다 앞서야 한다. 무슨말이냐 하면 아래 사진처럼 함수를 쓰고나서 그 후에 이 함수가 무엇인지 정의해줘도 프로그램은 이 함수의 의미를 모른다. 그러므로 함수를 미리 선언해주고 사용하자 파이썬은 컴파…

0006 > 파이썬 1차원 배열 및 관련 알고리즘 문제

파이썬에서는 배열 선언하는 것이 너무 간단하다. 배열 이름과 []만 쳐주면 끝이다. 이렇게 하면 비어있는 배열 선언이 완료된다. 안에 넣을 수 있는 요소는 String, int, float, 등… 상관없다. 자바나 C언어에서는 같은 데이터 타입만 담을 수 있는 것에 반해 데이터 타입은 신경쓰지 않는다. 또한, 이러한 형태로, ()안에 담긴 구조들을 넣을 수도 있고 배열을 요소로서 가질 수도 있다. 다차원 배열은 다음시간에 자세히 다뤄보도록 하고, 이번시간에는 1차원 배열에 한해서 문제를 해결해보자! 최소, 최대 백준 알고리즘 10818# 첫째줄에서는 배열의 크기, 둘째 줄에는 각각 들어갈 값들이다. 그러면 최솟값과 최댓값을 출력해주면 끝 최솟값과 최댓값을 얻는 방법은 무엇일까? 처음부터 끝까지 다 확인을 해서 가장 작은 값을 최솟값, 가장 큰 값을 최댓값이라 하면 된다. 먼저 배열을 입력받았을 때, 최댓값, 최솟값을 구하는 함수들을 각각 정의해주고 배열을 채워주는 부분을 짜…

0005 > 파이썬 while 문 | 두 수의 합 반복출력, 더하기 싸이클

전 시간에 for문을 이해해 보았다. 이번 시간에는 while문을 익혀볼 것 while문은 구조가 더 단순하다. 저번 세로 곱셈 알고리즘에서 사용했던 while문을 보면 이해가 쉽다. 조건을 만족하는 동안, 반복문을 시행하겠다는 의미가 된다. 물론 중간에 조건문을 주어서 break, continue 키워드 이용도 가능 반복문을 쓸 때에는 for문, while문 둘 중 어느 것을 사용해도 상관없이 가능하지만 내가 느끼는 바로는 어떤 리스트의 값들에 접근하는 경우(순차적 반복의 특성을 가지는 경우)에는 for문 , 특정 조건에 한해서 반복할 때는 while문 이렇게 사용하는 것이 적절하겠다는 생각이 들었다. 간단한 문제 풀이로 바로 while문을 학습해보자 두 수의 합 반복출력 백준 알고리즘 10952# 두 수를 입력받고 합을 출력하는 반복문을 작성하는 것이다. 무한 반복인데, 0 0 을 입력받으면 반복문을 빠져나가는 구조 조건은 크게 두 가지로 할 수 있겠다. a와 b가 각각 0…

0004 > 파이썬 for문, print() 포맷팅 | 합 (시그마), 구구단, 별 찍기

c와 자바에서의 for문의 구조는 다음과 같다. \1) 초깃값을 주고 \2) 조건식을 주어서 이 조건에 만족하는 동안만 반복하게 한다. \3) 루틴이 한 바퀴 돌고 난 후 값의 변화를 주는 부분 이를 예를 들어 설명하자면 1부터 10까지의 합을 구하는 반복문을 만든다고 할 때, 초깃값 num = 1이라고 주었고, 조건으로 num이 10이 될 때까지는 반복하겠다고 조건식을 주었다. 그리고 한 바퀴 돌고 나면 num의 값을 1 증가시키겠다는 의미가 된다. 그런데, 파이썬에서 for 문은 이와 사용하는 방법이 다르다. 기본 구조는 이러하다. 자바의 for-each문과 사용법이 유사하다. for-each in에 있는 리스트의 1번부터 10번까지, 반복문의 내용을 수행하겠다는 의미가 된다. 각 루틴당, num의 의미는 num인덱스가 된다. 기본적으로 for문은 특정 리스트의 첫 번째부터 끝까지 접근하면서 어떠한 작업을 수행할 때 이용하는 듯 보인다. 기존의 자바 for문에 익숙하다 보니 …

0003 > 파이썬 조건문 | 시험 성적, 윤년, 알람시계

대표적인 조건문으로 if 문이 있다. 전 시간 while 문에서 살짝 살펴보았는데 파이썬에서는 { } 대신에 : 과 들여 쓰기로 표현한다. 자바에서는 if, else, else if 이렇게 세 가지로 크게 나눌 수 있는데 파이썬에서는 if, else, elif로 세 가지로 나뉜다 else if 가 elif로 바뀌었다는 점이 차이 또한, switch 문은 파이썬에 존재하지 않는다. 문법적으로 존재하지는 않지만 딕셔너리를 활용하면 비슷하게 구현은 가능하다. 이번 시간에는 조건문의 학습이 주요 목표이기 때문에 딕셔너리는 추후 활용할 일이 있으면 그때 학습하도록 하자. #1 시험 성적 백준 알고리즘 9498# 시험 점수를 입력받고, 값이 해당되는 범위에 따라 등급을 출력해 주는 간단한 프로그램 이런 문제는 switch문을 이용하면 간단하게 해결 가능하지만, 파이썬에는 없기 때문에 if 문으로 해결해보자. if 문을 5번 돌려서 등급을 지정해 주는 방법도 가능하긴 하지만, 이렇게 되면…

0002 > 파이썬 숫자 자리수 분리하기, 세로 곱셈 표현하기

백준 알고리즘 2588# 세 자릿수의 곱셈을 수행하는 문제 단순히 A * B의 결과를 출력하는 것이 아니라 세로 곱셈의 원리를 프로그램으로 표현해야 하는 것이다. 쉬워 보이는 문제지만 무려 초등부 올림피아드에 나왔던 문제다… 계산 자체가 어려운 것은 아니지만, 이를 표현하기 위해서는 수의 각 자릿수를 분리해내야 한다. 우선 (1)~(6)까지 각각의 값들을 num1 ~ num6이라 하겠다. num1과 num2는 입력, num3~num6은 출력값 중요한 건 num2의 각 자릿수를 분리해야만 나머지 변수들의 값을 계산할 수 있다. 수를 분리해내는 여러 방법이 있겠지만, 나는 1의 자리, 10의 자리, 100의 자리를 각각 분리해와서 하나의 배열에 담아줄 것이다. 그래서 num2는 배열이 되고, num20, num21, num2 이렇게 나뉘며 각각의 의미는 1의 자리 수, 10의 자리 수, 100의 자리 수다. 첫째 줄에 num1을 입력받고, num2는 비어있는 배열 inNum2는…

0001 > 파이썬 시작하기 | 파이썬 입출력

알고리즘 공부를 시작해보려 한다. 이번 공부에서는 프로젝트 단위의 개발을 목표로 하는 것이 아니기 때문에, 알고리즘 그 자체의 논리적 순서를 파악하고 검증하기 위한 가벼운 언어가 프로그래밍 도구로서 필요했다. 나에게 익숙한 C언어와 자바는 이러한 간단한 일들을 하기에는 무거운 편이었다. 반면 파이썬은 한 번도 만져본 적이 없다. 파이썬은 데이터 분석이나 딥러닝 쪽에서 많이 쓰이는 언어이고, 이 분야가 4차 산업혁명의 핵심이 아니던가 파이썬 문법도 공부하면서 동시에 알고리즘도 공부해볼 수 있을 것 같아 파이썬으로 알고리즘을 해결하는 연습을 해볼 것이다. 개발에 적합한 IDE를 찾아야 했는데 주피터가 압도적으로 점유율이 높았다. 그러나 조금 찾아보니 초보자가 시작하기에는 어려울 수 있다고 한다. 또한 웹에서 사용할 때 주로 사용한다고 하니, 초보자에 더 적합한 IDE로 파이참을 선택했다. 찾아보니 많은 이들이 추천해 주기도 했었다. 파이참 사이트 파이참을 설치하고 처음 해야 할 …

유튜브 음악 다운받기

유튜브를 이용하다 보면 음악들이 뮤직비디오 말고 (audio)라고 음원만 올라와 있는 경우가 많죠 급하게 음원파일이 필요한 경우, 유튜브에 올라온 동영상을 활용해서 구할 수 있습니다. 유튜브 mp3추출 프로그램들도 많이 나와있지만, 설치없이 간편하게 바로 이용할 수 있는 온라인에서 유튜브 음원추출 하는 방법을 알려드리겠습니다. 참고로 이 방법은 mp3파일 자체를 다운받는 것이 아닌, 동영상에서 소리만 추출해서 mp3파일로 변환한 것을 다운로드 받는 것입니다. 그렇기에 뮤직비디오를 다운받으시게 되면 음원버전이 아닌 동영상의 소리들도 함께 변환된 mp3를 다운받아진다는 점 참고하세요 단, 알려드리기에 앞서 다운받은 음악을 재배포 및 공유를 하게되면 저작권법에 위촉될 수도 있으니 주의하세요 구글에 youtube mp3 라고 검색합니다. 그러면 온라인 mp3추출 사이트들이 여러곳 나옵니다. 유튜브에서 MP3 변환 - 온라인 변환기유튜브에서 고품질의 MP3를 다운로드하고 변환하세요.…

포토샾 얼굴 합성하는 법 (a.k.a 야매)

img 저는 디자이너 전공을 한 사람이 아닙니다만, 간단한 그림작업을 하기 위해서 알아보다 보니 그림판으로는 한계가 있더라구요 그러다가… 포토샾도 만지게 되더라구요 블로그에 올릴 짤들을 만들면서 제일 많이 쓰이는게 합성 아닐까요? 뭐 페이스북에서 대신 포토샾해주시는 그런 고수분들에 미치지는 못하지만 간단하게 합성할 수 있는 방법을 대방출 하도록 하겠습니다. 어노잉 오렌지라고 들어보셨나요? 오렌지에 사람 눈과 입을 합성해서 괴기스럽네요 ㅋㅋㅋㅋ 이런 간단한 합성을 하고 싶다면 어떻게 해야할까요? 스텝 1. 오렌지 인간 만들기 오렌지 사진을 포토샾으로 불러옵니다. 그리고 눈코입을 붙여넣어야하는데 누구의 얼굴이 좋을까요..? 요즘 펜트하우스 굉장히 핫하죠? 여기서 열연중이신 유병재씨의 도움으로 합성을 진행해보도록 하겠습니다. (유병재씨 죄송합니다.ㅠㅠ) 어노잉 오렌지처럼 만들자니 죄책감이 드는군요 유병재씨의 상큼한 매력을 오렌지로 표현하는 쪽으로 방향을 잡고 합성을 진행해보도록 하…

신비한 랜덤의 세계, 로또 번호 생성해보겠습니다! (Feat. 알고리즘)

952회차 로또 당첨 번호는 4, 12, 22, 24, 33, 41 +38 이었습니다. 이번 일등은 2,713,699,834원 되겠습니다 일확천금의 꿈… 인생역전의 꿈… 제발 한 번만 img 저만 이렇게 외치고 있는 것은 아니겠죠..? 이런 짤을 보았습니다. 자동으로 로또번호를 생성하는데 이렇게 성의 없으면 어떻게합니깧ㅎㅎㅎㅎ 로또 번호를 자동으로 돌린다면 컴퓨터가 랜덤으로 수를 추출해서 번호를 골라주는 것인데 이 랜덤이라는 것이 사실상 완전구현이 안됩니다. 엄청나게 많은 숫자들을 섞어 놓은 데이터 덩어리에서 임의로 뽑아내는 거에 불과합니다. 자연에서 탄생한 완전한 랜덤한 수 들이 아닌, 인간의 손을 한번 거친 랜덤처럼 보이는 데이터 덩어리란 말입니다. 각설하고, 성의 있게 번호를 한번 뽑아볼까요? 그래서 저는 랜덤함수로 1차적으로 로또번호를 생성하고 최대한 숫자들이 분산되도록 이 번호들에 저만의 해쉬함수를 적용하여 엔트로피를 증가시키는 방식으로 1000개의 로또번호를 생성…

가상화폐가 도대체 뭐야? (Feat. 비트코인)

주식열풍을 넘어 비트코인이 다시금 들썩이고 있습니다. 머스크의 한마디에 비트코인의 가격이 오르락 내리락 난리도 아니죠 한 때, JTBC에서 『가상통화, 신세계 인가 신기루인가』 라는 주제로 첨예한 토론을 나누기도 했었죠. 과연 이 비트코인은 무엇일까요? 엄밀히 정의하자면 비트코인이 아니라 가상화폐, 암호화폐가 정확한 표현이고 이 분야의 대표가 바로 비트코인입니다. 암호화폐도 종류가 다양합니다. 저는 경제 전문가도 아니고 전문 투자자도 아닙니다. 그래서 “가상화폐는 ㅇㅇ이다.” 라고 결론을 내리려는 것이 아닙니다. 다만, 이 광풍에 공감이 간다기보다는 어떠한 저항감이 발생하여 감정적으로 접근하기보다는 차분하게 살펴볼 필요가 있겠다는 생각이 들었습니다. 그러한 고로, 빌라도의 마음으로 이 광풍에서 한 발자국 뒤로 물러나 조심스럽게 살펴보고자 합니다. 2021년 3월 3일 오후 4:43분 기준 비트코인 가격입니다. 그래프를 보시면 2018년 기준으로 가격이 급격하게 올랐습니다. 이 …

포토샵 CS6 언어 한글로 바꾸기

포토샵 CS6가 영문으로만 뜨는 경우가 있습니다. 많은 책들이 영문기준으로 작성된 경우가 많아서 영어로 쓰시는 분들이 있을텐데 요즘에는 한글기준으로도 많이 강의가 나와있는 것 같습니다. 제가 첨부한 아래의 한글 언어팩을 다운받아 포토샵 언어 폴더에 넣어주시면 한글로 실행 가능합니다. 바이러스 검사한 파일이니 안심하고 받아주셔도 됩니다. 불안하신 분들은 압축풀기전에 바이러스 검사 한번 더 해주시면 좋을 것 같습니다. 주의) 제가 첨부한 파일은 포토샵 CS6 버전용 입니다. 다른 버전은 호환이 안됩니다. 참고해주세요 첨부파일 ko_KR.zip en_US.zip 이제 포토샵이 설치되어있는 폴더로 이동하셔야 하는데 쉽게 이동하는 방법을 알려드리겠습니다. 바탕화면에 포토샵 아이콘이 있으면 마우스 오른쪽 클릭해주세요 꼭 바탕화면 아니더라도 상관없습니다. 시작메뉴 안에 있어도 괜찮습니다. 아이콘을 찾아서 마우스 오른쪽 클릭만 해주시면 됩니다. 그 다음 파일 위치 열기 눌러주시면 …

어떤 게임이든 통하는 나만의 치트키 쓰는법 (Feat.치트엔진)

전국의 겜돌이 겜순이 여러분 안녕하세요 저는 가끔 게임을 하다가 이런 생각이 들곤 합니다. 일명 노가다(?)가 필요한 구간들에서 말이죠. 게임은 재밌을려고 하는건데 왜 나는 이 짓을 하고 있는거지??? 이 과정 자체가 재밌으신 분들에게는 해당이 없는 이야기 일수도 있겠습니다. 하지만 저는 게임 자체의 Narrative, 서사를 즐기는 라이트유저 게이머이기 때문에 종종 이런 노가다에 막힐때마다 숨이 턱 막히곤 한답니다. img 그래서 제가 종종 쓰고 있는 방법인데 다른 분들에게도 도움이 될 수 있을 내용인 것 같아서 정리해 보았습니다.!! \1. 왜 가능한가? 치트키 쓰는 방법만 궁금하신 분들은 이 파트는 생략하시고 넘어가셔도 됩니다. 궁금하신 분들을 위해 개념적인 설명만 간단히 해보겠습니다. 게임,프로그램이 어떻게 돌아갈가요? 메모리상에 데이터를 올려 놓고 cpu가 그 값들을 이용하는 것입니다. 이렇게 생긴 녀석을 본적이 있으신가요? RAM카드라고 불리우는 녀석입니다. 메인메모…

컴퓨터 용량확보, 필요없는 파일 싹 다 청소하는 법 (Feat.Windows Update Clean Tool)

컴퓨터를 오래 사용하다 보면 필요 없는 파일들이 많이 쌓여서 용량도 많이 차지하고 느려지는 경우들이 많습니다. 이런 파일들로 대표적으로 윈도우 업데이트 파일들이 있습니다. 업데이트 하기 위해 설치파일을 다운받고 업데이트를 하고 나서도 그 설치파일 껍데기들이 남아있죠… 이런 파일들이 은근히 용량차지를 많이합니다. 저의 SSD 용량은 110GB입니다. 용량이 매우 적죠.. 그래서 쓸데없는 파일들은 웬만하면 정리를 해줘야 합니다. 앞서 언급했던 윈도우 업데이트 파일들을 정리해주면 좋습니다. 제가 주로 쓰는 방법인데 여러분들에게도 소개드릴까 합니다. 첨부파일 Windows Update Clean Tool.7z 파일 다운로드 우선 파일 하나 올려드릴게요 제가 올려드린 파일을 다운받으면 위와 같은 압축파일이 하나 있습니다. 압축을 풀어주세요 “Windows Update Clean Tool.exe” 파일을 실행시켜주세요 윈도우가 설치되어져 있는 파티션이 뜹니다. “스캔”을 눌러주세요 …

아이폰으로 나만의 노래방 만들기

코로나로 집콕생활이 시작된 요즘 저에게 가장 힘든건 아무래도 코인노래방에 가지 못하는게 크지 않을까 싶네요 음악만이 나라에서 허락한 유일한 마약이잖아요.. 밖으로 돌아다닐 수 없는 아쉬운 마음을 다잡고 언제 어디서든 아이폰과 이어폰만 있으면 나만의 노래방을 만들 수 있는 방법을 소개할까 합니다. img 주.의 이 방법으로 발생한 소음공해는 제가 책임질 수 없습니다. 준비물: 아이폰, 이어폰(마이크 달린) \1. 아이폰 GarageBand라는 아이폰 전용 어플을 이용할 것이기 때문에 아이폰이 반드시 필요합니다. 구형 아이폰도 가능합니다. 2.이어폰(마이크 달려있는) 통화가 가능한 이어폰이 필요합니다. 마이크 입력이 필요하기 때문이죠 이 두가지의 준비물이 마련되어진다면 언제 어디서든 노래방을 이용할 수 있습니다. 노래방 기능을 수행하는 방법을 제 핸드폰으로 따라하면서 차근차근 알려드릴게요 - GarageBand 어플을 설치합니다. \1. App Store에 들어간다. \2. “Ga…

어린이도 쉽게 따라 할 수 있는 원격접속하는 법 (꿀팁 다량 방출)

4차 산업혁명이 시작된다고, 빅데이터의 시대가 온다고 범 지구적으로 관심이 모였던 것도 벌써 몇 년 전이죠 그 후로도 시간 참 많이 흘렀습니다. 이제 디지털 세상은 더없이 일상이 되어버린 스마트 세상입니다. 기술진보의 속도는 정말 빠른 것 같습니다. 그래서 준비했습니다. 컴퓨터 활용의 꽃인 원격접속을 자유롭게 이용하는 스마트 인간이 되어봅시다! 참 쉽고 편리한 기능들인데… 원격접속이 뭘까요? 쉽게 설명하자면 집에 있는 컴퓨터(PC)를 멀리서 다른 기기로 접속하는 것입니다. 인터넷에 연결되어 있기만 하다면 어디서든 접속할 수 있습니다. 요즘 같은 비대면 시대에 참으로 유용한 기술이 아닐 수 없죠? 집이 아닌 다른 곳에서 pc를 이용할 일이 있으면 원격접속을 이용하면 되죠 예를 들어 집에서 컴퓨터로 작업하다가 카페를 나가야 하는 경우, 컴퓨터를 들고나가기는 힘들잖아요. 여담으로, 요즘 제가 젤루 좋아하는 핫한 래퍼 원슈타인님! 출처 : 원슈타인님 인스타그램 노트북이 없어서 컴…

맥북 프로 스피커 자가 수리기 (레티나, 13인치 Late 2013)

어느 날, 맥북 스피커에 이상이 생겼다. 소리가 굉장히 찢겨져서 나오는 증상이었다. 나의 모델은 2013년형.. 무려 7년이나 지났기 때문에 고장이 날 법도 하다. 인터넷에 맥북 스피커 수리비용을 검색해보니 사설 수리센터 방문시, 수리비는 대략 7,8만원 정도 나오는 것 같았다. 애플 공식 수리센터에 방문하면 그 이상으로 비쌀 것이다. 사설업체에 맡기는 것도 꽤나 만만치 않은 비용이 든다. 검색해보니까 스피커 수리 난이도가 어려운 편도 아니고 부품도 크게 비싸지는 않았다. 왼쪽 오른쪽 스피커 부품 다 합쳐서 15.99$ 공식수리가 아니라 사제수리를 하는 순간 애플의 보증이 끝난다고 알고있는데, 앞으로도 나는 자가수리를 할 것 같아서 자가수리를 하기로 결정했다. 망치면 끝장이다. 서론이 길어져서 각설, 왼쪽 오른쪽 스피커 부품을 주문하였다. 9월 27일에 주문하였는데 10월 15일날 도착하였다. 배송은 대략 2~3주 걸리는 것 같다. 수리를 위해 먼저 맥북의 아랫판을 분해해야…

컴퓨터 잘하는 '척' 해보기

살다 보면 대단한 것은 아니지만 대단해 보이는 무언가들이 있습니다. 그중에 하나로 저는 오늘 컴퓨터 잘하는 ‘척’ 할 수 있게 해주는 저만의 두 가지 방법들을 소개할까 합니다. 사실 결론적으로 말하자면 컴퓨터를 잘 활용하는 방법을 익히는 것입니다. 어렵지 않지만 작은 습관으로 활용도를 대폭 높이고 더불어 컴퓨터 잘하는 ‘척’ 까지도 할 수 있으니 많이 활용해주세요 그럼 시작하겠습니다. 1. 단축키를 활용하자 단축키는 어떤 작업을 수행하려 할 때, 명령 과정을 보다 빨리, 쉽게 하기 위해 만든 키보드의 조합으로 만든 명령어 또는 버튼입니다. 아마 많이들 알고 계시겠죠 대표적으로 Ctrl + C(복사) , V(붙여넣기) 라던지 Alt + F4(종료), Alt + Tab, (창 전환) 등등… 여러분들이 많이 쓰시는 단축키들이 있습니다. 우선, 단축키를 활용하는 것 자체만으로 여러 명령 단계를 생략하기 때문에 컴퓨터를 잘 활용하고 있는 것이 맞습니다. ~~~~ 그런데, 여기에 더…