세이박스

[강의] 서버프로그래밍 관리페이지 제작 + JSON 출력 + 안드로이드앱 연동 교육 (부산)

웹프로그램

안녕하세요! 안드로이드스터디 운영자 이경용 입니다.

요즘 개발하는 대부분은 앱들이 서버와의 통신을 기본으로 개발되고 있습니다.
하지만 대부분 모바일 앱 개발 관련 교육만 있으며, 서버 중심의 관리페이지 개발에 대해서는 잘 없기에 준비했습니다.
"요기요", "배달의민족", "쿠팡"와 같은 앱의 업소 정보는 매번 바뀔때 마다 앱을 어떻게 업데이트 할까요?
업소 정보는 별도의 웹 환경에서 관리페이지를 만들고 DB와 이미지를 관리하며, JSON으로 앱과 자료를 주고 받습니다.
이러한 관리페이지를 만드는 기본 과정을 학습하고 실습을 통해 만들어 보고자 합니다.
관리페이지를 만드는 언어는 html , css, javascript, php, mysql 를 이용해서 만들니다.
해당 언어의 기초 지식이 있으면 좋지만, 전체 구성을 이해하는것 만으로도 큰 도움이 되실 겁니다.

교육목표 :
- PHP, MySQL을 이용해서 관리페이지를 만들고 JSON으로 출력해서 모바일 앱에서 서버의 자료를 받을 수 있는 관리 시스템을 개발하는 교육과정이다. (안드로이드 JSON 파싱 연동)


교육내용 :
1일차 : 관리페이지와 JSON 통신 구축 소개 및 개발환경 구축
2일차 : 제어문, 반복문, 배열, 함수
3일차 : MySQL 데이터베이스, MySQL 명령
4일차 : PHP와 MySQL의 연동
5일차 : 쿠키와 세션, 관리페이지 로그인 기능 구현
6일차 : 게시판 만들기
7일차 : 자료실 만들기
8일차 : JSON 출력 및 안드로이드 앱 연동
* 교육 내용은 수강생 구성에 따라 내용이 다소 변경될 수도 있습니다.


교육안내 :
1.일시 : 2016년 3월 15일 ~ 4월 7일
2.시간 : 매주 화,목 저녁 7시~10시 (3시간) / 총 8일 (24시간)  * 일정은 강사의 사정에 따라 일부 변동될 수도 있습니다.
3.장소 : 해운대 센텀시티 (구체적인 장소는 별도 안내)
4.준비 : 노트북 사양무관 (* 노트북이 없는 경우 문의)
5.비용 : 유료 20만원, 시간당 9천원 정도 입니다. (입금문의 : 010-2694-8424)
6.신청 : 아래 게시글에 코멘트에 비밀글 체크후 연락처, 노트북 유무, 자바실력, 간단소개글 정도 남겨 주시기 바랍니다.
http://www.androidstudy.co.kr/bbs/board.php?bo_table=B11&wr_id=3033
8.접수 : 2016년 3월 14일 까지



* 아래 게시글에 코멘트로 "비밀글" 체크후 이름과 연락처, 서버프로그래밍 및 홈페이지 개발 경험, 참가 이유 등을 남겨 주세요! (접수 확인후 개별 연락 드립니다.)
http://www.androidstudy.co.kr/bbs/board.php?bo_table=B11&wr_id=3033



PHP 웹에서 서버 동시 접속자 수 확인 하기

웹프로그램
동시 접속자 확인 하기 위해선 서버에서 root 권환으로
netstat -n | grep 80 | grep ESTABLISHED | wc -l
이라고 실행하면 동시 80 포트로 접속한 사람 수 가 나타납니다.

netstat -n | grep 80
라고만 실행하면 Fin_Wait, Time_Wait 인 접속자 수 모두를 표시 하게 됩니다.

웹상에서 리눅스 명령을 실행할땐 exec 함수를 사용합니다.

<?
$cmd = "netstat -n | grep 80 | grep EST | wc -l";
exec($cmd, $cmd_result);
$count = sizeof($cmd_result);
echo "현재 접속자 수 : ".$count.";
echo "<br>";
$cmd = "netstat -n | grep 80";
exec($cmd, $cmd_result);
$count = sizeof($cmd_result);
echo "Fin_Wait, Time_Wait 포함 현재 접속자 수 : ".$count;
?>

출력결과 :
현재 접속자 수 : 10
Fin_Wait, Time_Wait 포함 현재 접속자 수 : 132

웹상에서 Mac주소 및 내컴퓨터 정보 보기

서버,보안
 
웹상에서 Mac주소는 웹언어로는 얻을수 없습니다.
따라서, activx 설치를 통해서 얻을수 있습니다.
 
 
필요한 파일
http://isulnara.com/myAPP/iSysInfoX/iSysInfo.CAB
 
설치용파일
 
 
 
/***************  소스 ********************/
 
<HTML>
<OBJECT id="iSysInfo" classid="clsid:8DAA3668-D06F-48BC-9DC2-3626B5B57DEF" codebase="http://isulnara.com/myAPP/iSysInfoX/iSysInfo.CAB#version=1,0,0,4">
 <param name="copyright" value="http://isulnara.com">
 <div style="position:absolute;top:276;left:320;width:300;height:68;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;visibility:visible;"><FONT style='font-family: "굴림", "Verdana"; font-size: 9pt; font-style: normal;'><BR>&nbsp;&nbsp;iSysInfo 컨트롤이 설치되지 않았습니다.&nbsp;&nbsp;<BR>&nbsp;&nbsp;<a href="./iSysInfoX.exe"><font color=red>이곳</font></a>을 클릭하여 수동으로 설치하시기 바랍니다.&nbsp;&nbsp;</FONT></div>
</OBJECT>
<TEXTAREA NAME="Info" ROWS="40" COLS="60"></TEXTAREA>
<SCRIPT-x LANGUAGE="JavaScript-x">
<!--
 function Installed()
 {
   if (typeof(document.all("iSysInfo"))!="undefined" && document.all("iSysInfo")!=null)
   return true;
   else
  return false;
 }

 function Add(str)
 {
  Info.innerText = Info.innerText + "\n" + str;
 }

 if (Installed())
 {
  with (iSysInfo)
  {
   Add("전체 어댑터의 맥어드레스");
   Add("---------------------------------------------");
   Add(MacAddress);
 
   Add(" ");
   Add("사용 중인 어댑터의 맥어드레스");
   Add("---------------------------------------------");
   Add(ActiveMacAddress);
 
   Add(" ");
   Add("기타");
   Add("---------------------------------------------");
   Add("컴퓨터 이름:" + ComputerName);
   Add("워크그룹:" + WorkGroup);
   Add("아이피 주소:" + IP);
 
   Add(" ");
   Add("드라이브 리스트");
   Add("---------------------------------------------");
   Add(GetDriveLetter());
 
 
   Add(" ");
   Add("CPU 정보");
   Add("---------------------------------------------");
   Add("CPUVendor:" + CPUVendor);
   Add("CPUID:" + CPUID);
   Add("CPUType:" + CPUType);
   Add("CPUFamily:" + CPUFamily);
   Add("CPUModel:" + CPUModel);
   Add("CPUStepping:" + CPUStepping);
 
   Add(" ");
   Add("HDD 정보");
   Add("---------------------------------------------");
   Add("HDDID:" + HDDID);
 
   Add(" ");
   Add("파일 시스템");
   Add("---------------------------------------------");
   Add("윈도우 버전:" + GetWindowsVersion());
   Add("Windwos Script-x Host의 버전:" + GetWSHVersion());
   Add("디스크 볼륨(C:):" + GetDiskVolume("C"));
 
   Add("c:\\autoexec.bat 존재 여부:" + FileExists("c:\\autoexec.bat"));
   Add("c:\\wwxxyyzz.zip 존재 여부:" + FileExists("c:\\zz.zip"));
   Add("c:\\Program Files 존재 여부:" + DirectoryExists("c:\\Program Files"));
   Add("c:\\test 존재 여부:" + DirectoryExists("c:\\test"));
   Add("윈도우 디렉토리:" + GetWindowsDirectory());
   Add("윈도우 시스템 디렉토리:" + GetSystemDirectory());
   Add("부트 디렉토리:" + GetBootDirectory());
   Add("임시 디렉토리:" + GetTempDirectory());
   Add("프로그램 파일 디렉토리:" + GetProgramFilesDirectory());
   Add(GetWindowsDirectory() + "\\notepad.exe의 파일 크기:" + GetFileSize(GetWindowsDirectory() + "\\notepad.exe") + "Byte");
   Add(GetWindowsDirectory() + "\\notepad.exe의 파일 버전:" + GetFileVersion(GetWindowsDirectory() + "\\notepad.exe"));
  }
 }
 else
  alert("컨트롤이 설치되지 않았습니다.");
 
//-->
</SCRIPT-x>
</HTML>

주의!
설치해보니 동작은 잘 되던데...activeX 파일은 검정 된게 아닙니다. ^^;

VB.net에서 웹 브라우저 연결하기

응용프로그래밍
 
1. 새창으로 웹 브라우저 연결
 
    Dim ie As Object
    ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.width = xxx              ' 주소창 너비
    ie.height = yyy             ' 주소창 높이
    ie.AddressBar = False  ' 주소입력창 숨기기
    ie.ToolBar = False        ' Toolbar 숨기기
    ie.MenuBar = False      ' 메뉴 숨기기
    ie.StatusBar = False     ' 상태바 숨기기
    ie.Resizable = False     ' 크기 조절 금지
    ie.Navigate("접속할 주소")
    ie = Nothing
 
 
2. 폼에서 웹 브라우저 연결
 
    도구상자에서 "Microsoft 웹 브라우저" 를 연다.
    도구상자에 없다면 "항목 추가/제거"에서 COM 구성요소에서 "Microsoft 웹 브라우저"를 선택
 
    COM 구성요소에도 없다면.. 좌절하지 말고 -_-;; (com 구성요소에도 없어서 당황한적 있음)
    찾아보기를 선택하여 WINNT\system32\shdocvw.dll을 선택한다.
 
    그 다음부터는.. 하라는대로 하면 된다 -_-
 
    MSDN과 친해지자 ;;

PHP 웹에서 엑셀문서 작업

웹프로그램
캡쳐 화면에서 처럼 웹브라우저로 파일을 불러오면 엑셀문서가 뜹니다
로컬 PC에서의 엑셀처럼 이것은 웹에서 작동을 합니다

ZB4와 연동을 시키고 읽기 쓰기 권한까지 부여를 한다면 더 좋을것 같은데
저는 php를 잘몰라서리 그림의 떡이군여 ㅋㅋ

필요하신분 쓰세요~

퍼온곳은 - 해피씨지아이