분류 전체보기 389

iText 활용한 pdf 파일 작성하기

What is iText? iText는 개발자가 결과물을 PDF 파일로 작성하는 작업을 수행 할 수 있게끔 도와주는 SDK(개발도구) 입니다. 그 자체로서 완성되어 사용자가 사용하는 도구(end-user tool)가 아닌, 개발자가 반드시 본인의 응용프로그램 에서 iText를 구축해야 PDF 생성 및 프로세서를 자동화 할 수 있습니다. PDF 형식은 어느 환경에서나 동일한 결과물을 일관적으로 보여주기 위해 개발되었습니다. 글꼴과 이미지 또한 포함이 가능하며, 기본적으로 출력을 전제로 하기때문에 pdf 파일은 한번 생성되면 이후 편집은 고려되지 않습니다. github.com/itext iText Technical support: https://itextpdf.com/support. iText has 30 ..

Programming/Java 2021.01.24

윈도우 기본 FTP 기능 활용하기

알 FTP, filezilla 모두 써봤는데 윈도우 자체 기능이 있어서 윈도우 자체적 기능만 써도 나쁘지 않은 듯 합니다. 다만 윈도우가 항상 그렇듯 설정 과정이 간단하지 않습니다. 그동안 Berryz WebShare를 썼는데 윈도우 기능이 설정만 한번 해두면 폴더단위 업로드가 가능하기때문에 더 편리합니다. 내부 ip 내에서 사용을 기준으로 설명합니다. 외부에서 접속을 원하시면 방화벽 포트를 공유기에서 열어주고 외부 ip로 접속하시면 됩니다. FTP 관련, IIS 관련 기능들을 활성화 시키고 나면 몇분간 설치가 진행됩니다. 설치가 완료되면 iis 앱이 생깁니다. 이제 방화벽을 해지해주셔야 합니다. 공유기를 사용하고 내부에서만 FTP를 이용한다면, 추천하지는 않지만 방화벽 설정이 너무 어렵거나 급할때는 윈..

IT Computer/Windows 2021.01.19

이진 탐색 알고리즘 (Binary search)

9주차 주말이 되었습니다. 저는 주말 아침에는 1~2시간 정도 프로그래머스에서 문제를 풉니다. 자기전에 문제를 풀면 밤새 자는동안 그 문제가 머리 속에 맴돌아서 밤늦게는 최대한 안풀려고 조심합니다. programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간이 좀처럼 나지 않아 틈날때 조금씩 하던게 이제 레벨1에서는 모든 문제를 끝내서 레벨 2 문제를 풀고 있습니다. 오늘도 그렇게 어려워 보이지는 않던 문제를 하나 골라 몇분만에 정확성 테스트를 모두 통과해서. 쉽게 해결하는 줄 알았는데, 갑자기 까꿍 하고 등장한 효율성 테스트....

Github 사용법 ( 수업 내용 깃허브에 올려 동기화하기)

Intro 안녕하세요. 처음 국비학원에 다닐 때 단순히 학원에서 작업하던 내용을 집에서도 이어서 하고 싶다는 생각 하나로 Git을 시도 해 보았고 처음에는 정말 너무 어려웠고 제대로 사용하지도 못했었는데 이때의 도전이 많은 도움이 되어 이후 팀원들과 조별 프로젝트를 할 때에도 그 후 회사에 들어갔을 때도 아무런 부담 없이 Git을 사용 하게 되는 계기가 되었습니다. 물론 이 글은 현업에서 사용하는 수준에 도다르기까지는 무리가 있지만 제가 처음 Git을 접했을 때의 눈높이에서 작성된 글이기 때문에 어렵지 않게 따라 할 수 있으며 함께 학원에 다니던 많은 친구들을 Git에 입문시킨 글이기 때문에 그때 그 글 그대로 내용을 수정하지 않고 보기좋게만 조금씩 가다듬어 글을 이어가고 있습니다. 비록 초보자를 위한 ..

Development/Git 2021.01.10 (1)

7주차 ) 초급 조별 프로젝트 "오늘 뭐먹지" 발표

한주동안 열심히 준비한 조별프로젝트가 마감되었습니다. 저는 스스로를 완벽주의 성격을 가진 사람이라고 생각합니다. 그 완벽주의 성격과 자존심 덕분에 스스로에게 많은 동기부여가 되기도 하지만, 때로는 그 댓가를 혹독하게 치르기도 합니다. 이번 첫 조별 프로젝트를 통해 몇일동안 잠도 설치며 큰 대가를 치루었습니다. 하지만 마지막 1분까지 팀원들과 치열하게 준비한 덕분에 후회없는 발표를 할 수 있었습니다. 제가 이번 프로젝트 진행을 통해 얻은 부분은 팀원들과의 협업 경험이 가장 컸던 것 같습니다. 팀원들 모두가 적극적인 참여를 해 주었고, 팀원들 한명 한명 모두가 소속감을 가지고 목표 달성을 위해 함께 최선을 다해줬다는 점이 프로젝트 진행 내내 저를 가슴 벅차게 만들어 주었습니다. 저희는 프로젝트를 진행하면서 ..

Development/DevLife 2021.01.01

6주차 ) 첫 조별 프로젝트

6주가 지났습니다. 뭐라도 할 수 있을까? 에서 뭐든 할 수 있겠다. 싶을 정도로 많은 것들을 새로 배우고 있습니다. 조별 과제를 시작했습니다. 코딩을 하는데 협업을 단 한번도 해본적이 없기 때문에 기대보다는 막연함이 앞섰습니다. 조별과제가 시작된 직후엔 압박감과 무력감에 스트레스가 굉장히 심해졌습니다. 주어진 시간은 1주일 뿐인데 당장에 할 수 있는게 아무것도 떠오르지 않았습니다. 앉은 컴퓨터 자리대로 3명씩 팀을 배정해 주셨습니다. 다행히도 바로 옆자리 팀원은 수업시간에 막히는 부분이나 어려운 부분이 있으면 서로 도와가며 하다 보니 지금 배우고 있는 java 와 database 에서 서로 어느 부분까지 어느 정도로 이해를 했는지 대부분 인지를 하고 있었습니다. 이 친구는 수업내용을 조금은 어려워 하지..

Development/DevLife 2020.12.26

게시판 페이징 처리하기

5주간의 일정으로 기초 자바 수업이 모두 마무리 되었습니다. 마지막 주에는 JDBC를 이용한 게시판 만들기를 했습니다. Map SelectOne(String sql) Map SelectOne(String sql, List param) List SelectList(String sql) List SelectList(String sql, List param) int update(String sql) int update(String sql, List param) 이렇게 6개의 메서드를 구현한 JDBCUtil 클래스를 만든 뒤, 해당 메서드들을 이용해 게시판을 만드는 숙제를 했습니다. 5주동안 받은 기초 데이터베이스 수업과 기초 자바 수업이 마침내 콜라보레이션을 하는 역사적인 순간이었습니다. 이 수업 전에는 해시..

Programming/Java 2020.12.20

4주차) 클래스 자유생성 - 발표

자바 수업시간에 선생님께서 각자의 자유 과제 발표를 준비하라며 수업때마다 1~2시간 정도의 자유시간을 주셨습니다. 그렇게 한주가 흘렀고, 이번주에 학생 25명이 3시간에 걸쳐 한명씩 나와 모두 발표를 마쳤습니다. 저는 지난주에 만들던 playerMonster 라는 가제로 게임을 만들어 보았는데요. Object oriented programming 개념을 들어간 직후에 설계한 클래스들이다 보니, 과제를 발표할때쯤이나 되어서 배운 상속이나 인터페이스 등의 개념을 적용시키지 못해 정말 아쉬웠습니다. 사실 발표를 할거란 말씀을 하시기 전에 영어버전으로 만들어보던 게임이었는데, 발표를 하게된단 말에 부랴부랴 한글로 버전으로 방향을 틀었다가, 기존에 만들어 놓았던 영어버전이 아까운 마음에 언어파일을 따로 클래스로 ..

Development/DevLife 2020.12.12

클래스 자유생성 과제

자바교육 3주차에 객체지향 수업을 듣고 있습니다. 이번 숙제는 배운것을 이용해 자유롭게 클래스를 만들어 보라고 하셨습니다. 별 고민없이, 단지 '재밌을거' 같다는 이유로 노트에 슥슥 써봤습니다. 선생님께서 학생들 테이블을 순회하시다가 제 노트를 슥 보시고는 한마디 하십니다. [ "오늘 안에 하겠어요?" ] 쉽지 않은 주제란걸 말씀하셨단건 눈치챘지만, 괜히 오기가 더 생겨서 [ 내일 수업시간 까지 뭐가 됐든 기본적인 틀은 만들어 놓겠다 ] 란 다짐을 합니다. 쉬는시간, 점심시간 내내 이클립스를 켜고는 생각해봤던 객체들을 구현해 보려고 하는데. 생각했던것보다 복잡합니다. 일단 hp, exp로 끝날게 아니라 max 값이 지정이 되어야 했습니다. 그렇지 않으면 전투 후 체력이 떨어지고는, 본래의 체력을 나중에 ..

Programming/Java 2020.12.06

3자리 마다 콤마(,) 넣는 프로그램

국비지원 자바수업을 시작한지 어느덧 2주가 지났습니다. 매일 오전 4시간동안 자바 수업을 듣고, 수업이 끝날때면 과제를 주시는데 생각을 꽤 해야하는 재밌는 문제를 주로 주셔서 항상 즐겁게 하고 있습니다. 마침 이번에는 간만에 비교적 간단한 과제를 주셔서, 해결책을 여러개 만들어 보았습니다. 일단 내가 손으로 ' , ' 를 붙인다면 어떤 절차로 할까 하고 잠시 생각해 보았습니다. 저는 뒤에서 부터 숫자를 세자리씩 세면서 콤마를 붙이기 때문에 일단 생각대로 구현해보기로 했습니다. 또한, 금요일 수업에서 배운게 String 클래스기 때문에, 새로배운 charAt()을 통해 각 자리 숫자를 읽어오기로 했습니다. 뒤에서 부터 숫자를 셌으니, 당연하게도 숫자가 뒤에서부터 출력이 되었습니다. 세자리 마다 쉼표를 찍지..

Programming/Java 2020.11.29

1. 논리형 type ' boolean '은 왜 1bit가 아닌 1byte의 크기를 가질까?

JAVA의 기본형(Primitive type) 중 논리형 데이터 타입인 boolean은 true 혹은 false 둘중 하나의 값만을 가진다. true =1, false=0 이라고 간주하고 1 bit 면 충분히 표현 가능하다고 생각되는데, 왜 굳이 1byte 일까? 다행히도, google 검색을 통해 같은 질문을 찾을 수 있었다. 간단한 대답이 달렸는데, cpu가 1바이트 보다 작은 데이터를 처리 할 수 없다는 듯 두번째 대답도 비슷했다. 주소를 매길 수 있는 최소한의 단위가 byte 라는것. 검색을 이어가다보니 c 언어에서의 bool 타입도 똑같이 1 byte 를 차지한다는 걸 알 수 있었는데, 위의 이유 때문이라면 사실 어느 프로그래밍 언어에서도 논리형 데이터 타입이 1bit만 차지할 수는 없겠다. 실..

Programming/Java 2020.11.21