Ubuntu의 crontab에서 GUI 프로그램 실행 스케쥴 등록하기(ubuntu 22.04 기준)
2022. 11. 4. 18:17
개발 일상
Ubuntu의 crontab에서 GUI 프로그램 실행 스케쥴 등록하기(ubuntu 22.04 기준) 고객사 쪽의 요청으로 자사의 프로그램이 항상 켜져있도록 기능 개발을 해야했다. 24시간 항상 켜져있어야 하는 관제 프로그램이라서 비정상 종료시에도 켜질 수 있도록, 앱이 시스템에서 작동하는지 확인 후, 꺼져 있으면 자동으로 실행하는 스크립트를 python으로 구현하였다. 그리고 그 python이 살아있는지 주기적으로 확인하고 죽었으면 살리는 쉘 스크립트(.sh)를 작성하고 이를 crontab에 등록하여 주기적으로 쉘 스크립트를 실행시키도록 스케쥴링을 걸었다. 참고: electron 기반으로 구동되는 프로그램(javascript 기반) 스크립트의 작동 구조 쉘스크립트.sh(python 스크립트가 살아있는지 ..
[기술면접] 프론트엔드 개발자 기술 면접 정리3
2022. 6. 7. 15:30
기술 면접 source
1. 프로젝트에서 ORM을 사용하셨나요? 사용하셨다면 Raw Query를 사용하지 않고 ORM을 활용한 이유는? 시퀄라이즈를 사용했다. raw 쿼리의 경우 데이터베이스에 따른 sql 문법등을 잘 알고 있어야 한다. 그런데 시퀄라이즈는 개발자에 친숙하게 되어 있어서 굳이 sql문법을 통달하지 않아도? 사용하기 쉬워서 접근성이 좋다 2. REST한 API에 대해서 자세히 설명? REST란 http를 기반으로 자원(리소스)을 이름으로 구분하여 리소스의 형태를 공유하는 것을 말한다 API는 클라이언트와 서버 간의 관계 같이 서로 다른 소프트웨어 간에 요청과 응답을 주고 받을 수 있게 만든 체계로 종합하자면, restful api는 rest를 통해 확장성과 재사용성 등 업무 효율을 높히는 규칙을 적용하여 아키텍쳐..
[기술 면접] 프론트엔드 개발자 기술 면접 정리2
2022. 6. 2. 19:41
기술 면접 source
1. 브라우저에서 URL을 입력하고 요청한 페이지를 볼 때까지 어떤 일이 일어나는지 설명해주세요. 1.브라우저에 URL입력하면, 2.URL을 IP 주소로 변환 (3계층) (URP로는 컴퓨터끼리 통신이 불가하기 때문에, 컴퓨터가 읽을수 있는 IP주소로 변경 필요. 브라우저에서 자신의 로컬 hosts파일과 브라우저 캐시에 해당하는 URL이 존재하는지 확인, 존재하지 않는다면 DNS서버에 요청하여 URL을 IP주소로 변경) 3.해당 서버에 요청 (라우터를 통해 경로를 찾아가고, ARP를 통해 IP주소를 물리 주소인 MAC주소로 변경 ) 4.대상 서버와 TCP 통신을 통해 소켓을 염(https의 경우 handshakde추가) 5.연결 완료되었으니 해당페이지에 요청 및 응답(https, http) 6.그 이후 브..
[기술 면접] 프론트엔드 개발자 기술 면접 질문 정리1
2022. 5. 31. 16:56
기술 면접 source
let, var, const의 차이점과 호이스팅 (Hoisting) var는 변수의 재선언, 재할당 모두가 가능하다 es6 문법 도입 전까지는 var만 사용했음 -> 유연한 변수 선언에는 좋으나, 코드가 길어질수록 유지보수 어려움 var는 호이스팅과도 관련이 있다 JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 즉 var로 선언한 변수는 선언 전에 호출해도 에러는 나지않고 undefined가 출력됨 let 과 const는 에러가 발생함 let의 경우..
[Error Handling] Oauth 로그인 시 CORS 에러
2022. 1. 31. 19:49
Project 주저리
Oauth 로그인 구현 시 CORS 에러가 발생하던 증상과 해결했던 사례에 대한 복기! 증상: 화면에서 Oauth 로그인 버튼 클릭 시 네트워크 탭에서 CORS 에러가 발생하고 로그인이 안됨 상세 내용: 콘솔 창에서 뜬 상세 에러 내용 Access to XMLHttpRequest at '클라이언트주소' (redirected from 서버주소/해당콘트롤러주소) from origin '클라이언트주소' has been blocked by CORS policy : Response to preflight request doesn't pass access control check : the value of the 'Access-Control-Allow-Origin' header in the response must..
[Project] First Project 회고
2021. 12. 27. 13:29
Project 주저리
First Project 회고 2주간 열나게? 달린 첫 프로젝트... 결과물을 보고 있으면 뭔가 부족한 점이 많아서 부끄러우면서도, 그래도 계속 보다보니 볼만하다는 마음이 상반된다. 첫 계획은 원대하였으나, 프로젝트가 진행되고 점점 마감? 압박에 시달리면서 열심히 기능을 가지치기 하고 뼈대도 수정했던 것 같다. 보잘 것없는 결과물?일 수도 있지만, 아무 것도 없는 백지에서 기존에 배운 기술들을 복습하고 적용한다는 점에서 의미 부여를 할 수 있는 프로젝트였다 배포 링크는 없지만, 발표 자료로 흔적을 남겨보았다. https://docs.google.com/presentation/d/1q_EU_PdyxfBXbVB18gck1SDVEiO3uQ67/edit?usp=sharing&ouid=102395753557203..
[Project] First Project 시작
2021. 12. 13. 19:36
Project 주저리
첫번째 프로젝트 시작 대망의 프로젝트 기간의 첫날이 밝았다?! 나는 아직 코린이인데...벌써 프로젝트라니 앞은 검고 막막한데, 머리는 하얗게 비어있는 느낌이다 그래도 팀원들과 하다보면 되겠지 하고, 첫발을 내딛어 본다. 오늘은 첫날이니 간단하게 팀장, 팀명 및 아이디어 선정, 프로젝트명 정하기와 SR(Software Requirement) 부분을 일부 살펴보았다. 아이디어 선정 어디 획기적인 아이디어 없나... 하고 생각해보기에는 다들 고만고만한 상태 역시나 이럴때는 그냥 의식의 흐름대로 나오는 키워드들을 아이스브레이킹하는게 최고다 내가 떠올린 아이디어들은 아래와 같다 특정 분야에 세분화된 일정과 유용한 정보를 보여주는 스케쥴 사이트?(구글같은 범용적 사이트가 아닌) 참고 레퍼런스로 찾아본 사이트들 블리..
[Project] 프로젝트 진행 Tip
2021. 12. 13. 19:03
Project 주저리
팀 프로젝트 시작을 위한 Tip 첫 프로젝트에서의 목표 스프린트 기반 복습 팀원들과의 협업 깃 플로우 익히는 것 기획 경험 다양한 이슈 처리 태스크 매니징 스킬 프로젝트시 주의사항 프로젝트할 때 팀원들과의 커뮤니케이션 이슈가 많이 발생한다는 점 팀원이 싫다고 이슈쉐어링하면 안된다 팀원들과의 커뮤니케이션과 태스크 매니징을 통해 해결하려고 노력해야 한다 팀원들과의 이슈 해결을 잘해야 한다 팀원과의 불화?이슈?가 생긴다고 당황하지 말자. 이는 오히려 기회가 될 수 있다 위기를 기회로! 커뮤니케이션 스킬을 향상시키는 기회로 쓰자! 이슈를 해결하는 과정 자체를 잘 정리해두면 면접 시 나의 이점으로 쓸 수 있다 파이널 프로젝트의 목표 포트폴리오 용 기본 스택 심화 or 새로운 스택 도전 새로운 스택을 이용하는 것을..