대학생 코딩 과제 대행 java, python, oracle 스물 여섯 번째

이미지
https://open.kakao.com/o/s3aMpbA 오라클 모델링하고나서 쿼리짜는 과제이다. 모델링이라고 하기도 웃기지만 ㅎㅎ 과제 요구사항이다. DROP TABLE ACCOUNT PURGE; DROP TABLE BRANCH PURGE; DROP TABLE CUSTOMER PURGE; DROP TABLE LOAN PURGE; DROP TABLE BORROWER PURGE; DROP TABLE DEPOSITOR PURGE; DROP VIEW ALL_CUSTOMER; CREATE TABLE ACCOUNT(     ACCOUNT_NUMBER VARCHAR2(20) PRIMARY KEY,     BRANCH_NAME VARCHAR2(20),     BALANCE NUMBER ); insert into account values('A-101','Downtown',500); insert into account values('A-102','Perryridge',400); insert into account values('A-201','Brighton',900); insert into account values('A-215','Mianus',700); insert into account values('A-217','Brighton',750); insert into account values('A-222','Redwood',700); insert into account values('A-305','Round Hill',350); select * from account; CREATE TABLE BRANCH(     BRANCH_NAME VARCHAR...

대학생 코딩 과제 대행 java, python, oracle 스물 다섯 번째

https://open.kakao.com/o/s3aMpbA 이번에는 지난번에 했던 파이썬으로 소켓통신을 하는 과제를 의뢰받았다. 소켓을 통해서 파일을 서버에 업로드 하는 간단한 과제였다. 먼저 서버 #-*- coding: utf-8 -*- import socket #서버 소켓 오픈 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) port = 12345 server_socket.bind(("", port)) server_socket.listen(5) print ("TCP Upload Server Waiting for client on port " + str(port)) while True:     client_socket, address = server_socket.accept()     print("I got a connection from ", address)     req = client_socket.recv(1024)     print("Request :  ", req)     decodedReq = req.decode("utf-8")     print("decode : ", decodedReq)     fileTitle = decodedReq.split('!@#$%^&*')[0]     fileContent = decodedReq.split('!@#$%^&*')[1].encode("utf-8")     print('title : ', fileTitle)     print('content : ', fileContent)     uploadFile = open(fileTitle, "wb")     uploa...

대학생 코딩 과제 대행 java, python, oracle 스물 네 번째

이미지
https://open.kakao.com/o/s3aMpbA 요즘 학기 말이긴 한가 보다 ㅇㅅㅇ.. 의뢰가 없다가 최근에 3개가 들어왔었다. 차례대로 포스팅을 오랜만에 해보려고 한다. 먼저 과제는 2문제이다. 1번은 WITH RECURSIVE문과 같은 기능을 하는 stored procedure를 구현하라는 내용의 문제였다. WITH RECURSIVE문은 mysql 8버전 이후부터 사용이 가능하다. 하지만 과제에 사용하는 mysql 버전은 5.5로 해당 구문을 쓸 수 없게 되있었다. 따라서 1번은 계층형 쿼리를 사용해야 됬다. oracle의 경우 계층형 쿼리를 start with, connect by 문을 사용해서 짜본적은 있었지만, mysql로 계층형 쿼리를 짜본적이 없어서 당황하지 않을 수 없었다. 그래서 찾다보니 계층형 쿼리를 사용하지 않고도 left self join을 통해서 계층형 쿼리를 구현할 수 있었다. 뭐 완벽하진 않지만,, 제출 전날 의뢰를 해주어서 시간이 부족해서 꼼수를 부려서 그냥 돌아가게끔만 구현했다 ㅎㅎ 변명이지만 ㅎㅎ 2번은 프로시져를 사용하지 않고 쿼리를 통해서 문제해결을 요하는 문제였다. 과제에 사용 되는 테이블 내용 먼저 프로시져를 생성.. CREATE DEFINER=`s201403658`@`%` PROCEDURE `findBySSN`(essn INT) BEGIN DECLARE cnt INT DEFAULT 0; SELECT COUNT(*) INTO cnt FROM EMPLOYEE WHERE Superssn = essn; IF cnt > 0 THEN SELECT lv1.ssn as lv1, lv2.ssn as lv2, lv3.ssn as lv3 , lv4.ssn as lv4, lv5.ssn as lv5, lv6.ssn as lv6, lv7.ssn as lv7, lv8.ssn as lv8, lv9.ss...

MariaDB Database 및 계정 생성 그리고 접속권한 설정

NAS에 MariaDB10이 있어서 개발하면서 사용할 일이 많다. 디비랑 계정 생성하고 접속권한 세팅할 때마다 찾기 귀찮아서 문법을 남긴다. database 생성 CREATE DATABASE 데이터베이스 이름; 계정생성  '%'부분에 'localhost' 일 경우 로컬에서만 접속을 허용 '%' 는 모든 IP에서 접속을 허용한다. 특정대역대 : '111.222.%' 특정IP : 'xxx.xxx.xxx.xxx' 형태로 적어준다. CREATE USER '계정이름'@'%' IDENTIFIED BY '비밀번호'; 특정 데이터베이스에 속한 모든 오브젝트들에 대한 권한을 특정 계정에 부여한다. GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO '계정이름'@'%'; 리프레쉬 ~ 바로 적용 FLUSH PRIVILEGES; 적용된 결과 보기 SHOW GRANTS FOR '계정이름'@'%'; 계정 정보 확인 하기 use mysql; select host, user, password from user;

ECMAScript6 - Operation

이미지
프로퍼티 이름 조합 문자열 조합 변수 값과 문자열 조합 디스트럭처링과 프로퍼티 이름 조합 Default Value 디폴트 값 적용 순서 Default 파라미터 파라미터 디스트럭처링 for-of Array 와 String NodeList 반복 디스트럭처링 for-of아 for-in의 차이 for-of Object 열거와 거듭 제곱 연산자

ECMAScript6 - DeStructuring

이미지
간단히 말해서, 변수에 분할 할당이다. four가 undefined라는 점 다차원 분할 할당도 가능하다는 점 ,를 사용해서 인덱스를 건너뛰고 할당, spread 연산자를 사용하여 할당 Object에도 분할 할당이 가능하다. Key에도 Value에도 함수의 파라미터로도 사용이 가능하다.

ECMAScript6 - Spread

이미지
Spread 연산자는 이터러블 오브젝트의 엘리먼트를 분리하여 전개한다. 전개한 결과를 변수에 할당하거나 함수의 파라미터로 사용할 수 있다. 1. Array 오브젝트 2. String 오브젝트 3. 함수의 파라미터로 사용 ...rest 파라미터 Array-like Array는 아니지만 Array처럼 사용할 수 있는 Object 오브젝트를 Array-like라고 한다. ES6 스펙에서 사용하는 공식 용어. key값이 0부터 시작해서 1씩 증가하고 length 프로퍼티가 있어야한다. 둘 중 하나라도 만족하지 않으면 Array-like가 아니다. ...rest파라미터와 Arguments Argument 는 function 키워드로 함수를 정의 했을 때 사용이 가능하다. get(1,2,3)으로 호출했을 때, 호출받는 함수의 arguments에 1,2,3이 설정된다. arguments도 Array-lik e이므로 for()문으로 전개가 가능하다. 따라서 Array 오브젝트와 메서드를 사용이 불가능하다. 단점  - 함수안의 코드를 보아야 arguments의 사용 여부와 사용 부분을 알 수 있어 코드 가    독성이 떨어진다. 많은 코드를 디버깅하거나 소스 코드를 리팩토링할 때 부담이 된다. ...rest 파라미터는 arrow function 으로 함수를 정의 했을 때 사용이 가능하다. ...rest 파라미터는 Array 오브젝트로 이터러블 오브젝트이다. 따라서 Array 오브젝트의 메서드를 사용할 수 있다. 장점 - 함수안의 코드를 체크하지 않고 (one, ...rest) 형태만 보아도 rest 파라미터의 범위를 알 수 있다.