<Lofi Hip Hop> 이라는 장르를 알게되었다. 재즈 스타일이 섞인 블루스 비트를 내뿜는 장르인데, 진짜 듣다보면 시간이 지나며 노랗게 바래가는 사진의 모습이 연상되는 아늑한 음악이다.


빗소리와 함께 특히 잘어울리면서 안정감을 주는데는 이 장르의 노래들이 최고인 것 같다. 물론 클래식, 재즈, 블루스, 여타 많은 안정적이고 귀가 즐거운 음악들도 좋지만, 심신의 안정감(?)에선 이 장르는 타의추종을 불허하는 듯.


꽤나 매니아들도 많고 찾는 소비자도 많아서인지 Youtube에도 Lofi Hip Hop이라고 검색해주면 수 많은 라디오 채널이 등장한다.


추천해준 Kian에게 고마울 따름.


네 음악 취향과 내가 비슷해서 내 인생이 음악으로 풍족할 수 있어서 고맙다.


아래 링크는 작성자가 자주 듣는 Lofi Hip Hop의 Youtube 채널들


안정적이고 편안~한 카페나, 한국에선 흔히 볼 수 없는 바&카페의 느낌을 듬뿍 느낄 수 있을 것이다! 추천 다섯개 쾅쾅!



https://youtu.be/5AEbq6X33A8

<Mellowbeat Seeker의 24/7 lofi hip hop radio - beats to chill/study/relax 채널>

 

https://youtu.be/hHW1oY26kxQ

<ChilledCow의 lofi hip hop radio - beats to relax/study to 채널>


https://youtu.be/7sT0pr51ZAw

<the bootleg boy2의 Smoke & Study - lofi hip hop radio 채널>

블로그 이미지

irostub

iro의 잡화상점

,

페이지에 글을 코딩글을 게시할 때 엄청나게 가독성이 좋아지고 깔끔해지는 기능.


넣는 방법도 별 어렵지 않으니 코딩글을 게시하는 분들은 적용해보는 것을 강력추천!


(HTML을 배우지않으신 분도 충분히 적용가능합니다)


어떻게 변하는지는 비포에프터 이미지로 한방에..


<↑이렇던 친구가.....> - Before


<↑이렇게 변했습니다! 혁명이에요!> - After


자! 그럼 바로 적용해보도록합시다.


https://highlightjs.org/

해당 링크에서 Get version을 클릭하여 압축파일을 받고 바로 압축을 해제해 줍시다.



압축을 해제한 폴더(highlight)의 highlight.pack.js가 필요하고


styles폴더에서 원하는 코드 스타일을 고릅니다. 코드 스타일을 미리보는 방법

https://highlightjs.org/static/demo/ 


해당 링크에서 Styles 카테고리를 눌러보시면서 미리 볼 수 있습니다.

미리 본 스타일의 이름과 styles폴더 안에 이름이 같은 css파일이 필요합니다.


두 가지를 잘 준비하셨다면 이제 티스토리에 적용을 해보아야겠지요?



티스토리 관리 - 꾸미기 - 스킨 편집으로 들어가줍니다.




먼저 오른쪽 상단에 파일업로드에서 아까 준비한 두가지 highlight.pack.js와


미리 본 스타일의 이름과 styles폴더 안에 이름이 같은 css파일을 업로드!!


업로드가 다 되었다면 파일업로드 왼쪽 끝에있는 HTML 탭으로 갑니다. 



HTML코드를 보시면 </head>가 있습니다. 이 줄의 바로 위에 아래의 코드를 복사해서 넣어줍니다.

<link rel="stylesheet" href="./images/default.css">
<script src="./images/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

그리고 저 코드에서 default 라고 되어있는 부분을 아까 미리 봐둔 스타일의 파일 이름으로 수정해줍니다(골라두신 CSS파일 이름과 같으면됩니다). 


적용이 끝났습니다. 이제 사용하는 방법을 알아볼까요? 어렵지않습니다.


글쓰기를 가신 뒤 HTML체크 박스를 체크해주면 HTML작성으로 변경됩니다.


이렇게 작성하시면됩니다.


<pre><code>이 사이에 코드를 집어넣읍시다.</code></pre>


적용해보시면 정돈된 코드의 모습을 보실 수 있을 것입니다. 


그리고 단, 한가지의 단점이 있습니다. 


C++을 예로들면 #include <iostream> 코드가 들어갈 때, '<', '>' 이녀석들이 출력되지않습니다


글씨로 인식하는 것이 아니라 태그로 인식해서인데요. 


해결방법은 간단합니다. '<' 이녀석을 &lt; 이걸로 대체해서 써줍시다. 그러면 해결!

블로그 이미지

irostub

iro의 잡화상점

,

예제 3)km를 mile로 환산


다른 환산 로직과 별다를 것은 없다. 반복학습의 일환.


확실히 작성하면서 느끼는데, 개인적으로 묵시적 형 변환보단 명시적 형 변환이 더 깔끔하다고 느껴진다.

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	int km = 0;
	float mile = 0;

	cout << "km값을 입력하세요 : ";
	cin >> km;

	mile = (float)km * 0.62f;

	cout << km << "km는 " << mile << "mile입니다.";
}



블로그 이미지

irostub

iro의 잡화상점

,

예제 2) 시,분,초를 입력받아 초로 환산하여라.


배운 내용대로 구성하자면 ' ' - 공백으로 구분하여 각각 시분초 변수에 입력받고 연산을 결과값에 누적시켜주는 것으로 완성.


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	//TODO : 시 분 초를 입력받아 초로 변환
	int hour, minute, second, result;

	cout << "시, 분, 초 를 ' '으로 구분하여 입력하세요 : ";
	cin >> hour >> minute >> second;

	result = hour * 3600;
	result += minute * 60;
	result += second;

	cout <<"시간을 초로 환산한 값은 " << result <<" 입니다.";
}


조금 더 나아가서 C-String을 사용하면 공백문자로 아리쏭하게 입력받는 것이 아닌

 x : x : x 로 입력 받는 것이 가능할 것 같다.


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	char inputTime[50];
	int result = 0;
	char temp[10];

	cout << "시:분:초 를 입력하세요 : ";

	for (int i = 0; i < 2; i++)
	{
		cin.getline(inputTime, 50, ':');
		strcpy_s(temp, inputTime);

		if (i == 0)
		{
			result += atoi(temp) * 3600;
		}
		else if (i == 1)
		{
			result += atoi(temp) * 60;
		}
	}
	result += atoi(inputTime);

	cout << "시간을 초로 환산한 값은 " << result << " 입니다.";
}


이렇게 하면 조금 더 자연스럽게 시:분:초 를 입력할 수 있다. 큰 차이는 없지만 스페이스바로 띄워서 구분하는 것보다 ':'를 기준으로 구분하는 것이..조금의 차이점?



블로그 이미지

irostub

iro의 잡화상점

,

예제 1)


cm로 값을 입력받아 feet&inch로 표현하여라.


결과 예)

키를 cm로 입력하세요 : 190

6feet 2inch 입니다.


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	int cm, feet, inch = 0;
	cout << "키(cm)를 입력하세요 : ";

	cin >> cm;

	inch = cm / 2.54f;
	feet= inch / 12;
	inch %=12;

	cout << feet<<" feet "<< inch<<" inch 입니다.";


문제점. inch의 정확한 소수점 표현 실패


조금 생각해서 Float 변수 선언해주고 나눗셈 결과를 Float 변수와 int 변수에 저장해서

int 변수에 들어가있는 제수를 Float 변수에서 빼줬다.


일단 꽤 정확하게 나오는데는 성공했지만, 문제는 보기에 이쁘지않다는 것


실행 결과가 xx feet 0.xxxxxxinch 입니다.

'0.' 이녀석 지우고싶다.



#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	int cm, feet;
	float inch, temp;
	cout << "키(cm)를 입력하세요 : ";

	cin >> cm;

	inch = cm / 2.54f;
	feet= temp = inch / 12;
	inch = temp-feet;

	cout << feet<<" feet "<< inch<<" inch 입니다.";
}


블로그 이미지

irostub

iro의 잡화상점

,



멜론에서 삼성뮤직으로 갈아탄지 어언 5개월이 지나가는 현재. 멜론보다 스트리밍 서비스 등에선 꽤 만족하고 있습니다만, 

삼성뮤직 PC애플리케이션이 없다는 것은 유감입니다. 


문의를 올렸을 때 답변을 들어보니 PC애플리케이션 지원 계획은 없다고 합니다.


그래서 준비한 삼성뮤직 사용자들을 위한 PC에서 삼성뮤직을 재생하는 방법 두 가지!


애석하게도 재생하는 방법이 그저 좋기만하면 더할나위 없겠지만 각각의 재생방법에 장단점이 있습니다.


방법 1. windows Media Player 를 이용해 삼성뮤직의 스트리밍을 공유해오는 방법






방법 2. 삼성에서 서비스하고있는 Side Sync를 통해 삼성뮤직을 미러링 해오는 방법




각각의 장단점 먼저 말씀드리고 방법을 말씀드리겠습니다.


현재, 1번 방법의 단점은 삼성뮤직에서 스트리밍 서비스를 가입하여 스토어에서 즉시 듣는 Streaming 곡 같은 경우 정상적으로 재생되지 않습니다. 무슨 말인가하면 스토어에서 MP3평생소장 같은 것이 아닌 무제한 듣기 스트리밍 서비스로 재생목록을 구성할 경우 재생이 되지않는 것입니다. MP3파일로 재생목록을 구성하면 정상적으로 Windows Media Player에서 재생됩니다. 또한 PC의 공유기와 스마트폰이 사용중인 네트워크가 같아야합니다. (Wifi공유기에서 PC랜선이 나오고 Wifi공유기의 Wifi를 스마트폰이 사용 중이라면 가능) 이것이 아주 큰 단점이라고 볼 수 있겠습니다. (아니 MP3파일만 재생되면 컴퓨터로 재생하지 뭣하러 쓰는거야...)



2번 방법의 단점은 모든 곡들이 정상적으로 재생됩니다. 단지, 스마트폰의 발열이 매우 심해지고 이유를 알수없지만 가끔씩 PC에서 SideSync의 CPU점유율이 급격하게 올라갔다가 내려갈 때가 있습니다. (아주 가끔씩인 것을 보면 SideSync의 문제가 아니고 작성자 PC의 문제일 수도 있다고 생각중입니다)

작성자의 스마트폰은 S8이며 안타깝게도 S9부터는 SideSync를 지원하지 않는다고 삼성에서 발표했습니다. 발열과 상위기기가 지원이 안된다는 점이 단점이겠습니다.




단점을 감수하고도 삼성뮤직을 PC에서 쓴다는 것은 큰 메리트가있으므로, 이제 방법을 알려드리겠습니다.



방법1. Windows Media Player를 이용한 삼성뮤직 공유







방법2 SideSync를 이용해 스마트폰을 미러링


블로그 이미지

irostub

iro의 잡화상점

,

오늘 웹서핑 중에 네이버 베너에서 웨일 브라우저에 대한 광고가 나왔다.


호기심에 들어가서 살펴본 웨일 브라우저 사이트 홈의 첫 화면



파스텔 톤의 깔끔한 디자인에 일단 눈길이 끌렸고 조금 더 살펴보니 더욱 매력있었다.


제스처, 동기화, 옴니테스킹, 감성디자인 등등 많은 기능이 있었는데,


주저리, 주저리 하는 것 보단 지금 당장 웨일 브라우저를 쓰면서


느껴진 가장 좋은 점 3가지만 뽑아볼까 한다.



1. 일단 가볍다


이건 내가 이 브라우저를 설치하고 사용한 시간이 얼마 되지않아서 확장기능을 별로 


이용하지 않았기 때문일 수도 있지만, 일단 브라우저 자체가 가벼웠다.


예컨데, 크롬의 초기 설치버전과 비슷하거나 조금 더 빠르지 않을까 싶다.




2. 사용하기 편하다


타 브라우저에도 친절하게 내장 기능들에 대한 설명이 있다는 것을 알고있다.


하지만, 웨일 브라우저 만큼 어떤 기능에 대한 설명이나 사용법을 알기쉽게


보기 좋게 알려주는 브라우저는 드물다. 또한 '사용하기 편하다' 라는 말은 사용자가 


기능에 대한 사용법을 알기 쉽게 설명서를 준다는 것 말고도 다른 의미가 있다.


바로, 부가적인 확장기능의 필요성이 적다는 것. 의견이 갈릴 수 있겠지만, 추가


적인 확장기능의 인스톨 없이 기본 내장 기능들에 실용적이고 센스있는 확장기능이 


이미 자리잡아있다. '이걸 하기 위해선 이걸 설치해줘야되고 이 기능을 이용하기 위해


서 또 뭘 설치해야하는지 찾아볼 필요가 없어진다는 말' 과 같다. 시 간 절 약.


물론 자신이 원하는 기능을 입맛대로 골라서 설치해서 사용하는(주로 크롬과 같은)


사용자에게는 '글쎄? 그게 그렇게 좋은건가?' 싶을 수 있지만 웹 브라우저에 별다른


공사를 하고싶지않거나 할 줄 모르는 사람들에게는 정말 이것보다 좋은 게 없다.




3. 옴니테스킹 기능




아마 이 웨일 브라우저에 날개를 달아주는 것은 바로 옴니테스킹 기능이 아닐까 싶다.


웹의 화면을 두개로 나누면서 동시에 두개의 웹이 링크되어있는 상태. 쉽게 말해서


분할된 화면 1에서 사진이 첨부된 링크를 클릭했을 시 분할된 화면 2에 그 사진을 띄


울 수 있다. 진짜, 거짓말 안치고 구글링에서 링크 페이지 안의 자료를 확인하거나


솎아내는 속도가 거의 50% 이상 이 옴니테스킹 기능 덕분에 빨라졌다.


심지어는 분할된 화면끼리의 링크를 끊으면 서로 상호작용을 중지하고 말 그대로 


듀얼로 브라우저를 켜논 것 같은 효과를 가져온다. 자꾸 크롬으로 예를 들어서


미안하지만 탭을 이리저리 옮길 필요성도 사라지고 탭을 끄집어낼 필요도 사라진다.


일단, 이 기능이 아주 맘에 들어서 사용한지 3시간 만에 기본 브라우저를 갈아치웠다.


(설명으로는 옴니테스킹 기능을 설명하는데 한계가 있다. 궁금하다면 눈 딱 감고 한번 사용해보시면, "!!!!" 느낄 수 있을 것이다)




이상으로 사용하진 얼마 안되었지만 강렬한 인상을 받은


웨일 브라우저에 대한 간략한 후기였다.


단점은 없는거냐?! 고 생각하는 사람들을 위해 지금 사용한 시간내에 느낀 단점이라면


단, 한 가 지! 로그인을 다시 해야하며, 결제 보안 플러그인을 또 설치해야된다는 것(..)


빼곤 없었다. 솔직히 로그인 자동완성 기록같은건 전부 넘겨 받을 수 있지만,


로그인 버튼 한번 눌러야된다.(귀찮아)


하여튼, 한동안은 웨일 브라우저로 눌러앉을 것 같다. 딱 적당한 부드러운 디자인에


적절한 부가기능들. 이 정도면 아무것도 모르고 웹서핑하기엔 최적아닌가?



마지막으로 글쓴이가 쓰고있는 딱 알맞은 정도의 웨일 홈 화면을 남기고




-이상-

블로그 이미지

irostub

iro의 잡화상점

,

제작기 첫번째라고 쓰고 수 없이 갈아엎은 버전들에 대한 것은 생략 =_=


회차로 치면 4회차 정도 되는 것 같은데, 이제 거의 끝이 보이는 상태..이지만


또 최적화 관계로 문제가 생겨버려서 난감하다. 여러 컴퓨터 사양의 유저가 하는 게임


특성상, 저사양 유저에게도 나름의 최적화를 위해 노력했건만, 리셋 시키는(상당히 중


중요한) 중 몇가지가 버튼과 상호작용 할 때마다 1초간의 딜레이를 발생시킨다.


사실 처음엔 "1초 정돈 아무도 모를꺼야~" 하고 넘겼는데, 이게 저사양 컴퓨터에게는


3~4초가 될 줄은 정말 꿈에도 몰랐다. (미안 ㅠㅠ)


여러 테스터, 사회자도 노력과 어드바이스를 많이 줘서 빨리 공개를 해드리고싶은데


연속된 버그와 최적화 문제 때문에 몸과 마음이 지쳐서 몇 일 충전의 시간을 가졌다.


두가지의 최적화 문제와 한가지의 버그만 고치면 바로 공개맵으로 올릴 계획이다. 이 


최적화 부분은 정말 삽질을해도 해결되지 않았으므로 전문가의 조언을 받아야할 것 


같다. 기다려주시는 유저분들에게 감사드립니다.



↓예사롭지 않은 딜레이를 내뿜어 주시는 문제의 버튼 1

(리시버가 비정상정으로 많다는 것을 알지만 어떻게 할 수가...T_T)


↓예사롭지 않은 버그를 내뿜어 주시는 문제의 타이머 2

(이놈의 딜레이 설정과 애니메이션은 언제나 말썽쟁이다)


블로그 이미지

irostub

iro의 잡화상점

,