HTML부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="UTF-8">
    <title>jquery를 이용한ajax json</title>
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
</head>
 
<body>
    <input type="email" id="email" placeholder="email" />
    <button id="chkemail">중복확인</button>
</body>
<script>
var data = {}; //data 변수를 배열로 생성합니다.
  //중복확인 클릭시
  //jquery에서는 #은 아이디 .은 클래스를 표현합니다. $("#ID명") $(".CLASS명")
    $("#chkemail").click(function () {    // 아이디값이 chkemail인 것을 클릭했을시 function을 실행합니다.
        data.email = $("#email").val();    // data 변수에 email항목을 만듭니다. 그리고 id값이 email의 value값을 대입합니다.
        data.url = "./emailAuth";        // data변수에 url항목을 생성하고 그 값에 emailAuth를 대입합니다.
        sendServer(data);                // sendServer함수에 data를 담아서 보냅니다.
    });
 
    function sendServer(data) {            
/*        
        $.ajax({
            type: "get",                // type에는 "get || post"를 사용할 수 있습니다.
            url : data.url,                // url은 서버에 보내질 url위치를 적어줍니다.
            data : data,                // 서버에 보낼 data를 입력합니다. data : data, 라고 적혀있지만 앞에는 ajax의 형식이고 뒤에는 피라메터 값 입니다.
            dataType: "JSON",            // json을 사용할 것이기에 json을 적어줍니다.
            success: function(success) {
                console.log(success);    // 성공시 서버에서 가져온 값을 콘솔에 보여줍니다.
            },
            error: function(error) {
                console.log(error);        // 실패시 에러값을 보여줍니다.
            }
        
        });
*/                
        $.ajax({
            type: "get",
            url: data.url,
            data: data,
            dataType: "JSON",
            success: function (data) {
                if(url == "./rest/emailAuth"){
                    if (data.emailChk < 0) {
                        alert('이미 사용중인 이메일 입니다.');
                    } else {
                        alert('사용 가능한 이메일 입니다.');
                    }                      
                }
            },
            error: function (error) {
                console.log(error);
            }
        });
    }
 
</script>
 
</html>

cs

@ResponseBody가 오류가 날때
pom.xml에 아래 항목을 추가합니다.
1
2
3
4
5
6
<!-- JACKSON -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>
cs

Controller 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Controller("restController")    //컨트롤러 명 지정
@RequestMapping(value = "/rest"// 컨트롤러의 위치를 정해줍니다. 
public class restController {
 
    @Autowired
    OverlayService service;
 
    private Logger logger = LoggerFactory.getLogger(this.getClass());
 
    // 중복확인(이메일)
    @RequestMapping(value = "/emailAuth")
    public @ResponseBody Map<StringString> emailAuth(@RequestParam("email"String email) {
        return service.emailAuth(email);
    }
 
}
cs


Service 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@Service
public class OverlayService {
 
    @Autowired
    SqlSession sqlSession;
 
    private Logger logger = LoggerFactory.getLogger(this.getClass());
 
    OverlayInterface inter = null;
 
// 이메일 중복확인
    public Map<StringString> emailAuth(String email) {
        Map<StringString> jsonObj = new HashMap<StringString>();
 
        inter = sqlSession.getMapper(OverlayInterface.class);
        String emailAuth = inter.emailAuth(email);
 
        if (emailAuth != null) {
            jsonObj.put("chk""-1");
        } else {
            jsonObj.put("chk""1");
        }
        return jsonObj;
    }
    
}
cs


DAO 부분
1. Interface
1
2
3
4
5
6
public interface OverlayInterface {
 
    //이메일 중복확인
    String emailAuth(String email);
 
}
cs

2. sql.xml부분
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
<mapper namespace="com.rest.dao.OverlayInterface">
    <!--중복체크-->
    <select id="emailAuth" resultType="String">
        SELECT mm_email FROM members WHERE mm_email = #{param1}
    </select>
</mapper>
cs


DTO 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
public class UserInfoDTO {
 
    private String mm_email; // 이메일
 
    public String getMm_email() {
        return mm_email;
    }
 
    public void setMm_email(String mm_email) {
        this.mm_email = mm_email;
    }
 
}
cs


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

회원가입  (0) 2017.08.24
MyBatis 세팅  (0) 2016.06.15
STS설정 및 스프링 한글깨짐 방지 설정  (0) 2016.06.13

Controller 부분

1
2
3
4
5
6
@RequestMapping(value = "regist")
public ModelAndView regist(HttpServletRequest req) {
    String id = req.getParameter("email");
    String pw = req.getParameter("password");
    return service.regist(id, pw);
}
cs

req.getParameter("JSP_NAME");
jsp에서 form 안에있는 name값을 가져온다.

service 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Service
public class TestService {
 
    @Autowired
    SqlSession sqlSession;
    
    TestInterface inter = null;
    
    // 회원가입
    public ModelAndView regist(String id, String pw) {
        ModelAndView mav = new ModelAndView();
        inter = sqlSession.getMapper(TestInterface.class);
        int success = inter.regist(id, pw);
        
        mav.setViewName("redirect:/");
        return mav;
    }
 
}
cs


DTO 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class TestDTO {
    private String test_id;
    private String test_pw;
 
    public String getTest_id() {
        return test_id;
    }
 
    public void setTest_id(String test_id) {
        this.test_id = test_id;
    }
 
    public String getTest_pw() {
        return test_pw;
    }
 
    public void setTest_pw(String test_pw) {
        this.test_pw = test_pw;
    }
}
cs


DAO interface 부분

1
2
3
public interface testInterface {
    int regist(String id, String pw);
}
cs
DAO sqlMapper 부분

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="com.test.dao.TestInterface">
    <insert id="regist">
        INSERT INTO testmem(test_id, test_pw)
            VALUES(#{param1}, #{param2})
    </insert>
</mapper>
cs


JSP 부분


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="UTF-8">
    <title>회원가입</title>
</head>
 
<body>
    <form action="regist" method="post">
        <input type="email" id="email" name="email" placeholder="email"/>
        <input type="password" id="password" name="password" placeholder="password"/>
        <input type="submit" />
    </form>
 
</body>
 
</html>
cs

form 태그의 action은 컨트롤러에서 @RequestMapping(value = "JSP_ACTION") 에 들어간다.
input 태그 안에 name은 서버로 넘겨지는 값.


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

jquery를 이용한 ajax json  (0) 2017.08.28
MyBatis 세팅  (0) 2016.06.15
STS설정 및 스프링 한글깨짐 방지 설정  (0) 2016.06.13

파일 업로드 

1. 개인 : 파일성정(내부 파일 설정 정리 기능), 기본적으로 기한 무제한

2. 공용 : 기한설정 업/다운로드 횟수 설정

3. 그룹 : 공유 대상 설정, 기간설정, 업로드 알림설정(E-mail, App)


폴더설정(기본폴더 내부 이름으로 저장), 범위설정(기본: 개인), 시간(기본 : 무제한)

다운로드 횟수(보류), 그룹경우 알림 설정(동기화된 단말기로 알림), 태그


다운로드 : 선택 버튼, 컨트롤+쉬프트 버튼으로 버튼 설정, 전체 선택, 다운로드 버튼, 드래그로 다운로드


삭제 : 다운로드 목록, 업로드 파일의 삭제

정렬기준(기본 날짜), 컨트롤 + 쉬프트 범위 또는 다중 설정

삭제 여부 메시지, 휴지통(임시 삭제), 즉시삭제 기능

휴지통 : 기간(30일) + 바로삭제, 휴지통 설정


검색 : 공용의 경우 업로드 된 데이터 검색을 위한 기능

제목, 파일 형식, 닉네임, 태그


정렬 : 업로드한 자료의 보는 방식 설정, 갯수 설정, 내용물 확인


태그 : 게시물의 내용의 정의를 입력 <= 좀 더 간편한 검색 지원

특정 기준 

ex) #을 기준으로 게시자가 입력 해당 태그를 검삭 함으로 게시물 탐색 지원

'연습장' 카테고리의 다른 글

클라우드 서비스 로그인  (0) 2017.06.24
프로젝트  (0) 2017.04.21

회원가입
아이디, 아이디 중복확인, 비밀번호, 비밀번호 확인, 이메일 주소, 이메일 중복확인

로그인
아이디, 비밀번호, 로그인 버튼, 회원가입버튼, 아이디 비밀번호 찾기 버튼

ID / PW 찾기
1. 아이디
 아이디는 이메일 주소로 찾는다. 이메일 주소 입력 시 이메일로 아이디를 보낸다.
 이메일 아이디를 사용하여 아이디 찾기 기능을 제거하는 방법도 있다.
2. 비밀번호
 비밀번호는 이메일 인증을 통하여 임시비밀번호를 보낸다.

탈퇴
회원 탈퇴 시 비밀번호를 입력 하여 회원 탈퇴를 진행한다.

회원정보 수정
비밀번호 변경, 이메일 주소 변경? 이메일 주소 변경 시 이메일 인증 완료 후 변경 / 닉네임변경


i7 6700
z170 asus maximus viii hero
sdd 250
hdd 500GB / 3TB
ram 16GB


그룹 정책관련
ex) 카카오톡 단톡방
사용자별 폴더를 관리 -> 특정사용자 에게 접근허가 하기


운영체제 : 리눅스 CentOS 7
사용할 프로그래밍 언어 : WebOS / html(jsp) / java /
데이터베이스 :  mariaDB
HDD : 1TB
RAM : 8GB

'연습장' 카테고리의 다른 글

클라우드 업/다운로드  (0) 2017.07.10
프로젝트  (0) 2017.04.21

1. 도서구매

   - 호주 현지 영어회화 한권으로 끝!

호주에서 회화를 하기 위해 구매

   - 영어 딕션 스피치 코칭

발음 연습을 하기 위해 구매


2. 여권 만들기

- 사진촬영 

3. 워킹홀리데이 비자 발급

4. 비자 발급을 위한 신체검사

5. 준비

여권
멀티콘센트
카메라 / 삼각대 / 스마트폰 거치대 / 리모컨
노트북 / 태블릿 / 충전기 / 쿨링팬 / 태블릿 키보드/ 케이스
스마트폰  / USIM 분리 핀
회화책
보조배터리 / 충전케이블
이어폰
비상약 / 연고 / 밴드 / 
스마트워치 / 충전기 / 충전케이블
옷 / 속옷 / 양말
목베게
안경 / 여분의 안경 / 안경케이스 / 안경클리너
선글라스 / 케이스 / 
렌즈 / 일회용 렌즈 / 하드렌즈 / 렌즈 세정액 / 

 


6. 항공편 준비

경유 1회 또는 2회로 하여 저렴하게 간다.

7. 환전

환전은 우대이율 생각/ 은행 선택하기 / 금액 선택 하기



8. 출발
경유지 및 환승


9. 현지 도착
USIM 구매
은행계좌 개설
일자리 구하기
숙소 구하기



기타 

목적지는 어디로 정할까

시드니 


브리즈번


멜버른


퍼스


등등... 나중에 생각해 보기

장단점 적어보기

워킹홀리데이 많이 가는지역 또는 적게가는 지역 비교해 보기


1. 가계부

2. 대중교통 API를 이용한 빅데이터

언어 : JAVA  / JS / html / 
데이터베이스 : Oracle 11g Ex

대중교통의 API를 데이터베이스에 저장하여 빅데이터화 시킴.
데이터들은 요일별 / 시간대 별로 저장을 한다.
저장이 된 것을 기반으로 실시간 정보와 얼마나 오차가 나는지 확인한다.
이 프로젝트는 통계를 목적으로 한다.

db설계 / web 으로 api 크롤링 / 실시간 버스 및 지하철 위치를 보여줌 데이터베이스화 된 예상 결과값과 비교
빅데이터의 정보를 조금더 정확하게 만들어 본다. 

3. NAS OS 개발


'연습장' 카테고리의 다른 글

클라우드 업/다운로드  (0) 2017.07.10
클라우드 서비스 로그인  (0) 2017.06.24

Samsung Smart Phone Update

삼성 갤럭시 앱스에 공지 사항으로 올라온 내용입니다.


노트 4 : 송화음 관련 안정화코드 적용


갤럭시 S7, 갤럭시 S7 엣지 : 특정상황에서 상단바 내려오지 않는 형상 개선

1. 파이썬(Python)의 예약어



파이썬에서 변수명으로 사용할수 없는 것들 이있습니다.


그중에 먼저 '예약어'에대해 알아보겠습니다.


and as assert break class continue def del elif else except finally
for form global if import in is lambda nonlocal not or pass
print raise return  try while with yield


위에 있는 것들은 예약어로 불리며 변수명으로 사용이 불가능 합니다. 

파이썬에서 특정 기능을 동작하게 하는 것을 예약어라고 합니다.


2. 사용 불가능한 변수명



변수를 생성할 때 주의할 점이 몇가지 있습니다.


변수를 만들때 특수문자 및 숫자가 앞에오는 경우 불가능 합니다.


ex) 1abc %abc #abc



특수 문자에서 예외가 있습니다.

언더바( _ ) 는 사용이 가능합니다.


ex) _abc


3. 변수 구분

변수를 사용할때는 대소문자 구분을 합니다. 

즉 변수명 a와 변수명 A는 다른 변수입니다. 

사용하실때 주의하시기 바랍니다.


4. 변수 생성


파이썬에서 변수를 만들때 타입(Type)을 따로 정해주지 않습니다. 이것이 다른 언어와 차이가 있습니다.

a = 1
변수 a에 1을 대입

b = 'abc'
변수 b에 abc를 대입

5. 변수 삭제


변수를 삭제할 때는 'del' 이라는 예약어를 사용하여 지웁니다.

ex) del [변수명]


Samsung Smart Phone Update

삼성 갤럭시 앱스에 공지사항으로 올라온 내용입니다.




터키지역 서머타임 관련 업데이트 : 기어 S3 프론티어 (LTE), 기어 S3 클래식 (LTE), 갤럭시 S6, 갤럭시 S6 엣지, 갤럭시 S6 엣지 플러스

간헐 터치 안 되는 현상 개선 : 갤럭시 S7, 갤럭시 S7 엣지


갤럭시 J5 : 간헐적으로 전화 수신 안되는 현상 개선

기어 S3 : 블루투스 연결 개선

갤럭시 S6 시리즈도 HD DMB 녹화 기능 지원 됩니다.




1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(void) {
    int i,sc;
 
    scanf("%d"&sc); // 반복할 횟수 입력
    if(sc <= 10) { // 문제 조건에 10번 이하 반복하기
        for(i=1; i<=sc; i++) { // 입력 횟수 만큼 반복한다.
            printf("Hello Algospot!\n");
        }
    }
    return 0;
}
cs


더 간단하게 하는 방법이 있을지 생각해 봐야겠다..


+ Recent posts