[SQL] 테이블에 컬럼 추가 테이블에 컬럼 추가하는 방법 ALTER TABLE 테이블이름 ADD 추가할컬럼이름 데이터형(데이터크기) 컬럼속성 ALTER TABLE [테이블명] ADD [컬럼명] [타입] [Null] [DEFAULT] ALTER TABLE table1 ADD nickanme VARCHAR(45) NOT NULL DEFAULT '아무거나'
썸네일 토비의 스프링 1.2장 DAO의 분리 1.2.1 관심사의 분리 객체지향에서 변한다는 것은 변수나 오브젝트 필드 값이 변하는 것이 아닌 오브젝트에 대한 설계와 이를 구현한 코드가 변하는 것이다. 그래서 개발자가 객체를 설계할 때 가장 염두에 두어야 할 사항은 미래의 변화를 어떻게 대비할 것인가이다. 👉 결국 변경이 일어날 때 필요한 작업을 최소화하고 분리와 확장을 고려한 설계를 해야한다. DB를 오라클에서 MySQL로 바꾸고, 웹 화면의 레이아웃을 다중 프레임 구조에서 단일 프레임에 Ajax를 적용한 구조로 바꾸고 매출이 일어날 때에 지난달 평균 매출액보다 많으면 감사 시스템의 정보가 웹 서비스로 전송되는 동시에 로그의 날짜포맷을 6자리에서 Y2K를 고려해 8자리로 바꿔달라... (모든 변경이 한 번에 한 가지 관심사항에 집중해서 일어나고 있..
썸네일 토비의 스프링 1.1장 초난감 DAO 먼저 사용자 정보를 JDBC API를 통해 DB에 저장하고 조회할 수 있는 간단한 DAO를 만들자 1.1.1 User public class User { String id; String name; String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) {..
썸네일 토비의 스프링 1장 오브젝트와 의존 관계 1장을 시작하기 전.. 스프링은 자바를 기반으로 한 기술이다. 스프링이 자바에서 중요하게 가치를 두는 것은 객체지향 프로그래밍이 가능한 언어라는 점이다. 스프링이 가장 관심을 두는 대상은 오브젝트이다. 오브젝트가 생성되고, 다른 오브젝트와 관계를 맺고, 사용되고, 소멸될 때까지의 전 과정을 고민해볼 필요성이 있다. 오브젝트는 어떻게 설계되고, 어떤 단위로 만들어지며 어떤 과정을 통해 존재를 드러내고 등장 해야하는지에 대해서도 살펴보자. 결국 오브젝트에 대한 관심은 객체지향 설계의 기초와 원칙을 비롯하여 디자인 패턴, 리팩토링, 단위 테스트와 같은 오브젝트 설계와 구현에 대한 여러가지 응용 기술과 지식이 요구된다. 스프링은 오브젝트를 어떻게 효과적으로 설계, 구현, 사용하고 이를 개선해나갈 것인가에 대한 ..
썸네일 Django 설문조사앱 만들기 2 1. Django 관리자 관리 사이트에 로그인 할 수 있는 사용자를 생성 $python manage.py createsupersuser Username : admin Email address : admin@gmail.com Password : ******** Password (again) : ******** Superuser created successfully 2. 개발 서버 시작 다음 명령으로 서버를 동작시킴 $ python manage.py runserver 로컬 도메인의 《/admin/》으로 이동(예: http://127.0.0.1:8000/admin/) 하면 관리자의 로그인 화면이 나옵니다. 앞서 생성한 슈퍼유저 계정으로 로그인합니다! 3. 관리 사이트에서 poll app 변경가능하도록 만들기 ..
썸네일 Django 설문조사 앱 만들기 1 0. 설치 $python -m pip install Django 1. 프로젝트 만들기 : 하나의 앱을 만들기 위한 폴더를 만든다고 생각하면 쉽다! $django-admin startproject mysite 2. 서버 작동 $python manage.py runserver 직접 서버를 run하기 위해 명령어를 입력해주었는데, 저같은 경우 manage.py의 SyntaxError가 발생했습니다. 아래 명령어로 실행해주니 해결이 되었습니다. //python(자신의버전) manage.py runserver $python3.9 manage.py runserver 명령어를 입력해주면 http://~~ 주소를 복사해줍니다. 그 후 구글에 입력하여 아래와 같은 화면이 뜨면 성공!! 3. 설문조사 앱 생성 : 만들고자..
썸네일 [Bioinformatics] Multiple Pattern Matching 학부생의 개념정리이니 어리숙한 표현이 있을 수 있습니다. 오류가 있으면 계속해서 수정할 예정입니다. 1. BruteForcePatternMatching 각각의 패턴들을 가지고 와서 하나씩 Text와 비교하는 방법 => 첫번째 위치부터 한칸씩 slide하여 비교하며, 각 패턴이 주어진 Text의 어느 위치에서 매칭이 되는지 순차적으로 찾아나감 ​ Runtime : O(|Text|*|Patterns|) |Text|: the length of Text |Patterns|: sum of the lengths of all strings in Patterns why? 각 패턴마다 text를 하나하나 읽어나가야 하니까 runtime이 매우 high ​ → 패턴을 모아서 한번만 reference genome을 읽으며 ..
[Fast Campus/Swift] 함수 사용법 함수 func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 { return 반환값 } 1. 함수 func sum(a: Int, b: Int) -> Int { return a+b } sum(a: 3, b:5) 2. 매개변수가 없는 경우 func hello() -> String { return "Hello" } hello() 3. 반환값도 없는 경우 func printName()-> Void { print("gunter") } printName() 4. 매개변수를 미리 지정 func greeting(friend: String, me: String = "gunter") { print("hello, \(friend)! I'm \(me)") } greeting(friend: "Albert") 5. 전달 ..
썸네일 [Fast Campus/Swift] 컬렉션 타입 컬렉션 타입 : 데이터들의 집합 묶음 1. Array : 데이터 타입의 값들을 순서대로 지정하는 리스트 - var 변수명 : Array = Array() - var 변수명 : [데이터 타입] = [ ] - append() - insert(삽입, at: 인덱스) - remove(at: 인덱스) 2. Dictionary : 순서없이 키(Key)와 값(Value)의 한쌍으로 데이터를 저장 - var 변수명: Dictionary = Dictionary() - var 변수명: [key type, value type] = ["일": 1] - dict[key] = value - dict.removeValue(forkey: "일") 3. Set : 같은 데이터 타입의 값을 순서 없이 저장 - var 변수명: Set =..
썸네일 [Fast Campus/Swift] 기본 데이터 타입 기본 데이터 타입 Int 64bit 정수형 UInt 부호가 없는 64bit 정수형 Float 32bit 부동 소수점 Double 64bit 부동 소수점 Bool true, false값 Character 문자 String 문자열 Any 모든 타입을 지칭하는 키워드
[Python] 2진수˙8진수˙10진수˙16진수 변환 # 10진수 → 2, 8, 16진수 bin(), oct(), hex() 이용 10진수 → 2진수 : bin() 10진수 → 8진수 : oct() 10진수 → 16진수 : hex() a = 10 bin = bin(a) oct = oct(a) hex = hex(a) print(bin) #0b1010 print(oct) #0o12 print(hex) #0xa format() 이용 #을 제거하면 0b, 0o, 0x같은 접두어가 빠진 형태가 출력됨 a = 10 bin = format(a, '#b') oct = format(a, '#o') hex = format(a, '#x') print(bin) print(oct) print(hex) # 2, 8, 16진수 → 10진수 int(문자열, 진수) 문자열 " "을 입력..