MySQL OUT or INOUT argument for routine is not a variable or new pseudo-variable in before trigger


이런 메시지를 접했다.

매개변수의 입출력 설정이 안맞나?

두번 세번 확인했다. 안된다.


바쁘니까 ^^.. 

중간에 삽질한건 다 건너뛰고

결론으로 바로!


1. 입출력 타입 설정 확인하고.

2. 드라이버 확인하고.

3. ConnectionString 확인하자.


.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server= .. (생략)

.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver};Server= .. (생략)


드라이버를 잘못 선택한 죄!


.CommandType = adCmdText

.CommandText = "sp_HaHaHa(?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?, OUT $okok)"


이런 삽질을 하지 마시길~


Posted by +깡통+
MSDE을 쓰려다보니

SQL 2000 Server를 쓰게 되었다.


물로 환경적인 부분으로 인하여 당분간은 계속 써야한다.

그러나 XP 시절에 나온 프로그램이라 거기까지..  상위 OS를 지원하지 않는다.

다행히도 Win7 에서 설치가 가능하다.


나는 최근 Win7 자동업데이트를 받았는데 이 후 부터!!!

SQL Enterprise Manager 에서 새 테이블이 안된다.


빈~~  화면으로 아무것도 안된다.  몇시간을 기다려도 안된다. 

테이블 디자인 변경은 가능한데도 ㅠㅠ

왜! 왜! 왜! 왜!~~~!  새 테이블이 안되는지


국내 검색사이트에서 포기하고 구글링을 실시한다.


정답은!!


Here's what I did.

Run Enterprise Manager as administrator

Navigate to a Data Base that you are working on.

Right click on any table that already in the system (Not right click on an empty space).

Left click on New table' and mmc snap-in pop open. It's worked.

Have fun!

(Accidently discovery. I don't khow why).


프로그램을 실행하고

작업하려는 데이터베이스로 이동한뒤

이미 존재하는 테이블에 우클릭(비어있는 공간에서 우클릭을 하지 말라) 하고 새 테이블을 클릭하라..

이런 내용이다.


된다 된다 된다!!!

#2000 새 테이블 창이 안떠요.     #SQL 2000 새 테이블 오류





Posted by +깡통+

FTP는 파일전송규약입니다.

웹호스팅을 하거나 업로드 다운로드 등에 사용됩니다.


보통은 그냥 상용화된 프로그램을 쓰지만..

개발을 하다보면 좀 더 특성화된 프로그램이 필요로 합니다.

그럴 땐.. FTP을 까야죠. 


깊이 깊이 까다보면 아~~~

Socket으로 명령어를 보내고 결과를 읽고~

fopen으로 파일을 열고~  바이너리로 파일을 보내고~

여러가지 경험을 하게 됨과 동시에~

우리가 쓰는 알FTP, FileZiller 등에 위대함을 느끼지요 ㅎㅎ


출처는 위키백과 입니다.


명령어 RFC 설명
ABOR 현재의 파일 전송 중단.
ACCT 계정 정보.
ADAT RFC 2228 인증/보안 데이터
ALLO 파일을 받기 위해 충분한 디스크 공간 할당.
APPE 이어서 추가.
AUTH RFC 2228 인증/보안 구조
CCC RFC 2228 명령 채널 지우기
CDUP 부모 디렉터리로 변경.
CONF RFC 2228 기밀 보호 명령
CWD 작업 디렉터리 변경
DELE 파일 삭제
ENC RFC 2228 개인 정보 보호 채널
EPRT RFC 2428 서버 접속에 필요한 확장 주소 및 포트 지정.
EPSV RFC 2428 확장 수동 모드 들어가기.
FEAT RFC 2389 서버가 추가한 기능 목록 보기
LANG RFC 2640 언어 탐색
LIST 지정한 경우 파일이나 디렉터리 정보를 반환. 지정하지 않은 경우 현재 작업 디렉터리 정보 반환.
LPRT RFC 1639 서버 접속에 필요한 긴 주소 및 목록 지정.
LPSV RFC 1639 긴 수동 모드 들어가기
MDTM RFC 3659 지정한 파일의 마지막으로 수정한 시간 반환
MIC RFC 2228 무결성 보호 명령
MKD 디렉터리 만들기
MLSD RFC 3659 디렉터리의 이름이 지정되면 디렉터리의 내용을 보여줌
MLST RFC 3659 명령 줄에 입력한 데이터만 제공.
MODE 전송 모드 설정 (스트림, 블록, 압축)
NLST 지정한 디렉터리의 파일 이름 목록 반환.
NOOP 동작 안 함 (더미 패킷: 대개 회선이 살아있는지를 살피기 위해 쓰임)
OPTS RFC 2389 기능 옵션 선택.
PASS 암호.
PASV 수동 모드 들어가기.
PBSZ RFC 2228 보호 버퍼 크기
PORT 서버 접속에 필요한 주소 및 포트 지정.
PROT RFC 2228 데이터 채널 보호 수준.
PWD 작업 디렉터리 인쇄. 호스트 컴퓨터의 현재 디렉터리 반환.
QUIT 연결 끊기.
REIN 연결 다시 초기화.
REST 지정한 지점에서 전송 다시 시작.
RETR 파일 복사본 전송
RMD 디렉터리 제거
RNFR 이름 변경 원본 이름
RNTO 이름 변경 대상 이름
SITE 지정한 명령어를 원격 서버로 송신.
SIZE RFC 3659 파일 크기 반환
SMNT 파일 구조 마운트.
STAT 현재 상태 반환.
STOR 데이터 입력 및 서버 쪽 파일로 저장.
STOU 파일을 저만의 방식으로 저장.
STRU 전송 구조 설정.
SYST 시스템 유형 반환.
TYPE 전송 모드 설정 (ASCII/바이너리).
USER 인증 사용자 이름.


https://ko.wikipedia.org/wiki/FTP_%EB%AA%85%EB%A0%B9%EC%96%B4_%EB%AA%A9%EB%A1%9D

Posted by +깡통+

아 놔!

구글신에서 검색해보면 다양한 방법이 있다.

보통은 .ncb 파일을 삭제후 프로젝트를 다시 실행 하라고 하신다.


안된다.


나 같은 경우에는 Project 가 분리되면서 Name 바꿔야 했는데

수작업으로 이리저리 바꾸다가 생긴 현상이다.


컨트롤을 추가하고 마법사를 통해 변수를 선언하려는데 안되는 것이었다. ㅠㅠ


1. .ncb 삭제

2. .h 파일을 이중 호출하는것이 있는지 확인.

3. 이벤트 수동 추가.


여러 방법중 눈에 띄는게 있었으니!


수동으로 이벤트를 추가하는 것이었다.

한번만 해주면 해결이 된다는데 일단 지푸라기 잡는 심정으로 했다.


헤더파일에 추가

afx_msg void OnLButtonDown(UINT nFlags, CPoint point);


소스코드에 추가

void CxxxDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

CDialog::OnLButtonDown(nFlags, point);

}


다이얼로그 속성에 가서 해당 이벤트를 추가하려 하면..

이미 존재하는 거라고 지껄여 준다.


이후~  프로젝트 재실행하면 됨! ㅋㅋ

Posted by +깡통+

VS2008 오류이다.

error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.


헤더파일 중 아래 코드에서 발생했는데 이 소스는 VC 6.0 에서 쓰던것이다.

typedef vector<char*> VEC_COMMAND_RESULT;

typedef std::vector<char*> VEC_COMMAND_RESULT;


추가후 해결 완료됨.

Posted by +깡통+

맨날 까먹고 다녀서.

메모하는 습관 기록하는 습관을 길러야됩니다.

 

Windows 7 공유폴더에 접근하려면 반드시 아이디와 패스워드를 묻습니다.

 

Network and Sharing Center 쪽으로 가셔서~

 

Change advanced sharing settings -> Password protected sharing -> Turn off password protected sharing

 

이렇게 해준다음~

 

공유할때 사용자에 Everyone 을 넣어줘야 합니다~

Posted by +깡통+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;
 
namespace TrayIconRepair
{
    class Program
    {
        static void Main(string[] args)
        {
            string sTemp = DeleteTrayIconRegistry();
            Console.WriteLine("Register clear {0}", sTemp);
            System.Threading.Thread.Sleep(1000);        
        }
        
        public static void WriteRegistry(string _name, string _value)
        {
            RegistryKey regKey = Registry.CurrentUser.CreateSubKey("Software\\Test", RegistryKeyPermissionCheck.ReadWriteSubTree);
            regKey.SetValue(_name, _value, RegistryValueKind.String);
        }
 
 
        public static string ReadRegistry(string _name)
        {
            RegistryKey reg = Registry.CurrentUser;
            reg = reg.OpenSubKey("Software\\Test"true);
            if (reg == nullreturn "";
 
            if (null != reg.GetValue(_name))
            {
                return Convert.ToString(reg.GetValue(_name));
            }
            else
            {     
                return "";
            }
        }
 
        public static void DeleteRegistry()
        {
            Registry.CurrentUser.DeleteSubKey("Software\\Test");
        }
 
        public static string DeleteTrayIconRegistry()
        {
            RegistryKey reg = Registry.CurrentUser.OpenSubKey("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\Traynotify"true);
 
            if (reg == nullreturn "fail!";
 
            reg.DeleteValue("IconStreams"false);
            reg.DeleteValue("PastIconsStream"false);
 
            return "ok!";
        } 
 
    }

 

 }

cs

 

 

 

Windows7 버전에서 아이콘이 사라져 안보일때가 있다.

이때.. 사용할 소스코드.

 

 

Posted by +깡통+

ms 간격으로 설정 가능하다.

 

System.Threading.Thread.Sleep(1000);

Posted by +깡통+

오늘 또 식겁? 했다.

분명이 두달전에 파생된 펌웨어는 통신이 잘 되는데!!!

원본 펌웨어는 쓰레기 값이 자꾸만 수신된다.

PC에서 송신하면 STM32에서 계속 다른 응답이 전방에 섞여서 왔다.

 

왜! 왜!

 

결국 파생된 소스와 원본을 면밀히 검토한 결과 상수 RESET 의 문제였다.

종종 아래의 코드처럼 KEY 값을 정의한다.  

9번 값이 보이시는가?

특정 조합을 누르면 SoftReset을 하려고 만든게 화근!

 

#define UP      1
#define DOWN    2
#define LEFT    3
#define RIGHT   4
#define ENTER   5
#define CANCEL  6
#define RESET   9

#define ON 1
#define OFF 0

 

9번으로 인하 아래 코드에 영향을 받았다.

따라서 수신 인터럽트를 처리하러 왔다가.

송신까지 건들게 되는게 원인이었다.


void USART2_IRQHandler(void)  // RS232
{
  if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
  {
    /* Read one byte from the receive data register */
    USART_ClearITPendingBit(USART2, USART_IT_RXNE);
    RxBuffer2[RxHead2++] = USART_ReceiveData(USART2);   
    if(RxHead2 == MAX_RX2_BUFFER_SIZE) RxHead2 = 0;
  }
  
  if(USART_GetITStatus(USART2, USART_IT_TXE) != RESET)
  {  
    /* Write one byte to the transmit data register */
    USART_SendData(USART2, TxBuffer2[TxTail2++]);
   
    if(TxTail2 == MAX_TX2_BUFFER_SIZE) TxTail2 = 0;
   
    if(TxTail2 == TxHead2)
    {
      /* Disable the USARTz Transmit interrupt */
      USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
    }
  }
}

 

 

다음에는 같은 실수 반복하지 말자!

Posted by +깡통+
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ReadOnlyClass
{
    class ReadOnlyClass
    {
        public int x;
        public readonly int y = 1;
        public readonly int z;

        public ReadOnlyClass()
        {
            z = 24;
        }

        public ReadOnlyClass(int x, int y, int z)
        {
            this.x = x;
            this.y = y;
            this.z = z;
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            ReadOnlyClass o1 = new ReadOnlyClass(1, 2, 3);
            Console.WriteLine("o1: x={0}, y={1}, z={2}", o1.x, o1.y, o1.z);

            ReadOnlyClass o2 = new ReadOnlyClass();
            Console.WriteLine("o2: x={0}, y={1}, z={2}", o2.x, o2.y, o2.z);

            o2.x = 5;
            o2.y = 6;
            o2.z = 7;
        }
    }
}


39~40번 라인에 문제가 있다고 컴파일 하지 않아도 친절하게 알려준다. 기특 기특. ^^


Posted by +깡통+
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ParseTest
{
    class ParseTest
    {
        enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };
        static void Main(string[] args)
        {
            Console.WriteLine("컬러 열거형에는 이런 값들이 있다 :");
            foreach (string s in Enum.GetNames(typeof(Colors)))
                Console.WriteLine(s);
            Console.WriteLine();
            Colors myOrange = (Colors)Enum.Parse(typeof(Colors), "Red, Yellow");
            Console.WriteLine("오랜지색 값은 합쳐진 것이다. {0}", myOrange);
        }
    }
}

Parse 메소드는 하나 이상의 열거된 상수의 이름이나 숫자 값의 문자열 표현을 해당하는 열거된 상수로 변환한다.

즉.. 숫자를 지정하지 않았으면 문자가 튀어 나온다.

이것 참 편리한 도구다.

다른 사이트도 있을듯 한데. ㅎㅎㅎ

http://hilite.me/


Posted by +깡통+

약 20년을 우려먹은 Visual Basic 이 명줄이 다 되어 가는것 같다.

이미 대부분의 프로젝트에서는 잘 쓰지 않을 것이라 추측한다.

일단 우리 회사는 빼고 ㅎㅎ


이제 다음 먹거리를 준비해야 된다.

난 생계를 책임지는 가장으로 가족을 먹여 살려야 하는 책임도 있지만,

프로그래머라는 직업을 유지하기 위해서는 새로운 언어를 습득해야할 시기인 것이다.

야야..  지금껏 그래왔잖아!

그 옛날 GW-BASIC 부터 지금까지 언어의 한계에 부딪혀 새로운 언어를 습득 했다.

C#이 처음 나왔을땐 java 줄을 타야하나~ 고민했다.

양대 산맥으로 커준 덕택에 내가 갈 길이 좀더 분명하고 앞서 달려가신 많은 개발자 덕택에 진흙 길을 아님이 분명하다.


잘 해보자.  연말에 웃을 수 있기를!!


Posted by +깡통+


데이터베이스에 꽃? ㅋㅋ 



Posted by +깡통+

XP에서는 GetTickCount 이라는 함수가 있다.

컴퓨터가 켜진뒤 1ms 값으로 기록된 Tick 데이터인데 / 1000 을 해야 초가 나온다.

Long 변수값 때문에 32 bit의 한계를 가지고 태어나 최대 49.61일 정도만 측정된다.( 누구는 49.7 이라는데 계산바랍니다. )


아무튼!

이 방법으로 280일 동안 켜져 있는 컴퓨터의 시간을 측정하기엔 처음부터 안 맞는 구조다.

VB6 로 해결 할 수 있는 방법을 구글링 했으나 삽질만 하루종일 했다. 


"로컬 영역 연결" 상태창에서는 연결된 시간이 표기 된다.

그 데이터를 얻기 위해 노력했으나 실패~  아닌 삽질이 연속되었고


마침내 찾았다.


net 명령어로 가능했다. DOS를 아시는 분이면 금방 찾을텐데 ㅎ

CMD 창을 띄운후 net statistics workstation  (엔터)


2016-05-17 11:44 이후의 통계


수신된 바이트 ...

수신된 서버 메시지 블록 ...

전송된 바이트 ...

전송된 서버 메시지 블록 ...


이걸 리다이렉션을 통해 TXT 파일로 저장해서 읽는 방법이다.

C:\>net statistics workstation > uptime.txt

하아~ ^^..

Posted by +깡통+

불필요한 회식, 야근, 회의가 없다.

정해진 시간 동안 업무에만 집중한다.

업무 하는데 있어 육아부담이 크지 않다.

일이 끝나면 눈치 보지 않고 정시 퇴근한다.

휴가를 마음 편히 갈 수 있다.

자기계발을 위한 시간적 여유가 있다.

가족들과 함께 보내는 시간이 충분하다.

계획적인 업무 처리가 가능하다.

Posted by +깡통+

1>------ 빌드 시작: 프로젝트: HMFS, 구성: Release x64 ------
1>링크하고 있습니다...
1>HMFS.obj : error LNK2001: "public: __cdecl CWinAppEx::CWinAppEx(int)" (??0CWinAppEx@@QEAA@H@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual __cdecl CWinAppEx::~CWinAppEx(void)" (??1CWinAppEx@@UEAA@XZ) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual struct CRuntimeClass * __cdecl CWinAppEx::GetRuntimeClass(void)const " (?GetRuntimeClass@CWinAppEx@@UEBAPEAUCRuntimeClass@@XZ) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::ExitInstance(void)" (?ExitInstance@CWinAppEx@@UEAAHXZ) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::LoadState(wchar_t const *,class CFrameImpl *)" (?LoadState@CWinAppEx@@UEAAHPEB_WPEAVCFrameImpl@@@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::CleanState(wchar_t const *)" (?CleanState@CWinAppEx@@UEAAHPEB_W@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::SaveState(wchar_t const *,class CFrameImpl *)" (?SaveState@CWinAppEx@@UEAAHPEB_WPEAVCFrameImpl@@@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::OnViewDoubleClick(class CWnd *,int)" (?OnViewDoubleClick@CWinAppEx@@UEAAHPEAVCWnd@@H@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual int __cdecl CWinAppEx::ShowPopupMenu(unsigned int,class CPoint const &,class CWnd *)" (?ShowPopupMenu@CWinAppEx@@UEAAHIAEBVCPoint@@PEAVCWnd@@@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "public: virtual void __cdecl CWinAppEx::OnAppContextHelp(class CWnd *,unsigned long const * const)" (?OnAppContextHelp@CWinAppEx@@UEAAXPEAVCWnd@@QEBK@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "protected: virtual void __cdecl CWinAppEx::OnClosingMainFrame(class CFrameImpl *)" (?OnClosingMainFrame@CWinAppEx@@MEAAXPEAVCFrameImpl@@@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "protected: virtual int __cdecl CWinAppEx::LoadWindowPlacement(class CRect &,int &,int &)" (?LoadWindowPlacement@CWinAppEx@@MEAAHAEAVCRect@@AEAH1@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "protected: virtual int __cdecl CWinAppEx::StoreWindowPlacement(class CRect const &,int,int)" (?StoreWindowPlacement@CWinAppEx@@MEAAHAEBVCRect@@HH@Z) 외부 기호를 확인할 수 없습니다.
1>HMFS.obj : error LNK2001: "protected: virtual int __cdecl CWinAppEx::ReloadWindowPlacement(class CFrameWnd *)" (?ReloadWindowPlacement@CWinAppEx@@MEAAHPEAVCFrameWnd@@@Z) 외부 기호를 확인할 수 없습니다.
1>D:\project\vc80\HMFS\x64\Release\HMFS.exe : fatal error LNK1120: 14개의 확인할 수 없는 외부 참조입니다.
1>빌드 로그가 "file://d:\project\vc80\HMFS\HMFS\x64\Release\BuildLog.htm"에 저장되었습니다.
1>HMFS - 오류: 15개, 경고: 0개
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========

 

이러한 오류가 났다.

분명히 지난번에 정상적으로 컴파일 한 소스임이 틀림 없는데...

 

기억을 되듬어보니 VS2008 를 패치 했었다. 

컴파일 플랫폼 선택에서 x64가 나타나지 않았기 때문이다.

다시 Win32 를 선택해주니 정상적인 컴파일이 되었다.

 

조금은 사소한것 같지만 소스 수정을 잘못한줄 알고 디버깅(되돌리기)을 얼마나 했던가 -_-;

결국 원본 자체가 컴파일 안되는걸 모르고 몇 시간 허비했다.

Posted by +깡통+

컴퓨터를 하는 사람들이 체감하는 온도와...

땜쟁이들이 체감하는 온도는 분명 다른듯.


누구는 CPU 발열이 심하다..

누구는 그정도는 아니다..


구매전 난 누구의 말이 맞는지 믿지 못했습니다.

이젠 확실하게!!  이건 평범한 발열이라고 말할 수 있습니다.


지금가지 발열때문에 손가락이 화상을 입었던 적이 한두번 이겠습니까~

칩에 구멍이 날 정도로 심한 발열이 아닙니다.


또 방열판이 없어야 열 배출이 쉬운 그런 칩들도 있습니다.

쿨러는 더더욱 오버일테지요.



결론은 "방열판 하나 달아주면 전혀 문제가 없다." 입니다.


Posted by +깡통+

툴을 이용해서 OS 이미지를 심는 과정중

SD용량이 16GB 인데 4GB 밖에 할당하지 않는다.

그리고 아래와 같이 MySQL을 설치하면 ...  개망.


can@can-desktop:~$ sudo apt-get install mysql-server mysql-client php5-mysql

[sudo] password for can:

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  php5-common

제안하는 패키지:

  php5-user-cache

다음 새 패키지를 설치할 것입니다:

  mysql-client mysql-server php5-common php5-mysql

0개 업그레이드, 4개 새로 설치, 0개 제거 및 91개 업그레이드 안 함.

1개를 완전히 설치하지 못했거나 지움.

524 k바이트/542 k바이트 아카이브를 받아야 합니다.

이 작업 후 1,487 k바이트의 디스크 공간을 더 사용하게 됩니다.

계속 하시겠습니까? [Y/n] y

받기:1 http://ports.ubuntu.com/ wily-updates/main php5-common armhf 5.6.11+dfsg-1ubuntu3.1 [471 kB]

받기:2 http://ports.ubuntu.com/ wily-updates/main php5-mysql armhf 5.6.11+dfsg-1ubuntu3.1 [53.2 kB]

내려받기 524 k바이트, 소요시간 2초 (237 k바이트/초)

Selecting previously unselected package mysql-client.

(데이터베이스 읽는중 ...현재 167110개의 파일과 디렉터리가 설치되어 있습니다.)

Preparing to unpack .../mysql-client_5.6.28-0ubuntu0.15.10.1_all.deb ...

Unpacking mysql-client (5.6.28-0ubuntu0.15.10.1) ...

Selecting previously unselected package mysql-server.

Preparing to unpack .../mysql-server_5.6.28-0ubuntu0.15.10.1_all.deb ...

Unpacking mysql-server (5.6.28-0ubuntu0.15.10.1) ...

Selecting previously unselected package php5-common.

Preparing to unpack .../php5-common_5.6.11+dfsg-1ubuntu3.1_armhf.deb ...

Unpacking php5-common (5.6.11+dfsg-1ubuntu3.1) ...

Selecting previously unselected package php5-mysql.

Preparing to unpack .../php5-mysql_5.6.11+dfsg-1ubuntu3.1_armhf.deb ...

Unpacking php5-mysql (5.6.11+dfsg-1ubuntu3.1) ...

mysql-server-5.6 (5.6.28-0ubuntu0.15.10.1) 설정하는 중입니다 ...

Job for mysql.service failed because a timeout was exceeded. See "systemctl status mysql.service" and "journalctl -xe" for details.

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing package mysql-server-5.6 (--configure):

 설치한 post-installation 스크립트 하위 프로세스가 오류 1번을 리턴했습니다

mysql-client (5.6.28-0ubuntu0.15.10.1) 설정하는 중입니다 ...

dpkg: dependency problems prevent configuration of mysql-server:

 mysql-server 패키지는 다음 패키지에 의존: mysql-server-5.6: 하지만:

 mysql-server-5.6 패키지는 아직 설정하지 않았습니다.


dpkg: error processing package mysql-server (--configure):

 의존성 문제 - 설정하지 않고 남겨둠

php5-common (5.6.11+dfsg-1ubuntu3.1) 설정하는 중입니다 ...

보고서를 작성하지 않습니다. 오류 메시지에 따르면 예전의 실패 때문에 생긴 부수적인 오류입니다.


Creating config file /etc/php5/mods-available/pdo.ini with new version


Creating config file /etc/php5/mods-available/opcache.ini with new version

php5-mysql (5.6.11+dfsg-1ubuntu3.1) 설정하는 중입니다 ...


Creating config file /etc/php5/mods-available/mysql.ini with new version


Creating config file /etc/php5/mods-available/mysqli.ini with new version


Creating config file /etc/php5/mods-available/pdo_mysql.ini with new version

처리하는데 오류가 발생했습니다:

 mysql-server-5.6

 mysql-server

E: Sub-process /usr/bin/dpkg returned an error code (1)

can@can-desktop:~$



지우고 설치하기를 여러번~~

아래 사이트에서 깨끗이 지우고 재 설치하는 방법대로 해보니 된다. ㅠㅠ 


http://blog.naver.com/kon_pig?Redirect=Log&logNo=220420935398



Posted by +깡통+

영국의 라즈베리 재단에서 만든 교육용 컴퓨터.


35 달러라는 저렴한 가격으로 전세계에 보급하는 훌륭한 프로젝트다.


라즈베리 Zero 라는 제품은 5달러 수준이다.


기가 막힐 일이다.


Z80, AVR, STM32 시리즈를 거쳐오면서 하드웨어 보드를 매번 새롭게 설계하는 것이 비효율 적이라는 의견에 공감을 해왔었다.


내가 다니는 회사에서는 하드웨어 보드를 설계하는 것 자체를 싫어 했다.


기성품에 S/W만 넣어서 파는 것이 가장 효율적이라고 사장님은 말했다.


과거에 만들던 보드들을 싹 다 버리고 PLC 등으로만 엮어서 만든 것이 개발 기간을 단축하고 현명하다 판단했기에 지금의 자리까지 오르지 않았겠는가 싶다.


주절은 그만하고...


이러한 측면에서 라즈베리파이 보드는 내게 새로운 길을 열어다 줄 것이 자명한 일이었다.


미리 구매하고 싶었지만 아직은 시기 상조이다 싶었다. Pi 3를 보는 순간 마음이 움직였다.


게다가 디**마트 에서는 정품 보드3 + 정품 케이스 + 방열판 2종 + 2.5A 아답터를 포함하여 VAT 별도로 59,000원에 판매했다.


Move Move!!  이렇게 내손에 도착한 보드.  아참! MicroSD카드는 별도 구매다. 16G 이상으로 구매하면 적당할듯.

Posted by +깡통+

 

 

 

'콩이'라는 녀석을 대리고 온지 보름이 지났네요.

통쥬2가 두려운가 봅니다 ㅎㅎ

 

 

맨날 '콩이'를 인형처럼 안고 다니는 통쥬~ ^^

어느덧 초등학생이 되었습니다.

 

^^ 그렇게 2016년은 3월을 맞이 하네요.

아파트 단지에서 찍은 봄을 알리는 매화나무..

 

 

 

 

 

Posted by +깡통+
2016.01.29 09:14

우린 살면서 여러가지 결정을 한다.

이 물건을 살까? 말까? 부터 그곳을 갈까? 말까? 이 길로 갈까? 말까? 등등.

우리의 인생은 네비게이션이 없다.

어떠한 길로 어디로 가는지 모르고 살고 있지 않은가..

그래도 가까운 미래의 예측은 하면서 살고, 그 예측된 길을 바꾸려고 부단히 노력한다. ( 좀더 좋은 길로 가기 위해서..  )

 

세월호 사고가 일어나기 전에 전재용 선장님에 관한 글을 읽었다.

우리나라 원양어선이 필리핀 보트피플을 구한 스토리 였다.

그 순간의 결정에는 자신의 인생이 뒤 바뀔수 있다는 것을 분명히 그분은 예측 했을 것이다.

내가 지나친다면 저 들은 바다 한가운데에서 굶어 죽게 될 것이고

태우고 돌아간다면 선주에게서 징계(해고)를 당할 것이다.

결국 해고를 당했고 관련 업계에서 일을 하지 못했다고 전해진다.

 

그 후 30년이 흘렀고 보트피플의 사람들은 미국에서 전재용 선장님을 다시 찾았다고 한다.

그 때 그 고마움을 평생 간직하고 표시하고 싶었을 것이다.

 

보통의 사람들 이라고 단정하기 어렵지만 대다수가 그런 결정을 하지 못한다.

지금의 삶에서 좀 더 나아가고 발전되기를 희망하지 후퇴하는 것을 용납 할 수 없기 때문이다.

 

참으로 용기 있는 결정이고 아름답고 훌륭한 인생이 아닌가?

자주 돌이켜보고 마음에 새겨 두어야 겠다.

Posted by +깡통+

VB6 에서 발생하는 에러 입니다.

 

UDP 소켓을 이용하시나요?

sckUDP.SendData "aaa"

 

상대방 UDP 포트가 없다면 송신 오류가 발생한다.

근데 SendData 할때는 발생하지 않고

 

 

Private Sub sckUdp_DataArrival(ByVal bytesTotal As Long)
    Dim sRecvData As String
    sckUDP2.GetData sRecvData    '// 여기서 발생한다.
    Call S_LPR_Process(1, sRecvData)
End Sub

 

 

처리 방법은 아래와 같다.


Private Sub sckUdp_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim sRecvData As String
   
    sckUDP2.GetData sRecvData
    If err.Number Then err.Clear: Exit Sub
       
    Call S_LPR_Process(1, sRecvData)      
End Sub

 

 

 

참고자료.

https://support.microsoft.com/ko-kr/kb/260018

 

Posted by +깡통+

503. Bad Sequence.

파일명을 변경하려니 에러가 난다. 


한 두시간 고생했나?

wininet 에 FTPRename  함수가 안먹길래 FTPCommand 를 주려고 했었다.

그래도 안되는군아..


원인은 퍼미션 이었다.

그냉 배드 스퀀스 말고 퍼미션 오류라고 띄워주면 빨리 찾았을텐데.. ㅠㅠ

파일 쓰기는 가능했지만 이름을 변경하는데는 다른 권한을 쓰는것 같다.

아무튼 모든 권한을 주고 해결 봄.


[7] 이름 변경-FROM (RNFR)

- 사용형식 : RNFR <SP> <pathname> <CRLF>

- 설명 : 파일이나 디렉토리의 이름을 변경할 때 쓰이며, 아래의 RNTO명령어와 함께 사용되어야 한다.

예를 들어, 파일이름을 A에서 B로 바꾸고자 할 경우, 'RNFR A' 를 먼저 수행 한 후에 아래의 'RNTO B' 를 수행함으로써

파일이름 변경작업이 완료된다.

 

[8] 이름 변경-TO (RNTO)

- 사용형식 : RNTO <SP> <pathname> <CRLF>

- 설명 : 위의 RNFR참고 바람

Posted by +깡통+

보통은 I2C EEPROM을 많이 이용하는데 어쩌다보니 SPI로 설계해 버렸다.

그로 인해서 시간을 조금 허비? 했다.


SPI Write를 하는데 1 PAGE만 쓰기가 가능하고 이후 데이터를 오리무중이다..

정말 쓰기가 잘못 된건지 반대로 읽기가 안되는건지 종일 고민했다.


AT25040B 의 경우 아이러니 하게도 WREN 명령을 1 PAGE Write 할때마다 줘야한다. 이게 포인트...



void SPI_Flash_WriteArray(uint16_t address, uint8_t *data, uint8_t len) { uint16_t addr = address; uint8_t i = 0; while( i < len ) { SPI_Flash_WriteEnable();    // <== 이놈이 문제였음. EEPROM_CS_LOW(); SPI_SendByte(WRITE); // 명령선택 //SPI_SendByte((addr & 0xFF00) >> 8); // 상위어드레스를 쓸 경우 SPI_SendByte(addr & 0xFF); // 하위어드레스 for(; i < len;) { SPI_SendByte(data[i++]); // 쓸 데이터 1 Byte씩 보내기 if(++addr % PAGE_SIZE == 0) { break; } } EEPROM_CS_HIGH(); delay_ms(10);    // 칩마다 틀리지만 쓰기를 실행하는데 5ms 필요하다. } }


Posted by +깡통+
2015.10.15 10:48

7년 만에 다시 방문한 대관령 양떼목장.

그곳에 양몰이 개라고 소개했던 그 개가 그대로 있더라.

허허~ 이제 늙었을텐데 라는 생각에 주변에 나뭇가지를 가지고 와 던져주니~

이 녀석 아직도 잘 받아주더라 ㅎㅎㅎ


그땐 통쥬가 엄마 뱃속에 있을 때였고~

지금은 통쥬2까지 개를 가지고 놀다니~

이젠 뭐 놀랄일도 아니지만 세월이 참 빠르다는 생각을 또 한번 했다. 


Posted by +깡통+

도구->옵션->디렉토리 에서 각각 컴파일에서 참조할 폴더를 지정하는 방법.


또는 StdAfx.h 파일에다가 참조할 헤더파일과 라이브러리를 지정하는 방법.

아시겠지만 DLL 참조시 lib 파일이 함께 필요합니다.

DLL 파일은 EXE 파일이 실행될때 필요 한 것일뿐이고 Lib 파일은 컴파일시 링크때 필요한 파일 입니다.



#pragma comment(lib, "./Others/Libs/xxx.lib")

#pragma comment(lib, "./Others/Libs/xxx2.lib")



위 코드는 VC6.0, VC9.0 (2008) 에서 적용했습니다.


Posted by +깡통+

 

 

 

T= RichTextBox 1개와 T2= TextBox 1개를 만듭니다.

버튼을 3개 그리세요~

 

Private Sub Command1_Click()
    T.Text = "AA하하호BB호히히히XX"
    T.SelStart = 1
    T.SelLength = 2
    T.SelColor = vbRed
    T.SelStart = 4
    T.SelLength = 2
    T.SelColor = vbGreen
    T.SelFontName = "궁서"  
End Sub

 

Private Sub Command2_Click()
    T.Text = ""
    T.SelRTF = T2.Text
End Sub

 

Private Sub Command3_Click()    
    T.SelStart = 0
    T.SelLength = Len(T)   
    T2.Text = T.SelRTF   
End Sub

RTF 값에서 얻은 코드는 아래와 같습니다.

대부분 \f 로 시작하면 명령어로 처리 하며,

\cf 는 폰트의 색상을 처리하고 \' 로 시작하면 2 Byte로 처리합니다.

 

첫번째 대괄호는 폰트 정보이며,

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset129 \'b1\'bc\'b8\'b2;}{\f1\fnil\fcharset129 \'b1\'c3\'bc\'ad;}}

두번째 대괄호는 색상 정보입니다.
{\colortbl ;\red255\green0\blue0;\red0\green255\blue0;}

아래 코드는 ?? 아직 모르겠네요~
\uc1\pard\lang1042

\f0    // 0 번째 폰트선택( 상단에 빨간색 부분 입니다. 폰트명이 기재되어 있습니다. )

\fs18    // 폰트 사이즈를 의미 합니다.

A    // 'A' 출력

\cf1 // 컬러를 1번째 색상 정보를 사용하네요.  Red 입니다.

A    // 'A' 출력

\'c7\'cf    // '' 출력

\cf0    // 컬러를 0번째 즉, 기본값 Black 으로 변경합니다.

\'c7\'cf    //  '하' 출력

\cf2    // 컬러를 2번째 색상 정보를 사용합니다. Green 입니다.

\f1    // 1 번째 폰트선택( 상단에 파란색 부분 입니다. 다른 폰트명이 기재되어 있네요 )

\'c8\'a3    // '' 출력

B        // 'B' 출력

\cf0    // 컬러를 0번째 Black 으로 변경합니다.

\f0     // 폰트도 0번째로 변경합니다.

B        // 'B' 출력

\'c8\'a3    // '호' 출력

\'c8\'f7    // '히' 출력

\'c8\'f7    // '히' 출력

\'c8\'f7    // '히' 출력

X            // 'X' 출력

X            // 'X' 출력

}

 

하아~  이로써 Color 정보에 대한 분석을 마쳤습니다.

도움이 되시는 분들이 있기를~~!!

 

참고 주소 : https://msdn.microsoft.com/ko-kr/library/ee681613(v=vs.95).aspx

Posted by +깡통+

PCB를 뭣 모르고 설계를 시작할 땐 몰랐던 것들..

전기전자 기초지식이 부족하다면 꼭 주의해야 합니다.


패턴 폭과 허용 전류.

 Pattern 폭(mm)

전류(A) 

0.4 

1.0 

0.6 

1.4 

0.8 

1.8 

1.0 

2.2 

1.5 

3.0 

2.0 

3.4 

3.0 

3.8 

 

위의 수치는 각종 그래프에서도 확인이 가능하다.

수치는 수치일뿐 보통의 사람들은 전류 100mA 마다 Pattern 폭 0.1mm 로 한다.

최대허용전류를 구하는게 아니니까~!

더더더 중요한것이 있는데 온도 상승이다.

허용 전류보다 높지 않다고 온도가 안올라 가는것이 아니다.

동박의 저항으로 인하여 높은 전류는 열이 발생하기 마련!  가장 주의하도록 하자.

Final 동박 두께는 30㎛온도 상승 10℃







출처: http://mgoons.tistory.com/trackback/12

Posted by +깡통+

난 정말 잘 잊어 먹는다.

전자과 출신이었다면 죽도록 외웠을지 모르겠다.

 

기초전자가 약해 책 4권이나 사다놨다.

이것도 실무에서 바로 적용하려면 머리속에 다 넣어두어야 하는데..

이제 늙은건가? 외워도 까먹는다.

 

하아~~

 

기초중에 가장 기초가 되시겠다.

TR은 NPN형, PNP형이 있다.

이것도 모르면서 아트웍 했더니 난리가 났다.

알티움에선 기본적으로 부품명을 라이브러리에서 선택하면

FootPrint 까지 바로 선택하는데 여기서 EBC가 틀려 먹는 경우가 많다.

더 정확하게는 SOT-23 형을 골라낸뒤 핀번호를 잘못 연결한 경우가 더 많다.

 

따라서 사용할 부품을 DataSheet를 면밀히 검토해야 하는데 불행히도 TR 시트에는

핀번호 1,2,3 과 EBC가 잘 표현되어 있지 않다.  왜냐! 다 아는 기초니까. ㅎㅎㅎㅎㅎㅎ  모르는게 죄다.

 

* 트랜지스터 단자 판별법

1. 테스터기를 Ω에 맞춘다.

2. 하나의 리드선(+ 또는 - 아무거나) 을 트랜지스터의 임의의 단자에 대고

   다른 하나의 리드선을 남은 두 TR 단자에 교대로 대어 본다.

   이때, 어느 단자하고도 도통이 되는 단자가 베이스(B)이다.

3. 베이스(B) 단자가에 적색 테스트 리드선이면 NPN형 TR 이고, 흑색 테스트 리드선이면 PNP형 TR이다.

4. 트랜지스터 전극사이의 저항값을 측정하여 이미터(E)와 컬렉터(C)를 찾는다.

    NPN형 이면, 베이스(B)에 적색 리드선을 대고, 

    이미터(흑색리드선) 간의 저항값이 컬렉터(흑색리드선) 간의 저항값 보다 약간 크다.

    PNP형 이면, 베이스(B)에 흑색 리드선을 대고, 

    이미터(적색리드선) 간의 저항값이 컬렉터(적색리드선) 간의 저항값 보다 약간 크다.

 

주의!!  이미터와 컬렉터를 찾을때 손을 조심하자! 높은 저항값이 측정되기 때문에 인체의 저항이 측정되는 경우가 있다.

이러면 재수 없는 결과를 초래한다. 회로 실패, 크게는 잘못된 회로로 인한 화재??  오버인가요?

 

Posted by +깡통+

Warning.

Drill Symbol limit exceeded. System will switch to letter generation.


이런 경고가 뜬다.

말그대로 드릴 심볼이 부족하다는 것인데.


Gerber Files 설정에서 [드릴 그림]이란 탭이 있다.

여기서 드릴 그림 심볼 선택을 [크기별 문자]로 해주면 된다.


Cam 파일을 확인해보면 그릴 구멍마다 치수가 표시되어 복잡한 느낌을 받을 수 있다.

허나 그건 PCB 제조업체의 일이니까 ^^;;

Posted by +깡통+