인기 게시물
-
개발
[JAVA] 산성비 게임
어릴 적 학교 컴퓨터실 한컴타자연습에서 많이 하던 산성비 게임이다. ○ 단어는 words.txt 파일을 읽어서 랜덤으로 가져온다. ○ 제한시간 내에 떨어지는 단어를 바르게 입력하면 '성공' 메세지를, 시간이 모두 지나면 '시간초과실패' 메세지를 좌측 상단에 출력한다. ○ '그만' 을 입력하여 종료한다. 코드 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class eleven extends JFrame{ private MyPanel panel=new MyPanel(); private JPanel jp; private JTextField jt; privat..
-
Stamps
[C#, JAVA] n이하의 소수 리스트
소수는 알고리즘 문제의 단골 손님인데, 보통 시간 초과에 막히는 문제가 많다. 따라서 소수 판별 시간을 줄이는 것이 일순위인데 아래 코드에선 소수의 두 가지 성질을 이용했다. 1. 어떤 수를 그 수의 제곱근보다 작은 소수들로 나눴을 때 나누어 떨어지지 않는다면 그 수는 소수이다. 2. 2를 제외한 모든 짝수는 소수가 아니다. 더 빠른 방법을 찾을 시 수정 using System; using System.Collections.Generic; class Program //사용 예 { static void Main(string[] args) { Prime p = new Prime(); p.makePrime(100); List list = p.getList; foreach (long l in list) Cons..
-
개발
[LabVIEW] TCP 통신을 이용한 파일 전송 시스템
LabVIEW와 TCP 통신을 이용하여 클라이언트에서 서버에 접속 후 서버의 저장소의 파일리스트를 가져오고 파일을 선택하여 다운로드 받는 프로그램이다. 사실 구현할 기능이 좀 더 있었는데 랩뷰만 잡고있을 수 없어 꼭 필요한 기능을 모두 구현하고 마무리했다. ※ 요구사항 서버 ○ 클라이언트 연결 상태를 알려줍니다. ○ 클라이언트의 입력 수신 확인을 위해 Echo를 송신합니다. ○ 클라이언트로부터 업데이트 명령을 수신받으면, 파일 저장소의 파일 리스트를 송신합니다. ○ 클라이언트로부터 다운로드 명령과 해당 파일 경로를 수신받으면, 해당 파일을 송신합니다. 클라이언트 ○ 서버 연결 상태를 알려줍니다. ○ 업데이트 버튼을 클릭하면, 서버로부터 저장소의 파일 리스트를 수신하여 출력합니다. ○ 파일 리스트에서 파일..
-
개발
[C#] 서버 - 클라이언트 1 : N 비동기 채팅
서버에 클라이언트를 여러개 연결할 수 있고, 한 클라이언트가 메세지를 전송하면 서버는 해당 메세지를 연결된 모든 클라이언트에 Broadcast 한다. 클라이언트마다 메세지 수신을 위한 스레드가 동작하는데, 스레드가 끝나면 프로세스도 끝나는 걸 방지하기 위해 배경 스레드로 설정한다. 서버는 연결된 클라이언트마다 소켓과 스레드를 생성하여 관리한다. Server (Console) using System; using System.Collections; using System.IO; using System.Text; using System.Threading; using System.Net; using System.Net.Sockets; namespace ConsoleServer { class Program { s..
-
개발
[C#] 아날로그 시계
이거 생각보다 어렵다. 일단 시계의 침 모양을 만들기 위해 좌표를 4개를 찍어서 채워줘야 한다. 아날로그 시계인 만큼 침들을 회전이동 시켜줘야 하는데, 좌표 4개를 찍어서 침을 만들었으니 중심을 제외한 좌표 3개를 이동시켜 줘야 한다. 또한 프로그램을 실행했을 때 침들을 현재 시간에 놓는 작업과 시간 표시를 위해 시계 테두리에 숫자를 회전하면서 그리는 작업도 생각을 요구한다. 경과를 빠르게 보여주기위해 타이머 Interval을 100ms로 설정. 하지만 폼의 텍스트는 현재시간을 받아오기 때문에 1배속 그대로 출력된다. 코드 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using ..
-
공부
TCP 통신을 이용한 파일 전송 시스템
LabView와 TCP 통신을 이용하여 클라이언트에서 서버에 접속 후 서버의 저장소의 파일을 선택하여 다운로드 받는 프로그램을 만들어 보았다. 개인 프로젝트이며 이후 당분간 LabView관련 포스팅은 없을 듯 하다. ※ 요구사항 서버 ○ 클라이언트 연결 상태를 알려줍니다. ○ 클라이언트의 입력 수신 확인을 위해 Echo를 송신합니다. ○ 클라이언트로부터 업데이트 명령을 수신받으면, 파일 저장소의 파일 리스트를 송신합니다. ○ 클라이언트로부터 다운로드 명령과 해당 파일 경로를 수신받으면, 해당 파일을 송신합니다. 클라이언트 ○ 서버 연결 상태를 알려줍니다. ○ 업데이트 버튼을 클릭하면, 서버로부터 저장소의 파일 리스트를 수신하여 출력합니다. ○ 파일 리스트에서 파일을 클릭하면, 선택한 파일에 출력합니다. ..
최근 게시물
-
자격증, 세미나 등등
ADsP 합격
제45회 ADsP에 합격했습니다. 빅분기가 있는 제가 굳이 이 자격증을 취득한 이유는 바로바로... 회사에서 돈을 주기 때문입니다.싸피 시절 B형 취득에 실패해서 100만 원을 받지 못한 기억이 나네요. 점수는 생각보다 낮았습니다. 분명 시험 때 문제가 너무 빨리 풀려서 고득점을 예상했는데 그냥 빠르기만 한 거였습니다. 책도 나오면서 버렸는데 떨어졌으면 흑역사로 남았겠네요. 공부는 아래 이지패스 교재로 했습니다. 20일 과정으로 되어있는데 제 기준 1일 분량에 30분 정도 걸려서 4~5일 몰아서 공부하기 좋았습니다. 컴퓨터만 하다 보니 책으로 공부하는 자세(물리)를 유지하는 게 쉽지 않은데요, 모니터와 달리 책은 다크모드가 없어 눈이 금방 피곤해지고 고개를 숙여야 되니 목도 아픕니다. 그래서 핵심을..
-
자격증, 세미나 등등
AWS Summit 2025 후기
서울 코엑스에서 열린 AWS Summit 2025에 참가했습니다. 5월 14일부터 15일까지 진행됐는데 저는 14일만 참가했습니다. 대학교 강의처럼 시간대별로 다양한 분야에 대한 강연 + 엑스포 형식의 기업 부스 공간이 동시에 진행되는데 신선하고 재밌었습니다. 이번 행사 등록 인원은 4만명으로 추산되며 강연 당 정원은 천 명 미만이기에 듣고 싶은 강연을 못 듣는 상황도 발생할 수 있습니다. 처음에 들어가면 아래 장소에서 명찰을 수령하는데 뭔가 클럽같습니다. 동시간에 동일 홀에서 진행되는 강연도 존재하는데 좌석에 배치된 헤드셋의 버튼을 통해 채널을 변경하여 원하는 강연의 음성을 청취할 수 있습니다. 강연 외에도 여타 기술 엑스포같은 기업 부스 공간도 존재합니다. 사람이 정말 많기에 동선을 잘 짜셔야..
-
기타
조회수 2만
기록용
-
공부
[Oracle] 월의 첫째 날, 마지막 날, 일자 리스트, 요일
오래된 쿼리들을 보면 무식하게 반복되는 구조를 가진 것들이 있다. 예를 들면 월 내의 일자 반복인데 아래 예시를 보자. 몇천줄 넘어가는 쿼리들 까보면 다 이런 식이라 한숨부터 나온다. 그나마 일자 반복은 아래 쿼리들을 사용하면 줄일 가능성이라도 있다. 월의 첫째 날을 구하는 쿼리이다.SELECT TRUNC(TO_DATE('', 'YYYYMM')) AS FIRST_DAY FROM DUAL; 월의 마지막 날은 더 간단하다.SELECT LAST_DAY(TO_DATE('', 'YYYYMM')) AS END_DAY FROM DUAL; 일자 리스트는 LEVEL을 사용하여 출력한다. 레벨 범위를 설정하는 방법은 여러 가지가 있는데, 난 아래 방법이 가장 직관적인 것 같다.SELECT TRUNC(TO_DATE('',..