목록

'홈' 729건

  • 모델2로 답변형 게시판 구현하기
    프로그래밍 언어/자바 웹 · 댓글
    1. sec03.brd01 패키지를 새로 만들고 관련된 클래스 추가합니다. 또한 board01 폴더를 만들고 listArticles.jsp를 추가합니다. 2. BoardController 클래스를 다음과 같이 작성합니다. 이 클래스는 /board/listArticles.do로 요청 시 화면에 글 목록을 출력하는 역할을 합니다. getPathInfo() 메서드를 이용해 action 값을 가져오고 null이거나 /listArticles.do일 경우 BoardService 클래스의 listArticles() 메서드를 호출해 전체 글을 조회합니다. 그리고 조회한 글을 articlesList 속성으로 바인딩하고 목록창(listArticles.jsp)으로 포워딩합니다.package sec03.brd01;impor..
  • 행정구역 경계 시각화
    프로그래밍 언어/Python · 댓글
    지오데이터프레임의 함수 plot()을 사용하면 행정구역 경계 데이터를 간단히 시각화할 수 있습니다. 소스 코드를 다음과 같이 입력한 뒤, 대화형 창에서 실행합니다. 서울특별시의 시군구 단위 행정구역 경계가 표시된 지도가 출력됩니다.import geopandas as gpdfrom datakart import SgisSGIS_KEY, SGIS_SECRET = "서비스 ID", "보안 Key" # 통계지리정보서비스 APIsgis = Sgis(SGIS_KEY, SGIS_SECRET) # Sgis 객체resp: str = sgis.hadm_area(adm_cd="11", low_search="1") # 데이터 조회gdf_resp: gpd.GeoDataFrame = gpd.read_file(resp)gdf_res..
  • 생성자는 꼭 있어야 하는가?
    프로그래밍 언어/C++ · 댓글
    클래스에 여러 개의 생성자가 있다 해도, C++ 컴파일러는 생성자 중 반드시 하나를 호출하도록 컴파일합니다. 생성자 없는 클래스란 있을 수가 없습니다. 생성자가 없는 클래스에 대해서는 컴파일러가 기본 생성자(default constructor)를 만들어 삽입하고, 자신이 삽입한 기본 생성자를 호출하도록 컴파일합니다. 기본 생성자기본 생성자란 클래스에 선언된 어떤 생성자도 없을 때 컴파일러가 자동으로 생성해주는 생성자로서 디폴트 생성자(default constructor)라고도 부르며, 다음과 같이 매개 변수 없는 생성자입니다.class Circle { Circle(); // 기본 생성자}; 기본 생성자가 자동으로 생성되는 경우생성자가 하나도 없는 클래스의 경우 컴파일러는 보이지 않게 기본 생성자를 삽입합..
  • 회원 정보 수정 및 삭제 기능 구현
    프로그래밍 언어/자바 웹 · 댓글
    이번에는 회원 정보를 수정하고 삭제하는 기능을 구현해 보겠습니다. 회원 정보를 수정하는 과정은 다음과 같습니다.① 회원 정보 수정창에서 회원 정보를 수정하고 수정하기를 클릭해 /member/modMember.do로 컨트롤러에 요청합니다.② 컨트롤러는 전송된 회원 수정 정보를 가져온 후 테이블에서 회원 정보를 수정합니다.③ 수정을 마친 후 컨트롤러는 다시 회원 목록창을 보여줍니다. 삭제하는 과정도 크게 다르지 않습니다. ① 회원 목록창에서 삭제를 클릭해 요청명 member/delMember.do와 회원 ID를 컨트롤러로 전달합니다.② 컨트롤러는 request의 getPathInfo() 메서드를 이용해 요청명을 가져옵니다.③ 회원 ID를 SQL문으로 전달해 테이블에서 회원 정보를 삭제합니다. 1. sec0..
  • 행정구역 경계 표시하기
    프로그래밍 언어/Python · 댓글
    행정구역 경제 데이터 수집datakart 패키지의 함수 badm_area()는 매개변수로 행정구역 코드를 의미하는 adm_cd와 하위 통계 정보의 유무를 의미하는 low_search를 받아, 행정구역 데이터를 JSON 형식의 문자열로 반환합니다. 이때 하위 통계 정보가 있으면 시군구 단위로 경계 데이터를 구분합니다. 함수 badm_area()의 매개변수에는 다음과 같은 정보를 입력할 수 있습니다.adm_cdlow_search의미NoneNone전국 경계 데이터(시도 단위로 구분)"11""0"서울특별시 경계 데이터"11""1"서울특별시 경계 데이터(시군구 단위로 구분)"11""2"서울특별시 경계 데이터(읍면동 단위로 구분)"11010""0"서울특별시 종로구 데이터"11010""1"서울특별시 종로구 데이터(읍..
  • 생성자와 멤버 변수의 초기화
    프로그래밍 언어/C++ · 댓글
    클래스의 멤버 변수들은 자동으로 초기화되지 않기 때문에 생성자에서 초기화합니다.멤버 변수 초기화에 대해 알아봅시다. 생성자 코드에서 멤버 변수 초기화다음은 2개의 생성자가 각각 멤버 변수를 초기화하는 Point 클래스의 사례입니다.class Point { int x, y;public: Point(); Point(int a, int b);};Point::Point() { x = 0; y = 0; }Point::Point(int a, int b) { x = a; x = b; } 생성자 서두에 초기값으로 초기화이 2개의 생성자는 다음과 같이 생성자의 코드의 구현부에 멤버 변수와 초깃값을 쌍으로 지정하고 이들을 콤마(,)로 나열하여 작성할 수 있습니다.Point::Point() { x = 0; y = 0; } ..
  • 회원 정보 추가 기능 구현
    프로그래밍 언어/자바 웹 · 댓글
    커맨드 패턴이란 한마디로 브라우저가 URL 패턴을 이용해 컨트롤러에게 수행 작업을 요청하는 방법입니다. 컨트롤러는 HttpServletRequest의 getPathInfo() 메서드를 이용해 URL 패턴에서 요청명을 받아와 작업을 수행합니다. URL을 이용해 컨트롤러에 요청하는 형식은 다음과 같습니다. 보통 두 단계로 요청이 이루어집니다. http://localhost:8090/pro17/member/listMembers.do① /member : 첫 번째 단계의 요청은 회원 기능을 의미합니다.② /listMembers.do : 두 번째 단계의 요청은 회원 기능 중 회원 조회 기능을 의미합니다. 1. sec02.ex01 패키지를 만들고 MemberDAO의 MemberVO 클래스는 sec01.ex01 패키지..
  • 쿠키 접근하기
    프로그래밍 언어/PHP · 댓글
    username 쿠키에 접근하여 방법에 대해 알아봅시다. 06/access_cookie.php 02 $_COOKIE["username"]은 username 쿠키의 값을 의미합니다. username 쿠키를 설정하면 $_COOKIE["username"]은 '홍길동'의 값을 가집니다. isset() 함수는 변수 값이 존재하는 지를 체크하는 데 사용됩니다. 해당 변수 값이 설정되어 있으면 True, 그렇지 않으면 False 값을 반환합니다. isset($_COOKIE["username"])는 username 쿠키에 값이 있으면 True, 그렇지 않으면 False 값을 가집니다. 02~07 $_COOKIE["username"]의 값이 존재하면 3행의 문장에 의해 실행 결과에서와 같이 '홍길동님 환영합니다.'란 메..
  • 쿠키 설정하기
    프로그래밍 언어/PHP · 댓글
    쿠키는 사용자의 컴퓨터에 텍스트 파일로 저장되며 다음과 같으 목적으로 사용될 수 있습니다. 06/set_cookie.php 03 setcookie() 함수를 이용하여 쿠키 username에 '홍길동' 깂을 설정합니다. 쿠키는 30일 이후에 만료됩니다. 여기서 time()은 현재 시간의 타임스탬프 값을 반환합니다. setcookie() 함수의 사용 형식은 다음과 같습니다.setcookie(string name, string value, int expire) ■ 반환 값 : 쿠키 설정이 설정하면 True를 반환하고, 실패 시 False를 반환합니다. 매개변수설명name쿠키명을 의미합니다.value쿠키명에 설정되는 쿠키 값을 의미합니다.expire쿠키가 만료되는 일시를 의미합니다. time() + 24*60*..
  • 단위 면적당 평균 실거래가 구하기
    프로그래밍 언어/Python · 댓글
    단위 면적당 평균 실거래가를 구하는 방법은 매우 싶습니다. 거래 금액은 전용 면적으로 나누면 끝입니다. 다만 앞서 소스 코드 'step_2_3.py'에서 정제한 데이터의 거래금액 열에 저장된 값은 문자열입니다. 나눗셈 연산을 적용하기 위해 거래금액 문자열에서 콤마(,)를 제거하고 부동소수점으로 형변환한 뒤, 데이터프레임에 면적당금액 열을 추가합니다.면적당 금액을 구했다면 지역 코드와 지역 주소명, 단위 면적당 평균 실거래가를 포함한 데이터프레임을 출력하기 위해 소스 코드 'step_2_1.py'의 df_sido_sgg를 불러옵니다. 단위 면적당 평균 실거래가를 구한 뒤 데이터프레임 df_sido_sgg에서 지역 코드와 지역 주소명을 병합할 것입니다.비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일명을..
  • 텍스트 파일 쓰기
    프로그래밍 언어/PHP · 댓글
    PHP에서 텍스트 파일에 데이터를 저장할 때는 fwrite() 함수가 사용됩니다. 다음 예제를 통하여 fwrite() 함수를 이용하여 문자열을 텍스트 파일에 저장하는 방법을 익혀봅시다. 05/ex5-25.php 02 fopen() 함수로 hello2.txt 파일을 쓰기 모드로 열어 $file에 저장합니다. 'w'는 파일 쓰기 모드로 의미합니다. 05 fwrite($file, $str)은 $file, 즉 hello2.txt 파일에 $str '만나서 반갑습니다.'를 저장합니다. 08 fclose()을 이용하여 hello2.txt 파일을 닫는다. 작업 폴더에 있는 hello2.txt 파일을 열어보면 '만나서 반갑습니다.'가 파일 내에 들어있는 것을 확인해 볼 수 있을 것입니다.
  • CSV 파일 읽기
    프로그래밍 언어/PHP · 댓글
    CSV(Comma-Separated Value) 파일은 말 그대로 각각의 데이터가 콤마(,)로 구분되어 있는 텍스트 파일을 의미합니다. 다음의 CSV 파일(data.csv)에 저장된 국어, 영어, 수학 성적 데이터를 읽어서 합계와 평균을 구하는 프로그램에 대해 알아봅시다.※ data.csv에 파일은 ex5-24.php과 같은 폴더에 존재하므로 가정합니다. ■ data.csv 파일국어,영어,수학83,94,9593,87,8873,98,9785,93,8273,95,98 CSV 파일의 첫 번째 줄에는 위 data.csv 파일에서와 같이 각 열의 제목이 저장됩니다. 그리고 다음 줄부터 콤마(,)로 구분된 데이터들이 들어갑니다. 예제 5-24 CSV 파일 읽기5명 학생의 ".$num."과목 합계/평균 구하기"; ..

모델2로 답변형 게시판 구현하기

1. sec03.brd01 패키지를 새로 만들고 관련된 클래스 추가합니다. 또한 board01 폴더를 만들고 listArticles.jsp를 추가합니다. 2. BoardController 클래스를 다음과 같이 작성합니다. 이 클래스는 /board/listArticles.do로 요청 시 화면에 글 목록을 출력하는 역할을 합니다. getPathInfo() 메서드를 이용해 action 값을 가져오고 null이거나 /listArticles.do일 경우 BoardService 클래스의 listArticles() 메서드를 호출해 전체 글을 조회합니다. 그리고 조회한 글을 articlesList 속성으로 바인딩하고 목록창(listArticles.jsp)으로 포워딩합니다.package sec03.brd01;impor..

행정구역 경계 시각화

지오데이터프레임의 함수 plot()을 사용하면 행정구역 경계 데이터를 간단히 시각화할 수 있습니다. 소스 코드를 다음과 같이 입력한 뒤, 대화형 창에서 실행합니다. 서울특별시의 시군구 단위 행정구역 경계가 표시된 지도가 출력됩니다.import geopandas as gpdfrom datakart import SgisSGIS_KEY, SGIS_SECRET = "서비스 ID", "보안 Key" # 통계지리정보서비스 APIsgis = Sgis(SGIS_KEY, SGIS_SECRET) # Sgis 객체resp: str = sgis.hadm_area(adm_cd="11", low_search="1") # 데이터 조회gdf_resp: gpd.GeoDataFrame = gpd.read_file(resp)gdf_res..

생성자는 꼭 있어야 하는가?

클래스에 여러 개의 생성자가 있다 해도, C++ 컴파일러는 생성자 중 반드시 하나를 호출하도록 컴파일합니다. 생성자 없는 클래스란 있을 수가 없습니다. 생성자가 없는 클래스에 대해서는 컴파일러가 기본 생성자(default constructor)를 만들어 삽입하고, 자신이 삽입한 기본 생성자를 호출하도록 컴파일합니다. 기본 생성자기본 생성자란 클래스에 선언된 어떤 생성자도 없을 때 컴파일러가 자동으로 생성해주는 생성자로서 디폴트 생성자(default constructor)라고도 부르며, 다음과 같이 매개 변수 없는 생성자입니다.class Circle { Circle(); // 기본 생성자}; 기본 생성자가 자동으로 생성되는 경우생성자가 하나도 없는 클래스의 경우 컴파일러는 보이지 않게 기본 생성자를 삽입합..

회원 정보 수정 및 삭제 기능 구현

이번에는 회원 정보를 수정하고 삭제하는 기능을 구현해 보겠습니다. 회원 정보를 수정하는 과정은 다음과 같습니다.① 회원 정보 수정창에서 회원 정보를 수정하고 수정하기를 클릭해 /member/modMember.do로 컨트롤러에 요청합니다.② 컨트롤러는 전송된 회원 수정 정보를 가져온 후 테이블에서 회원 정보를 수정합니다.③ 수정을 마친 후 컨트롤러는 다시 회원 목록창을 보여줍니다. 삭제하는 과정도 크게 다르지 않습니다. ① 회원 목록창에서 삭제를 클릭해 요청명 member/delMember.do와 회원 ID를 컨트롤러로 전달합니다.② 컨트롤러는 request의 getPathInfo() 메서드를 이용해 요청명을 가져옵니다.③ 회원 ID를 SQL문으로 전달해 테이블에서 회원 정보를 삭제합니다. 1. sec0..

행정구역 경계 표시하기

행정구역 경제 데이터 수집datakart 패키지의 함수 badm_area()는 매개변수로 행정구역 코드를 의미하는 adm_cd와 하위 통계 정보의 유무를 의미하는 low_search를 받아, 행정구역 데이터를 JSON 형식의 문자열로 반환합니다. 이때 하위 통계 정보가 있으면 시군구 단위로 경계 데이터를 구분합니다. 함수 badm_area()의 매개변수에는 다음과 같은 정보를 입력할 수 있습니다.adm_cdlow_search의미NoneNone전국 경계 데이터(시도 단위로 구분)"11""0"서울특별시 경계 데이터"11""1"서울특별시 경계 데이터(시군구 단위로 구분)"11""2"서울특별시 경계 데이터(읍면동 단위로 구분)"11010""0"서울특별시 종로구 데이터"11010""1"서울특별시 종로구 데이터(읍..

생성자와 멤버 변수의 초기화

클래스의 멤버 변수들은 자동으로 초기화되지 않기 때문에 생성자에서 초기화합니다.멤버 변수 초기화에 대해 알아봅시다. 생성자 코드에서 멤버 변수 초기화다음은 2개의 생성자가 각각 멤버 변수를 초기화하는 Point 클래스의 사례입니다.class Point { int x, y;public: Point(); Point(int a, int b);};Point::Point() { x = 0; y = 0; }Point::Point(int a, int b) { x = a; x = b; } 생성자 서두에 초기값으로 초기화이 2개의 생성자는 다음과 같이 생성자의 코드의 구현부에 멤버 변수와 초깃값을 쌍으로 지정하고 이들을 콤마(,)로 나열하여 작성할 수 있습니다.Point::Point() { x = 0; y = 0; } ..

회원 정보 추가 기능 구현

커맨드 패턴이란 한마디로 브라우저가 URL 패턴을 이용해 컨트롤러에게 수행 작업을 요청하는 방법입니다. 컨트롤러는 HttpServletRequest의 getPathInfo() 메서드를 이용해 URL 패턴에서 요청명을 받아와 작업을 수행합니다. URL을 이용해 컨트롤러에 요청하는 형식은 다음과 같습니다. 보통 두 단계로 요청이 이루어집니다. http://localhost:8090/pro17/member/listMembers.do① /member : 첫 번째 단계의 요청은 회원 기능을 의미합니다.② /listMembers.do : 두 번째 단계의 요청은 회원 기능 중 회원 조회 기능을 의미합니다. 1. sec02.ex01 패키지를 만들고 MemberDAO의 MemberVO 클래스는 sec01.ex01 패키지..

쿠키 접근하기

username 쿠키에 접근하여 방법에 대해 알아봅시다. 06/access_cookie.php 02 $_COOKIE["username"]은 username 쿠키의 값을 의미합니다. username 쿠키를 설정하면 $_COOKIE["username"]은 '홍길동'의 값을 가집니다. isset() 함수는 변수 값이 존재하는 지를 체크하는 데 사용됩니다. 해당 변수 값이 설정되어 있으면 True, 그렇지 않으면 False 값을 반환합니다. isset($_COOKIE["username"])는 username 쿠키에 값이 있으면 True, 그렇지 않으면 False 값을 가집니다. 02~07 $_COOKIE["username"]의 값이 존재하면 3행의 문장에 의해 실행 결과에서와 같이 '홍길동님 환영합니다.'란 메..

쿠키 설정하기

쿠키는 사용자의 컴퓨터에 텍스트 파일로 저장되며 다음과 같으 목적으로 사용될 수 있습니다. 06/set_cookie.php 03 setcookie() 함수를 이용하여 쿠키 username에 '홍길동' 깂을 설정합니다. 쿠키는 30일 이후에 만료됩니다. 여기서 time()은 현재 시간의 타임스탬프 값을 반환합니다. setcookie() 함수의 사용 형식은 다음과 같습니다.setcookie(string name, string value, int expire) ■ 반환 값 : 쿠키 설정이 설정하면 True를 반환하고, 실패 시 False를 반환합니다. 매개변수설명name쿠키명을 의미합니다.value쿠키명에 설정되는 쿠키 값을 의미합니다.expire쿠키가 만료되는 일시를 의미합니다. time() + 24*60*..

단위 면적당 평균 실거래가 구하기

단위 면적당 평균 실거래가를 구하는 방법은 매우 싶습니다. 거래 금액은 전용 면적으로 나누면 끝입니다. 다만 앞서 소스 코드 'step_2_3.py'에서 정제한 데이터의 거래금액 열에 저장된 값은 문자열입니다. 나눗셈 연산을 적용하기 위해 거래금액 문자열에서 콤마(,)를 제거하고 부동소수점으로 형변환한 뒤, 데이터프레임에 면적당금액 열을 추가합니다.면적당 금액을 구했다면 지역 코드와 지역 주소명, 단위 면적당 평균 실거래가를 포함한 데이터프레임을 출력하기 위해 소스 코드 'step_2_1.py'의 df_sido_sgg를 불러옵니다. 단위 면적당 평균 실거래가를 구한 뒤 데이터프레임 df_sido_sgg에서 지역 코드와 지역 주소명을 병합할 것입니다.비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일명을..

텍스트 파일 쓰기

PHP에서 텍스트 파일에 데이터를 저장할 때는 fwrite() 함수가 사용됩니다. 다음 예제를 통하여 fwrite() 함수를 이용하여 문자열을 텍스트 파일에 저장하는 방법을 익혀봅시다. 05/ex5-25.php 02 fopen() 함수로 hello2.txt 파일을 쓰기 모드로 열어 $file에 저장합니다. 'w'는 파일 쓰기 모드로 의미합니다. 05 fwrite($file, $str)은 $file, 즉 hello2.txt 파일에 $str '만나서 반갑습니다.'를 저장합니다. 08 fclose()을 이용하여 hello2.txt 파일을 닫는다. 작업 폴더에 있는 hello2.txt 파일을 열어보면 '만나서 반갑습니다.'가 파일 내에 들어있는 것을 확인해 볼 수 있을 것입니다.

CSV 파일 읽기

CSV(Comma-Separated Value) 파일은 말 그대로 각각의 데이터가 콤마(,)로 구분되어 있는 텍스트 파일을 의미합니다. 다음의 CSV 파일(data.csv)에 저장된 국어, 영어, 수학 성적 데이터를 읽어서 합계와 평균을 구하는 프로그램에 대해 알아봅시다.※ data.csv에 파일은 ex5-24.php과 같은 폴더에 존재하므로 가정합니다. ■ data.csv 파일국어,영어,수학83,94,9593,87,8873,98,9785,93,8273,95,98 CSV 파일의 첫 번째 줄에는 위 data.csv 파일에서와 같이 각 열의 제목이 저장됩니다. 그리고 다음 줄부터 콤마(,)로 구분된 데이터들이 들어갑니다. 예제 5-24 CSV 파일 읽기5명 학생의 ".$num."과목 합계/평균 구하기"; ..