퇴근5분전

 유튜브을 보다보면 개발자를 목표로 하는 사람들에 대한 이야기들이 참 많다. 

언어별로 각종 강의자료들... 몇몇 자료들을 봤지만, 언어 소개 이후 론 대부분 코딩을 제일 먼저 시작한다.

 

 개발자를 시작하려면 가장 먼저 일주일 정도 시간을 내서 객체지향에 대한 이해가 먼저 선행되었으면 한다.

 SI일을 다니다가 신입 직원들을 봤을때... 코딩도 그럭저럭 하지만...

 전공자들은 학교 다니면서 동기, 선배, 교수들과 함께 투자한 시간만큼 코딩이 가능하다.

비전공인 분들을 각자의 센스? 또는 국비에서 강사들의 복불복에 코딩이 변죽을 부린다. 

나도 처음 개고생한거 생각하면, 그만큼 절실했으니까. C++ 책만 7번씩 볼 수 있지 않았을까? 

 

비전공자가 개발자를 하기전에 반드시 이거 하나는 해보고 공부를 시작했으면 한다.

 

프로그램 코딩 대부분 기본 구조는 아래와 같다.

 주어.동사( 동사의 목적에 필요한 데이타 목록,... ) : 결과 

주어는 객체이고, 동사는 객체로 할수 있는 일, 

그리고 객체가 하는 일에 필요한 데이타 또는 관련 객체들로 채워준다. 

개체가 한 일에 대한 결과가 나오는 것이 있고, 없는 것도 있다 ( void )

 

  우리 프로그래머들은 순차적으로 할 일들을 정의하고 순서대로 일을 할수 있는 문서를 작성하는 것이다.

 int a = 10; 이런게 중요한게 아니고... 

  하나의 프로그래밍을 완성하기위해 필요한 주요 객체들과 그 객체들이 할 수 있는 일(동사)들이 떠올라야 한다고 생각한다.  그림이나 사진, 또는 자기 경험등... 눈앞에 보이는 모두를 객체.일() 로 정의할 수 있으면 좋겠다. 

 

1. 자기 자신부터 동사를 붙여본다

    나.잔다( 시간 )

    나.일어난다()

    나.이동한다( 목적지 )

2. 이런 형태로 객체를 100여가지 정도는 정의해보자. 

3. 100여가지 중에 공통적인 것들을 분류해보자. ( 나중에 상속과 다형성 공부할때 좋은 자료가 된다 )

 

 17년 정도 프로그래밍을 했지만, 기본 적인 비지니스 업무흐름이라는게 회사마다 제각각이라 기획 같은게 어렵지 

코딩 자체가 어려운건 없다. 가끔 고수준의 크리티컬한 쓰레드 자원 관리나 게임프로그래밍 처럼 수학이 절실한거 아니면..  그냥 라이브러리를 얼마나 아는가? 또는 필요한 객체들의 어떤 행위들을 추측이 가능한가? 정도이다. 

진짜 어려운 프로그래밍은 전공자들 중 top class가 할꺼다. 

 그리고 이제 AI 시대가 왔다. 개발자들을 대체하기엔 시간이 좀 필요하겠지만... 발전 속도를 보면... 

깔려있는걸 한번에 뒤집는건 불가능해도 새로 만드는 것들에 대해서는 점점 가능해지지 않을까? 

 그러면 이제 개발이란건 기획! 이란게 진짜 필요할 지도 모르겠다. 

 

 

 

오늘 PLC 모니터링 기능을 추가하면서 웹 테스트를 하는데... 

이상한 현상이???

 

.razor 안에서 ... 

@code{
	MonitoringInfo info = null;
}


@foreach( var brd in bridges ) {
    info = Service.GetMonitoringInfo( brd );
	
    <div ... >
    	<button @onclick=( e => EditDangerConfirm( info.ID, info.DangerValue) ) >
    </div>
    
}

 

이런 식으로 썼는데 bridges를 순회하면서 html코드를 생성하고 

@onclick 이벤트에 연결 했는데... 

 

화면에서 테스트를 해보니... 무조건 마지막에 연결되었던 객체 정보로 뜬다. 

원인 ::

@onclick이 발생하는 때에는 데이타가 계속 덮어씌여져서 가장 마지막 요소를 가지고 오픈하니까 ... 엉뚱한게 보여진다. 

구글링을 해보니... 저렇게 쓰면 안된단다.. 생각해보니.. 그게 맞는 것도 같고..

 

해결방법 :: 

@foreach( var brd in bridges ) {
    MonitoringInfo info = Service.GetMonitoringInfo( brd );
	
    <div ... >
    	<button @onclick=( e => EditDangerConfirm( info.ID, info.DangerValue) ) >
    </div>
    
}

 

독립변수가 되겠끔. 

   MonitoringInfo info ; 선언을 foreach 안쪽으로 내렸다.

이렇게 하면 @onclick되는 시점에 바인딩될때의 변수값들을 가지고 컨펌창이 뜬다.

 

 

 

 

'# 4) .Net ( Vs 2010 ) > Web Matrix _Razor' 카테고리의 다른 글

Web Matrix] 구조화 컨텐츠... Layout  (0) 2011.04.20
Web Metrix ] 첫만남?  (0) 2011.04.19

 

 음... 현장대응하시는 분이 MySql 을 설치하면서 뭐가 안된다고 전화가 와서 받아보니...

노트북에서 진행했던대로 안넘어간다고 하였다. 

 

 첨엔 영상통화로 보다가 핸펀으로 연결해서 원격으로 보니.. 

인스톨 진행 중에 보이는 "product configuration" 목록이 비어있네? 

root pwd 등록 부분도 없이 지나갔고 ... 

 

 Full로 선택해서 그냥 설치하면 보였던건데... 구글링해보는 걸로 얘기를 하고

끊고... 검색을 겁나 해봤지만... 마땅히 관련이 있을 만한 내용은 못찾았다.

 

구글번역으로 보이는 문구가 하나 있었지만... Full 로 선택한거랑 뭔차이겠나? 싶었는데... 

정말 정말 혹시나 하는 마음에 "Custom" 선택하고 Document를 빼고 나머지 항목들을 모두 선택하고 

시작하니... C++ 라이브러리 하나를 설치를 하더니 진행이 되면서... 설치가 완료되었다. 

 

 Full로 하는거랑 뭐가 달랐을까? Windows 10 Home버젼에선 그냥 깔렸는데... Pro버젼에선? 왜???

일단 설치는 끝마쳤으나... 

 

 PLC 구성이 현장마다 다 다르다는걸 이제사... 알려주면... 

대응을 어찌하리오... 현장이 마다 PLC 구성이 다른건 설계할때 알 수 있었던걸까? 

나가보니 다르더라인가? 

 오늘 알고리즘 구조 변경하고... 대략 샘플 테스트 마쳤다. 

내일 PLC붙여서 테스트 해보고 코드 정리해서 보내야지.. 

 

 

 

 

 

대의원 20 : 1 권리당원 

표의 등가성이 축소되었다. 

1:1 은 아니어도... 60 > 20까지 줄었으니... 

권리당원들 수가 많으니 이제 민주당의 당원들의 목소리가 국회의원들 귀에 좀 들리려나?

아~ 슈발 나겨비 븅서기 호중이 굥지니 종미니 서루니 진표 워누기 썅기대 듣보잡 수박들... 

개혁의 시점을 놓쳐서 역사가 거꾸로 40년은 되돌아간것 같다. 

전 땅끄때처럼... 

 

이재명 당대표와 그 옆에서 같이 어깨를 나란히 하는 민주당 의원들... 모두 화이팅!!

수박새끼들 뚜까 패서 꼭 좀 내보냈으면... 

 우리동네도 대의원제 바뀌고 표수 계산을 해보면 과연? 썅기대가 박아놓은 대의원들

표가 너무 많진 않은지... 권리당원들이 많을지...