2017년 12월 21일 목요일

[Laravel] Jasperreport 적용 및 사용법..


저는 Laravel Framework를 사용하여 프로젝트를 진행중입니다.

사용하면서 Report를 그려야 할 일이 생겼는데....

HTML로 그리자니 수작업도 수작업이지만 원하는대로 이쁘게 만들기가 여간 힘든게 아니다..

그래서 떠오른게 바로 Java로 개발할때 사용하던 Jasperreport..

PHP에서도 Jasperreport를 사용 가능 한가 찾아보니.. 할 수 있더라..

Jasperreport jar를 명령어로 실행하여 리포트를 만드는게 가능하던것.. !!

우선 Laravel(PHP)에서 composer require geekcom/phpjasper 명령어를 통해 Jasperreport를 사용 할 수 있도록 서포트 해주는 라이브러리를 추가 한다.

그리고 사용 방법은 Controller or Service단에서 여러분들의 데이터를 가공후 아래와 같이 호출을 해주면 됩니다.


저는 JSON으로 이용하여 사용하고 있기때문에 JSON adapter 기준으로 아래 샘플을 보여드립니다.


use PHPJasper\PHPJasper;

$input = '/your_input_path/your_report.jasper'; .jxml, .jasper 파일 경로
$output = '/your_output_path'; // Report가 생성될 경로

$data_file = __DIR__ . '/your_data_files_path/your_json_file.json'; // JSON 파일
* Php에서 array를 json파일로 저장후 $data_file로 사용하여 넘겨도 됩니다.
// $jsonArry = array('data' => $jsonData);
// $jsonTmpfilePath = $output . '.json';
// $jsonTmpfile = fopen($jsonTmpfilePath, 'w');
// fwrite($jsonTmpfile, json_encode($jsonArry));
// fclose($jsonTmpfile);
// $data_file = $jsonTmpfilePath;
$options = [
    'format' => ['pdf'], // html, xlx 등등 몇가지 포맷이 더 있다...
    'params' => [], // jxml, jasper에서 param를 설정 값이 있다면 여기에 넘겨주면된다.
    'locale' => 'en', // 다국어지원 여부이다. jxml파일에 한글로 써넣고 en넘겼다고 한글이 영어로 바뀌지 않는다 왜냐면 jxml에 en일때의 언어도 설정해놔야 하기때문에
    'db_connection' => [
        'driver' => 'json',  // sql, aws, json, 등등 데이터 드라이브 설정
        'data_file' => $data_file, // 데이터 소스 경로
        'json_query' => 'your_json_query' // json 읽을 처음 키값 ex(data : [] 이러면 data라고 넘겨줘야함.) 
    ]
];

$jasper = new PHPJasper;

$jasper->process(
    $input,
    $output,
    $options
)->execute();


그 후 자세한 다큐먼트는 https://github.com/PHPJasper/phpjasper 여기서 확인 하면 됩니다.

2017년 12월 11일 월요일

[KODI] XBMC OnDemandkorea Addon 0.5.2

안녕하세요.. 한동안.. 블로그도 관리 못하고 집에서 PC도 못하다보니.. 확인을 못했었는데..

원 개발자분이 0.5.2버전을 업데이트 해주셨네요.. 모두들 받아서 해보세요..

저도 확인해보고 다시 업데이트 해드리겠지만.. 코드를 보니 수정되어있습니다..

https://github.com/xbmc-korean-tv/addons/tree/master/plugin.video.ondemandkorea

그럼 모두 KODI 아름답게 사용하세요..

v0.5.2


#12/15/2017 - 정상 작동 확인하였습니다.

2017년 5월 31일 수요일

[Laravel] L5.4 Pasport 예제

이해가 하나도 안되다가 이해하기 쉬운 코드를 알게되어 정리하여 둔다.

// composer.json 
"laravel/passport": "^2.0"

// api.php
Route::post('auth/token', 'Restful\TokenController@authenticate');
Route::post('auth/refresh', 'Restful\TokenController@refreshToken');


class TokenController extends Controller
{
    /**
     * @var object
     */
    private $client;

    /**
     * DefaultController constructor.
     */
    public function __construct()
    {
        // Get grant type : password...
        $this->client = DB::table('oauth_clients')->where('id', 2)->first();
    }

    /**
     * @param Request $request
     * @return mixed
     */
    protected function authenticate(Request $request)
    {
        $request->request->add([
            'username' => $request->username,
            'password' => $request->password,
            'grant_type' => 'password',
            'client_id' => $this->client->id,
            'client_secret' => $this->client->secret,
            'scope' => '*'
        ]);

        $proxy = Request::create(
            'oauth/token',
            'POST'
        );

        return Route::dispatch($proxy);
    }

    /**
     * @param Request $request
     * @return mixed
     */
    protected function refreshToken(Request $request)
    {
        $request->request->add([
            'grant_type' => 'refresh_token',
            'refresh_token' => $request->refresh_token,
            'client_id' => $this->client->id,
            'client_secret' => $this->client->secret,
        ]);

        $proxy = Request::create(
            '/oauth/token',
            'POST'
        );

        return Route::dispatch($proxy);
    }
}

2017년 5월 22일 월요일

[KODI] XBMC OndemandKorea Addon 유료 컨텐츠 작동안됨..

얼마전까지 잘 되고있던 OndemandKorea가 현재도 잘 되고는 있지만 유료회원 컨텐츠에 대해서 안나오는 부분을 확인하였습니다.

PC는 아직 확인 못하였고 Android에서는 현재 유료 컨텐츠가 나오지 않고 있습니다..

이는 OndemandKorea쪽에서 무언가를 변경했기때문에 그런것으로 생각하고 있습니다.

우선 현재 온디멘드쪽에 유료컨텐츠이용 무료 이벤트 일때문일 수도 있겠다는 추측도 하고있습니다.. 이벤트가 끝나면 다시 될 수도 있지 않을까라는.. 추측입니다..

그리고 아직까지는 유료컨텐츠만 막힌(?)거기때문에.. 일단은 전 쓰려고 합니다.

다 막히면.. 그때 다시 고민 해보겠습니다..


#12/15/2017 - 정상 작동 확인하였습니다. 링크



2017년 5월 19일 금요일

[Laravel] L5.4 시작하기 라라벨 Hello World.

얼마전부터 라라벨을 습득을 시작하게 되었다.
이글은 앞으로 Lravel를 정리해 나아가는 글이 될것으로 예상된다.
모든 프로그래밍의 시작은 역시 Hello World !!.. 
우선 라라벨환경 설치 과정은은 너무나도 많은곳에 있으므로 필자는 생략하겠다. 

필자는 IDE를 선호함으로 Phpstorm기준으로 작성 하려고 한다.

Composer Project로 생성하여 Package는 laravel/laravel를 검색하여 선택후 생성을 하면 프로젝트 생성하면 라라벨에 필요한 파일들이 구성되어 프로젝트가 만들어진다.  
너무 간단하다... : 버전은 default로 설정하면 최신버전을 다운로드 한다 현재는 5.4가 최신이다.



그리고 Hello World를 출력을 하기 위해서는 Route->web.php 안에 route에 작성을 해주면 된다.

아래와 같이.


그리고 커맨드에 php artisan serve를 실행후 localhost로 접속해보면 HelloWorld를 만나볼 수있다.

여기까지는 너무 쉽다고 느껴졌다.








2017년 4월 9일 일요일

[KODI] XBMC OndemandKorea Addon download link.

혹시나 제가 수정해서 쓰고 있는 addon 필요 하신분이 있다면 아래에서 다운 받으시길 바랍니다.

감사합니다 :)

요즘은 원 개발자분이 업데이트를 해주시는거 같습니다. 다음에 개발자분이 휴식기를 갖으시고 업데이트가 안되면 다시 손대보도록 하겠습니다.

#02/18/2019 v0.5.4
정상 작동 확인하였습니다. 링크

#12/15/2017 v0.5.2
정상 작동 확인하였습니다. 링크

# 08/16/2017
정상작동 중..

# 05/22/2017 확인된 사항...

유료 컨텐츠가 모바일에서 작동 하지 않고 있습니다..




2017년 4월 4일 화요일

[TEST] banner


2017년 3월 29일 수요일

[KODI] XBMC OndemandKorea Addon

Kodi에 입문한지 이제 막 3일 필요한 애드온들을 찾다보니 아주 고마운분이 계셨다..

https://github.com/hojel/xbmc-korea-addons

여기에는 한국 방송 및 기타등을 볼 수있는 플러그인을 제공해주는 고마운곳이다 생각했다.

하지만.. 설치는 정상적으로 되었지만 동작을 하지 않았다.. 다른건 다안되도 OndemandKorea만은 제발 되었으면했다.. 역시나 스크립트 에러..

결국 이분이 업데이트 안해준지도 3개월째인거같고.. 내가 고쳐서 써먹기로 하고 하지도 못하는 파이썬스크립트를 들여다보고 수정하여 성공하여 아주 감사한 마음으로 잘 쓰고 있습니다.

배포하시는분의 버전은 0.5.0이지만 내가 수정해서 0.5.1로 만들었다..

페이퍼뷰가 되나 해봤지만.. 하나만 되고 나머지는 다 안되더군요..

드라마 및 예능 등 아주 만족스럽게 다 잘됩니다 아직까지는..


KODI 왜 이제야 알았을까 ㅠㅠ

배포하시는분이 정식적으로 0.5.0이후 버전을 빨리 내놓아 주시면 좋겠습니다.
힘내십쇼 응원합니다.

0.5.1 Download Link

2017년 3월 8일 수요일

[VPN] Cisco Systems VPN not working on Windows 10

  • Open Regedit
  • Browse to the registry key HKLM\SYSTEM\CurrentControlSet\Services\CVirtA
  • Select the display name to modify:
    • x86 - "@oem8.ifn,%CVirtA_Desc%;Cisco Systems VPN Adapter" to "Cisco Systems VPN Adapter"
    • x64 - "@oem8.ifn,%CVirtA_Desc%;Cisco Systems VPN Adapter for 64-bit Windows" to "Cisco Systems VPN Adapter for 64-bit Windows"
  • Reboot

[MacBook] Apple 15.4" MacBook Pro with Touch Bar.



Performance
ProcessorIntel Core i7 Quad-Core
Base Clock Speed2.9 GHz
Max Boost Speed3.8 GHz
MemoryInstalled: 16 GB
Memory Type16 GB 2133 MHz LPDDR3 SDRAM
Total Installed Memory16 GB
Memory TypeLPDDR3 SDRAM
Memory Speed2133 MHz
Available Memory SlotsNone
Memory Slot TypeNot specified by manufacturer
Graphics TypeHybrid
Graphics CardAMD Radeon Pro 460 with 4 GB GDDR5 VRAM
Intel HD Graphics 530
Display
Size15.4"
Aspect Ratio16:10
Native Resolution2880 x 1800
FinishGlossy
Brightness500 cd/m2
Drives
Available SlotsNone
Total Capacity512 GB
Solid State Storage1 x 512 GB Integrated PCIe
Optical DriveNone
Input/Output Connectors
Ports4 x Thunderbolt 3 via USB Type-C
Audio1 x 1/8" (3.5 mm) Headphone/Microphone Combo Jack
2 x Integrated Speaker
3 x Integrated Microphone
Media Card SlotsNone
Communications
NetworkNone
Wi-Fi802.11ac; Dual-Band
BluetoothBluetooth 4.2
WebcamYes
General
Operating SystemmacOS Sierra 
SecurityFingerprint Reader
KeyboardKeys: 64
Type: Standard Notebook Keyboard
Features: Backlight
Pointing DeviceForce Touch Trackpad
BatteryNon-Removable Lithium-Ion Polymer Providing up to 10 Hours per Charge  (76 Wh)
Power Requirements100-240 VAC, 50-60 Hz
Power Supply1 x 87 W
Dimensions (WxHxD)13.8 x 0.6 x 9.5" / 35.1 x 1.5 x 24.1 cm
Weight4 lb / 1.81 kg

2017년 2월 21일 화요일

[TEST] Tracking for program..

[TEST] Tracking for program..

[TEST] Tracking for license..

[TEST] Tracking for license..

[XBMC] Kodi Ondemandkorea addon 0.5.7

안녕하세요. 개발자 분께서 XBMC OnDemandkorea Addon 0.5.7 버전을 업데이트 해주셨네요 :) 모든분들 여기 가셔서 받으시면 될꺼같습니다. 그럼 모두 즐거운 KODI되세요 :)) LINK