https://www.youtube.com/watch?v=OCaXxBkcdJo


캬브레터 방식 오토 바이 시동 거는 방법


절대 하지 말아야 할것

- 풀스로틀 잡고 시동

- 스로틀 개폐를 반복하는 행위(할리 및 몇몇 바이크 제외)

- 초크 레버를 당긴 상태에서는 스로틀 계페로 조정 하는것이 아니다.


스로틀을 이용한 시동 방법

- 스로틀을 아주 약간만 열어준다.

- 시동후에는 Engine Idling 이 일정해질때 까지 유지하여주고 천천히 스로틀을 닫아준다.

- 후 스로틀을 이용하여(풀스로틀금지) 3천 RPM까지 정도까지 올려주는 행위를 3번 정도 반복하면 모든 Cylinder가 정상적으로 작동한다.


초크 레버를 이용한 시동방법

- 초크레버를 당겨준다.

- Engine Idling이 일정하여 지면 초크 레버를 천천히 풀어준다.

- 후 스로틀을 이용하여(풀스로틀금지) 3천 RPM까지 정도까지 올려주는 행위를 3번 정도 반복하면 모든 Cylinder가 정상적으로 작동한다.

'Motorcycle' 카테고리의 다른 글

엔진 오일 설명  (0) 2018.03.29
타이어 공기압  (0) 2018.03.29
오토바이 시동이 안걸리는 경우  (0) 2017.09.08
오토바이에서 ABS/TCS란? 무엇인가?  (0) 2017.09.08
캬브레터 방식 오토 바이 시동 거는 방법  (0) 2017.07.28
posted by ned3y2k

class나 function 선언시 function_exists나 class_exists를 이용하지 않으면 미리보기시 해당 class나 function이 두번 선언되어서 에러가 발생할 수 있음


상수 define, defined를 이용하거나  function_exists나 class_exists를 이용하여 회피


아래 예제 코드는 xeschool 에 있는 pop opener입니다.


예제 코드

<?php

    if(!defined("__XE__")) exit();

    if(Context::get('module') == 'admin') return;


    if($called_position == 'before_module_proc') {

        // 팝업 스크립트 처리

        function getPopupScript($val) {


            if($val->content) {

                $order = array("\r\n", "\n", "\r");

                $replace = '';

                $val->content = str_replace($order, $replace, $val->content);

                $val->content = str_replace("'", '&#39;', $val->content);

            }


            $popup_content = "{id:'".$val->popup_srl."'"

                .($val->popup_type?",popup_type:'".$val->popup_type."'":"")

                .($val->content?",content:'".$val->content."'":"")

                .($val->popup_url?",url:'".$val->popup_url."'":"")

                .($val->popup_link?",link:'".$val->popup_link."'":"")

                .($val->popup_link_type?",link_type:'".$val->popup_link_type."'":"")

                .($val->open_type?",open_type:'".$val->open_type."'":"")

                .($val->top?",top:'".$val->top."'":"")

                .($val->left?",left:'".$val->left."'":"")

                .($val->width?",width:'".$val->width."'":"")

                .($val->height?",height:'".$val->height."'":"")

                .($val->exp_days?",exp_days:'".$val->exp_days."'":"")

.($val->popup_style?",popup_style:'".$val->popup_style."'":"")

.($val->popup_checkbox?",popup_checkbox:'".$val->popup_checkbox."'":"")

.($val->element_id?",element_id:'".$val->element_id."'":"")

                ."}";


            return $popup_content;

        }


        // jQuery로 팝업 열기

        function setPopupScript($popupList) {


            Context::addCssFile('./addons/popup_opener/popup_opener.css');

            Context::addJsFile('./addons/popup_opener/jquery.popup_opener.1.5.4.3.js');


Context::loadLang(_XE_PATH_.'modules/popup/lang');

$msg_xe_popup = Context::getLang('msg_popup_do_not_display');


            $addPopupScript = '<script type="text/javascript">//<![CDATA['."\n";

$addPopupScript .= "var msg_popup_do_not_display = '".$msg_xe_popup."';\n";

$addPopupScript .= 'jQuery(function(){'."\n";


            if($popupList) {

                if(!is_array($popupList)) $popupList = array($popupList);


                foreach($popupList as $val){

                    $addPopupScript .= "jQuery('<div></div>',{id:'xe_popup".$val->popup_srl."'})";

                    $addPopupScript .= ".css({'position':'absolute','width':'".$val->width."px'})";

                    $addPopupScript .= ".xe_popup(".getPopupScript($val).");\n";

                }

            }


            $addPopupScript .= '});'."\n";

            $addPopupScript .= '//]]></script>'."\n";


            Context::addHtmlFooter($addPopupScript);

        }


// 팝업 본문 구하기

function getPopupContent($document_srl) {

$oDocumentModel = &getModel('document');

$oDocument = $oDocumentModel->getDocument($document_srl);


return $oDocument->get('content');

}


if($this->module_info->module_srl) {


$oModuleModel = &getModel('module');

$isActionPopupOpen = false;


// 팝업 모듈 확인

$args->site_srl = $this->module_info->site_srl;

            $popup_module_info = $oModuleModel->getModuleInfoByMid('popup', $args->site_srl);

            if(!$popup_module_info) return;


// 유효일자 팝업 목록 구하기

$args->curdate = date("Ymd", mktime());

$output = executeQueryArray('popup.getPopupValidDate', $args);

if(!$output->toBool()) return;


if(count($output->data) > 0) {

foreach($output->data as $k => $pop) {

$pop->element_id = $addon_info->element_id;


if($pop->target_type == 'action' && $this->act == $pop->target_actions) {

$pop->content = getPopupContent($pop->document_srl);

$actionPopupList[$k] = $pop;

$isActionPopupOpen = true;

} else if ($pop->target_type == 'module') {

if ($this->module_srl == $pop->target_srl || $popup_module_info->module_srl == $pop->target_srl) {

$pop->content = getPopupContent($pop->document_srl);

$modulePopupList[$k] = $pop;

}

}

}

}


// 팝업 세팅

if($isActionPopupOpen) setPopupScript($actionPopupList);

else setPopupScript($modulePopupList);

}


    }

?>


수정 코드

<?php

if (!defined('popup_opener_addon_func_loaded')) {

define('popup_opener_addon_func_loaded', 1);


// 팝업 스크립트 처리

function getPopupScript($val) {


if ($val->content) {

$order        = array("\r\n", "\n", "\r");

$replace      = '';

$val->content = str_replace($order, $replace, $val->content);

$val->content = str_replace("'", '&#39;', $val->content);

}


$popup_content = "{id:'" . $val->popup_srl . "'"

. ($val->popup_type ? ",popup_type:'" . $val->popup_type . "'" : "")

. ($val->content ? ",content:'" . $val->content . "'" : "")

. ($val->popup_url ? ",url:'" . $val->popup_url . "'" : "")

. ($val->popup_link ? ",link:'" . $val->popup_link . "'" : "")

. ($val->popup_link_type ? ",link_type:'" . $val->popup_link_type . "'" : "")

. ($val->open_type ? ",open_type:'" . $val->open_type . "'" : "")

. ($val->top ? ",top:'" . $val->top . "'" : "")

. ($val->left ? ",left:'" . $val->left . "'" : "")

. ($val->width ? ",width:'" . $val->width . "'" : "")

. ($val->height ? ",height:'" . $val->height . "'" : "")

. ($val->exp_days ? ",exp_days:'" . $val->exp_days . "'" : "")

. ($val->popup_style ? ",popup_style:'" . $val->popup_style . "'" : "")

. ($val->popup_checkbox ? ",popup_checkbox:'" . $val->popup_checkbox . "'" : "")

. ($val->element_id ? ",element_id:'" . $val->element_id . "'" : "")

. "}";


return $popup_content;

}


// jQuery로 팝업 열기

function setPopupScript($popupList) {


Context::addCssFile('./addons/popup_opener/popup_opener.css');

Context::addJsFile('./addons/popup_opener/jquery.popup_opener.1.5.4.3.js');


Context::loadLang(_XE_PATH_ . 'modules/popup/lang');

$msg_xe_popup = Context::getLang('msg_popup_do_not_display');


$addPopupScript = '<script type="text/javascript">//<![CDATA[' . "\n";

$addPopupScript .= "var msg_popup_do_not_display = '" . $msg_xe_popup . "';\n";

$addPopupScript .= 'jQuery(function(){' . "\n";


if ($popupList) {

if (!is_array($popupList)) $popupList = array($popupList);


foreach ($popupList as $val) {

$addPopupScript .= "jQuery('<div></div>',{id:'xe_popup" . $val->popup_srl . "'})";

$addPopupScript .= ".css({'position':'absolute','width':'" . $val->width . "px'})";

$addPopupScript .= ".xe_popup(" . getPopupScript($val) . ");\n";

}

}


$addPopupScript .= '});' . "\n";

$addPopupScript .= '//]]></script>' . "\n";


Context::addHtmlFooter($addPopupScript);

}


// 팝업 본문 구하기

function getPopupContent($document_srl) {

$oDocumentModel = &getModel('document');

$oDocument      = $oDocumentModel->getDocument($document_srl);


return $oDocument->get('content');

}


}



if (!defined("__XE__")) exit();

if (Context::get('module') == 'admin') return;


if ($called_position == 'before_module_proc') {

if ($this->module_info->module_srl) {


$oModuleModel      = &getModel('module');

$isActionPopupOpen = false;


// 팝업 모듈 확인

$args->site_srl    = $this->module_info->site_srl;

$popup_module_info = $oModuleModel->getModuleInfoByMid('popup', $args->site_srl);

if (!$popup_module_info) return;


// 유효일자 팝업 목록 구하기

$args->curdate = date("Ymd", mktime());

$output        = executeQueryArray('popup.getPopupValidDate', $args);

if (!$output->toBool()) return;


if (count($output->data) > 0) {

foreach ($output->data as $k => $pop) {

$pop->element_id = $addon_info->element_id;


if ($pop->target_type == 'action' && $this->act == $pop->target_actions) {

$pop->content        = getPopupContent($pop->document_srl);

$actionPopupList[$k] = $pop;

$isActionPopupOpen   = true;

} else if ($pop->target_type == 'module') {

if ($this->module_srl == $pop->target_srl || $popup_module_info->module_srl == $pop->target_srl) {

$pop->content        = getPopupContent($pop->document_srl);

$modulePopupList[$k] = $pop;

}

}

}

}


// 팝업 세팅

if ($isActionPopupOpen) setPopupScript($actionPopupList);

else setPopupScript($modulePopupList);

}


}

posted by ned3y2k
posted by ned3y2k

    public void dumpInputStream(InputStream inputStream) {

        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "dump.log");

        try {

            OutputStream outputStream = new FileOutputStream(file);

            IOUtils.copy(inputStream, outputStream);

        } catch (IOException e) {

            e.printStackTrace();

        }

        context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));

    }


InputStream을 디버그할 일이 있어서 SD카드에 저장하는 것을 만들어보았는데 USB 연결시에 MTP에 바로 노출 되지 않아서 찾아보니....

안드로이드 시스템에 새로운 파일이 추가 되었다고 알려야 한다.

'Programing > Java' 카테고리의 다른 글

Android 파일 추가시 MTP에 뜨지 않는 문제  (0) 2016.01.26
JSONAdapter  (0) 2012.07.24
posted by ned3y2k

제주우분투사용자 모임 토카톤

 

소개

토카톤(Talk-a-thon)TalkMarathon의 합성어로 제주우분투 사용자 모임의 새로운 시도입니다.

기존의 발표자가 청자에게 단반향으로 커뮤니케이션을 시도했던 방식을 탈피하여 역할을 정하지 않고 누구나 자유로운 시간에 발표자와 청자가 될 수 있는 형태를 뜻합니다.

 

토카톤의 목적

- 제주 지역내 IT 커뮤니케이션 활성화

- IT 또는 비 IT 직종 종사자의 지식 공유 및 심화

 

주제와 참여자의 역할

- IT 범주에 속한 모든 것을 주제로 정하고 진행하시면 됩니다.

- 프로그래밍, 운영체제(서버나 사용자/개인 PC)의 운영, 네트웍 운영, 기타 등등.

- 진행 중 궁금한 사항이나 알리고 싶은 내용이 있다면 사회자에게 알리면 됩니다.

 

사회자(진행임원)의 역할

- 해당하는 내용의 Talk가 참여한 사람들에게 알려질 수 있도록 노력합니다.

- 사회자는 제주우분투사용자 모임의 리더나 리더가 정한 사람이며 모임 공지글에 게재합니다.

 

개최임원의 역할

- 사회자와 동일하게 리더나 리더가 정한 사람입니다.

- 장소와 일정을 결정합니다.

- 행사시 미비점을 종합하여 개선책을 적용합니다.

- 스폰서를 찾아봅니다.

- 참여자 종합

- 행사 홍보

- 페이스북, 블로그, 각 단체 등...

 

이번 모임 정보

장소: 제주대학교 공대 4호관 예정

시간: 14. 4. 11() 저녁 ~ 14. 4. 12()

- 진행 중 아무 때나 참여 가능하며 개인적인 용무가 있으신 분은 용무를 보러 가셔도 좋습니다.

개최 및 사회자: 문경대

사전참여신청: 페이스북 https://www.facebook.com/groups/ubuntu.ko.jeju/

개최자 이메일 ned3y2k@hotmail.com

posted by ned3y2k

모니터 C#으로 끄기

Programing 2013.09.03 10:27

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;


using System.Runtime.InteropServices;


namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        const int WM_SYSCOMMAND = 0x0112;

        const int SC_MONITORPOWER = 0xF170;

        const int ON = -1;

        const int OFF = 2;


        [DllImport("user32.dll", SetLastError = true)]

        private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);



        private void button1_Click(object sender, EventArgs e)

        {

            SendMessage(this.Handle, WM_SYSCOMMAND, new IntPtr(SC_MONITORPOWER), new IntPtr(OFF));

        }

    }

}


참고문서: http://www.kev009.com/wp/projects/lcdoff/


첨부파일: LCDoff.zip 은 어셈으로 작성된 코드이다.


'Programing' 카테고리의 다른 글

Windows 10 설정 앱 스키마  (0) 2017.08.23
모니터 C#으로 끄기  (0) 2013.09.03
.NET Code Conversion?  (0) 2012.11.07
MySQL UPDATE JOIN 예제  (0) 2012.02.28
C# private 필드 리플렉션  (0) 2012.01.16
구글 api 모음  (0) 2012.01.10
posted by ned3y2k

UEFI Boot USB

분류없음 2013.06.26 19:07

I figure the BCDEdit steps, modified for the USB drive (E:), will apparently be...

Bcdedit –createstore c:\temp\BCD
Bcdedit –store c:\temp\BCD –create {bootmgr} /d “Boot Manager”
Bcdedit –store c:\temp\BCD –set {bootmgr} device boot
Bcdedit –store c:\temp\BCD –create /d “WINPE” –application osloader
Bcdedit –import c:\temp\BCD


This returns a GUID value, which is substituted in the below...

Bcdedit –store E:\boot\BCD –set <GUID> osdevice partition=boot
Bcdedit –store E:\boot\BCD –set <GUID> device partition=boot
Bcdedit –store E:\boot\BCD –set <GUID> path \i386\setupldr.bin
Bcdedit –store E:\boot\BCD –set <GUID> systemroot \windows
Bcdedit –store E:\boot\BCD –set <GUID> winpe yes
Bcdedit –store E:\boot\BCD –set <GUID> detecthal yes
Bcdedit –store E:\boot\BCD –displayorder <GUID> -addlast


link: http://www.911cd.net/forums//index.php?showtopic=20186&mode=threaded&pid=135415

posted by ned3y2k

The 'X' button, and 'data-rel="back"' links in a dialog are ignored when running in an embedded browser on iOS devices. When running from Safari the close button works fine, but when running from a UIWebView the X button is ignored.

헐... JQM의 X버튼이랑 "data-rel=back"은 IOS 디바이스의 내부 브라우저에선 실행이 안 된단다!! 음.... 이거참...

https://github.com/jquery/jquery-mobile/issues/2190

posted by 풍객사