전체 글137 할 수 있다는 믿음 들어가며언제나 계획은 완벽했다. 쳐맞기 전까진대학 입시, 대학원 컨택 그리고 취업도 원하는 바를 이루지 못했다.좌절을 맛보며 며칠을 술에 빠져 살아도 다시 일어서게 하는 나만의 마법의 단어가 있다.할 수 있다는 믿음 이런 마인드(?)를 가지게 된 계기는 고등학교 때 우연히 본 사진 한장이였다. 할 수 있다는 믿음 이 한마디가 내 모든걸 바꿔놓았다.(자세한 내용은 링크와 인용글을 확인 바랍니다.)그 이후로 힘든일이 있을 때마다 "할 수 있다는 믿음"을 떠올리곤 한다.‘할 수 있다는 믿음’ 삼성전자 휴대폰 감동[기사 요약]> 지금은 삼성 갤럭시가 세계적으로 유명하지만 '98년도에는 아니였다.> 또 외환 위기 여파로 힘든 상황이였다.> 힘든 상황에서도 기판에 "할 수 있다는 믿음"을 적으며 삼성은 앞으로 .. 2025. 3. 30. 도르마무! (대충 트랜젝션 롤백 한다는 의미) 트랜잭션은 DB만의 것일까?많은 개발자들이 트랜잭션이라는 단어를 들으면 가장 먼저 떠올리는 게 있습니다.바로 데이터베이스의 커밋(commit)과 롤백(rollback) 입니다.그런데 정말 트랜잭션은 DB에서만 필요한 걸까요?실제 서비스를 운영하다 보면 단순히 DB 쿼리 하나만 처리하는 경우는 드뭅니다.보통은 여러 개의 작업이 순차적으로 이어지거나 서로 의존 관계를 갖고 실행됩니다.그렇기 때문에 오늘은 service layer의 트랜젝션(a.k.a. @Transactional)에 대해 알아보겠습니다.처음 백엔드 개발을 하는 신입 개발자들은 다음같이 코드를 작성할 수 있습니다.습니다.예시 1)상품 주문을 하려면상품 재고가 줄고내 계좌에서 돈이 빠지고주문 정보가 저장되고배송 준비가 시작됨어? 그러다가 중간에 .. 2025. 3. 23. 이 단축키만 알면? 나도 Test code 마스터! (with. IntelliJ) 들어가며개발자라면 누구나 효율적이고 빠른 방법을 좋아합니다.그래야 야근을 안할 수 있기 때문.. (정시 퇴근 드리븐 개발).TDD를 하면 초반에는 시간이 더 걸려도, 나중에는 유지보수가 쉬워져서 효율적이라고 합니다.그런데 실제로 해보면... 책도 읽고, 강의도 들어봤는데… “아, 테스트 코드 작성하는 것부터 귀찮다…”이런 생각이 들기 마련이죠.그리고, 도대체 언제쯤 효과를 보는 거지? 의심이 들기도 합니다.Tmi필자는 예전에 관리자에게 "테스트 코드 작성은 우리와 맞지 않습니다."라는 말을 들은 적이 있어요.(정작 그 프로젝트에서는 테스트 코드를 한 번도 작성해본 적이 없었는데… 😅) 어떻게 하면 귀찮음과 의심을 해결할 수 있을까요?어쩌면 단축키를 몰라서 아닐까요? command + Shift + TT.. 2025. 3. 16. 2024년 나는 무엇이 부족했나 (feat. 리팩터링) [!noti]2024년을 간단하게 회고하면서 현재 매주 공부하고 있는 리팩터링에 대한 주관적인 생각이 담긴 글 입니다.혹시 제가 리팩터링을 어떻게 공부하고 있는지는 궁금하시다면 링크를 참고해주세요.레거시라는 큰 산신규 프로젝트가 시작되었다. 사용자 관리, 게시판 관리 등 admin page를 개발했어야 했는데기간이 없다는 이유로 PM이 다른 프로젝트의 admin 기능이 포함된 코드를 받아 왔다."필요한것만 일부분 수정해서 사용합시다." 그렇게 나는 문서 하나 없이 레거시 코드를 개선 했어야했다.모르는거 있으면 옆팀에 가서 직접 가서 물어보라고 했다... 무엇이 문제였을까?먼저 무엇이 필요 없을지 판단을 위해 코드를 읽어 봤다. 진짜 글씨만 읽어 봤다. 무슨 코드인지 알기 정말 힘들었다.Authentica.. 2025. 3. 8. CentOS에서 python3를 이용하여 파일 encoding 방식 변경하기 안녕하세요 황인태입니다. 이번 게시글은 CentOS에서 python3를 이용하여 파일의 encoding 방식을 변경하는 방법에 대해 알려드리겠습니다. 개발을 하다보면 가끔씩 한글이 깨지는 현상이 나타납니다. 저는 주로 linux에서 python으로 한글을 사용해야할 때 자주 발생하였습니다. 이게 다 encoding 때문이였습니다. 저희 회사의 OS는 다음과 같습니다. 로컬 pc : windows10 개발서버 : CentOS 7 (맥북으로 바꿔주세요 대표님!) 1. encoding 한글이 깨지는 원인은 encoding에 있습니다. 글자를 표현하는 방법에 조합형과 완성형이 있고 아스키랑 ANSI는 뭐고... 사실 이런거는 잘 모르겠고 대부분이 utf-8과 euc-kr의 문제 입니다. "그렇다면 파일을 오픈할.. 2021. 12. 27. python3와 selenium을 이용하여 javaScript 함수 호출하기 안녕하세요 황인태입니다. 오늘은 python3와 selenium을 이용하여 javaScript 함수 호출하는 방법에 대해 알려드리겠습니다. 1. selenium에서 javaScript를 실행하는 이유 bs4(Beautiful Soup4)를 이용해 크롤링을 하다보면 url를 통해 DOM을 파싱하기 때문에 js로 동적으로 생성된 테이블이나 func 결과를 크롤링하기 어려운 문제가 발생합니다. 그렇기 때문에 webDriver을 이용하여 크롤링이 가능한 selenium을 이용하게 됩니다. 온비드라는 사이트를 예를들면 table tag에 데이터가 있고 table 하단에 페이지 목록이 있는 형태입니다. 다음 페이지로 이동하기 위해 온비드는 fn_paging()이라는 javaScript 함수를 호출하여 table을 .. 2021. 12. 14. python3으로 CSV 파일 만들기 안녕하세요 황인태입니다. 데이터를 적재하다 보면 DB에 데이터를 적재하거나 가져올 때 CSV 파일을 많이들 사용할텐데요. 이번 게시글은 python3를 이용하여 csv 파일을 만드는 방법에 대해 알려드리도록 하겠습니다. 1. CSV csv는 comma-separated values의 축약어 인데요. 이름에서 알 수 있듯 정보가 콤마로 분리된 파일을 말합니다. 즉 "가", "나", "다" 와 같이 콤마(,)로 텍스트가 분리된 파일을 말합니다. 이러한 파일을 엑셀에서는 보기 좋게 가 나 다 로 출력합니다. csv 파일을 이용하여 DBeaver와 같은 데이터베이스 관리도구에서는 table에 데이터를 내보내거나 가져올 수 있습니다. 2. code 제가 보여드릴 code는 csv파일을 이용하여 DB에 저장하는것을.. 2021. 12. 14. [공공데이터포털 크롤링] data.go.kr 공공데이터포털 크롤링하기 (4) 파일 다운로드하기 지금부터 공공데이터포털에서 파일을 다운받는 방법에 대해 알려드리겠습니다. 대표적으로 2가지의 방법이 있습니다. (사실 정확히 몇 가지인지 잘 모름ㅎㅎ) 바로 request와 wget을 이용하는 겁니다. 처음 request를 사용하다가 wget으로 변경하였습니다. 오늘은 이 2가지의 방법에 대해 설명을 하면서 왜 wget으로 변경하게 되었는지 알려드리겠습니다. 이 전 글에서 파일을 다운로드하는데 필요한 2가지 uddi, publicDataPk를 추출하는 방법에 대해 게시하였습니다. 사실 정확히 말하자면 파일을 다운로드 하기위해 필요한 atchFileId을 구하기 위해 uddi와 publicDataPk가 필요한겁니다. 공공데이터포털에서 파일데이터를 다운받고 dev tools로 확인하시면 아.. 2021. 3. 10. [공공데이터포털 크롤링] data.go.kr 공공데이터포털 크롤링하기 (3) 지금까지 [공공데이터포털 크롤링] data.go.kr 공공데이터포털 크롤링하기(1), (2)를 통해 publicDataPk와 uddi가 있어야 파일을 다운받을 수 있다는 것을 알게되었고, (2) 게시물을 통해 publicDataPk를 구할 수 있었습니다. 그럼 이번에는 uddi를 구하면서 같이 찾을 수 있는 여러 정보에 대해 게시하겠습니다. publicDataPk를 이용하여 정보 추출하기 아래의 사진은 www.data.go.kr/data/15070713/fileData.do의 화면입니다. 공공데이터포털 파일데이터의 화면분류는 크게 3가지 입니다. 다운로드, 바로가기, 활용신청 (해당 내용은 공공데이터포털의 업데이트 시점에 따라 변경될 수 있음) 이 3가지 정보는 우측 상단의 버튼에 명시되어 있습니다. 다.. 2021. 1. 24. 이전 1 2 3 4 ··· 16 다음