Clean & Blue 자세히보기
반응형

전공 46

자바 Swing으로 계산기 만들기 / 스택, 후위표기식, 사칙연산

계산기 프로그램을 만들기 위해서 세개의 클래스로 구성했다. GUI화면 구성과 각 액션 리스너들을 달기 위한 CalMain 클래스와 실제 계산하는 기능을 할 calCore 클래스, CalMain의 텍스트 필드에서 값을 받아와 연산자 기준으로 숫자를 분리해줄 Tokenizer 클래스로 구성했다. - Tokenizer 클래스 public class Tokenizer { StringTokenizer token; String [] array; public Tokenizer(String text) { token = new StringTokenizer(text, "+-*/()", true); array = new String[token.countTokens()]; } String [] tokenizing() { in..

자바 Swing 파일 복사 프로그램 진행바 / 스레드(Thread), JProgressBar

GUI 화면을 구성할 Main 클래스와 파일 복사 및 jProgressbar 진행바를 구현하기 위한 FileTransfer 클래스로 구성하였다. 진행바를 만들기 위해서는 jProgressBar를 이용해야 하고 GUI 화면에 보여주기 위해선 스레드를 이용해야 한다. 스레드를 이용하지 않으면 작업이 끝날때까지 아무런 변화가 없다가 작업이 끝날때만 한번에 변화된다. 때문에 스레드를 이용해 중간중간 sleep을 시켜줌으로써 화면에 뿌릴수 있게 텀을 주어야 한다. - FileTransfer 클래스 public class FileTransfer { String path = ""; String save = ""; JProgressBar bar; FileInputStream fin; FileOutputStream fo..

자바 프로그래밍 공부하면서 정리한 개념 및 구문, 메소드들 pt.2

2022.01.13 - [전공/전공 마스터리] - 자바 프로그래밍 공부하면서 정리한 개념 및 구문, 메소드들 자바 프로그래밍 공부하면서 정리한 개념 및 구문, 메소드들 자바 프로그래밍 기초 - 자바 환경변수 설정 내PC(속성) -> 고급 시스템 설정 -> 고급 -> 환경변수 JAVA_HOME : 자바 설치 경로 PATH : 자바 설치 경로/bin - 온라인 자바 API 참조 링크 http://docs.oracle.com./.. aapslie94.tistory.com 자바의 이벤트 처리 - 이벤트 객체 종류와 이벤트 소스 종류 이벤트 객체 이벤트 소스 ActionEvent JButton, JList, JMenuItem, JTextField ItemEvent : JCheckBox, JCheckBoxMenuI..

이클립스 자바 - System.out.print() 자동완성 만들기 / sysp

이클립스로 자바를 공부하다보면 자동완성 기능을 정말 많이 사용한다. 특히 예를 들어서 위와 같이 System.out.println(); 과 같이 많이 사용하는 문장은 sysout 이라는 단축어를 입력한 후 Ctrl+Space Bar를 눌러서 자동 완성을 시킬 수 가 있다. 하지만 위와 같이 System.out.prin(); 와 같이 개행기능이 빠진 프린트 함수도 정말 많이 쓰게 되는데 이 함수는 안타깝게도 기본적인 자동 완성 단축어가 없다. 그래서 이번에는 우리가 sysp라는 단축어로 직접 만들어보도록 하자. 상단 탭에 window -> Preference 순으로 클릭하자. 좌측에 Java -> Editor -> Templates 순으로 들어가보면 위 사진과 같이 Ctrl + Space bar로 완성할 ..

이클립스 자바 - AWT, Swing 관련 API들이 자동완성이 되지 않을 때

최근 자바를 공부하기 위해 이클립스를 깔아서 공부중이었다. 여느 자바 책이든 비슷하게도 후반부에는 보통 스윙과 awt를 이용한 윈도우 프로그램을 만드는 법을 배운다. 이클립스에는 Ctrl+Space bar 를 누르면 자동완성이 되는데 가령 main을 입력 후 Ctrl+Space bar를 누르면 public void main(String [] args)가 자동으로 만들어진다. 이처럼 이클립스의 자동완성 기능은 굉장히 쓸모가 많은데, 문제는 AWT와 Swing으로 넘어와서는 전혀 자동완성이 되지 않는다. 예를 들어, Container 객체를 하나 만들고 싶어서 Cont 까지만 치고 Ctrl+Space bar 눌렀지만 전혀 엉뚱한 이상한 Proposal들만 뜨고 전혀 AWT와 스윙에 관련된 제안은 하질 않는다..

자바 프로그래밍 공부하면서 정리한 개념 및 구문, 메소드들

자바 프로그래밍 기초 - 자바 환경변수 설정 내PC(속성) -> 고급 시스템 설정 -> 고급 -> 환경변수 JAVA_HOME : 자바 설치 경로 PATH : 자바 설치 경로/bin - 온라인 자바 API 참조 링크 http://docs.oracle.com./javase/8/docs/api Java Platform SE 8 docs.oracle.com - CMD에서 자바 컴파일 및 실행 - 하나의 클래스 파일에는 하나의 public 클래스가 존재함 클래스 파일의 이름과 public 클래스의 이름이 동일해야함 - Scanner 객체 Scanner sc = new Scanner(System.in); - for 문 for(int i=1; i sysout.print 를 만났을 때 자동으로 실행되는 메소드로 클래스..

칼리 리눅스 한글화 하기

칼리 리눅스는 기본적으로 한글화가 되어있지 않다. 아래와 같은 명령어들을 입력하도록 하자. apt-get update(이미 한적 있다면 안해도 됨) apt-get install fcitx-hangul apt-get install fcitx-lib* apt-get install fonts-nanum* 그 후 x윈도우 상에서 설정에 들어간 후, Language&Region 에서 Language 에서 한국어를 설정한다. 그 후 재부팅 그 다음, 프로그램 검색에서 input method 검색 예를 계속 누른 후 입력기 설정에서 fcitx를 설정한다. 그 후 다시 검색에서 fcitx를 검색하면 fcitx 설정이 있다. 들어가서 영어 키보드를 따로 추가해주면 된다.

칼리 리눅스 vm tools 설치하기

vmware 가상머신을 설치하고 칼리 리눅스를 설치하고 나서 화면이 작아서 불편했다. 때문에 vmware 프로그램 자체에서 제공하는 vmtools를 칼리 리눅스 cd-rom 에 마운트 시키고 설치하려고 했으나 칼리 리눅스 안의 gcc 경로를 찾을 수 없어서 설치가 불가능했다. 때문에 이를 위한 해결책이 있는데 굳이 칼리 리눅스는 vmtools를 마운트 시켜서 설치하지 않고 /etc/apt/sources.list 에 적힌 http.kali.org/에 이미 vmtools가 배포되어 있다. 때문에 아래와 같은 명령어를 입력하면 되는데 apt-get install open-vm-tools-desktop fuse 위와 같은 명령어를 입력하기 전에 해야할 작업이 있다. 아래와 같은 명령어 들을 순서대로 입력하면 된..

우분투 리눅스 vm tools 설치하기

vmware를 처음 설치하면 가상 머신이 우분투 내의 해상도를 지원하지 않을 것이다. 그래서 vmware 에서 자체적으로 배포하는 iso 파일을 마운트 하여 vm tools를 설치해야 하는데 문제는 이게 잘 안될때가 많다는 것이다. 네트워크 연결을 확인하고 터미널에 아래 명령어들을 입력하면 vmtools 패키지가 설치된다. root 권한이 필요하다. sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential sudo apt-get install gcc sudo apt-get install open-vm-tools-desktop fuse reboot

미세먼지 앱(라즈베리파이 연동) - 제작년 졸업작품, sds-011 센서, 안드로이드

제작년 졸업작품 ​ 라즈베리파이에 미세먼지 센서 sds-011 부착(AliExpress에서 구입) ​ 라즈베리파이로 블루투스 소켓 통신 부분, 제이쿼리 파싱 및 배열, 예외처리 등 파이썬으로 작업 ​ 안드로이드 및 자바로 애플리케이션 작업 소켓 통신 부분에 uuid지원이 안되서 쩔쩔맸음 탭 뷰어 방식의 ui ​ 두번째 탭에 전국 미세먼지 정보 (한국공공데이터) 오픈 api로 받은 뒤에 asynctask로 파싱 후 화면에 뿌림 ​ 그냥 작년 생각나서 올려봄 밤도 많이 새고 힘들었는데 노력 대비 결과는 좋지 않았었다...

정보처리기사 실기 - 11. 제품 소프트웨어 패키징 /코드서명/릴리즈노트/난독화/형상관리

1) 제품 소프트웨어 패키징 - 제품 소프트웨어 패키징 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징, 설계 및 매뉴얼을 작성하는 활동 제품 설명서 - 제품명/제품의 소개/시스템 설계/주요 기능/연락처 사용자 매뉴얼 실행 프로그램 - 제품 소프트웨어의 실행프로그램 패키징 MSN사의 윈도우 내장 프로그램 iExpress 이용 - 코드 서명(Code Signing) 수행 자사프로그램(보안 모듈)을 배포할 때 해당 기업이 제작 배포한 것임을 증명하기 위해 사용하는 전자서명 -> Signcode.exe 파일과 기업용 인증서 필요 - 제품 소프트웨어 패키징하기(Boxing) - 릴리즈노트 애플리케이션 최종 사용자에게 전달되는 제품의 릴리즈 정보에 대한 공유 정보 -> 변화 설명, 변화 이유 등 -> 현..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(8) /기본 개발환경 구축

4) 기본 개발환경 구축 - CentOS - RHEL의 복제본 - RHEL - Red Hot Enterprise Linux의 약자, 레드햇에서 만들어 판매하는 리눅스 - 7버전 다운로드 -> https://www.centos.org/download/ Download As you download and use CentOS Linux, the CentOS Project invites you to be a part of the community as a contributor. There are many ways to contribute to the project, from documentation, QA, and testing to coding changes for SIGs, providing mirrorin..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(7) /흐름제어/혼잡제어/UDP/라우팅

- TCP의 흐름제어 기법 Stop and Waiting Flow Control : 수신자가 에러 체크 후 에러가 있으면 에러가 발생한 데이터부터 하나씩 다시 받는 방식 -> 에러 없으면 ACK전송 슬라이딩 윈도우 : 수신 측에서 제대로 수신한 바이트에 대한 확인 응답을 전송할 때 마다 버퍼의 범위가 한꺼번에 미끄러지듯이 이동 -> 호스트는 가가 연결마나 하나의 윈도우 이용 - TCP의 혼잡제어 기법 네트워크가 혼잡하다고 판단될 때 송신률을 감속 -> 패킷 전송 지연 혹은 패킷 손실을 막는 것이 목적 슬로우 스타트(Slow Start) : 미리 정해진 임계 값에 도달할 때까지 윈도우의 크기를 2배씩 증가시킴 -> 매 전송마다 두배씩 증가하기 때문에 전송되는 데이터의 크기는 지수 함수적으로 증가 혼잡 회피..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(6) /네트워크 기초 활용하기 -1

3) 네트워크 기초 활용하기 - 네트워크 계층 구조 - OSI(Open System Interconnection) 7 Layer 네트워크 통신에서 생기는 여러가지 충돌문제를 완화하기 위해 국제표준기구(ISO)에서 제시한 네트워크 기본 모델 -> 서로 독립적으로 구성 -> 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공 응용 계층(Application Layer) - 응용 서비스 연결 - HTTP, TELNET, FTP, SSH, SMTP, SNMP - DATA단위 표현 계층(Presentation Layer) - 데이터 형식 설정, 암호화, 해독 - SSL, JPEG, MPEG - DATA단위 세션 계층(Session Layer) - 연결 접속 및 동기 제어 - SSH - DATA단위 전송 계층(T..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(5) /데이터베이스 기초 활용하기 -2

- 관계 대수(Relation Algebra) 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어 - 순수관계 연산자 select : 시그마(σ) : σ(조건)(R) project : 파이(π) : π(속성리스트)(R) : 주어진 릴레이션에서 속성 리스트에 제시된 애트리뷰트만을 추출하는 연산, 수직 연산자 join : 조인(⋈) : R⋈키속성r=키속성sS : 공통 속성을 중심으로 두개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듦 -> =, ≠, , ≤ 등 비교 연산자를 θ로 일반화하여 세타조인이라고도 함 division : ÷ : 릴레이션 R(X), S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진속성을 제외 -> R[속성r ÷ 속성..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(4) /데이터베이스 기초 활용하기 -1

2) 데이터베이스 기초 활용하기 - 데이터베이스의 종류 -> 오라클의 Oracle과 MySQL, 티맥스의 Tibero, MSN사의 SQL Server, IBM의 DBI등 -> 오픈소스로는 PostgreSQL, MariaDB 등 - RDBMS : 테이블 구조관계 기본키, SQL 질의어 - OODBMS : 엔티티간 포인팅 방식 객체 식별(OID), OQL(Object Query Language) - ORDBMS : RDBMS + OODBMS, SQL 확장질의어 사용(SQL3) - NoSQL(Not Only SQL) -> 페타바이트 수준의 대량의 데이터처리 NoSQL은 수평적 확장이 가능, 다수 서버들에 데이터 복제 및 분산 저장이 가능 Schema-less : 고정된 데이터 스키마 없이 키(key)값을 이용..

정보처리기사 실기 - 10 . 응용 SW 기초 기술 활용(3) /운영체제 기초 활용하기 -3

- 작업 우선순위 - 프로세스 : 프로그램이나 명령어를 실행 시 메모리에 적재되어 동작하는 상태 -> 식별번호인 PID 할당 -> 최상위 프로세스는 항상 init -> 나머지는 항상 부모 프로세스인 PPID를 가짐 -> Linux는 모든 프로세스가 공평하게 자원을 배분받지는 못함 * inode : 파일에 대한 정보(형식, 권한, 소유자, 크기 등)를 저장하는 자료구조(구조체) - Linux 프로세스 우선순위 관리 - 우선순위 값의 범위는 -20 ~ +19 이며 낮을수록 우선순위 높음 - jobs : 명령어 실행 시 백그라운드로 실행되는 작업 번호 목록 확인 * 명령어 뒤에 & 붙이면 백그라운드로 실행 - PRI(시스템이 nice의 데이터를 이용하여 계산한 실제 우선순위 값) - NI : nice에 의해 ..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(2) /운영체제 기초 활용하기 -2

- Linux/Unix 기본 명령어 사용자 - id, last, who 파일 처리 - ls, pwd, rm, cp, mv, tar 프로세스 - ps, pmap, kill, pid 파일 permision - chmod, chown 네트워크 - ifconfig, dig, host 인스톨 - yum, rpm 검색 - grep, find, locate 디렉토리 이동/생성 - cd, mkdir -> ls --color : ls 결과를 컬러로 표시 - head -n 2 : 파일의 첫 2줄 표시 - ls -- -test.txt : 하이픈(-)을 두개 쓰면 -test.txt 같은 파일명을 옵션으로 인식하지 않음 - 파이프(|) : 선행 명령어의 결과값을 리다이렉트 시키고 그 겨로가값을 다음 명령어의 입력값으로 전달 -..

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(1) /운영체제 기초 활용하기 -1

1) 운영체제 기초 활용하기 - 서버 : 다른 컴퓨터(클라이언트)에서 요청하는 정보나 서비스를 네트워크를 통해 제공하는 역할을 하는 컴퓨터 시스템 -> 24x365 무중단 서비스 제공을 목적 -> 온/습도가 관리되는 데이터센터(IDC)에 위치하여 안정성 확보 -> 중앙처리 장치, 기억장치, 입출력장치, 통신 장치 등으로 구분됨 - 서버의 종류 DNS 서버 WEB 서버 파일 서버 DB 서버 Proxy 서버 * CPU 아키텍처에 따른 서버 구분 Unix 서버 : 제조사별로 RISC 계열의 CPU를 장착 -> 하드웨어 제조사에서 제공하는 전용 운영체제 -> IBM power, HP Superdome, Oracle M 시리즈 등 x86 서버 : 인텔이나 AMD의 x86 계열 CPU 장착 -> Linux 또는 윈..

정보처리기사 실기 - 9. 프로그래밍 언어 활용(3) /선언형언어/라이브러리

- 선언형 언어 특정 선언으로만 프로그램을 동작 시키는 프로그래밍 패러다임 -> 무엇과 같은지를 설명하는 방식 - 선언형 언어의 유형 함수형 언어 - Haskell, LISP 논리형 언어 - Prolog, SQL 제약형 언어 - Oz - 변수간의 관계를 제약하는 형태로 프로그래밍을 기술 - 선언형 언어의 특징 참조 투명성 : 프로그램 동작의 변경 없이 관련 값을 대체 할 수 있다면 이를 참조상 투명하다 한다. 지연(Lazy) 평가 지원 : 계산이 필요한 순간이 오는 경우 까지 미룬다는 개념 빠른 개발 : 이미 만들어진 것을 선언을 통해 사용 적은 버그 : 구체적인 작동 순서를 나열하지 않음 - 대표적인 선언형 언어 하스켈(Haskell) : 난립하고 있는 함수형 언어들을 통합 정리 SQL : 관계형 데이..

정보처리기사 실기 - 9. 프로그래밍 언어 활용(2) /객체지향언어/스크립트

- 객체지향 프로그래밍 언어 - 구조적(절차적) 방식의 문제점을 극복하고 인간이 사고하는 방식대로 - 객체(object)라는 실 세계에 존재하거나 또는 개념적인 그 어떤 것을 표현한 것 - 기능과 자료가 통합된 객체 단위로 프로그래밍 객체 : 클래스의 인스턴스 클래스 : 객체를 생성하는 틀 메세지 : 객체간 통신을 의미 - 객체의 구성요소 개체(Entity) : 현실 세계에 보이는 본질 속성(Attribute) : 자료 저장소 역할을 하며, 절차 지향 프로그래밍 변수와 대응됨 메소드(Method) : 호출 단위 의미, 절차 지향 프로그램의 함수와 대응됨 - 대표적 객체지향 언어 Java : (과거)썬 마이크로시스템즈에서 개발 C# : 마이크로소프트에서 개발, 닷넷 프레임워크의 한 부분 델파이 스위프트 :..

정보처리기사 실기 - 9. 프로그래밍 언어 활용(1) /기본문법/변수명명법/절차적언어

1) 기본 문법 활용 - 데이터 타입의 길이 - Java short - 2byte long - 8byte char - 2byte - Python long - 무제한 float - 8byte - C# long - 8byte char - 2byte decimal - 16byte(실수형) - 변수 - 변수 명명 제한 -> 첫 자리에는 숫자를 사용할 수 없다. -> 이미 사용되고 있는 예약어의 경우에는 변수로 사용할 수 없다. - 일반적인 변수 명명법 프로그램의 가독성 향상 및 유지보수성 증가를 위해 - 변수 명명법 Pascal Casing(파스칼 케이싱) : 대문자로 시작하는 변수명을 사용 -> 복잡어일 경우 중간에 시작하는 새로운 단어는 대문자로 적는다. -> HumanResource Camel Casing..

정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(3) /보안기능/에러처리/모바일앱/보안테스트

- 보안기능 - 인증 및 비밀번호 관련 보안 약점 적절한 인증 없는 중요 기능 허용 반복된 인증 시도 제한 기능 부제 취약한 비밀번호 허용 - 권한 관리 관련 보안 약점 부적절한 인가 중요한 자원에 대한 잘못된 권한 설정 - 암호 연산 관련 보안 약점 취약한 암호화 알고리즘 사용 -> AES, SEED, ARIA 등 사용 충분하지 않은 키 길이 사용 -> RSA는 최소 2048비트, 대칭키는 최소 128비트 이상 하드코드된 암호화 키 -> 코드 내부에 암호화 키 하드 코딩 x 적절하지 않은 난수 값 사용 -> Seed 적용 가능 함수 사용 솔트 없이 일방향 해시 함수 사용 - 중요 정보 처리 관련 보안 약점 중요 정보 평문 저장 중요 정보 평문 전송 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출 -..

정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(2) /입력데이터검증

2) 소프트웨어 개발 보안 구현하기 - 입력 데이터 검증 및 표현 - SQL 삽입(SQL Insertion) 웹 사이트의 입력 값이나 URL에 SQL문을 삽입하여 DB로부터 정보를 열람, 조작, 파괴할 수 있는 보안 약점 -> PreparedStatements 객체를 이용하거나 MyBatis등의 프레임워크를 이용하여 SQL 구문에 입력변수가 정적 바인딩되도록 구현 -> PreparedStatements 예시 String param = request.getParameter("id"); String sql = "select name from board where id = ?" Connection con = db.getConnection(); PreparedStatement pstmt = con.prepare..

정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(1) /보안요구사항/보안고려사항

1) 소프트웨어 개발 보안 설계하기 - 소프트웨어의 보안 품질에 영향을 주는 요소들 - 소프트웨어 보안 취약점 : 외부에 노출된 보안 약점 - 모의해킹 : 작동하는 시스템을 대상으로 수행하는 동적 검증을 통해 보안 취약점을 확인하는 보안 품질 관리 활동 - CVE(Common Vulnerability Exposure)로 보안 취약점이 DB화 되어 관리 - 소프트웨어 보안 약점 : 보안 취약점의 근본 원이 되는 소프트웨어의 결함이나 버그 -> 모든 보안 취약점은 보안 약점에 포함되나 모든 보안 약점이 보안 취약점인 것은 아니다. - 시큐어 코딩 : 보안 약점이 존재하지 않도록 개발하는 방법 - CWE(Common Weakness Enumeration)으로 보안약점이 DB화 되어 관리 - 소프트웨어 개발 보..

정보처리기사 실기 - 7. SQL 응용(4) /프로시저/트리거

- 프로시저 및 호출문 작성 매개변수를 받을 수 있고 반복해서 사용할 수 있는 이름이 있는 SQL 블록 - 프로시저 구성 DECALRE BEGIN/END CONTROL //순차실행, 조건분기, 반복수행 등 SQL 문장의 수행 순서를 조정하는데 사용 SQL EXCEPTION //예외처리 TRANSACTION //DML 수행 내역의 DBMS의 적용 또는 취소 여부를 결정하는 처리부(COMMIT/ROLLBACK) - 프로시저 작성 CREATE 명령어로 DBMS 내에 프로시저 생성이 가능 -> [OR REPLACE] 명령은 기존 프로시저 존재 시에 현재 컴파일하는 내용으로 덮어쓴다는 의미 -> PARAMETER는 외부에서 프로시저 호출 시 변수를 입력 또는 출력할 수 있다. -> MODE는 변수의 입력 또는 출..

정보처리기사 실기 - 7. SQL 응용(3) /절차형SQL

2) 절차형 SQL 작성하기 - 절차형 SQL : SQL 문의 연속적인 실행이나 조건에 따른 분기, 반복 등의 제어를 활용하여 다양한 기능을 수행하는 데이터베이스 저장 모듈 -> DBMS 엔진에서 직접 실행되며 BEGIN/END의 블록화된 구조를 갖는다. -> 비즈니스 로직을 캡슐화하여 데이터 관리를 단순화할 수 있다. -> 작업에 필요한 데이터를 DBMS 내부에서 직접 처리하기 때문에 In/Out Packet이 적다. -> 이식시 수정 및 재컴파일이 필요함 - 구성 DECLARE : 정의 BEGIN : 시작점 END : 종료점 - 제어문 종류 IF condition THEN statements; ELSEIF condition THEN statements; ELSE statements; END IF; -..

정보처리기사 실기 - 7. SQL 응용(2) /트랜잭션/집계성SQL/윈도우함수

- 트랜잭션 제어 한번에 수행되어야 하는 데이터베이스 연산들의 논리적인 모임 -> 데이터베이스 동시성 제어와 회복을 위한 기본 개념 - 트랜잭션 완료(commit) : 트랜잭션이 성공적으로 완료되었음 - 트랜잭션 철회(abort) : 비성공적 종료 -> 원자성을 보장하기 위해 갱신 사항을 트랜잭션 수행 전 상태로 되돌림 - 동시성 제어 : 다수 사용자가 테이터베이스를 동시에 접근하도록 허용하면서 연관성을 유지하는 DBMS 기능 - 회복 : 데이터베이스 갱신중에 시스템이 고장나도 데이터베이스의 일관성을 유지하는 DBMS 기능 로그를 이용한 회복 : [Trans ID, start]와 [Trans ID, commit]의 짝검사 -> [Trans ID, commit]가 없는 트랜잭션들은 취소 로그 먼저 쓰기(W..

정보처리기사 실기 - 7. SQL 응용(1) /DCL/DML/DDL

1) 응용 SQL 작성하기 - SQL 특징 : 비절차적 언어, 대화식 언어 또는 호스트 언어에 내장된 혀태로 사용 -> 프로그래밍 언어(호스트 언어)에 SQL을 내포 - SQL 종류 데이터를 검색하는 SELECT 명령문은 데이터 질의어(DQL)로 분류하거나 데이터 조작어에 포함하기도 한다. 데이터 질의어(DQL) : SELECT 데이터 조작어(DML) : INSERT, UPDATE, DELETE 데이터 정의어(DDL) : CREATE, ALTER, DROP 데이터 제어어(DCL) : GRANT, REMOVE, COMMIT, ROLLBACK - 데이터 검색하기 - SELECT 문 형식 SELECT employee, dno FROM employee; -> 모든 사원의 이름과 부서번호를 검색하시오. SELEC..

정보처리기사 실기 - 6. 애플리케이션 테스트 관리(3) /성능분석도구/코드리팩토링

3) 애플리케이션 성능 개선하기 - 애플리케이션 성능을 측정하기 위한 지표 처리량 응답 시간 경과 시간 자원 사용률 - 유형별 성능 분석 도구 성능 분석 도구는 애플리케이션의 성능을 점검하는 도구와 시스템 자원 사용량을 모니터링하는 도구로 분류 성능/부하/스트레스 점검 도구 모니터링 도구 - 애플리케이션 성능 저하 원인 분석 - 데이터베이스 연결 및 쿼리 실행 시 발생되는 성능 저하 원인 DB에 연결하기 위해 Connection 객체를 생성ㅇ하거나 쿼리를 실현하는 애플리케이션 데이터베이스 락(Lock) 불필요한 데이터페이스 패치(DB Fetch) 연결 누수, 부적절한 커넥션 풀 크기 - 내부 로직으로 인한 성능 저하 원인 인터넷 접속 불량으로 서버 소켓 쓰기는 지속되나 클라이언트에서 정상적 읽기가 수행되..

반응형