분류 전체보기 233

2021년 상반기, KT에서 과제를 마치며..

2021년, 지난 2월 중순부터 6월말일까지 KT로 파견 되어 과제를 수행하였다. 정확한 과제내용은 보안관련 서약 내용때문에 기술할수 없고, Java Springframework로 구성된 WAS서버와 Vue로 구성된 웹페이지를 도맡아 하게 되었다. 처음 개발환경 세팅부터.. 과제 파악하는 과정에서 정말 정신없는 시간을 지냈던 것 같다. 어찌어찌 보면 다 작년에 했던 frontend, backend 작업들인데, 망분리 환경에서 오프라인 개발 및 빌드 환경을 세팅하는데 애를 참 많이 먹었던 것 같다. 몸과 마음은 고생을 많이 했지만, 그만큼 값진 경험들을 가질수 있었다. 이 포스팅에서는 내가 이번 기회에 배웠던 점 몇가지를 정리해보고자 한다. 1. 메일(전자매체)의 중요성 메일은 생각보다 훨씬 중요하고 의미..

Record/IT Diary 2021.07.11

소프트웨어, 누가 이렇게 개떡같이 만든거야

바로 이 책의 이름이다. 천안 알라딘 도서관 서점에서 책좀 둘러보다가 제목이 눈에 띄어서 샀다 ㅋㅋㅋ 비록 2008년에 지어진(무려 13년전...) 책이지만, 참 배울점이 많아 몇가지 적어보았다. 제어와 사용 편의성 저는 회사에서 강의를 할 때면 항상 수동변속기어 자동차를 모는사람(저처럼)이 얼마나 되는지 물어봅니다. 보통 수강생의 반 정도가 손을 듭니다. 그러면, 저는 부인이 동의한다거나 또는 저처럼 늙다리 퇴물이 되어 미니밴을 몰아야 할 처지가 되면 수동 기어 자동차를 몰 생각이 있는지 물어봅니다. 처음에 손을 들지 않았던 나머지 수강생들 중 대략 반 정도가 손을 듭니다. 이제 너는 다음과 같은 질문을 합니다. "수동 기어가 자동 기어에 비해 배우기도, 사용하기도 어렵지만 제대로만 조작한다면 마음대로..

Record/IT Diary 2021.07.11

Java로 간단한 콘솔 연락처 프로그래밍

1.개요 친한 형님께서 학원에서 숙제를 받으셔서 작은 도움을 요청하셨다. 도움을 드리는 김에 이 주제로 한번 포스팅을 해보고자 한다! 목표: 자바로 개발하여 콘솔에서 다룰수있는 간단한 연락처 (입력, 조회, 검색, 삭제) 기능 개발 2. 구현코드 2.1 Student Class Class의 이름은 Student이고, 멤버변수(속성) 으로 String type의 name, phone, birth가 있다. 각각의 getter, setter 메서드가 있고, showInfo()메서드를 호출하면 해당 멤버변수의 값들을 print로 출력한다. class Student{ //멤버변수 private String name, phone, birth; //생성자 Student(String name, String phone,..

Java 2021.07.09

[Angular] Angular v9.0.7 설치

1. 설치환경 본 문서는 다음과 같은 환경을 기준으로 작성되었다. 1) 운영체제 : 우분투18.04 버전 2) 사용자 계정 권한 : 관리자. 관리자 계정이 아닌경우 각 명령어 앞에 "sudo" 를 포함해서 실행. 2. 사전 조건 Angular 버전 v9.0.7 를 설치하기 위해서는 NodeJS(v10.13.0 이상)와 NPM(v6.11.0 이상)이 설치되어있어야 한다. 다음은 NodeJS와 NPM 설치를 설명한다. 1) NodeJS 설치 Angular공식 문서(https://angular.io/guide/setup-local) 에는 node 10.13.0 버전 이상 버전 사용을 요구 하고 있고, 본 문서에서는 12.16.1 LTS(Long Term Support) 버전을 설치하는 것을 기준으로 한다. 가..

[Room + Coroutine] 리스트 항목 DB 연동 - 0

이 포스팅은 영어로 된 강좌 영상 을 직접 번역하여 재구성하였음을 알려드립니다. 오역이 있거나, 내용중 올바르지 않은 부분의 지적은 감사히 받겠습니다. 개요 Kotlin과 함께하는 Room database 강좌를 시작하도록 하겠습니다. 이 강좌는 5개의 챕터로 구성되어있고, 1챕터는 우리 프로젝트를 위한 데이터베이스 스키마를 만들기로 합니다. 혹시 이전에 SQLite를 다뤄보셨다면, 하나의 데이터베이스를 만들고 관리하는것은 정말 어렵다는걸 알 수 있습니다. Room 라이브러리의 특징 그러나 room 라이브러리는 모든면에서 더 쉽고, Room 라이브러리는 SQLite Helper class 위에 지어집니다. 그리고 주된 이점은, Room 라이브러리는 SQL 쿼리들을 컴파일 시간에 검증하고, 엔티티 어노테이..

Android 2020.11.30

[devExtreme chart] binding dataSource 정의 방식

devExtreme 프레임워크의 chart를 사용하기 위해서 객체배열을 만들어 주어야 했는데, 처음에는 public arr = [{A: 1, B: 2, C: 3, }, { A: 1, B: 2, C: 3 }]; 이런식으로 구조를 먼저 정해놓고, 정의 해 놓은다음에 arr[0]["A"] = 2 arr[0]["B"] = 6 변경이 필요한 데이터를 이런식으로 바꾸어주었었다. 하지만 이러한 구조는 차트에 데이터가 온전히 바인딩 되지 않아서, 에러가 발생했다. 이후 public arr = []; 이런식으로 먼저 빈 배열을 먼저 선언해 준다음에, let _arr = []; let obj = { "A" : 1, "B" : 2, "C" : 3, } let obj2 = { "A" : 4, "B" : 5, "C" : 6, ..

프로그래머는 두가지 트랙이 있어야 한다.

한가지는 업무트랙. 회사에서 주어지는 업무를 따라 열심히 임하는 트랙이다. 다른 한가지는 스터디 트랙. 주 업무 이외에 자기계발이나, 스스로 능력을 터득하는 시간을 꾸준히 가져야 한다. 힘들다고 자기계발을 하지 않는 개발자는 도태되기 마련이다. 퇴근 후 한 두 시간 정도라고 하지만 그 시간들이 모여서 무시할 수 없는 차이를 만든다. 대표님은 예를들어 일년동안 비교해보았을때 자기계발 꾸준히 하였던 개발자와 그렇지못했던 개발자를 비교해본다면, 그 차이가 매우 분명하다고 하셨다.

Record/IT Diary 2020.11.16

[Angular+jquery] - document.ready 먹통 이슈

1. 개요 퍼블리싱 업체로부터 jquery 소스를 받았는데, 분명 함께받은 html 웹페이지에서는 jquery가 작동 했으나, 정작 진행중인 프로젝트에 반영을 하니 적용되질 않았다. $(document).ready(function(){ $('.selectbox .active').click(function(){ //...Some codes... }); }); 2. 해결 그래서 무엇이 원인인지 찾아보니, Angular의 기본적인 특성과, Life cycle에 관련이 있다는것을 깨달았다. Angular는 SPA(Single Page Application)으로, 처음 웹 페이지를 켰을때 document가 ready되고, 이 시점에 바인딩 대상 DOM이 ("selectbox", "active") 가 존재하지 않고..

반응형