본문 바로가기

전체 글

(27)
[백준/Java] 1008번: A/B (브론즈5) 🟤 백준 1008번: A/B (브론즈5) ⚠️ 주의입력이 공백 단위로 주어짐상대오차 또는 절대오차 범위 이하여야 함 문제 풀이1차 풀이import java.util.*;import java.lang.*;import java.io.*;/* - 문제 풀이: 250324(월) - 1008번: A/B (브론즈5), https://www.acmicpc.net/problem/1008 - 실행 시간: 104ms*/public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
[백준/Java] 10871번: X보다 작은 수 (브론즈5) 🟤 백준 10871번: X보다 작은 수 (브론즈5) 문제 풀이1차 풀이import java.util.*;import java.lang.*;import java.io.*;// 문제 풀이: 250323(일)class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 문자열을 구분자로 분리하여 입력 받기 StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.p..
[백준/Java] 10807번: 개수 세기 (브론즈5) 🟤 백준 10807번: 개수 세기 (브론즈5) 문제 풀이1차 풀이import java.util.*;import java.lang.*;import java.io.*;/* 문제 풀이: 250323(일) 10807번: 개수 세기 (브론즈5), https://www.acmicpc.net/problem/10807*/class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); // 개행 문자 소비 String strNum = sc.nextLine(); // String으로 입력 받음 ..
[InTouch] Wonderware Client 설치 및 사용 방법 1. Wonderware ClientHMI와 데이터 소스 간의 통신을 문제 해결할 때, Wonderware Client(WWClient)를 사용하여 연결 상태를 확인하고 값을 읽는 것이 유용함 적용 대상AVEVA 소프트웨어 패키지 중 SuiteLink 또는 DDE 통신 프로토콜을 사용하는 모든 소프트웨어Wonderware Client 유틸리티(WWClient)2. 사용 방법1) WWClient 유틸리티 설치 및 실행wwclient.zip압축을 해제한 후 wwclient.exe 실행 2) 연결 생성(1) [Connections] > [Create] (2) [Create Connection]InTouch에서 Access Name을 구성하는 것과 비슷함연결을 설정한 뒤 [Create] 클릭 Node: loca..
[Python] Snap7 ─ Siemens S7 PLC 통신 라이브러리 python-snap7: Snap7 라이브러리를 위한 Python wrapperTCP/IP 프로토콜을 통해 Siemens PLC에 대한 액세스를 제공Snap7 1.1.0과 Python 3.7+를 위해 개발 *Snap7: Siemens S7 PLC와 네이티브로 인터페이스하기 위한 오픈 소스, 32/64비트 멀티 플랫폼 이더넷 통신 스위트  Snap7 모듈 설치pip install python-snap7 Importimport snap71. Client1-1. Client 연결1) `snap7.client.Client` 클래스 : Snap7 Client 객체를 생성하고 사용하는 클래스 사용 예제import snap7client = snap7.client.Client()client.connect("127.0...
[Python] asyncpg 비동기 함수 정리 쿼리 실행 함수함수목적반환값특징executeSQL 명령 실행마지막 명령의 상태 (`str`)1. 다수의 SQL 명령 실행 가능2. 결과 반환 Xexecutemany여러 인수로 같은 명령 반복 실행없음 (`None`)1. 동일한 SQL 명령을 여러 세트의 매개변수와 함께 실행2. 트랜잭션 원자성 보장fetchSELECT 쿼리 결과 전체 조회레코드 리스트 (`list[Record]`)쿼리 결과의 모든 행을 반환fetchmanySELECT 쿼리 결과 여러 행을 반복 조회레코드 리스트(`list[Record]`)1. 쿼리 반복 실행하며 여러 행 반환2. 매번 다른 매개변수 사용 가능fetchrowSELECT 쿼리 결과 첫 번째 행 조회첫 번째 행 (`Record` 또는 `None`)반환할 행이 없으면 `None..
[Python] asyncpg ─ PostgreSQL 비동기 연결 asyncpg : PostgreSQL과 Python/asyncio를 위해 특별히 설계된 데이터베이스 인터페이스 라이브러리Python 3.8 이상 필요, PostgreSQL 버전 9.5부터 17까지 지원다른 PostgreSQL 버전이나 PostgreSQL 프로토콜을 구현하는 다른 데이터베이스도 작동할 수 있지만, 현재는 적극적으로 테스트되지 않음1. PostgreSQL 연결1-1. asyncpg 설치pip install asyncpg 1-2. asyncpg 연결`asyncpg.connect()` : PostgreSQL 서버에 연결을 설정하는 코루틴연결 매개변수는 연결 URI(dsn) 형식으로 지정하거나, 구체적인 키워드 인수로 지정async connect(dsn=None, *, host=None, port..
[Python] asyncio ─ 비동기 방식 asyncio: `async/await` 구문을 사용하여 동시성 코드를 작성할 수 있게 해주는 라이브러리 단일 스레드 작업을 병렬로 처리고성능 네트워크 및 웹 서버, 데이터베이스 연결 라이브러리, 분산 작업 큐 등을 제공하는 여러 파이썬 비동기 프레임워크의 기반으로 사용종종 IO 병목이면서 고수준의 구조화된 네트워크 코드에 가장 적합파이썬 3.7 버전 이상부터 사용 가능  고수준 API파이썬 코루틴들을 동시에 실행하고 실행을 완전히 제어할 수 있음네트워크 IO와 IPC를 수행자식 프로세스를 제어큐를 통해 작업을 분산동시성 코드를 동기화저수준 API네트워킹 , 하위 프로세스 실행 , OS 신호 처리 등을 위한 비동기 API를 제공하는 이벤트 루프를 생성, 관리트랜스포트를 사용하여 효율적인 프로토콜을 구현콜..