분류 전체보기

오버로딩 오버로딩이란 메서드의 이름이 같지만 매개변수의 (개수, 타입)이 다른 경우를 말합니다. 즉, 같은 메서드 이름을 가지면서 매개변수의 타입 또는 개수가 다른 여러 개의 메서드를 정의할 수 있는 기능을 의미합니다. 이렇게 오버로딩된 메서드들은 컴파일러에 의해 메서드 호출 시 전달되는 인자의 타입 및 개수에 따라 적절한 메서드가 선택되어 실행됩니다. 이때, 로버로딩된 메서드들은 메서드 시그니처가 달라야 합니다. 메서드 시그니처란? 메소드 이름 파라미터 수 파라미터 타입의 순서 다음의 조건을 모두 만족하면 메서드의 signature가 같다고 할 수 있다. Example 아래 두 메서드는 같은 signature라고 할 수 있다. public MyClass { public String myMethod(St..
배열 같은 자료형의 값 여러 개를 저장하는 연속된 공간 배열을 선언하는 4가지 방법 // 배열 선언 첫 번째 방법 String[] coffees = new String[4]; // 두 번째 방법 String coffees[] = new String[4]; // 세 번째 방법(선언과 동시에 초기화) String[] coffees = new String[] {"아메리카노", "카페모카", "라떼", "카푸치노"}; // 네 번째 방법 String[] coffees = {"아메리카노", "카페모카", "라떼", "카푸치노"}; 배열 순회 public static void main(String[] args) { // 배열의 순회 String[] coffees = {"아메리카노", "카페모카", "라떼", "카푸..
· Tip💡
프로그래밍은, 다양한 스타일로 변수명 등을 지정한다. 프로그래밍을 할 때, 변수나 클래스명을 지을 때 공백(" ")을 지우고 그 이름을 짓는다. 예를 들어 변수명은 공백을 애초에 허용하지 않는다. 또한 파일명, 패키지명등은 "\"등이 들어가면 경로에 들어갈 수 있기에 불가능하다. 이에 대해 여러 가지 명명규칙인 (카멜, 파스칼, 케밥, 스네이크) 케이스를 소개한다. 1. 카멜 케이스 카멜케이스라고 이름 지어진 건 낙타의 등이 중간에 불룩 튀어나온 것처럼 글자의 중간중간이 불룩 튀어나와 있기 때문입니다. 원본 문자: Around Hub Studio 케이스 적용 문자: aroundHubStudio 2. 파스칼 케이스 첫번째 문자를 대문자로 변경해 준다는 것이 카멜과 다르다. 자바 클래스의 이름을 정할 때 주..
로봇의 움직임에 따라 어떠한 방향으로 동작할지 시스템순서도를 설계하였다. 순서도는 다음과 같다. 출발 -> 최종목적지태그인식 -> 서버가 로봇의 최종목적지태그를 인식할 때까지 서버랑 로봇 둘 다 무한대기 만약 로봇전부가 태그(최종목적지tag, or 기본 tag 아무거나)를 받는 것을 완료했다면 다음으로 넘어간다. 서버가 로봇의 모든 태그를 받았다면 알고리즘을 계산하여, 서버가 로봇에게 계산한 다음좌표를 로봇에게 전달한다. 로봇은 그에따라 다음목적지로 이동하기 위해 direction알고리즘을 수행하고 다음목적지로 이동을 완료한다. 이동을 완료했다면, 다음목적지가 어떤 의미를 뜻하는지 상태를 결정하기 위해 3가지 중 1가지를 택한다. 1. 단순 다음 목적지 2. 택배 최종 목적지 3. 레디상태로 바뀌기 위한..
https://www.acmicpc.net/problem/1749 1749번: 점수따먹기동주는 항상 혼자 노느라 심심하다. 하지만 혼자 놀기의 고수가 된 동주는 매일매일 게임을 개발하여 혼자놀기의 진수를 우리에게 보여준다. 어느 날 동주는 새로운 게임을 개발하였다. 바로 점www.acmicpc.net입력첫째 줄에 N (1 출력첫째 줄에 최대의 합을 출력하라.예제 입력13 52 3 -21 -22 -235 6 -22 -23 -25-22 -23 4 10 2예제 출력 116 코드from sys import stdin r_line = stdin.readline h, w = map(int, r_line().split())matrix = [[0] for _ in range(h)]for i in range(h): # ..
MQTT(Message Queuing Telemetry Transport) IoT를 위한 저전력의 경량 메시징 프로토콜 무선으로 인터넷에 연결된 임베디드 기기들의 통신을 목적으로 만들어짐 리소스를 매우 적게 요구하기 때문에 사물인터넷에 최적화된 프로토콜 MQTT 통신 방법 broker라고 불리는 server에 의해 중계된다. client들은 임의의 topic을 subscribe 하거나 topic에 메시지를 publish 하는 방식으로 통신이 이뤄짐 Mosquitto MQTT프로토콜 버전 3.1을 구현하는 오픈소스 메시지 브로커(MQTT server) 가벼우며 저전력으로 동작하는 임베디드 센서나 모바일 장치와 같은 IoT 기기에 적합 Mosquitto를 사용하려면 설치작업을 진행해야 한다. $ sudo a..
MST 중 prim알고리즘은 그리디알고리즘을 만족하는 몇 안 되는 알고리즘이다. 여기서 mst = minimum spaning tree로 최소신장트리이다. 신장트리 중 가중치의 총합이 가장 최소임을 의미한다. 특징으로는 1. 간선의 가중치의 합이 최소여야 한다. 2. n개의 정점을 가지는 그래프에 대해 반드시 (n-1) 개의 간선만을 사용해야 한다. 노드 1번에서 가질 수 있는 간선의 수 : 2(N-1) 노드 2번에서 가질 수 있는 간선의 수 : 2(N-2) 노드 3번에서 가질 수 있는 간선의 수 : 2(N-3) 이를 모두 더하면 2(N-1 + N-2 + N-3 + .... + N-N) 2*(N^2 - (N(N+1)/2)) E = N(N-1) 이다. 이때 prim알고리즘은 현재 보이는 것 중 가장 좋은 ..
처음 설계처럼 QR코드를 좌표화 하려고 했다. 방법은 x,y가 가장 적합하다고 생각해서 좌표방식으로 결정하였다. 예를 들어, (1,2)가 그 예시이다. 이런 바둑판모양에서의 자동차는 최단거리를 고려할 필요가 없다. 원하는 목적지가 정해졌을 때, x축, y축을 행과열이라고 생각하면 행 n개, 열 m개를 가면 된다. 그래서 행렬에 따른 어떤 방향으로 이동할 지가 중요한 관건이다. 이는 로봇이 1개가 아닌 다중로봇시스템으로 구동을 해야 하기에, 충돌방지에 따른 next hop의 목적지를 robot에게 전달해야 한다. 코드는 https://goqr.me/ QR Code Generator – create QR codes for free (Logo, T-Shirt, vCard, EPS) Information abo..
ssh란? 시큐어 셀(Secure SHell, SSH)는 네트워크 상의 다른 컴퓨터에 로그인 및 원격 시스템을 가능하게 하는 프로토콜이다. 기존의 유닉스 시스템 쉘에 원격 접속하기 위해 사용하던 텔넷은 암호화가 이루어지지 않아 계정 정보가 탈취될 위험이 높으므로, 여기에 암호화 기능을 추가하여 나온 프로토콜이다. (SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다) 여기서 전에 사용하던 Telnet은 보안적으로 매우 치명적인 결함이 있다. SSH 프로토콜을 사용했을 때 문자열을 보게 되면 식별할 수 없는 내용으로 패킷이 보내집니다. 암호화된 통신을 가능하게 하여 보안성을 향상시킬 수 있다. ==> 간단히 말해, 원격 컴퓨터끼리 안정하게 통신하기 위..
쿠팡의 신공정 미래형 자동화 물류공정(대구 FC)을 준공하였다. 이를 보고 이런 자동화공정을 이해하고 기술적인 부분을 해결해 나가자고 이 주제를 잡게 되었다. 이를 통해 내가 처음 손으로 그려본 예상 방식이다. 처음에는 라인트레이서를 생각하지 못했지만 라인 없이는 주행이 원활한 이동주행이 힘들다고 생각했다. GPS를 이용해 공간 mapping을 하거나 라이다센서를 통해 장애물을 찾아가며 앞으로 나아가야 한다. 팀원과 팀 분야를 이렇게 나누었고 나는 ICT 통신분야를 맡았다. 그리고 팀장(PL) 직책도 맡고 있다. 배경 및 목적 현시대의 물류센터는 상당량의 물류량을 처리해야 하기 때문에 다수의 직원이 필요합니다. 물류센터의 비정규직은 거의 95%에 육박합니다. 그에 비해 물류센터는 냉난방시스템 등 근무환경..