2014. 4. 3. 17:19

Update '테이블명' set '바꾸실컬럼명' = '바꿀내용' Where '조건에쓰실컬러명' = '조건에쓰실컬럼내용'

SP 에서 사용하실 경우 update 문부터 내용만 드래그해서 실행해주세요. F5 만 갈기다가 update 안되길래

깜짝놀랫다가 프로시져실행으론 바로안된다는걸 알게되었습니다.

'Computer Engineering > DB' 카테고리의 다른 글

MsSQL CONVERT() 함수  (0) 2014.05.16
MsSQL REPLACE() 함수  (0) 2014.05.13
VB 함수 문자열 제어 함수. Mid()함수  (0) 2014.05.12
MsSQL 함수 공백 제거  (0) 2014.04.22
MSSQL 함수  (0) 2014.04.10
Posted by 광스
2014. 2. 8. 15:31
기아 전기차 `쏘울EV` 한번충전에 148km를…
사진설명=6일(현지시간) 미국 시카고에 위치한 맥코믹 플레이스(McCormick Place)에서 열린 `2014 시카고 오토쇼(2014 Chicago Auto Show)`에서 오스 헤드릭(Orth Hedrick) 기아차 미국법인 상품기획 부사장이 `쏘울 EV` 옆에서 기념 촬영을 하고 있다.


기아 자동차 가 수출 및 양산형으로 처음 선보이는 전기차 `쏘울EV`를 미국시카고 모터쇼에서 처음 공개했다. 

기아차는 6일(현지 시간) 미국 시카고에 위치한 맥코믹 플레이스(McCormick Place)에서 열린 `2014 시카고 오토쇼(2014 Chicago Auto Show)`에서 전기차 쏘울 EV를 세계 최초로 공개했다.

이 차는 정지 상태에서 시속 100㎞까지 도달하는데 12초 안쪽이며, 81.4㎾급 전기모터가 장착돼 최대출력은 109마력(ps), 최대 토크는 약 29㎏fㆍm의 우수한 동력 성능을 갖췄다.

아울러 동급 최고 수준의 셀 에너지 밀도(200 Wh/㎏)를 갖춘 27㎾h의 고용량 리튬이온 배터리가 장착돼 1회 충전으로 약 148㎞(국내 복합연비 평가기준 자체 실험결과)까지 주행 가능하며 100㎾ 충전기로 급속 충전할 경우 약 25분, 240V 완속 충전기로 충전할 경우 5시간 이내가 소요된다.

또 평평하고 납작한 모양의 배터리를 최하단에 배치함으로써 동급 차종 대비 최대 수준의 실내 공간을 확보하고, 차량 무게중심을 낮춰 주행 안정성을 높였을 뿐 아니라 비틀림 강성도 기존 가솔린 모델 대비 5.9% 향상시켰다. 이외에도 안전을 위해 저속으로 주행하거나 후진하면 가상 엔진 소리를 발생시켜 보행자가 차량을 인식하고 피할 수 있도록 했다. 충전 포트는 AC완속(120V, 240V)과 DC급속(480V) 2종류가 내장돼 있다.

한편 회사는 `2014 시카고 모터쇼`에서 약 563평(1876㎡) 규모의 부스에 K5 하이브리드 500h와 콘셉트카 `니로`(언론 공개일 기준, 일반 공개일에는 `GT4 스팅어` 전시) 등을 공개했다.


출처 : 디지털 차임즈

환경을위한 자동차들의 발전이 끊임없이 되고 있네요. 저도 차를 사게된다면 비용이 많이 들더라도 꼭 환경을위한 자동차를 구입하고 싶은데 나날이 환경차들이 좋아지고 있으니 흐뭇합니다. 환!경!보!전!


Posted by 광스
2014. 2. 7. 18:13

세계 최대 인터넷상거래 업체 아마존이 게임 개발업체를 인수해 게임 사업 본격 진출을 예고하고 있다. 

6일(현지시간) IT 전문매체 테크크런치는 아마존이 게임업체인 '더블 헬릭스 게임스'를 인수했다고 전했다. 계약내용에는 전체 인력과 지적재산이 모두 포함되어 있는 것으로 알려졌다. 

아마존의 이번 인수는 게임기 독자 개발 위한 것이라는 관측이 지배적이다. 때문에 이미 게임기 사업에 진출해있는 소니, 마이크로소프트(MS), 닌텐도 등의 IT 업체들은 주의 깊게 이를 지켜보고 있다. 

아마존은 "고객들을 위해 혁신적 게임을 개발하려는 우리의 계속되는 사명의 일부로 더블 헬릭스 게임스를 인수했다"고 확인했으나 인수 금액 등은 밝히지 않았다. 

한편 더블 헬릭스 게임스는 '더 컬렉티브'와 '샤이니 엔터테인먼트'라는 게임 개발 스튜디오가 합병해 2007년 생긴 업체로, '사일런트 힐', 'G.I. 조: 더 라이즈 오브 코브라', '그린 랜턴: 라이즈 오브 더 맨헌터스' 등을 개발한 경험이 있다.


아마존 이란 회사는 아시는분들은 아시겠지만 모르시는분들도 계실 거에요. 아마 모르시는분들이 더 많을 거라고 생각됩니다. 아마존이란 회사는 인터넷 북 으로 굉장히 큰규모를 가지고 있는회사이며 이뿐만아니라 최근에는 앱과 같은 더욱 넓은 영역으로 도약

하고있는 굉장히 큰 회사입니다. 이런 아마존의 회사가 게임영력 까지 손을 뻗치고 있군요.. 과연 어떠한 파장을 가져올지 기대가 됩니다.



Posted by 광스
2014. 2. 4. 20:11

OCP 자격증을 따기위해서는 시험을치거나 따로 공부를 하여 취득하는 방법이 아닌 오라클 사에서 인정한 공인된 교육을 받고 난후

취득이 가능합니다. 자격증 취득을위해서는 가장 먼저 알아볼 것이 본인의 활동영역 근처에 OCP 자격증 취득가능한 학원이 있는 지

알아보는 것이 우선이구요 찾으셨다면 학원에 전화나 문의를 하셔서 원하는 자격증 취득에 대한 상세한 정보를 들으심이 가장 적절

한 방법입니다. 기본적으로 OCP 자격증 취득을 위해서는 OCA 라는 자격을 취득하여야 하구요 이수 시간이 필요한 OCP 과정보다

는 훨씬 취득하기 쉬운 과정입니다. DB 에관련된 자격을 취득하고자 하시는분들 모두 홧팅!!

Posted by 광스
2013. 10. 31. 19:48

AVD를 start 하시고 런쳐 한후 실행이 완료가 되었는데 애뮬레이터 실행 창이 뜨지 않을 경우 

Failed to allocate memory: 8 이러한 오류 메세지가 떳을경우.

이것은 AVD가 메모리참조에 이상이 있는 것입니다.  그래서 문제점을 찾기 위하여 

내컴퓨터 폴더로 들어가셔어  .android  <- 이폴더를 찾으셔서 들어가시면 avd 라는 폴더가 있습니다. avd 폴더에 들어가시면

자신이 만든 애뮬레이터이름.avd 폴더가 있을것입니다. 그럼 자신이 만든 실행이 되지 않는 애뮬레이터 폴더를 들어가시면 

config 라는 구성설정의 파일형식의 파일이 있을 겁니다. 구성 설정을 notepad나 wordpad 로 글이 안깨지도록 여신후

hw.ramSize=512 <- 이러한 글을 찾으실수 있을 것입니다. 여기서 hw.ramSize=512MB  라고 MB를 붙여 주시면 애뮬이 문제없이

돌아갈 것입니다. 이러한 MB글자가 빠지는 문제는 이클립스에서 avd 런쳐중 구성설정값이 변하면서 생기는 오류 인것 같다고 

가정이 되네요.  그럼 불꽃 코딩 고곳!!

'Study > Android' 카테고리의 다른 글

Android TCC8900 NSD1410WS PC와 연결  (2) 2013.08.06
android Tab  (0) 2013.07.15
xml 파일 안에 내용 쓰기  (0) 2013.07.10
Android 생명주기 와 메소드  (0) 2013.07.03
이클립스 테마  (0) 2013.05.10
Posted by 광스
2013. 8. 6. 10:58

안드로이드 개발자분들 안녕하십니까 탤레칩 TCC8900 을 통한 안드로이드 와 디바이스의 연결을 위한 팁을 알려드리겠습니다.


먼저 안드로이드 기기인 NSD1410WS 나 1310WS 나 이것과 비슷한 안드로이드 기기들을 PC와 연결 하기 위해서는 먼저 드라이브 


가 필요 하겠죠? 이 드라이브는 우리가 평소에 폰과 PC 를 연결하기위해 삼성이나 LG 모바일 페이지를 통한 usb 드라이버의 다운 


설치의 방법과 다른 방법으로 이루어집니다. 


http://www.vctec.co.kr/web/product/icnexus/files/Documents/NSD_SWDevGuide_20120402.pdf


우선이주소로 들어가시면 PDF 파일로 소프트웨어 개발 가이드 부분이 나옵니다. 여기서 이분들의 말을 잘따라 주어야합니다.


가장 첫번째로 Path 설정에서 현재 개발자분들의 PC에 깔려있는 android-sdks 경로를 통해 가이드 와 같이 tool; 과 platform-tools 


를 다 설정해 줍니다. 완전히 똑같이 적으면 당연히 안되겟죠.. 자신의 PC의 실제경로로 적어 주는것입니다. 그리고 Path 설정을 해


준뒤 장치관리자 로 들어갑니다. 장치고나리자는 다들아시죠? 뭐 그래픽드라이버 램카드 무슨 하드웨어 장치같은것들이 잘 연결되어


있는지 확인하거나 설정해주는 설정창입니다. 거기서 TCC8900 이라는 기타장치에 물음표 로 표시되 있을겁니다. 그것을


우클릭 하셔서 소프트웨어 업데이트를 가이드 란과 같이 해줍니다. 그리고 google/usb_driver 의 경로를 자신의PC에 있는 경로 대


대로 잘 적어주시고요 다음 넥스트 눌러주시면 복사할까요? 뭐 할까요? 라는 말이 나옵니다 그럼 예 해주면 장치관리자에 물음표로 


되어있던 TCC8900 이 안드로이드 ADB 인터페이스로 바뀌게 됩니다. 그리고 안드로이드 디바이스에서 당연히 debug 가능하게 설


정해주시구요 입클립스에서 디바이스와 같은 버젼의 프로젝트를 만들면 디바이스에 앱을 올릴수가 있습니다. 사진과 상세한 설명을


곁드려드리고싶지만 글로서 이렇게 설명드립니다. 하루죙일 고생햇네요..모두 빡코딩!!.. 참고로 드라이버를 찾아서 설


치하겠다는 생각은 버리심이 현명할겁니다..


'Study > Android' 카테고리의 다른 글

안드로이드(Android) AVD(애뮬레이터) 실행오류 문제  (0) 2013.10.31
android Tab  (0) 2013.07.15
xml 파일 안에 내용 쓰기  (0) 2013.07.10
Android 생명주기 와 메소드  (0) 2013.07.03
이클립스 테마  (0) 2013.05.10
Posted by 광스
2013. 7. 15. 16:37

안드로이드(Android) 에서 Tab을 구현하실때 여러가지 방법이 있는데요 그중에 Activity 를 통한 구현 방법을 소개해 드리겠습니다.


먼저 MainActivity 에서 원래 exdends Activity 로  Activity 를 상속받지만 Tab 을 구현하기위해서는 extends TabActivity 를 상속 받습니다.  그리고 mian xml 에서는 다음과 같이 코드를 짜줍니다.


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

     xmlns:tools="http://schemas.android.com/tools"

     android:id="@+id/LinearLayout1"

     android:layout_width="fill_parent"

     android:layout_height="fill_parent"

     android:orientation="vertical" >


   <TabHost

        android:id="@android:id/tabhost"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent" >


          <LinearLayout

              android:layout_width="fill_parent"

              android:layout_height="fill_parent"

              android:orientation="vertical" >


             <TabWidget

                 android:id="@android:id/tabs"

                 android:layout_width="wrap_content"

                 android:layout_height="wrap_content"

             </TabWidget>


           <FrameLayout

               android:id="@androidid:id/tabcontent"

               android:layout_width="fill_parent"

               android:layout_height="fill_parent" >

           </FrameLayout>


        </LinearLayout>


     </TabHost>


</LinearLayout>


이렇게 xml 코드를 다 작성해주시고 이제 onCreate 메소드 안에 이렇게 코딩을 하셔서 사용하시면됩니다.


TabHost tabhost = getTabHost();


TabSpec firsttabspec = tabhost.newTabSpec("tag1");

firsttabspec.setIndicator("첫번째");

Intent firstintent = new Intent(this, FirstActivity.class); //FirstActivity 클래스는 그냥 Activity 상속받아 만들어주면됨니다.

Firsttabspec.setContent(firstintent);


TabSpec scendtabspec = tabhost.newTabSpec("tag2");

scendtabspec.setIndicator("두번쨰");

Intent scendintent = new Intent(this, ScendActivity.class); //ScendActivity 도 마찬가지구요

scendtabspec.setContent(scendintent);


tabhost.addTab(firsttabspec);

tabhost.addTab(scendtabspec);


이렇게 적어주시면 간단하게 Tab 이 구현됩니다. 그리고 각 Tab 에 내용들은 각 만들어준 FirstActivity, ScendActivity 클래스에서

보통 텍스트나 에디트등을 set 하셔도되고 get 하셔도되고 구현 하시면됩니다. 각 만들어준 두 엑티비티클래스들도 각각의 xml을 

가지는것은 당연한거겟죠?  xml 짜시는것도 main xml 짜듯이 드래그앤드랍하셔서 작성하시면 됩니다. 불꽃코딩 !!


Posted by 광스
2013. 7. 10. 14:47

try

{

DocumentBuilderFactory docfactory = DocumentBuilderFactory.newInstance();

DocumentBuilder docBuilder = docfactory.newDocumentBuilder();


TransformerFactory factory = TransformerFactory.newInstance();

transformer transformer = factory.newTransformer();

Properties outFormat = new Properties();


outFormat.setProperty(OutputKeys.INDENT, "yes");

outFormat.setProperty(OutputKeys.METHOO, "xml");

outFormat.setProperty(OutputKeys.OMIT_XML_DECLARATION, "no");

outFormat.setProperty(OutputKeys.VERSION, "1.0");

outFormat.setProperty(Outputkeys.ENCODING, "UTF-8");


transformer.setOutputProperties(outFormat);


Document doc = docBuilder.newDocument();

Element root = doc.createElement("Root");

doc.appendChild(root);


DOMSource source = new DOMSource(doc);


OutputStream output = new StringOutputStream(); //StringOutputStream()은 클래스를 만들어주셔야되고 extends                                                       //OutputStream 하셔서 메소드를 오버라이딩 해줍니다. 구글링하시면 바로 나올겁니다.

StreamResult result = new StreamResult(output);


transformer.transform(source, result);


String s = output.toString();  //위의 엘리먼트나 에트리뷰트등을 만들었으면 그내용을 스트링변수에 담을수 있습니다.

}

catch(ParserConfigurationException e){e.printStackTrace();}

catch(TransformerException e){e.printStackTrace();}


이렇게 위의내용을 내가만들고싶은클래스(예: public class creatxmlDocument) 에 만들어 복붙하시고

메소드나 생성자 (예: public void creatxml(){ 위의내용 }) 안에 내용을 넣어서 만들어 주시고 메인activity의

onCreat 메소드 안에서 객체생성(예 creatxmlDocument cxd = new creatxmlDocument) 하셔서 메소드를 사용

(예 cxd.creatxml();)  해주시면 스트링형 변수 s 에 만든 xml 내용이 들어갑니다. 이 변수 s 를이용해 TextView에 띄울수도 있고

FileWriter 를 사용하여 write(s); 하여서 파일에 내용을 쓰기 할수가 있습니다. 모두 붗꽃코딩하시길



'Study > Android' 카테고리의 다른 글

Android TCC8900 NSD1410WS PC와 연결  (2) 2013.08.06
android Tab  (0) 2013.07.15
Android 생명주기 와 메소드  (0) 2013.07.03
이클립스 테마  (0) 2013.05.10
안드로이드 padding margin 레이아웃 잡기  (0) 2013.03.29
Posted by 광스
2013. 7. 4. 17:42

프로그램 사용시 for 문이나 while 돌리시거나 여러가지 경우에 지연 즉 delay 걸고 다시 실행 시키고 싶은적 있으실겁니다.

이럴때 간단한 방법이 있습니다. Robot 이라는 클래스를 이용하여 지연(delay) 시키는 방법입니다.

이클래스를 이용하기 위해선 import 가 필요함으로


import java,awt,Robot 

public void DelayMethod(int delayTime) throws Exception

int mdelayTime;

mdelayTime = delaytime * 1000 

Robot robot = new Robot();

robot.delay(mdelayTime);

}


이런식으로 코드를 작성해주시면 됩니다. delay 를 1초 지연하기위해서는

1000 을 입력해주시고 1000을 입력해주는 이유는 지연(delay) 시간이 밀리세컨드 단위로 되어 있기 때문입니다.

이제 적절한 곳에서 Delay 메소드를 사용해주시면 되겠죠? 

즐거운 하루 되세요~

Posted by 광스
2013. 7. 3. 18:01
onCreat()
무조건 Activity가 처음 실행될 때 호출된다.
시스템에 의해 호출되면 인자로 받은 Bundle은 null이다.
Activity가 실행된 적이 있는데, 어떤 이유로 종료된 후 재시작되면, 종료될 때 호출된 onSavelnstanceState()에서 저장한 내용과 동일한 Bundle을 넘겨준다.
디바이스가 회전되어 가로/세로 전환 등 리소스를 새롭게 갱신되어야 할 때 호출된다.


onDestroy()

Actiivity가 종료되기 전 호출된다.
Activity내부에서 finish()를 실행하면 호출된다.
시스템 메모리가 부족하면, 안드로이드가 강제로 TestApp을 죽일 때도 호출이 되는데, 메모리 확보가 매우 시급할 때는 호출조차 되지 않는 경우도 있다.
onCreate()와 짝을 이뤄 사용했던 리소스는 이 곳에서 싹~ 치워준다.


onStart()

Activity가 초기 실행 후, 화면의 전면으로 나타날 때 onCreate(), onRestart() 이후에 호출된다.
전화수신, SMS수신 등으로 Background로 갔다가 다시 전면으로 나올때도 호출된다.


onRestart()

Activity가 정지되었다가 다시 실행될 때 호출되는데, onDestroy()가 호출된 이후가 아닌, onStop()으로 정지된 상태에만 해당된다. 즉, onStop()과 onRestart()는 한 쌍으로 생각하면 된다.


onStop()

하드웨어 HOME버튼을 눌렀을 때와 SMS수신, 전화수신, 다른 App실행할 때 호출된다.


onResume()

Activity가 전면에 나타날 때 대부분의 상황에서 호출된다. 처음 실행했을 때, onCreate() 이후에도 호출된다.
(책에서는 팝업 대화상자가 떳다가 닫히는 경우에도 호출된다고 하지만, AlertDialog로 테스트 했을 때에는 호출되지 않았다.)


onPause()

거의 모든 경우에 onStop(), onDestroy()가 호출되기 이전에 호출된다.
Activity가 사용자의 시선에서 가려지는 경우에 호출된다고 생각하면 된다.
대부분의 상황에서 onStop() 발생하기 이전에 불린다.
*일반적으로 onResume()과 쌍으로 보고, onResume()에서 했던 작업을 onPause()에서 정리, 멈추는 것이 좋다.
예를 들면, onResume()에서 쓰레드를 실행시켰으면, onPause()가 호출될 때, 아직 쓰레드가 실행중이면 정리를 해주면 된다.
*onPause()가 호출되서 App(또는 Activity)이 일시정지된 상태라면 안드로이드 시스템에서 필요에 따라 완전이 죽일 수 있기 때문에 그 이후의 작업을 못할 수도 있다는 점을 유의해야한다.


onSaveInstanceState()

Activity가 전면에서 Background로 숨는 경우 호출된다. 
현재의 Activity 상태를 저장하려면 이 함수를 구현한다.
호출될 때, Bundle 인스턴스를 넘겨주는데 이를 이용해서 저장하면 되는데, 예를 들어 에디트박스에 입력된 문자열 등을 저장해 두면 된다.


onRestoreInstanceState()

onSaveInstanceState() 함수에서 저장했던 내용은 onCreate()에서 Bundle 인스턴스로 넘겨받는데, onRestoreInstanceState()에서도 같은 내용을 받을 수 있다.
주의할 점은 onRestoreInstanceState()는 정상적인 상황에서는 호출되지 않는다.
테스트 결과 일반적인 상황이 아닌, 디바이스의 화면회전이 발생할 때 , 강제종료 후 제시작 할 때  발생했다.


onPostCreate() 와 onPostResume()

이 두 함수는 시스템 상에서 마지막 초기화 작업을 목적으로 만들어진 것으로 일반적으로 어플리케이션 작성시에는 구현할 필요가 없다고 한다.
 

onLowMemory()

시스템 메모리가 부족할 때 호출된다고 하나, 테스트로 발생시키기 어려워 생략했다.
안드로이드 Dev 사이트를 참고하여 설명하면, 이 함수가 정확히 호출되는 시점은 명확하지 않고, 다만, Background에서 실행하는 프로세스가 죽임을 했을 때, 호출된다고 한다. 시스템은 현재 Foreground에 있는 App에게 메모리를 좀 확보해 주십사~하고 호출해 주는 것이다. 즉, 이 함수에서는 필요없는 리소스를 최대한 확보하는 코드를 넣어주면 시스템에서 매우 고마워한다는 것이다.
이 함수가 return되는 순간 시스템은 GC를 수행한다고 한다.


@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
Log.d("TestAppActivity""onPostCreate");
}
 
@Override
protected void onStart() {
super.onStart();
Log.d("TestAppActivity""onStart");
}
 
@Override
protected void onRestart() {
super.onRestart();
Log.d("TestAppActivity""onRestart");
}

@Override
protected void onStop() {
super.onStop();
Log.d("TestAppActivity""onStop");
}
 
@Override
protected void onPostResume() {
super.onPostResume();  
Log.d("TestAppActivity""onPostResume");
}
 
@Override
protected void onPause() {
super.onPause();
Log.d("TestAppActivity""onPause");
}
 
@Override
protected void onResume() {
super.onResume();
Log.d("TestAppActivity""onResume");
}
 
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("onPostCreate""onDestroy");
}


유용하네요



'Study > Android' 카테고리의 다른 글

android Tab  (0) 2013.07.15
xml 파일 안에 내용 쓰기  (0) 2013.07.10
이클립스 테마  (0) 2013.05.10
안드로이드 padding margin 레이아웃 잡기  (0) 2013.03.29
Android Toast 안드로이드 토스트  (0) 2013.03.28
Posted by 광스