모바일에서 a태그 터치영역 안보이게 처리하는 방법.


a {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent; /* For some Androids */
}

'프로그래밍 > css' 카테고리의 다른 글

[sass] 웹스톰에서 node-sass 설정 해주기  (0) 2019.08.23
Posted by august5pm
,
// 디데이 설정
var d_day = new Date(January 28,2015);

// 오늘날짜 설정
var t_day = new Date();

// 타이머
var timer = this.setInterval(timerEventHander, 1000)

// 타이머 이벤트 핸들러 호출때 마다 증가될 값
var timerNum = 0;

// 타이머 이벤트 핸들러
function timerEventHander(){
	// timerNum 증가(밀리세컨드에 따라 1000씩 증가)
	timerNum = timerNum + 1000;

	// 디데이까지의 시간 구하기 (단위 : ms)
	var gap = d_day.dDay.getTime() - (t_day.getTime()+timerNum);
	
	// 남은 날짜
	var d = Math.floor(gap / (1000 * 60 * 60 * 24)) * -1
	
	// 남은 시간
	var h = Math.floor((gap/(1000*60*60)) % 24);
	
	// 남은 분
	var m = Math.floor((gap/(1000*60)) % 60);
	
	// 남은 초
	var s = Math.floor((gap/1000) % 60);
}

'프로그래밍 > javascript' 카테고리의 다른 글

[javascript] 10의 자리 체크  (0) 2016.11.17
[javascript] 1차 방정식  (0) 2016.11.17
[javascript] 1차 함수  (0) 2016.11.17
[javascript] HTML 에서 파라미터 가져오기  (0) 2015.02.03
[javascript] window.location 객체  (0) 2014.12.21
Posted by august5pm
,

오늘 프로젝트를 진행하면서 최초 init()이 실행되고, 


jQuery에서 $(selector).scrollTop()을 사용해야 하는 경우가 있었습니다.


그러나 아무리 value를 넣어도 적용되지가 않아 OTL


머리를 한참 쥐어 뜯다가 혹시...혹시!!!! 


setTimeout(function(){}, delay)으로 딜레이를 주었더니 움직이네요.


아마도 이미지가 들어간 컨텐츠다 보니까 이미지가 로딩되기 이전에 scrollTop()을 실행하고 있어서


컨텐츠의 높이값을 제대로 가져오지 못하다보니 적용되지 않았던 것 같습니다.


가장 확실한 방법은 컨텐츠가 모두 로딩 완료 되었을 때 적용해 주는 것인 것 같네요.

'프로그래밍 > tip' 카테고리의 다른 글

[tip] GreenShock ScrollToPlugin  (0) 2015.02.06
[tip] 일차함수  (0) 2015.02.05
[tip] SVN E160028 오류  (0) 2015.01.27
[tip] SVN E220001 오류  (0) 2015.01.27
[tip] 웹스톰에서 svn checkout 에러 발생할 때  (0) 2015.01.27
Posted by august5pm
,

Error : E160028 commit failed


SVN E160028 오류가 발생했을 때


업데이트가 오래되어 커밋시 발생하는 오류일 수 있으니


업데이트를 먼저 실행 후 커밋을 하면 된다.


Posted by august5pm
,

Error: 220001 (Item is not readable) Description: Unreadable path encountered; access denied


SVN E220001 오류가 발생 했을 때


SVN Server 설정 파일중에서 


svnserve.conf 파일을 아래와 같이 설정해준다.


[general]

anon-access = none


출처

http://stackoverflow.com/questions/3584643/svn-access-denied-when-comparing-revisions

Posted by august5pm
,

웹스톰에서 svn checkout을 실행했는데 에러가 발생 했을 때 아래와 같이 하여 해결.


File > Setting > Version Control > Subversion 에서 Use command line client 체크를 해제시켜주면 된다.


출처

http://stackoverflow.com/questions/20797443/intellij-idea-subversion-checkout-error

'프로그래밍 > tip' 카테고리의 다른 글

[tip] GreenShock ScrollToPlugin  (0) 2015.02.06
[tip] 일차함수  (0) 2015.02.05
[tip] 최초 시작시 scrollTop() 이 적용되지 않을 때  (0) 2015.01.28
[tip] SVN E160028 오류  (0) 2015.01.27
[tip] SVN E220001 오류  (0) 2015.01.27
Posted by august5pm
,


1. view (pc)- flash actionscirpt3 starling framwork

2. control (mobile) - html5 device orientation event

3. server (node.js) - socket.io

 

flash를 view로 사용하였고, flash의 object를 모바일기기로 컨트롤하며, 그 둘을 Node.js의 소켓으로 연결하는 테스를 해 보았습니다. 모바일 기기의 좌, 우 기울어짐에 따라 flash의 object가 움직이고 있으며, 모바일 쪽에는 시작하기 버튼을 두어 게임에 관련된 전반적인 사항들을 모두 모바일로 제어 할 수 있도록 설계하였습니다.

 

테스트 모바일 디바이스로는 아이패드, 아이폰, 갤럭시s2를 사용하였으며, pc와 통신에 있어서 만족할 만한 반응속도를 얻을 수 있었습니다. 영상에서 사용된 디바이스는 갤럭시s2 입니다.

Posted by august5pm
,

1. app.js

// --------------------------------------
// Imports
// --------------------------------------
var net = require('net');
var mySocket;
 
// --------------------------------------
// Construct The Socket
// --------------------------------------
// create the server and register event listeners
var server = net.createServer(function(socket) {
    mySocket = socket;
    mySocket.on("connect", onConnect);
    mySocket.on("data", onData);
});
 
// --------------------------------------
// Events
// --------------------------------------
/**
 * Handles the Event: "connect".
 *
*/
function onConnect()
{
    console.log("Connected to Flash");
}
 
/**
 * Handles the Event: "data".
 *
 * When flash sends us data, this method will handle it
 *
*/
function onData(d)
{
    if(d == "exit\0")
    {
        console.log("exit");
        mySocket.end();
        server.close();
    }
    else
    {
        console.log("From Flash = " + d);
        mySocket.write(d, 'utf8');
    }
}
 
// --------------------------------------
// Start the Socket
// --------------------------------------
server.listen(3000, "127.0.0.1");


2. flash (as3)

package
{
 
    // --------------------------------------
    // Imports
    // --------------------------------------
    import flash.display.Sprite;
    import flash.events.DataEvent;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.events.KeyboardEvent;
    import flash.events.MouseEvent;
    import flash.net.XMLSocket;
    import flash.text.TextField;
    import flash.ui.Keyboard;
 
    // --------------------------------------
    // Class
    // --------------------------------------
    /**
    * 

The NodeJSDemo class is ...

* */ public class NodeJSDemo extends Sprite { // -------------------------------------- // Properties // -------------------------------------- // PUBLIC GETTER/SETTERS /** * The core object which connects client to * server for real-time communication */ private var _xmlSocket:XMLSocket; /** * The sole UI element to show some test output */ private var _textField:TextField; // PUBLIC CONST // PRIVATE // -------------------------------------- // Constructor // -------------------------------------- /** * This is the constructor. * */ public function NodeJSDemo() { // SUPER super(); // EVENTS addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); // VARIABLES // PROPERTIES _textField = new TextField (); _textField.width = 300; _textField.height = 300; _textField.multiline = true; _textField.htmlText = ""; addChild(_textField); // METHODS } // -------------------------------------- // Methods // -------------------------------------- // PUBLIC /** * Handles the Event: Event.CHANGE. * * @param aEvent Event The incoming aEvent payload. * * @return void * */ private function _onAddedToStage(aEvent : Event):void { // CREATE THE SOCKET AND CONNECT - I'M NOT SURE WHAT PARAMETERS ARE VALID HERE // BUT IT MUST MATCH THE SETTINGS WITHIN THE 'HelloWorldNodeJS.js' FILE YOU ARE USING _xmlSocket = new XMLSocket("127.0.0.1", 3000); // EVENTS stage.removeEventListener(MouseEvent.CLICK, _onAddedToStage); // _xmlSocket.addEventListener(Event.CONNECT, _onConnected); _xmlSocket.addEventListener(IOErrorEvent.IO_ERROR, _onIOError); } // PRIVATE // -------------------------------------- // Event Handlers // -------------------------------------- /** * Handles the Event: Event.CHANGE. * * @param aEvent Event The incoming aEvent payload. * * @return void * */ private function _onConnected(aEvent : Event):void { // TRACE trace("onConnect() aEvent: " + aEvent); // EVENTS _xmlSocket.removeEventListener(Event.CONNECT, _onConnected); _xmlSocket.removeEventListener(IOErrorEvent.IO_ERROR, _onIOError); // _xmlSocket.addEventListener(DataEvent.DATA, _onDataReceived); _xmlSocket.addEventListener(Event.CLOSE, _onSocketClose); // stage.addEventListener(KeyboardEvent.KEY_UP, _onKeyUp); } /** * Handles the Event: Event.CHANGE. * * @param aEvent Event The incoming aEvent payload. * * @return void * */ private function _onSocketClose(aEvent : Event):void { // TRACE trace("_onSocketClose aEvent : " + aEvent); // EVENTS stage.removeEventListener(KeyboardEvent.KEY_UP, _onKeyUp); _xmlSocket.removeEventListener(Event.CLOSE, _onSocketClose); _xmlSocket.removeEventListener(DataEvent.DATA, _onDataReceived); } /** * Handles the Event: KeyboardEvent.KEY_UP. * * @param aEvent KeyboardEvent The incoming aEvent payload. * * @return void * */ private function _onKeyUp(evt:KeyboardEvent):void { // HANDLE KEYS if (evt.keyCode == Keyboard.ESCAPE) { //1. SEND 'KILL THE SERVER' TO THE SERVER _xmlSocket.send("exit"); } else { //2. SEND ANY NON-ESCAPE KEY'S CODE ('38' FOR EXAMPLE) TO SERVER // THIS IS A SILLY EXAMPLE OF SENDING A NUMBER TO THE SERVER // JUST SO THE SERVER CAN SEND IT BACK. SIMPLE. _xmlSocket.send(evt.keyCode); } } /** * Handles the Event: DataEvent.DATA. * * @param aEvent DataEvent The incoming aEvent payload. * * @return void * */ private function _onDataReceived(aEvent : DataEvent):void { try { // Show the server data in text _textField.htmlText += ("From Server: " + aEvent.data + "n"); //scroll down to show latest line _textField.scrollV = _textField.maxScrollV; } catch (error : Error) { // TRACE trace("_onDataReceived error: " + error); } } /** * Handles the Event: IOErrorEvent.IO_ERROR. * * @param aEvent IOErrorEvent The incoming aEvent payload. * * @return void * */ private function _onIOError(aEvent : IOErrorEvent):void { // TRACE trace("_onIOError aEvent: " + aEvent); // EVENTS _xmlSocket.removeEventListener(Event.CONNECT, _onConnected); _xmlSocket.removeEventListener(IOErrorEvent.IO_ERROR, _onIOError); stage.addEventListener(MouseEvent.CLICK, _onAddedToStage); } } }


'프로그래밍 > nodeJS' 카테고리의 다른 글

[nodeJS] Flash + Html5 + Node.js  (0) 2015.01.27
[nodeJS] Socket.IO 방만들기  (0) 2015.01.27
[nodeJS] Socket.IO 모듈  (0) 2015.01.27
[nodeJS] Express / Routes / Jade 모듈  (0) 2015.01.27
[nodeJS] connect / connect_router 모듈  (0) 2015.01.27
Posted by august5pm
,

>npm install socket.io 


1. server.js

// fs 모듈
var fs = require('fs');
 
// 서버생성
var server = require('http').createServer();
var io = require('socket.io').listen(server);
 
// 서버실행
server.listen(3000, function(){
    console.log('Server Running at http:127.0.0.1:3000');
});
 
// 웹 서버 이벤트 연결
server.on('request', function(request, response){
    //html 파일 읽기
    fs.readFile('index.html', function(error, data){
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.end(data);
    });
});
 
 
// 소켓서버 이벤트 연결
io.sockets.on('connection', function(socket){
    // join 이벤트
    socket.on('join', function(data){
        socket.join(data);
        socket.set('room', data);
    });
   
    // message 이벤트
    socket.on('message', function(data){
        socket.get('room', function(error, room){
            io.sockets.in(room).emit('message', data); 
        });
    });
});


2. index.html

<!DOCTYPE HTML>
<html>
 <head>
  <title> SOCKET.IO ROOM </title>
  <meta charset="utf8" />
  <script src="/socket.io/socket.io.js"></script>
  <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
  <script>
    $(document).ready(function(){
        //변수선언
        var room = prompt('방 이름을 입력하세요.','');
        var socket = io.connect();
 
        //소켓 이벤트 연결
        socket.emit('join', room);
        socket.on('message', function(data){
            $('<p>'+data+'</p>').appendTo('body');
        });
 
        //버튼 이벤트
        $('#btn').click(function(){
            var msg = $('#msg').val();
            socket.emit('message', msg);
        });
    });
  </script>
 </head>
 
 <body>
  <input id="msg" type="text" style="width:100px;" />
  <input id="btn" type="button" value="send" />
 </body>
</html>  
Posted by august5pm
,

>npm install connect 

>npm install connect_router

>npm install socket.io


1. app.js

/*
    폴더구조
    1. html - html 페이지
    2. node_modules - nodejs 모듈
    3. Resource - js, css, images 등의 리소스 파일
*/
 
// http 서비스를 하기 위해
var connect = require("connect"),
    connect_router = require("connect_router"),
    fs = require("fs"),
    url = require("url");
 
//서버 객체를 얻어옵니다.
var server = connect.createServer()
.use(connect.static(__dirname + "/Resource")) // 각종 리소스 폴더
.use(connect.bodyParser()) // post 방식 전송된 데이터 읽어오기 위해
.use(connect_router(main)) // 페이지 라우팅 처리할 함수
.use(connect.errorHandler({stack:true, message:true, dump:true})) // 에러출력 및 처리
.listen(3000);
 
//페이지 라우팅을 해서 클라이언트에 서비스할 함수
function main(app){
    app.get("/", function(request, response){
        console.log("index.html 클라이언트의 요청이 왔습니다.");
        //클라이언트에 응답할 html 파일을 읽어서 응답한다.
        fs.readFile("html/index.html", function(error, data){
            response.writeHead(200, {"Content-Type":"text/html"});
            response.end(data);
        });
    });
}
 
/*
 * 클라이언트와 웹소켓 연결을 하기 위한 작업
 */
 
//필요한 모듈을 얻어온다.
var socketio = require("socket.io");
 
// 클라이언트와 소켓 통신을 하기 위한 io 객체를 얻어온다.
var io = socketio.listen(server);
 
//불필요한 로그는 제거 하기 위해
io.set("log level", 2);
 
// 클라이언트가 소켓 서버 접속을 하면 'connection' 이벤트가 발생한다.
io.sockets.on('connection', function(socket){
    /*
     * 클라이언트의 이벤트에 귀를 귀울이거나, 혹은 이벤트를 발생시키면 된다.
     *
     * 3가지 통신 방법
     * 1. public => io.sockets.emit("이벤트명", data);
     * 2. broadcast => io.broadcast.emit("이벤트명", data);
     * 3. private => io.sockets.sockets[id].emit("이벤트명", data);
     */
    console.log("connection");
   
    socket.on('name', name);
 
    //when the user disconnects.. perform this
    socket.on('disconnect', function(){
        console.log('disconect');
    });
 
    function name($data){
        socket.emit('name', $data);
    }
});


2. /html/index.html

<!DOCTYPE HTML>
<html>
 <head>
  <title> socket.io </title>
  <script src="/socket.io/socket.io.js"></script>
  <script src="/js/jquery-1.8.0.min.js"></script>
  <script>
    $(document).ready(function(){
        var socket = io.connect('http://127.0.0.1:3000');
   
        // on connection to server, ask for user's name with an anonymous callback
        socket.on('connect', function(){
           
        });
       
        // addEventListener(event, callback)
        socket.on('name', name);
 
        $('#btn_send').click(function(){
            var inputValue = $('#input_text').val();
            socket.emit('name', inputValue);
        });
 
        function name($data){
            $("#result_text").html($data);
        }
    });
  </script>
 </head>
 
 <body>
    <input id="input_text" style="width:100px;" />
    <input id="btn_send" type="button" value="send" />
    <div id="result_text">result</div>
 </body>
</html>

'프로그래밍 > nodeJS' 카테고리의 다른 글

[Node.js] net 모듈 + flash 소켓통신  (0) 2015.01.27
[nodeJS] Socket.IO 방만들기  (0) 2015.01.27
[nodeJS] Express / Routes / Jade 모듈  (0) 2015.01.27
[nodeJS] connect / connect_router 모듈  (0) 2015.01.27
[nodeJS] jade 모듈  (0) 2015.01.27
Posted by august5pm
,