728x90

웹개발자 10

[회고] 이탈리아 가이드 출신 개발자의 2022년 회고

2022년이라는 한해가 금방 지나갔다. 개발일을 하면서 가장 빠르게 지나간 한해이지 않을까싶다. 2022년초 미래를 위해 고민을 했었고, 그러한 고민의 결과로 이직을 하였으며, 이직 이후 진행한 프로젝트 및 자사 솔루션 기능들을 개발하다보니 시간이 순식간에 지나갔다. 사진 찍는걸 좋아하는 나지만 앨범에는 그 어느때보다 사진이 적은걸 보니, 올 한해는 꽤나 열심히 살았다는것을 느끼게 되었다. 지난 한해를 돌아보며, 난 어떤것을 이루었고, 또 어떤것이 미흡했는지 조금씩 알아보고자 한다. Tech Blog 총 54개의 글을 작성했다. 정확히 말하자면, 이직을 하기전에는 꾸준히 작성을 했지만, 이직을 하고 난 뒤에는 글이 올라오는 갯수가 현저하게 줄었다. 바쁘다라는 핑계는 하고싶진 않다. 회사의 분위기는 오히려..

생각정리 2022.12.26

[회고] 이탈리아 가이드 출신 개발자의 2022년 11월 월간회고

11월 한달 기록 Tech Blog 카카오 사태이후 요즘 블로그를 옮기는것을 심히 고민하고 있었는데, 노션 꾸미는 재미에 빠져버린것 같다. 아직 익숙치 않아서 조금 불편하긴한데, 하나하나 적용하는게 꽤 흥미롭다. 기술 블로그에 대해 고민이 많다. 공부하는것을 기록하는 용도인데, 이게 화면에 보여지는것도 중요하다고 생각을 해서, 티스토리를 계속 이용해야되나 고민중이다. Study 네트워크와 서버부터 시작해서 Java와 Nuxt, TypeScript. 그리고 Docker와 Oracle 등 일하면서 궁금한것들을 꽤나 많이 계속 찾아보았다. 중요한건 이것들 기록을 통해서 내것으로 만들어야하는데, 생각보다 기록하는게 쉽지가 않다. 또한 알아갈수록 내가 아는게 많아지까 공부의 양도 많아지고, 어떻게하면 잘 정리 할..

생각정리 2022.12.01

[회고] 이탈리아 가이드 출신 개발자의 2022년 4월 월간회고

4월의 기록들.. Tech Blog Fact 사실 : 무슨 일이 있었나?(사실) 람다를 사용하는 이유 함수형 인터페이스 함수형 프로그래밍의 목적 디스패치 서블릿 프로세스와 스레드 Spring Data & JPA Cache란? 세션 클러스터링이란? Interger.valueif와 parseInt의 차이점 SSO란 무엇인가?! Felling : 무슨 느낌이 들었나?(느낌) 공부는 하면 할 수록 끝이 없고...아는게 많아질수록 궁금한게 더 많아진다는점.. Finding : 어떤 인사이트를 얻었나?(배운점) 캐시와 클러스터링에 관한 정보를 읽다보니 서버라는 개념이 조금씩 명확해지는것 같다. Future action : 앞으로 무엇을 해야 할까?(향후 행동) 흔들리지 않고, 꾸준하게 하는 것. Feedback :..

생각정리 2022.05.01

[Web] SSO란 무엇인가?

1. SSO란 무엇인가? Single Sign-On의 약자로 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말합니다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데, 필요에 따라서 사용자 정보를 연동하여 사용해야 하는 경우도 생기게 됩니다. 이 때, 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말합니다. 즉 하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면, 로그인 처리를 하도록 하고, 없는 경우, 다시 통합 인증을 할 수 있도록 만드는 것을 의미합니다. 즉, 하나의 아이디 및 패스워드를 통해 여러 시스템에 접근할 수 있는 통합 로그인(인증) ..

[Java] 동시성 문제

CPU가 어떤 작업을 처리하기 위해 데이터가 필요할 때, CPU는 RAM의 일부분을 고속의 저장 장치인 CPU Cache Memory로 읽어들인다. 이 읽어들인 데이터로 명령을 수행하고 이 데이터를 다시 RAM에 저장하기 위해서는 데이터를 읽어들일 때의 과정을 역순으로 밟는다. 즉, 적절한 시점에 CPU Cache Memory에서 RAM으로 쓰기 작업을 하게 된다. 그러나 CPU가 캐시에 쓰기 작업을 수행했다고 해서 바로 RAM으로 쓰기 작업을 수행하지 않는다. 반대의 과정인 읽기 작업도 마찬가지이다. 동시성 프로그래밍에서는 CPU와 RAM의 중간에 위치하는 CPU Cache Memory와 병렬성이라는 특징 때문에 다수의 스레드가 공유 자원에 접근할 때 2가지의 문제가 발생 될 수 있다. 가시성 문제 가..

JAVA 2022.03.28

[회고] 이탈리아 가이드 출신 개발자의 2022년 1월 월간회고

2022년 그리고 1월이 지나간다. 시간이 정말 빠르다. 나는 지난 한달동안 잘지냈을까? 새해 계획은 야심차게 기획했지만, 과연 결과는? 벌써부터 반성의 마음이 올라오는게 좀 더 치열하게 살아봐야겠다고 느껴진다. 지난 한달동안 나는 개발자 입장에서 무엇을 했는지 살펴보고자 한다. Tech Blog 1월동안 내가 어떠한 글들을 포스팅 했는지 살펴보았다. 알고리즘 관련 2개 JPA 기본 객체 매핑 불필요한 객체 생성을 피하기 위한 new String에 대해서 계층형 쿼리란? Maven과 Gradle의 차이 StringTokenizer hasMoreTokens() nextToken() Java HashMap Java Lambda & Stream 총 8개의 글을 작성하였다. 알고리즘의 경우엔 문제를 주말을 제외..

생각정리 2022.01.31

[JPA] JPA란 무엇인가?

JPA(Java Persistence API) : 자바 진영의 ORM 기술 표준 그렇다면 ORM은? (Object Relational Mapping) ORM은 이름 그대로 객체와 관계형 데이터베이스를 매핑한다는 뜻. ORM프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해준다. 왜 JPA를 사용해야 하는가? 1) 생산성 JPA를 사용하면 다음 코드처럼 자바 컬렉션에 객체를 저장하듯이 JPA에게 저장할 객체를 전달하면 된다. INSERT SQL을 작성하고 JDBC API를 사용하는 지루하고 반복적인 일은 JPA가 대신 처리해준다. jpa.persist(member);//저장 Member member = jpa.find(memberId);//조회 그렇기때문에 지루하고 반복적인 ..

JAVA 2021.12.21

[Java] Array 배열 Controller VO로 받기 파싱

자바를 이용하면서 MVC패턴을 통해 Controller에서 데이터를 주고받는일이 있다. 기존 JSP에서는 제목 ${testVO.title} 내용 ${testVO.content} 이름 ${testVO.name} 번호 ${testVO.bno} 이러한 형태로 데이터를 주고 받으면서 조회, 수정, 삭제 기능을 수행었는데, 같은 기능을 다른 방법으로 시도해보고 있었다. JSP에서 다른 JSP에서 화면이동 할 필요 없이 1개의 페이지에서 ajax를 이용하여 데이터의 정보를 조회나 수정을 하고싶었다. 쉽게 말하자면 댓글 기능과 비슷하다고도 볼 수 있다. ajax로 데이터 처리를 하고 $.each(result, function(index, view) 의 패턴으로 Controller에서 데이터를 잘 가지고와서 Web 화..

JAVA 2021.10.18

ASP란 무엇인가

ASP란?(Active Server Page) : 동적으로 서버에서 작동하는 페이지를 의미한다. ※ 반응에 의한 변화가 없고 고정적인 HTML은 정적인 페이지에 해당됨. 1) 서버측의 스크립트다.(Server Side Script) ※ 서버 측에서 작업의 처리를 위해 사용하는 언어. 반대되는 개념으로 클라이언트 사이드 스크립트로 대표주자 JavaScript가 있다. 자바스크립트는 '사용자' 쪽에서 실행되는 반면, ASP는 서버 측에서 실행됨. ASP 파일은 *.ASP 형태로 저장되어야 하며, 보통 서버 스크립트 언어를 사용한다. 서버 스크립트란? 2) ASP는 기존의 VBScript나 JavaScript와 크게 다를바 없는 스크립트. 다만 '서버사이드 스크립트'라고해서 서버에서 실행된다는점이 다름. AS..

[KITRI]한국정보기술연구원 웹 자바 플랫폼을 활용한 기업 솔루션 개발자 과정(95일) - MyBatis

JavaScript와 jQuery에 이은 MyBatis 진도. 하루하루 진도가 빠르기 때문에 모든걸 다 이해하는건 힘들어서 복습을 통해 조금이라도 기억을 유지하는것으로 목표를 두고 있다. 일단 MyBatis는 JDBC를 사용하기 편리하게 소스코드(java)와 SQL(xml)을 분리하여 개발 할 수 있게 해주는 프레임워크다. 흔히 ORM이라고 말하는 객체와 관계를 연결해주는 개념(Object / Relation / Mapping) 에서 객체와 테이블 시스템(RDBMS)을 변형 및 연결해주는 작업으로 이중 가장 많이 사용하는 ORM이 바로 MyBatis와 Hibernate(JPA)가 대표적이다. 하나하나씩 배울수록 해야할일들이 많아지지만 유지보수가 편리해진다는 프레임워크의 특성을 잘 나타내고 있는듯하다. S..

728x90