no image
S/W 개발 관련 사이트 모음
이 게시글은 S/W 관련 사이트를 하나씩 추가할 공간이다. 메이커스 메이커스는 Qt, Linux, WIndows, Embedded, C/C++, 파이썬 등에 대한 예제가 게시되는 사이트다. 어느 한 분야에 종속되지 않고 다양한 분야의 자료들이 올라온다. 또한, S/W 개발 분야의 최신 정보도 올라오니 심심하면 찾아가서 보자.
2023.07.20
펌웨어/임베디드 소프트웨어 개발, 잘 안 풀릴 때 읽어볼 만한 글
펌웨어 및 임베디드 소프트웨어 개발은 일반 소프트웨어 개발 과정과 만나게 될 이슈의 성향이 다릅니다. 새로 개발된 PCB(Printed Circuit Board) , 사용해보지 못한 Chip 등, 다양한 변수가 존재하기 때문입니다. 또한, 상대적으로 적은 유저가 사용하는 프로그램을 활용하다보면 더더욱 이슈의 원인을 찾기가 어렵죠. 답답할 때, 다시 되돌아보기 위해서 정리해보았습니다. 꼭, 정답은 아니지만 펌웨어/임베디드 소프트웨어 개발 시, 이러한 문제들이 있었으니 참고하셔도 좋을 것 같습니다. PCB 전원 불량 문제 최근에는 하드웨어 개발자들도 기본적으로 전원단을 체크하고, 소프트웨어 개발자에게 넘기기 때문에 이런 일은 거의 없습니다. 그래도 간혹 전원 불량이 생길 수 있는데, MCU에 프로그램 다운로..
2022.06.15
Floating과 Node-Locekd License(플로팅과 노드락 라이선스)
유료 소프트웨어의 경우, 비용을 지불하고 라이센스를 구입하는 것이 일반적입니다. 이 때, 여러 유형의 라이센스가 존재하며, 아래와 같은 종류의 라이센스들이 존재합니다. 플로팅 라이선스(Floating License) 최근에 가장 많이 활용되는 라이선스라고 생각합니다. 사내의 서버 컴퓨터에 라이선스를 등록하고, 유저들이 해당 프로그램을 사용할 때 라이선스를 빌려가는 형태입니다. 개인당 모든 라이선스를 구매하면, 개개인적으로는 불편함이 없지만 금액이 그만큼 부담되어 인기가 많습니다. 하지만, 사용량이 많은 프로그램의 경우 적절한 개수를 체크하여 구매하는 것이 좋습니다. 사용량이 적은 프로그램들은 라이선스 순환이 잘 되지만, 사용량이 많은 프로그램의 경우 개개인들이 업무를 볼 때, 문제가 있을 수 있습니다. ..
2022.06.15
코딩 테스트 사이트 후기
예전에 취업준비를 했을 때, 그런 의문이 들었습니다. 개발자를 뽑는데 왜 영어와 학점이 높아야 할까? 물론, 학점과 영어 그리고 개발실력이 모두 뛰어난 사람들도 분명 존재합니다. 하지만, 실습을 위한 어려운 과목을 수강하다보면 학점이나 영어에 비교적 신경을 덜써질 수 밖에 없죠. 그러나 아쉬운 사람은 취준생이니 어떻게든 세상의 기준에 맞췄던 것 같습니다. 그런데 요새는 트렌드가 많이 바뀐 것 같습니다. 학점과 영어는 기준에 없고 오직 실력으로만 채용하는 기업들이 늘고 있는 추세입니다. 그리고 S/W 개발자에 한해, 웹 기반 코딩 테스트를 통하여 지원자의 실력을 가늠하죠. 저도 요새 트렌드를 경험해보고자 코딩 테스트 사이트를 이용해보았습니다. 1. 사용 후기 처음에는 '프로그래머스'라는 사이트를 이용했습니..
2022.02.13
no image
소프트웨어(S/W) 개발자를 위한 약어 사이트
소프트웨어(S/W)를 개발하는 사람들은 함수나 변수의 이름을 어떻게 정해야 할지, 고민이 되는 경우가 종종 있습니다. 생각해보면 별것 아닌 일인데 다른 함수나 변수의 이름과 겹치지 않고, 공통적인 분위기를 해치지 않으면서, 한눈에 들어오는 이름을 짓는 것은 꽤나 어려운 일이지요. 1인 개발자(또는 기업)라면 그나마 괜찮지만, 여러 사람과 협업하는 환경이라면 다른 사람이 보았을 때, 함수와 변수가 무엇을 의미하는지 한눈에 들어오는 조건도 추가되어야 합니다. 직장생활을 하다 보니, 아래와 같이 4가지 조건이 만족되면 매우 좋은 이름이라고 생각하게 되었습니다. 공통성 유일성 가시성 가독성 그런데, 위의 조건들을 만족하며 개발하기도 어려운데, 영어의 약어까지 고민해야 한다면, 토종 한국인 개발자로서는 매우 골치..
2022.02.13
동기/비동기(Synchronous/Asynchronous) 개념 정리
소프트웨어 관련 여러 분야에서 동기/비동기(Synchronous/Asynchronous) 개념이 자주 등장합니다. 그런데 업계마다 동기/비동기 처리(또는 호출)에 대해 미묘하게 다르게 정의하고 있네요. 좋다 나쁘다 관점도 조금씩 다르던데, 제 생각에는 조직과 개발자들의 성향에 맞게 활용하시면 될 것 같습니다. 현재, 저에게 중요한 것은 개념이므로 기억에 남을 수 있도록 정리한 내용은 이렇습니다. 동기(Synchronous) 처리 및 호출 - C언어를 처음 접했던 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되는 방식 - 단순 반복 비동기(Asynchronous) 처리 및 호출 - OS, 콜백함수, Task 등이 포함된 환경과 유사한 구조 - 작성한 코드의 순서대로 처리되지 않고, 처리하는 방식 - ..
2021.12.29