검색결과 리스트
분류 전체보기에 해당되는 글 54건
- 2017.09.11 인계동 먹고보자 양꼬치
- 2016.06.14 알파스캔 a4900 UHD TV 구매 / 설치기
- 2015.06.07 변수값 바꾸는 함수, 배열 순서 바꿔주는 함수 작성하기
- 2014.09.13 너무나도 쉽게 파일을 바이너리로 읽어와 특정 HEX로 변경하는법
- 2014.09.13 파일을 읽어와 HEX로 출력하되 16단위로 자르기
- 2014.09.01 SIGNATURE_VERIFICATION_FAILED [23] failed 에러 대응
- 2014.07.21 블로그 등에 소스코드를 색깔을 입혀 넣어보자! (코드 하이라이트)
- 2014.07.14 버튼 이벤트를 통하여 라벨 텍스트를 바꾸는 법
- 2014.06.28 Tizen 개발폰에서 스크린샷 찍는 방법 (SDB 이용)
- 2014.06.02 소수 찾아내는 알고리즘
글
인계동 먹고보자 양꼬치
평일에 친구랑 2차 가려고 들린 먹고보자 양꼬치 인계점
무한리필이라 부담도 없고 다양하게 나와서 좋다
'여가활동' 카테고리의 다른 글
알파스캔 a4900 UHD TV 구매 / 설치기 (0) | 2016.06.14 |
---|---|
Prodigy CUBE OPAMP 교체기 (0) | 2014.03.13 |
설정
트랙백
댓글
글
알파스캔 a4900 UHD TV 구매 / 설치기
집에서 놀고있는 KT IPTV도 아깝기도 하고,
가끔 뒹굴면서 PS4도 땡기고 싶어서 고민끝에 사게 된 모델.
이 제품을 고르기 전까지 1주일정도 고민을 많이 하였는데...
나는 4가지를 고려하여 구매하게 되었다.
1. input lag
-> PS4를 연결해서 액션게임을 가끔씩 하는데, 대형티비의 경우 싸구려 모델이나 대충 만든 제품의 경우 화면 반응이 느릿느릿하여 -_-... 속된 말로 펀치 날리면 코 한번 후벼파고 튕긴 뒤에나 커멘드가 들어간다는 이야기가 있었다. 그래서 가장 최우선으로 고려했던 사항
2. 크기
-> 게임을 해도 최소한 50인치는 되야지 시원시원하다고 생각하였음
3. A/S
-> TV라는 제품이 발열도 많고 구동시간도 길기 때문에, 사후처리가 확실치 않으면 이쁘고 큰 쓰레기 밖에 안되는것이 현실이다. 그렇기 떄문에 무조건 AS가 잘되는 업체를 골라야 했다.
4. 가격
-> PS4 가격을 이래저래 70정도 들였는데 (타이틀 포함), 이거보다 비싸게 살 순 없었다 (...)
대기업을 가자니, 50인치 이상은 가격이 신사임당 20장을 우습게 넘어갔고,
그러자니 중소기업을 하려니까 AS가 발목을 잡았다.
그러던 와중 다*와 사용 게시판에서 어느 한 모델을 우연하게 보게 되는데,
그것이 바로 지금 구매하게된 알파스캔사의 a4900.
사용기 게시판에 업체 관계자가 직접 피드백하여 소통하는 모습이 정말로 와닿았기도 하였지만,
AS후기나 input lag 관련하여 상당히 우수한 반응값을 가지고 있는것이 확인이 되어서
11번가에서 과감히 구매!!!
마침 가격행사도 해서 신사임당 10장 내로 해결이 가능하였다 (?!)
배송은 경동택배로 받았으며, 솔직히 다리 끼고 전원연결하고 HDMI 연결까지 30분도 안걸렸다.
대부분 대형 가전은 택배로 배송받으면 엄청난 부담을 느끼게 될 수 있지만,
그런 생각은 쓸모없는 걱정이였다...
기사님들껜 죄송한 이야기지만 너무 설치가 쉬워서 택배로 배송받고 설치비 아끼기 잘했다는
생각이 들정도였으니 (...)
'여가활동' 카테고리의 다른 글
인계동 먹고보자 양꼬치 (0) | 2017.09.11 |
---|---|
Prodigy CUBE OPAMP 교체기 (0) | 2014.03.13 |
설정
트랙백
댓글
글
변수값 바꾸는 함수, 배열 순서 바꿔주는 함수 작성하기
#include <stdio.h>
#include <iostream>
using namespace std;
//변수값을 스왑할때, *붙여서 주소값을 전달함 (*을 붙인다 -> 값이 아니라 주소를 전달함)
void swap(int *a, int *b)
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
//배열의 특정 원소값을 변경, c의 경우 인자를 배열로 ㅂ다을 경우 값이 아니라 주소가 전달되므로 *를 안붙여도됨
void swap_arr(int arr[], int i, int j)
{
int temp = 0;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int main() {
int min, max;
int num1, num2;
int array_temp[10000] = { 0, };
array_temp[0] = 3;
array_temp[7] = 333;
printf("변경전 : %d, %d\n", array_temp[0], array_temp[7]);
swap_arr(array_temp, 0, 7);
printf("변경후 : %d, %d\n", array_temp[0], array_temp[7]);
cout << "input num1, num2 : " << endl;
cin >> num1>>num2;
swap(num1, num2);
cout << num1 << " " << num2 << endl;
return 0;
}
'Project > algorithm' 카테고리의 다른 글
소수 찾아내는 알고리즘 (0) | 2014.06.02 |
---|---|
부분 구간의 합 구하기 (0) | 2014.05.25 |
케이크 나누기 (0) | 2014.05.21 |
linear (0) | 2014.05.19 |
설정
트랙백
댓글
글
너무나도 쉽게 파일을 바이너리로 읽어와 특정 HEX로 변경하는법
모 게임엔진의 BGM파일의 헤더 변조를 통한 자체 보호기능을 뚫다가,
특정 오프셋의 hex값을 변경하면 제대로 돌아가는 점을 발견하여
이를 자동화 시켜 뚫어주는 간단한 파이선 코드를 제작하게되었다.
간단히 설명하면 mp3 header의 mp3 sync word를 변조하여 보호한 기법이였는데,
사실 별거 아니였다... 왜냐하면 정상 헤더라면 처음 파일 시작 오프셋의 HEX값이 \xff (FF)
로 되어 있어야 되는데... 요놈을 딱 하나만 변경해 놓았기 때문
nds binary fix할때 썼던 극악의 경우까지 생각하면서 (f*****이나 C*****사의 대사 압축 바이너리...같은...)
시도하였던 것이기 때문에... 맥이빠졌지만...
잡설은 각설하고... 본론으로 들어가면
원래 하고 싶은 기능은 offset을 설정받아서 hex를 수정하는 것이였지만
맥빠지게 파일 오프셋 제일 처음의 2byte 부분을 변조 하면 되서 (...)
다음과 같은 방법으로 구현하게 되었다.
# -*- coding:utf-8 -*-
__author__ = 'Conger'
filename = "fuck.xxx"
with open(filename, 'r+b') as f:
newbytes = b'\xff'
f.seek(0)
f.write(newbytes)
f.close()
위의 f**k 파일이 변조된 파일이고 , 이 파일은 다음과 같은 특징을 가지고 있다.
감이 오는가? HxD를 통해 hex compare를 한 내역이다. 위의 내용이 변조된 비정상적 mp3 header이고,
아래의 내용이 정상적인 mp3 header (이를 사용하는 게임 엔진을 통한 복호 내역) 모습이다.
위의 파이선 코드를 동작시키면 hex쓰기를 통해 FF를 넣어 정상 mp3파일의 헤더값으로 변경해 주면
아주 잘~ 열린다
'알아두자 > python' 카테고리의 다른 글
파일을 읽어와 HEX로 출력하되 16단위로 자르기 (0) | 2014.09.13 |
---|---|
vs2010 express (visual studio 2010 express) 다운로드 링크 (0) | 2014.05.16 |
모듈 불러올 시 차이점 (0) | 2013.11.21 |
프로그램 실행시간 측정 (second 단위) (0) | 2013.11.03 |
간단한 ppserver.py 배치파일 소스 (0) | 2013.10.08 |
설정
트랙백
댓글
글
파일을 읽어와 HEX로 출력하되 16단위로 자르기
import sys,getopt
filename_input = "edit file name"
blocksize = 1024
opts,args = getopt.getopt(sys.argv[1:],'f:b:')
for o,a in opts:
if o == '-f':
filename_input = a
if o == '-b':
blocksize = a
offset = 0
with open(filename_input,"rb") as f:
block = f.read(blocksize)
str = ""
count = 0
for ch in block:
count+=1
if(count%16!=0):
str += hex(ord(ch))+" "
else:
str += hex(ord(ch))+"\n"
#print hex(ord(ch))
print str
'알아두자 > python' 카테고리의 다른 글
너무나도 쉽게 파일을 바이너리로 읽어와 특정 HEX로 변경하는법 (0) | 2014.09.13 |
---|---|
vs2010 express (visual studio 2010 express) 다운로드 링크 (0) | 2014.05.16 |
모듈 불러올 시 차이점 (0) | 2013.11.21 |
프로그램 실행시간 측정 (second 단위) (0) | 2013.11.03 |
간단한 ppserver.py 배치파일 소스 (0) | 2013.10.08 |
설정
트랙백
댓글
글
SIGNATURE_VERIFICATION_FAILED [23] failed 에러 대응
SIGNATURE_VERIFICATION_FAILED [23] failed의 원인
1. 잘못된 인증서
2. 타이젠 폰이 현재 시각과 동기화 되지 않아 인증서 검증에 문제가 발생
3. 기타
저는 현재 RD-PQ폰을 가지고 테스트 중입니다만,
멀쩡히 잘되던 TPK팩이 다른 RD-PQ폰에서 설치가 안되는 문제를 발견하였습니다.
원인은 2번이였구요, 만약 자신의 TPK가 다른 폰에선 잘 되다가 특정 폰에서 설치가 안된다면
현재 시각이 제대로 맞춰져 있는지 확인을 하시면 됩니다.
'알아두자 > Tizen' 카테고리의 다른 글
버튼 이벤트를 통하여 라벨 텍스트를 바꾸는 법 (0) | 2014.07.14 |
---|---|
Tizen 개발폰에서 스크린샷 찍는 방법 (SDB 이용) (0) | 2014.06.28 |
설정
트랙백
댓글
글
블로그 등에 소스코드를 색깔을 입혀 넣어보자! (코드 하이라이트)
http://hooriza.com/utils/highlighter/index.php?
간단하면서도 효율적이다
'알아두자' 카테고리의 다른 글
ubuntu 12.04 LTS에서 mstsc (원격 컴퓨터) 지원되도록 하는 방법 (0) | 2014.03.16 |
---|---|
정규표현식 테스트 사이트 (0) | 2013.12.07 |
[mysql] 특정 테이블속 필드에 자동증가값 꼬였을시.. 무식하게 처리하는법 (0) | 2013.10.16 |
설정
트랙백
댓글
글
버튼 이벤트를 통하여 라벨 텍스트를 바꾸는 법
//~Form.cpp를 불러온다.
#include "EventAppForm.h"
#include "AppResourceId.h"
using namespace Tizen::Base;
using namespace Tizen::App;
using namespace Tizen::Ui;
using namespace Tizen::Ui::Controls;
EventAppForm::EventAppForm(void)
{
}
EventAppForm::~EventAppForm(void)
{
}
bool
EventAppForm::Initialize(void)
{
result r = Construct(IDL_FORM);
TryReturn(r == E_SUCCESS, false, "Failed to construct form");
return true;
}
result
EventAppForm::OnInitializing(void)
{
result r = E_SUCCESS;
// TODO: Add your initialization code here
// Setup back event listener
SetFormBackEventListener(this);
// Get a button via resource ID
Tizen::Ui::Controls::Button* pButtonOk = static_cast< Button* >(GetControl(IDC_BUTTON_OK));
if (pButtonOk != null)
{
pButtonOk->SetActionId(IDA_BUTTON_OK);
pButtonOk->AddActionEventListener(*this);
}
return r;
}
result
EventAppForm::OnTerminating(void)
{
result r = E_SUCCESS;
// TODO: Add your termination code here
return r;
}
void
EventAppForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
{
switch(actionId)
{
case IDA_BUTTON_OK:
{
AppLog("OK Button is clicked!\n");
//추가된 부분 (버튼 추가), GetControl에서 폼 위에 배치한 Label 객체를 불러옴
Label *pLabel = static_cast<Label*>(GetControl(L"IDC_LABEL1"));
//버튼이 눌린다면
if(pLabel!=null)
{
//라벨의 텍스트를 바꿈
pLabel->SetText(L"I'm Fine");
RequestRedraw();
}
}
break;
default:
break;
}
}
void
EventAppForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
{
UiApp* pApp = UiApp::GetInstance();
AppAssert(pApp);
pApp->Terminate();
}
'알아두자 > Tizen' 카테고리의 다른 글
SIGNATURE_VERIFICATION_FAILED [23] failed 에러 대응 (0) | 2014.09.01 |
---|---|
Tizen 개발폰에서 스크린샷 찍는 방법 (SDB 이용) (0) | 2014.06.28 |
설정
트랙백
댓글
글
Tizen 개발폰에서 스크린샷 찍는 방법 (SDB 이용)
*** 이 방법을 사용하려면 sdb로 연결이 가능한 상태여야 합니다.
1. Tizen 폰을 연결한다
(전 PQ로 테스트 하였습니다)
2. cmd로 sdb가 있는 곳 까지 이동한 다음 다음과 같은 명령어를 쓴다.
$ sdb shell
# xwd -root -out /tmp/screen.xwd
(screen.xwd는 이해를 돕기 위한 파일명입니다. 자신이 원하는 파일명으로 빼시면 됩니다.)
# exit
$ sdb pull /tmp/screen.xwd
(위에서 쓴 파일명을 따라가시면 됩니다)
xwd 파일은 gimp등으로 불러와서 쓰시면 됩니다. 위 파일은 최종 처리된 파일입니다.
(스크린 샷은 Tizen SDK에 있는 Sensor App의 구동 화면입니다)
'알아두자 > Tizen' 카테고리의 다른 글
SIGNATURE_VERIFICATION_FAILED [23] failed 에러 대응 (0) | 2014.09.01 |
---|---|
버튼 이벤트를 통하여 라벨 텍스트를 바꾸는 법 (0) | 2014.07.14 |
설정
트랙백
댓글
글
소수 찾아내는 알고리즘
소수를 찾아내는 알고리즘에는 크게 두가지 방법이 있다.
1. 무식하게 약수의 갯수를 구하는 방법
2. 에라토스테네스의 체를 이용하여 푸는 방법
에라토스테네스의 체를 이용하여 푸는 방법의 원리는 다음과 같다.
- 2부터 n까지의 수를 쭉 적고, 목록에서 지워지지 않는 수들을 순회함, 수의 배수를 지우기를 반복하다가
그 다음으로는 3의 배수를 모두 지우고, 5의 배수를 지우고, 7의 배수를 지우고... 쭉 제거를 하다 보면
남는 수들이 있는데 이를 체로 거른 뒤 남는 수들이 모두 결국 소수가 된다.
(그림 출처 : http://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4)
체를 이용하여 연산할 경우 부하가 확 줄어드니 한번쯤 적용해서 풀어보는 것도 좋을 것 같다.
'Project > algorithm' 카테고리의 다른 글
변수값 바꾸는 함수, 배열 순서 바꿔주는 함수 작성하기 (0) | 2015.06.07 |
---|---|
부분 구간의 합 구하기 (0) | 2014.05.25 |
케이크 나누기 (0) | 2014.05.21 |
linear (0) | 2014.05.19 |