유전공학 11장 - Studying gene expression and function
2020. 5. 4. 11:49
🧬 Bio/유전공학
★★★★★★★ Hibridization : 내가 원하는 전사체가 있느냐 Southern hybridization : DNA gel 을 membrane에 옮기는 것 Northern hybridization : RNA gel 을 memebrane에 옮기는 것 S1 nuclease : DNA와 RNA가 hibridization할 때 인트론 부위를 잘라준다. 단일가닥 부위 DNA를 자른다. (Fig 11.4) 전사 개시점 찾는 법 S1 nuclease mapping Primer Extension RACE (Rapid Amplification of cDNA Ends)기법 DNA에 어떤 전사인자가 붙는가? EMSA (Electrophoretic Mobility Shift Assay) 전기영동 했을 때 이동속도의 변..
C - if 문의 동작 방식
2020. 5. 3. 17:44
📌 C
C 언어에서 if는 0일 때 거짓, 0이 아닐 때 참으로 동작합니다. 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. #include int main() { if (2) // 0이 아니므로 참 printf("참\n"); else printf("거짓\n"); return 0; } 결과 : 참 if에 2를 넣었는데도 "참"이 출력됩니다. 즉, -4, -3, -2, -1, 1, 2, 3, 4...처럼 0이 아닌 양수와 음수를 넣으면 무조건 참입니다. 실수도 마찬가지로 0.0f는 거짓이며 0.0f가 아닌 값들은 참입니다. 각자 0이 아닌 다양한 양수와 음수를 넣어보세요. 이번에는 0을 넣어봅니다. #include int main() { if (0) // 0이므로 거짓 printf("참\n"); els..
Homework_W7 (상속 ≠ 오버라이딩)
2020. 5. 2. 18:59
📌 java/Object-oriented Programming
OOP Lab 7(25 pts) Due date : May 3, 23:59 Submit your assignment using the following file format: LabNumber_StudentName_Student_ID.zip Example: Lab7_Hongkildong_201620505.zip This zip file will contain two types of files, namely: 1) report file with file format “Report_Lab number” (eg. report_7) to answer theory questions and to write the screen shot of your program. 2) Source code file that con..
java - getClass()
2020. 5. 1. 16:35
📌 java/java
java.lang.Object 클래스는 Java에서 만드는 모든 클래스들의 root 이며, 따라서 모든 클래스들은 java.lang.Object를 superclass로 갖고 태어난다. Object 클래스의 구현을 보면 @since JDK1.0로 주석이 달려있다. JDK의 시작부터 함께해왔던 클래스인만큼, Java로 애플리케이션을 만든다면 Object 클래스에 대해서 파악해둘 필요성이 있을 것이다. getClass() 메서드 java.lang의 Object 클래스 중에서 getClass() 메소드에 대해 알아보자. 현재 참조하고 있는 클래스를 확인할 수 있는 메소드이다. A라는 클래스를 참조하고 있다면 class A 라는 값이 출력된다. 객체 타입을 확인하는데 쓰이는 instanceof 와 함께 알아두면 ..
미생물학 5장 (3) - 배지에서의 생장
2020. 5. 1. 12:27
🧬 Bio/미생물학
★★★★★★★ 세포간 의사소통 해양발광세균 : AHL ** 오징어의 감광기관에서 AHL을 통해 발광유전자가 발현된다. 배지 (culture media) 지지배지 (영양배지) : 생장을 위한 배지 농화배지 선택배지 ex) MSA배지 : NaCl 농도가 높다 포도상구균을 선택적으로 자라게 할 수 있다. ** 분별배지 미생물 생장곡선 지체기 대수기 정체기 사멸기 Viable But Non Culturable (VBNC) ** 살아있는데 실제로 키우면 안자란다. 정체기에서 유전적 변형이 일어나서 생장이 멈춰있다. 조건이 회복되면 생장이 다시 진행된다. 대수기에서의 미생물의 생장 ** n : 분열 횟수 t : 배양 시간 g : 세대 시간 = 한번 분열하는데 걸리는 시간 = t/n k : 생장률 상수 = t 시간 ..
java - Object 클래스
2020. 4. 30. 17:17
📌 java/java
자바에서 상속이란 필수적이다. 여러분이 상속하건 하지 않았건 기본적인 상속을 하게 된다. package org.opentutorials.javatutorials.progenitor; class O {} O라고 하는 클래스를 정의했다. 그리고 다른 클래스를 상속받고 있지 않다. 그러나 위의 코드는 아래와 코드가 같다. package org.opentutorials.javatutorials.progenitor; class O extends Object {} 자바에서 어떤 클래스가 다른 클래스를 상속받고 있지 않는다면 Object를 상속받게 한다. 자바에서 모든 클래스는 사실 Object를 암시적으로 상속받고 있는 것이다. 그런 점에서 Object는 모든 클래스의 조상이라고 할 수 있다. 그 이유는 모든 클래..
Optimal Binary Search Tree
2020. 4. 30. 15:13
🕶 Algorithm/알고리즘
트리들 중 어느 트리로 만들어야 좋을까? key 를 search할 때 걸리는 시간을 적게 하고 싶다. 비교횟수를 최소화 하고 싶다. 각 key를 찾을 때까지 key comparison의 최솟값 각각의 key들을 search할 확률이 1/7 로 하지않고 비교한다. 여러개의 키로 이루어져 있다. 각 키를 search할 확률이 나와 있다. 1 >> key1 을 찾을 때까지 비교를 3번 하게 된다. 0.7 × 3 + 0.2 × 2 + 0,1 × 1 2 >> key2 을 찾을 때까지 비교를 3번 하게 된다. 0.7 × 2 + 0.2 × 3 + 0,1 × 1 3 >> key3 을 찾을 때까지 비교를 3번 하게 된다. 0.7 × 2 + 0.2 × 1 + 0,1 × 2 4 >> key4 을 찾을 때까지 비교를 3번 하..
10. Process Scheduling (1)
2020. 4. 29. 16:27
🚦 Server/Operating System
Process Scheduling 프로세스 안에는 Code, Data, Heap, Stack이 있고, Excution state를 담당하는 PC counter, SP가 있다. 프로세스들는 서로 다른 Address space를 가지고 있고 하나의 컴퓨터에서 동시에 돌아갈 수 있다. 하나의 프로세서로 여러개의 프로세스를 돌리고 싶다면? Concurrent하게 해야한다. 이것을 Process Scheduling 이라고 한다. "어떻게 프로세스에게 CPU를 할당할 것인가?" Ready Queue에 있는 프로세스들 가운데 하나에게 CPU를 할당한다. Scheduler 를 통해 프로세스의 context를 바꿔가며 돌게한다. Process Scheduling 의 목적 적은 Processor로 많은 Process를 실..
미생물학 5장 (2) - 환경요인에 대한 미생물의 반응
2020. 4. 29. 14:59
🧬 Bio/미생물학
★★★★★★★ 용질과 수분 활성도에 대한 미생물의 반응 저장액에 들어가면 방어기작이 나타난다. MS채널이 열린다. 고장액에 들어가면 원형질막, 세포벽이 분리되는 원형질분리가 일어난다. 방어기작이 나타난다 : 세포내를 고농도로 유지 내삼투성 (호염성) : 수분활성도가 0.6에서 최적이 된다. ** pH에 따른 미생물의 반응 호중성 : 주변이 중성 pH 5.5보다 밑으로 떨어지면 내산반응 일어난다. 내산반응 : 산을 견디며 중성을 유지하려고 함 세포질의 양성자를 방출하며 자신의 산도를 높인다. 그러기 위해서 양성자수송 ATP 가수분해효소 작용 일어난다. ** pH 4.5보다 밑으로 떨어지면 산충격단백질 합성 유도 산충격 단백질 : 단백질에서의 산성을 복구하는 복구단백질 호산성 : 주변이 산성 자기의 pH를 ..
java - throw new
2020. 4. 29. 12:45
📌 java/java
} catch(Exception e){ System.out.println("오류가 발생했습니다 : "+e.getMessage()); } e는 변수다. 이 변수 앞의 Exception은 변수의 데이터 타입이 Exception이라는 의미다. Exception은 자바에서 기본적으로 제공하는 클래스로 java.lang에 소속되어 있다. 예외가 발생하면 자바는 마치 메소드를 호출하듯이 catch를 호출하면서 그 인자로 Exception 클래스의 인스턴스를 전달하는 것이다. e.getMessage()는 자바가 전달한 인스턴스의 메소드 중 getMessage를 호출하는 코드인데, getMessage는 오류의 원인을 사람이 이해하기 쉬운 형태로 리턴하도록 약속되어 있다. 지금까지 API의 소비자로서 API 측에서 던지..
pthread
2020. 4. 29. 12:05
🚦 Server/Operating System
PTHREAD POSIX Thread(약어 PThread)는 유닉스 계열 시스템에서 일반적으로 사용하는 스레드 관련 표준 API이다. int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 스레드 생성을 위해서 사용한다. 첫번째 argument인 thread 는 스레드가 성공적으로 생성되었을때 생성된 스레드를 식별하기 위해서 사용되는 스레드 식별자이다. 두번째 argument인 attr 은 스레드 특성을 지정하기 위해서 사용하며, 기본 스레드 특성을 이용하고자 할 경우에 NULL 을 사용한다. 세번째 argument인 start_routine는 분기시켜서 실행할 스..
Binary Search Tree
2020. 4. 28. 21:06
🕶 Algorithm/알고리즘
Binary Search Tree 이번 글에서는 자료구조의 일종인 이진탐색트리(Binary Search Tree)에 대해 살펴보도록 하겠습니다. 이 글은 고려대 김선욱 교수님, 그리고 역시 같은 대학의 김황남 교수님 강의와 위키피디아를 정리하였음을 먼저 밝힙니다. 파이썬 코드는 이곳을 기본으로 하되 중위순회 등 요소를 제가 추가하였습니다. 그럼 시작하겠습니다. Concepts 이진탐색트리란 이진탐색(binary search)과 연결리스트(linked list)를 결합한 자료구조의 일종입니다. 이진탐색의 효율적인 탐색 능력을 유지하면서도, 빈번한 자료 입력과 삭제를 가능하게끔 고안됐습니다. 예컨대 이진탐색의 경우 탐색에 소요되는 계산복잡성은 O(logn)으로 빠르지만 자료 입력, 삭제가 불가능합니다. 연결..
java - throw & throws
2020. 4. 28. 17:40
📌 java/java
지금까지 예외를 처리하는 방법으로 try...catch...finally를 배웠다. 이외에 다른 방법도 있다. throw를 사용하는 것이다. throw는 예외처리를 다음 사용자에게 넘기는 것이다. 다음 사용자는 누구일까? 코드를 보자. package org.opentutorials.javatutorials.exception; class B{ void run(){ } } class C{ void run(){ B b = new B(); b.run(); } } public class ThrowExceptionDemo { public static void main(String[] args) { C c = new C(); c.run(); } } ThrowExceptionDemo.main 클래스 ThrowExcep..
java - 예외의 강제
2020. 4. 28. 17:25
📌 java/java
API를 사용할 때 설계자의 의도에 따라서 예외를 반드시 처리해야 하는 경우가 있다. 아래의 예제를 보자. package org.opentutorials.javatutorials.exception; import java.io.*; public class CheckedExceptionDemo { public static void main(String[] args) { BufferedReader bReader = new BufferedReader(new FileReader("out.txt")); String input = bReader.readLine(); System.out.println(input); } } 어려운 코드다. 하지만 지금의 맥락에서는 중요한 내용이 아니다. 그래서 예외와 관련되지 않은 부분..
java - finally
2020. 4. 28. 16:29
📌 java/java
finally는 try 구문에서 예외가 발생하는 것과 상관없이 언제나 실행되는 로직이다. 예제를 조금 변경해보자. package org.opentutorials.javatutorials.exception; class A{ private int[] arr = new int[3]; A(){ arr[0]=0; arr[1]=10; arr[2]=20; } public void z(int first, int second){ try { System.out.println(arr[first] / arr[second]); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("ArrayIndexOutOfBoundsException"); } catch(Arithmet..
java - 좀 더 다양한 exception들
2020. 4. 28. 16:09
📌 java/java
이번에는 좀 더 다양한 예외 상황을 처리하는 방법을 알아보자. 코드를 보자. package org.opentutorials.javatutorials.exception; class A{ private int[] arr = new int[3]; A(){ arr[0]=0; arr[1]=10; arr[2]=20; } public void z(int first, int second){ System.out.println(arr[first] / arr[second]); } } public class ExceptionDemo1 { public static void main(String[] args) { A a = new A(); a.z(10, 1); } } 위의 결과는 아래와 같다. 이유를 따져보자. 배열 arr은 3..