분류 전체보기
-
JSON이란? JSON 문법과 예제/XML과 차이점Etc 2020. 2. 24. 12:48
JSON이란 ? - JavaScript Object Notation(JSON)으로 자바스크립트에서 파생된 (경량형)데이터 파일 포맷의 하나 - 텍스트의 직관적인 구성으로 사용자가 읽고 쓰기에도, 기계가 분석하고 생성하기에도 용이함 - 기존에 통용되던 XML을 대체하는 새로운 데이터 교환 형식으로 사용중 - 특정 언어에 종속되지 않고 C/C++, Java, Python, php 등에서 라이브러리 지원 JSON 문법 - 데이터는 Name과 Value의 1:1 쌍으로 이루어지고, 나열될 경우 쉼표(,)로 구분되는 비순서화 Set - Object는 중괄호({})로 둘러쌓아 표현, Array은 대괄호([])로 둘러쌓아 표현 - 객체와 배열은 서로 안에 포함될 수 있음 JSON 예제 { "firstName": "I..
-
Window C 소켓 통신(Server/Client) 코드Computer Science/Network 2020. 2. 16. 17:41
Window C 환경에서 Socket을 사용해서 서버와 클라이언트가 채팅으로 통신하는 프로그램입니다 * 한 솔루션에서 멀티 프로젝트를 생성하여 실행했습니다🤭 일단 각각의 프로젝트에서 독립 실행을 위해 솔루션-속성-공용 속성-시작프로젝트에서 현재 시작영역을 체크해줍니다 또한 윈도우 환경에서 TCP/IP 소켓을 사용하기 위해 각각의 프로젝트에서 프로젝트 '속성'->'구성 속성'->'입력'->'추가 종속성'->ws2_32.lib 을 추가해줍니다!! 각각의 헤더파일과 소스코드는 다음과 같습니다 Server.h #ifndef SERVER_MAIN_H #define SERVER_MAIN_H #include #include #include #include using namespace std; #include #inc..
-
2020 ETRI 동계인턴 한달의 기록Etc/Intern 2020. 2. 8. 23:06
글을 쓰는 시점은 2020.02.08로 현재 근무 6주차가 끝이났다. 1월까지의 근무에 대해, 환경은 어땠는지 내가 느낀 것에 대해 적어볼것이다 😄 나의 주 업무는 자세히 말하기는 어렵지만 현재 진행중인 사업에서 사용하는 펌웨어를 프로그래밍하는 업무이다 다른 부서와 교류가 없어서 어떤 환경에서 일하는지는 잘 모르지만 우리 부서는 인턴이 5명으로 많은 편이다 👀 처음 배치받은 부서로 가게 되면 박사님들에게 내가 지금까지 어떤 활동을 했는지, 어떤 업무를 하고싶은지에 대해 소개하게 된다 (박사님들이 진행중인 과제에서 인턴에게 어떤 업무를 배정해줄지 정하는 지표가 되기 때문에 가감없이 솔직하게 말씀드리는 것이 좋다!!) 내가 지원한 직무는 2명을 뽑았고, 그 중에서 같은 과제를 해결하기 위해 각각 다른 업무를..
-
Ethernet(이더넷)통신과 CSMA/CD 방식이란?Computer Science/Network 2020. 1. 8. 13:14
이더넷은 컴퓨터 전공자가 아니더라도 한번쯤 들어봤을 용어이다 또 이더넷을 들어보지 않았더라도, 랜선이라고 불리는 이 선은 다들 한 번쯤 봤을 것이다 Ethernet : 하나의 인터넷 회선에 유/무선 통신장비 공유기, 허브 등을 통해 다수의 시스템이 랜선 및 통신포트에 연결되어 통신이 가능한 구조. 쉽게 얘기하면 네트워크를 구성하고, LAN, MAN, WAN등의 통신망에서 활용되는 기술규격을 이야기 한다. 특히 우리가 가장 가까이에서 접하는 LAN(Local Area Network)에서 사용하는 표준이다 😮 현재는 미국의 산업 표준 IEEE 802.3 규약에 의해 표준화되었다 이더넷을 통하면 네트워크에 연결된 각 기기들이 48비트 길이의 고유의 MAC 주소를 가지고, 이 주소를 이용해 상호 데이터 교환이 ..
-
2020 ETRI 동계 인턴(연구연수생) 합격 후기Etc/Intern 2020. 1. 8. 00:30
2020년 에트리의 동계 인턴에 합격해서 현재 출근 4일차다 😮 이번에 좋은 기회를 얻어서 근무중이라서 1.1~2.29일 까지의 근무기간동안 두 차례정도 기록을 해볼까 한다 (물론 연구과제의 유출을 거의 배제하는 선에서) 우리 과에서는 매 학기마다 한두분씩 다녀오시기 때문에 방학마다 인턴을 뽑는다는 사실은 알고 있었지만, 18년 하계 인턴때 지원했다가 광탈했던 경험을 바탕삼아 이번에 합격할 수 있었다 👀 이번 지원기간동안에는 원래 방문 및 우편 접수로만 받았었던 지원을 온라인 지원으로 확대시켰다 그래서 아마 경쟁률이 꽤나 치열했을 것 같은데, 인턴 합격은 대입처럼 운과 눈치싸움에서 많이 갈리기 때문에 자신의 관심 분야를 크게 벗어나지 않되 경쟁률이 너무 높을 것 같은 부서는 피하는게 팁이다 (!) 인턴은..
-
Git&Github 활용하기(1) - init/add/commitEtc/Git 2019. 11. 13. 14:30
더보기 Git이란 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 위키백과에 나와있는 Git의 정의이다. 하지만 사전적인 정의는 와닿지 없는 법 실제로 Git과 Github는 무엇이며 강조할 필요도 없는 개발자의 필수 요소로 자리잡은 것일까 Git은 사전 정의 그대로, 프로젝트의 변경 사항을 관리할 수 있고, 협업을 도와주는 프로젝트 관리 툴이다. 여기에서 핵심은 프로젝트의 버전을 관리할 수 있다는 데에 있다 대부분의 프로젝트 개발 과정에서 1인 개발을 하는 경우는 거의 없을 것이다. 프로젝트의 규모가 커지고 필요한 자원이 늘어감에 따라서, 협업은 빠질 수 없는 필수 사항이다. 그래서 요즘에는 협업을 얼마나 잘하는지에 대한 것도 강..
-
[BOJ]백준 17471번: 게리 맨더링Problem Solving/BOJ(백준) 2019. 11. 13. 01:33
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 완전탐색으로 그래프를 두 구로 나누어 각각 연결요소의 개수를 구하고, 2개일 경우에만 차이의 최솟값을 구하는 문제 크게 세 부분으로 나뉜다. 1. N개의 구를 두 진영으로 나누는 경우의 수 구하기 2. 각각의 요소들을 BFS로 연결요소가 두 개인지 구하기 3. 두 연결요소의 차의 최솟값 구하기 일단 1. 백트래킹을 이용해서 depth가 N일 때 까지 콜스택을 쌓고 2. 1번 요소에서 BFS를 돌려서 전부 visit됐다..
-
[BOJ]백준 17136번: 색종이 붙이기Problem Solving/BOJ(백준) 2019. 11. 12. 19:38
https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 1이 적힌 칸은 모두 색종이로 덮여져야 한다. 색종이를 붙일 때는 종이의 경계 밖으로 나가서는 안되고, 겹쳐 www.acmicpc.net 캐슬 디펜스와 같이 A형 기출문제였던 색종이 붙이기 문제!! 처음에는 그냥 로직을 맵을 돌면서 가장 큰 색종이부터 작아지는 순서대로 붙이는 그리디한 방..