안녕하세요. 쥐똥박사입니다.

이번엔 javascript로 실시간으로 디지털 시계를 만들어봅시다.



html


CSS

   body{background: #000}
  .timeInput{
    font-family: 나눔고딕,NanumGothic;
    font-size: 4em;
    border:1 #fff;
    color:#684816;
    text-align: center;
    padding: 30px;
    border-radius: 5px;
    background: #000;
    font-weight: bold
  }

JAVASCRIPT

//1초마다 함수 갱신
function realtimeClock() {
  document.timeForm.timeInput.value = getTimeStamp();
  setTimeout("realtimeClock()", 1000);
}


function getTimeStamp() { // 24시간제
  var date = new Date();

  var f_date =
    //년-월-일  시:분:초
    leadingZeros(date.getFullYear(), 4) + '-' + 
    leadingZeros(date.getMonth() + 1, 2) + '-' +
    leadingZeros(date.getDate(), 2) + ' ' +
    leadingZeros(date.getHours(), 2) + ':' +
    leadingZeros(date.getMinutes(), 2) + ':' +
    leadingZeros(date.getSeconds(), 2);

  return f_date;
}

//숫자 두자리 ex) 1이면 01 앞에 0을 붙임
function leadingZeros(date, digits) {
  var zero = '';
  date = date.toString();

  if (date.length < digits) {
    for (i = 0; i < digits - date.length; i++)
      zero += '0';
  }
  return zero + date;
}

결과


'언어 > JavaScript' 카테고리의 다른 글

자바스크립트 JavaScript 로또번호 생성 소스  (0) 2017.11.22
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.


제가 고민 중인게 

내 블로그에 해킹에 대해서 올릴까 말까 고민하고 있네요.

저는 지금 소프트웨어 개발자지만, 

지금은 화이트해커 배우고 있고, 웹 모의해킹을 배우고 있는 상태입니다.

물론 중 고급수준이 아니고 초급입니다. 


정보보안전문가가 되고 싶으신 분들과 같이 배워야 하나 싶습니다.

가장 큰 문제는 악용으로 이용하신 분들 때문에 고민 입니다.


그래서 하도 이것 저것 고민이 많이 하고 있네요.. ㅠ


나중에 편하게 생각하자. 기말시험기간이야.. 또륵

'일상' 카테고리의 다른 글

첫블로그 시작  (2) 2017.11.16
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.

이번엔 파이썬으로 야구게임 만들어 봅니다.


 
import random
# 게임을 위한 랜덤 숫자 생성
ran_num = ["0", "0", "0"]
ran_num[0] = str(random.randrange(1, 9, 1))
ran_num[1] = ran_num[0]
ran_num[2] = ran_num[0]
while (ran_num[0] == ran_num[1]):
    ran_num[1] = str(random.randrange(1, 9, 1))
while (ran_num[0] == ran_num[2] or ran_num[1] == ran_num[2]):
    ran_num[2] = str(random.randrange(1, 9, 1))

t_count = 0 # 횟수
s_count = 0 # 스트라이크
b_count = 0 # 볼

print("\n")
while ( s_count < 3 ):
    num = str(input("숫자 3자리를 입력하세요. ex)123 : "))
    if(num == ""):
        print("\n\n숫자를 입력해주세요. \n\n")
        continue
    if(len(num) != 3):
        print("\n\n숫자 3자리만 입력해주세요.\n\n")
        continue
    if(num.isalpha()):
        print("\n\n문자를 입력할 수 없습니다.\n\n")
        continue

    s_count = 0
    b_count = 0

    for i in range(0, 3):
        for j in range(0, 3):
            if(num[i] == str(ran_num[j]) and i == j):
                s_count += 1
            elif(num[i] == str(ran_num[j]) and i != j):
                b_count += 1
    print("\n[", s_count, "] 스트라이크! [", b_count, "] 볼!\n")
    t_count += 1
print(t_count, "번 만에 스트라이크!!")
 
결과:


'언어 > Python' 카테고리의 다른 글

[윈도우10] 파이썬(Python) 설치  (0) 2017.11.28
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.


이번엔 파이썬 설치 하는 방법을 알려드리도록 하겠습니다.


파이썬 주소 : https://www.python.org/



Downloads > Python 3.6.3 클릭 하여 다운받아줍니다.


다운받은 설치 파일을 실행합니다.


C에 설치해도 괜찮다면 첫번째 클릭하세요.

저는 D에 설치 하기 위해서 두번째 꺼로 선택 했습니다.



Next눌러줍니다.



위 빨간박스에 4개만 체크 했습니다.


아래 주소가 원래

C:\Program Files (x86)\Python36-32

이였지만,

원하는 경로로 넣어 설치하시면 됩니다.


설치 후 파이썬 실행하는 방법을 알아봅시다.


원하는 경로에 파이썬새폴더 라는 폴더에 하나 만들어놨습니다.




폴더 내에 빈 곳에 Shift+우클릭 하십시오.

그러면 여기서 명령 창 열기 라고 보일겁니다.



그러면 도스창(CMD) 뜨게 됩니다.

아까 만들어 둔 폴더 내의 경로를 자동으로 이동 해주기 때문에

편리합니다.


그담 Python 명령어를 치면 Python 모드를 실행하게 됩니다.

'언어 > Python' 카테고리의 다른 글

Python(파이썬) 야구게임 소스  (0) 2017.11.30
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.


설치한 자바를 업데이트 하는 방법 간단합니다.


자바 업데이트 주소 : https://java.com/ko/




이 주소로 들어가서 java다운 받아서 업데이트 하면 됩니다.

'언어 > JAVA' 카테고리의 다른 글

Java 숫자 야구게임 소스  (0) 2017.11.27
Windows10 이클립스(eclipse) 설치방법  (2) 2017.11.20
자바(java) 설치방법  (5) 2017.11.17
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.



지금 이클립스 설치하다가. 

설치파일을 실행하는 순간 갑자기 이클립스 페이지로 이동되는데요.

이것은 바로 자바 버전 때문입니다.


자바 1.7이상 업데이트 해야지 

이클립스 설치 파일 정상적으로 작동 됩니다.


자바 업데이트 : http://rlaehdgs12.tistory.com/16?category=796488

블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.

이번엔 자바(java)로 야구게임 만들어 봅시다.



 
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

import java.util.Random;  //랜덤 임폴트
import java.util.Scanner;  //입력 임폴트

/* Name of the class has to be "Main" only if the class is public. */
class BaseBall
{
	static int strike =0; //스트라이크 변수 선언
	static int ball = 0; //볼 변수 선언
	
	public static void main (String[] args) throws java.lang.Exception
	{
		int computer[] = new int[3]; //컴퓨터가 정한 값
		int user[] = new int[3]; //유저가 정한 값
		
		Random random = new Random();
		
		
		//여기서부터 컴퓨터가 정할 값
		//중복방지.
		//random.nextInt(10); 이것은 1~9사이에 랜덤
		
		//computer 3중에 1번째가 0이면 랜덤 값 넣음
		while(computer[0] == 0){
			computer[0] = random.nextInt(10);
		}
		
		//computer 3중에 1번째와 2번째가 중복되거나,
		//2번째가 0이라면 랜덤 값 넣음
		while(computer[0] == computer[1] || computer[1] == 0){
			computer[1] = random.nextInt(10);
		}
		
		//computer 3중에 1번째와 3번째가 중복되거나,
		//2번째와 3번째가 중복되거나,
		//3번째가 0이라면 랜덤 값 넣음
		while(computer[0] == computer[2] || computer[1] == computer[2] || computer[2] == 0){
			computer[2] = random.nextInt(10);
		}
		
		
		
		//유저가 정한 값
		
		//입력 s 변수 선언
		Scanner s= new Scanner(System.in);
		
		while(strike < 3){ //스트라이크 3이 될 때 까지 무한 루프
		
			//3번 반복하여 유저 입력 받음.
			for(int i = 0; i < user.length; i++){
				System.out.print("\n"+(i+1) + "번째 수: ");
				user[i]=s.nextInt();
				
				//만약 10이상이거나, 0이하면 오류 출력
				while(user[i] >=10 || user[i] <= 0){
					System.out.println("error: 1~9사이에 입력 하세요.");
					System.out.print(i+1 + "번째 수: ");
					user[i]=s.nextInt();
				}
			}
			
			//여기서 결과 체크
			
			//strike, ball 체크 
			for(int i = 0; i< 3; i++){
				for(int j=0; j<3; j++){
					
					//컴퓨터 정한 값과
					//유저가 정한 값을 같으면
					if(computer[i] == user[j]){
						//computer i번째와
						//user j번째가 같으면
						//스트라이크!
						if(i==j){
							strike+=1;
						}else{	//아니면 볼!
							ball+=1;
						}
					}
				}
			}
			
			//만약 strike, ball 아무도 못맞췄다면
			if(strike == 0 && ball==0){
				System.out.println("\n아웃!!\n");
			}else if(strike == 3){ //만약 스트라이크 3개라면
				System.out.print("\n스트라이크!!");
				System.exit(0); //무한루프 탈출하여 종료!
			}else{
				System.out.println("\n"+strike+" 스트라이크"+ball+" 볼\n");
				strike=0;
				ball=0;
			}
		}
	}
}


'언어 > JAVA' 카테고리의 다른 글

자바(java) 업데이트 하는법  (0) 2017.11.27
Windows10 이클립스(eclipse) 설치방법  (2) 2017.11.20
자바(java) 설치방법  (5) 2017.11.17
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.

Jquery로 get 전송하는 방법을 알려드리도록 하겠습니다.



원문: http://api.jquery.com/jQuery.post/


jQuery.get( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )


개요: HTTP POST 방식 요청을 통해 서버로부터 데이터를 받습니다.


data?

서버로 보내 데이터


success(data, textStatus, jqXHR)?

요청이 성공하면 실행될 콜백 함수.


dataType?

서버에서 반환되는 데이터의 타입, Default:지능형 추측(xml, json, script, html)



사용법은 아래와 같음

 
$.ajax({  
  url: url,  
  data: data,  
  success: success,  
  dataType: dataType  
}); 
 


사용예

 
// 요청 url만, 리턴 결과값 무시함.
$.get(" http://web/test/");  

=======================================================================================

// name이랑 time 포함해서 보내는 형식
$.get("http://web/test/", {name:"gddong",time:"2시"});

=======================================================================================

//Array 배열 형으로 넣어 보내는 형식
$.get("http://web/test/", {'arrayName[]' : ["array1","array2"]}); 

=======================================================================================

//폼데이터 내에 ID 가져옴
$.get("http://web/test/", $("#ID").serialize()); 

=======================================================================================

//값일 전송 후 리턴 값 받음.
$.get("http://web/test/", function(data){ 
    alert("데이터 불러온 결과: "+data);
});

=======================================================================================

// Json방식으로 전송하여 리턴 값 받음.
$.get("http://web/test/", {"func":"getNameAndTime"}, function(data){
    console.log(data.name);    //gddong
    console.log(data.time);    //2시
}, "json");
 


블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.

Jquery로 post 전송하는 방법을 알려드리도록 하겠습니다.



원문: http://api.jquery.com/jQuery.post/


jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )


개요: HTTP POST 방식 요청을 통해 서버로부터 데이터를 받습니다.


data?

서버로 보내 데이터


success(data, textStatus, jqXHR)?

요청이 성공하면 실행될 콜백 함수.


dataType?

서버에서 반환되는 데이터의 타입, Default:지능형 추측(xml, json, script, html)



사용법은 아래와 같음

 
$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: data
})
 


사용예

 
// 요청 url만, 리턴 결과값 무시함.
$.post(" http://web/test/");  

=======================================================================================

// name이랑 time 포함해서 보내는 형식
$.post("http://web/test/", {name:"gddong",time:"2시"});

=======================================================================================

//Array 배열 형으로 넣어 보내는 형식
$.post("http://web/test/", {'arrayName[]' : ["array1","array2"]}); 

=======================================================================================

//폼데이터 내에 ID 가져옴
$.post("http://web/test/", $("#ID").serialize()); 

=======================================================================================

//값일 전송 후 리턴 값 받음.
$.post("http://web/test/", function(data){ 
    alert("데이터 불러온 결과: "+data);
});

=======================================================================================

// Json방식으로 전송하여 리턴 값 받음.
$.post("http://web/test/", {"func":"getNameAndTime"}, function(data){
    console.log(data.name);    //gddong
    console.log(data.time);    //2시
}, "json");
 
블로그 이미지

Gddong

,

안녕하세요. 쥐똥박사입니다.


자 이번엔 js로 로또번호 생성하는 소스를 만들어보겠습니다.


JAVASCRIPT




HTML





결과:



여기서 가장 중요한 것은

9번줄에 있는 parseInt(Math.random() * 45) + 1; 부분대해서 설명 하겠습니다.

parseInt는 정수형 변환 하는겁니다.
안그러면 랜덤 숫자 추출하고나서 +1를 더하지 못하게 됩니다. 
왜냐하면 숫자가아닌 문자 타입으로 되어 있기 때문입니다.

Math 함수는 여러가지 수학적 상수와 함수들이 모여 있습니다.
즉 Math.PI 이렇게만 해도 파이값을 구할 수 있습니다.

Math.random()은 숫자가 랜덤값으로 구하게됩니다. 
그런데 옆에 왜 *45를 하는 걸까요?

랜덤 값은 소수만 출력 됩니다.  ex) 0.15376958879564406

0.15376958879564406 x 45 = 6.91963149580398..

이렇게 해서 정수화해서 소수 없애면 6이 됩니다.
그런데 로또숫자는 0부터가 아닌 1부터 시작 하므로 +1하게됩니다.
그러면 6+1 = 7 이렇게 랜덤숫자 가져오게 됩니다. 

이해되셨나요?


'언어 > JavaScript' 카테고리의 다른 글

[js]자바스크립트로 실시간 디지털시계 만들기  (0) 2017.12.04
블로그 이미지

Gddong

,