statement와 preparedStatement의 차이점
JDBC(Java Database Connectivity)를 사용하여 데이터베이스와 상호작용할 때 Statement과 PreparedStatement는 두 가지 주요 인터페이스입니다.
Statement: Statement은 정적인 SQL 문장을 실행하는 데 사용됩니다.
SQL 쿼리를 실행하기 전에 컴파일하지 않고, 각각의 실행마다 쿼리를 데이터베이스에 전송합니다.
매번 실행할 때마다 SQL 쿼리가 데이터베이스에 다시 컴파일되고 최적화됩니다.
보안 측면에서 취약할 수 있습니다. 사용자 입력을 직접 쿼리에 추가할 때 SQL Injection 공격에 취약합니다.
PreparedStatement: PreparedStatement는 동적으로 매개변수화된 SQL 문장을 실행하는 데 사용됩니다.
SQL 쿼리를 미리 컴파일하여 데이터베이스에 전달하기 전에 쿼리를 준비합니다.
미리 컴파일되고 최적화되어 재사용할 수 있으므로, 같은 쿼리를 여러 번 실행할 때 성능이 향상됩니다.
보안 측면에서 더 안전합니다. 매개변수화된 쿼리를 사용하여 SQL Injection 공격을 방지할 수 있습니다.
차이점:
1) 컴파일과 최적화: Statement은 실행할 때마다 쿼리를 컴파일하고 최적화하지만, PreparedStatement는 미리 컴파일되고 최적화되어 있습니다.
2) 재사용성: PreparedStatement는 컴파일된 쿼리를 재사용할 수 있어 반복적인 실행에 유리합니다.
3) 보안: PreparedStatement는 매개변수화된 쿼리를 사용하여 SQL Injection 공격을 방지하는 데 도움이 됩니다.
일반적으로는 가능한한 PreparedStatement를 사용하는 것이 좋습니다. 성능과 보안 면에서 더 우수하며, 코드도 더 깔끔하게 유지할 수 있습니다.

TCP, UDP차이점
TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 네트워크 통신에서 주로 사용되는 두 가지 프로토콜이며 전송계층에 속합니다. 이 둘은 데이터를 전송하는 방식과 기능 면에서 다소 차이가 있습니다.
TCP와 UDP는 네트워크 통신에 사용되는 두 가지 프로토콜로, 주요 차이점은 다음과 같습니다:
1)연결방식: TCP는 연결형 서비스로 연결을 설정하고 데이터를 전송하며, UDP는 비연결형 서비스로 연결 설정 없이 데이터를 전송합니다.
2)패킷 교환 방식: TCP는 가상 회선 방식을 사용하여 신뢰성 있는 데이터 전송을 보장하고, UDP는 데이터그램 방식을 사용합니다.
3)전송 순서: TCP는 전송 순서를 보장하고, UDP는 전송 순서를 변경할 수 있습니다.
4)수신 여부 확인: TCP는 수신 여부를 확인하고, UDP는 수신 여부를 확인하지 않습니다.
5)통신 방식: TCP는 1:1(Point to Point) 통신을 지원하고, UDP는 N:N 통신을 지원합니다.
6)신뢰성: TCP는 높은 신뢰성을 제공하며, UDP는 신뢰성이 낮습니다.
7)속도: TCP는 데이터 신뢰성을 위해 느리지만, UDP는 빠른 데이터 전송을 지원합니다.
이렇게 TCP와 UDP는 각각의 특성에 따라 다른 종류의 네트워크 응용 프로그램에 적합하게 사용됩니다.

스터디 현황
