728x90

골프 스윙 측정기를 만들었다 ㅎㅎ

직업의 특성상 실내 작업이 많아졌다.

특히 일이 많아진 요즘은 앉아서 프로그램을 작성하다 보니,시간상 실내에서의 운동 방법이 필요했다 .

그래서 아령도 해보고 스트레칭 도구로 운동도 해보고 해도 재미가

영 없다.

그러던 중 지금 유지보수 하는 업체의 지원 요청이 뜸해져서 , 귀찮아서 미루기만 했던, 골프 연습시 스윙할 때, 회전수를 측정하는 장치를 만들기로 했다.

예전에는 전자회로를 구상하고 납땜 하는 것을 좋아했는데 눈이 안좋아진 요즘은 프로그램 작성하는 것에 더 애정이 간다.

드디어 미루어 만 왔던 간단한 장치를 만들기로 하고, 오늘 드디어 만들었다. 혹시 그런 제품이 있나 해서 알리를 찾아 봤는데 발견하지 못한 것이 만들 수 밖에 없는 이유가 됐다.

간단한 장치 이지만 원하는 기능을 만들다 보니 하루가 꼬빡 소요됐다 . 나중에는 모바일에서 데이타를 확인 하도록 수정해야겠다 ㅎ.

이제 알리에서 구매한 연습 매트가 도착하면, 상단에 장착해서 파워를 측정하며 운동을 할 생각이다.

이렇게 만들 줄 알았으면 진작 주문을 할걸 하는 생각이 든다....

 

목동코딩학원 아두이노로 만든 골프스윙측정기
목동코딩학원 아두이노로 만든 골프스윙측정기
목동코딩학원 아두이노로 만든 골프스윙측정기
목동코딩학원 아두이노로 만든 골프스윙측정기
목동코딩학원 아두이노로 만든 골프스윙측정기

728x90
728x90

목동코딩 : 코딩교육

이제 내년이면 코딩을 시작한지 40년이 된다.

예전에는 코딩이라는 말보다는 프로그램이라는 말을 많이 썼고, 그 일을 하는 사람을 프로그래머라고 불렀다.

하지만 요즘은 코딩이라는 말을 많이 쓰고있다.

그러면 코딩하는 사람을 코더라고 해야 하는건가? ㅎㅎ. 시키는 일만 복사.붙여넣기 하는 사람을 우리는 코더라고 불렀다. 분명한 레벨의 차이가 있었다고 생각한다. 물론 인건비도 많이 달랐다.

요즘 코딩이라는 말을 많이 쓰듯이 배우는 내용도 많이 놀이식으로 진행되고 있다(내 생각에는 가르치는 사람에 맞춘 교육이지 않을까 싶다... ).

간혹 코딩을 배우는 나이를 많이 질문받고 있다. 내가 경험한 내용을 토대로 생각해 보면, 분명히 나이는 별관계가 없다는 생각이다.초등학생이던, 대학생이던간에 재능이 없으면 어른이라도 하지를 못한다. 반대로 초등학생이라도 재능이 있으면 가능하다.

지금 수업하는 중2학생도 초등3학년 부터 시작했다고 한다. 이 친구는 밤세우며 코딩( 게임이 아님 )을 하다 보니 학교갈 시간에 잠이 와서 부모님과 많은 갈등이 있나보다. 이제는 부모님도 자기가 잘하고 좋아 하는 거를 하도록 도와주는거 같다.

이번 수업은, 3시간을 칠판에 서서 둘이 진행했다. 질문이 많아서 수업내내 칠판에 설명하면서 진행을 했다. 혼자서 공부하고 , 인터넷에서 관심이 비슷한 친구들이라 함께 코딩을 공부 한다고 했다. 내가 도와줄 내용은 지금 공부하는 내용이 어떻게 쓰일수 있는지 또한 어느 방향을 해야 할지를 같이 고민하는 일이다. 물론 선택은 스스로 하겠지만.....

코딩은 절대 장난이 아니다. 필요에 맞춰서 공부하지 않으면 정말 시간 낭비다. 너무나 쉬운 원리만 오래 공부하는 경향이 있다.

나는 우리의 학생들이 긴 시간 공부하고도 실패했던 영어 교육이 떠오르는건 왜인지 모르겠다.

동남아 다녀온 사람에게 미국에 대해 배우면 제대로 배울수 가 없드시 말이다.....

728x90
728x90

목동코딩 : 코딩교육

웹 시스템을 개발하면서 결과에 따라서 서로 다는 내용의 팝업을 띄워야 하는 경우에 사용하는 방법이다

<div>로 Layer를 만들고 , Ajax 결과에 따라서 각각 다른 내용의 HTML을 띄우는 방법을 정리해둔다.

 

<div id="layerPopup"  class="text-center;" style="position:absolute; z-index:10; width:500px; height:500px; left:50%; top:50%; margin-left:-250px; margin-top:-250px;  background-color:white; display:none;">
        <div id="layerPopup_content">
        
        </div>
        <button type="button" id="btn_layerPopup_hide">팝업닫기</button>
</div>


<script>
    $(document).ready(function(){

        $('#btn_layerPopup_hide').click(function(){
            $('#layerPopup').hide();
        });
    });
</script>

<script>
        function checkEvent(){
            alert("이벤트 체크");
 
            $.post("phpCheckEvent.php", {
            User: "01092899979",
            Message: "message"
            }, function(data) {
                alert(data);
                if (data == "SUCCESS") {
                    $('#layerPopup_content').load('./popupOK.html', function(){
                        $('#layerPopup').show();
                    });
                } else {
                    $('#layerPopup_content').load('./popupNO.html', function(){
                        $('#layerPopup').show();
                    });
                }
            });
        }

</script>
popupOK.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>이벤트정보</title>

</head>
<body>
    <div class="container" >
        <div class="row text-center"  style="padding:20px ;">
            <div class="col-lg-12 col-md-12 ">
                <h1>출석이벤트에 당첨됐습니다</h1>
            </div>
        </div>
    </div>
</body>
</html>



popupNO.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>이벤트정보</title>

</head>
<body>
    <div class="container" >
        <div class="row text-center"  style="padding:20px ;">
            <div class="col-lg-12 col-md-12 ">
                <h1>다음 기회를 이용해 주세요</h1>
            </div>
        </div>
    </div>
</body>
</html>

 

 

목동코딩학원 , 무인스터디카페에 적용한 키오스크 출입통제

 

 

목동코딩학원 , 무인스터디카페에 적용한 키오스크 출입통제

 

728x90
728x90

목동코딩: 코딩교육, 프로젝트수업

이번에 새로이 오픈할 프랫폼을 개발하면서 새롭게 느낀점이 있었다.

엔지니어 마인드로 살다보니, 데이타베이스를 뒤져서 원하는 데이터를 가져오면, 결과를 바로 화면에 표시 하는 줄 알았는데, 마케팅 마인드는 약간의 뜸을 들여야할 필요성을 느꼈다. 그래서 5초간 대기 화면이 나오고 결과를 보여주는 대기 기능을 만들었다

 

<!--로딩바-->
<div id="loading" style="margin-left: 0px;">
    <img src="./images/buttons/loading.gif">
    <p>결과를 준비중입니다. 잠시기다려주세요....</p>
</div>

<div>
    <h3 id="getDB" style="display:block;padding:1em 0.2em;text-align:left;"></h3>
</div>

$(document).ready(function(e) {
    setTimeout(function() {
        $("#getDB").html("결과 보기를 크릭해 주세요");    
        $("#Code<?=$LEVEL_3?>").css('display',"block")          
        $("#loading").css('display',"none")          
    }, 5000 );
});

 

목동코딩, 무인스터디카페 키오스크개발, 프로젝트 코딩교육
목동코딩, 무인스터디카페 키오스크개발, 프로젝트 코딩교육
목동코딩, 무인스터디카페 키오스크개발, 프로젝트 코딩교육
목동코딩, 무인스터디카페 키오스크개발, 프로젝트 코딩교육
목동코딩, 무인스터디카페 키오스크개발, 프로젝트 코딩교육

728x90
728x90

 

목동코딩 : 날짜계산

​

지금 진행하는 프로젝트가 시자을 계산하여 요금을 계산하는 업무이다 보니, 이번 기회에 Mysql에서 시간, 날자 등을 계산하는 방법을 정리해둔다.

SELECT TIMESTAMPDIFF(SECOND, '2021-01-01', '2021-01-02');
SELECT TIMESTAMPDIFF(MINUTE, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(HOUR, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(DAY, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(WEEK, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(MONTH, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(QUARTER, '2021-03-01', '2021-03-31');
SELECT TIMESTAMPDIFF(YEAR, '2020-01-01', '2021-03-31');
SELECT TIMESTAMPDIFF(QUARTER, '2020-01-01', '2021-03-31');

SELECT DATEDIFF('2020-01-01 00:009:00', '2021-03-31 00:00:00');
Declare TIME_DIFF int;

SELECT TIMESTAMPDIFF(SECOND, '2021-01-01', '2021-01-02') into TIME_DIFF ;

이렇게 계산한 TIME_DIFF 를 계산할 Table에 반영한다

 

 

 

목동코딩 코딩교육

728x90
728x90

목동코딩학원 : 코딩교육

방배동 친구의 후배가 전시회에 부스로 참여하는데, I.T 를 융합을 어떤식으로 하면 좋을지를 애기 하기로 해서 아침일찍 집에서 코엑스로 출발했습니다. 막 집을 나가려는데 경주에 거주하고, 지금은 아산에서 사업을 하는 친구가 전화와서 교대를 온다기에 함께 코엑스에서 만났습니다.

전시회를 둘어보면서 저는 제 I.T 능력으로 어느정도의 컨텐트를 Cover 하는지를 체크했습니다.

ㅎㅎ 아직은 더 먹고 살 수 있다는 생각에 감사 했습니다.

어휴 나 코딩 안했으면 무엇을 하고 있을지 생각 하면 깜깜 합니다.

얼마전 아들한테, "아빠는 80살 까지만 코딩 할련다" 했더니, "아빠! 나 그럼 50살 이야 하기에 깜짝 놀랐습니다. "나만 나이 먹는게 아니구나.... ㅠㅠ, 아들이 50살이 된다는 생각이 드니 슬퍼집니다 ㅎㅎ ㅠㅠ.

열심히 플랫폼을 만들어서 , 컴퓨터 전공한 아들이 더욱 확장하도록 , 아빠 찬스를 줄려고요... 이것도 문제가 되나? ㅎㅎ

에이 정치는 어차피 안할건데 모...

전시회를 둘러보니 교육 컨텐츠의 변화가 보입니다.

2000년도에 말리이지아 프로젝트에 참여할때, 가방 하나 끌고서, 전세계의 납품된 자신의 기계를 유지보수하러 출장다니는, 일본 기술자의 모습이 갑자기 생각납니다.

빨리 코로나로 인한 여행 제한이 풀리고 누군가가 "네가 가라 하와이" 하면 "네~~" 하고 빨리 다녀올려고요 ㅎㅎ.

 

목동코딩 코딩교육
목동코딩 코딩교육

728x90
728x90

목동코딩 : 안드로이드 코딩교육

안드로이드 앱을 개발하면서 아래 사진과 같은 체크박스를 만들고 싶어서, 구글 검색을 통해 체크박스 크기를 변경하는 방법을 찾다보니, background에 이미지를 넣어서 하는 방법이 있어서 정리해 둡니다.

 

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 체크박스 해제상태 -->
    <item android:drawable="@drawable/check_before" android:state_checked="false" />
    <!-- 체크박스 선택상태 -->
    <item android:drawable="@drawable/check_drop" android:state_checked="true" />
    <!-- 체크박스 기본상태 -->
    <item android:drawable="@drawable/check_before" />
</selector>

 

 

<CheckBox

android:layout_width="40dp"

android:layout_height="40dp"

android:text=""

android:id="@+id/term"

android:layout_marginLeft="76dp"

android:gravity="center"

android:button="@android:color/transparent"

android:background="@drawable/check_box"

android:layout_alignParentRight="true" />

 

목동코딩 안드로이드 앱개발 코딩교육

 

 

목동코딩 안드로이드 앱개발 코딩교육

 

 

목동코딩 안드로이드 앱개발 코딩교육

728x90
728x90

목동코딩: 코딩교육

이번 프로젝트는 조금 일반적이지 않은 프로젝트이다. 쇼핑몰과 비슷한데 공급처별로 보여주고 집계를 해서 주문을 하는 프로젝트이다.(아래화면)

그러다 보니 표시되는 input 태그에 각각의 공급처가 표시 되어야 한다. 그리고 주문시에는 각 공급처 별로 주문저장을 해야한다. 그래서 <input ss="Brand"/> 라는 커스텀 태그를 만들어서 사용하였다.

 

 

<script>
    function toOrder() {
        var number_input = $("input[ss=Brand]");
        console.log(number_input);

         
        $.each(number_input, function(index, value) {
            console.log('IDX :' + index);
            console.log(value);
            console.log('ID =' + $(value).attr("id"));
            console.log('NAME =' + $(value).attr("name"));
            console.log('VALUE =' + $(value).val());
        });
}
</script>

<input ss="Brand" name="Brand"  value="100">

이제는 split 하여서 사용하면 되겠다

 

목동코딩 코딩교육

728x90

+ Recent posts