공지사항

(19.01.13)



간만에 올리게되는 공지사항입니다.


19년 첫 게시글이기도 하네요.


사실 이번 공지사항은 저번 공지사항보다는 더욱 특별한게 없습니다.

(단지 2019년 첫 게시글을 공지사항으로 시작할까하고..)



작년 10월에 쓴 글을 기준으로 꽤나 게시글 업데이트가..

(정말 바뻤습니다.. ㅠㅠ)


대학원에 회사에 개인적인 업무들에.. 시간이 너무 안나서 힘들었네요.


오늘부터는 시간나는 틈틈히 블로그 관리를 다시 시작하려고 하고 있습니다.

(사실 지금도 안바쁜건 아니지만, 시간을 최대한 더 쪼개어 노력하려 하고 있습니다.)


한동한 뜸해 동결되었던 "project 다원"부터, "project 늘품, team_늘품"까지 시간나는 틈틈히 재개하겠습니다.


기존 게시판은 변경사항없이 계속될 예정입니다.


감사합니다.


* 1차 수정 19.01.14

 - 제목변경 {공지사항(19.11.13) -> 공지사항(19.01.13)}

* 게시판 중 특성이 중복이 되거나, 애매한 경우 사라질 수 있습니다.

 # 기존 업로드된 게시글에 대해서는 사라진 게시판의 중복된 게시판으로 이동됩니다.

* 저작권에 위반되는 게시글의 경우 수정 혹은 삭제될 수 있습니다.

'공지사항' 카테고리의 다른 글

2020년, 새해 복 많이 받으세요.  (0) 2020.01.01
공지사항(18.09.27)  (0) 2018.09.27
첫공지(17.02.01)  (2) 2017.02.01



초기화 블록

(initialization block)



오픈소스등 이런저런 코드들을 분석하다보면 꽤나 참신한 코드들을 볼 수 있습니다.


특히 이 언어 저 언어를 사용하는 저로써는 한가지에만 파지를 않다보니 한가지 언어에 대해서 지식이 얕은 편입니다. ㅠㅠ


이번시간에는 제가 최근 봤던 코드 중 초기화 블록(initialization block)에 대해서 설명을 해 볼까 합니다.

(학부시절에도 배웠던것같은데 졸업한지 오랜지라 가물가물하네요.)



소스


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
    class
*/
public class ClassName {
 
    static {
        //class initialization block
    }
 
    {
        //instance initialization block
    }
 
    public static void main(String[] args) {
        //main source
        System.out.println("안녕 세상아!");
    }
}
cs


소스를 살펴보다보면 한번쯤은 이런 소스를 보신적이 있을겁니다.


Class 내부에 있는 static 블록이나, 그냥 블록만 있는 경우.


저의 경우에는 분명 배운거같은데(학부때라던가), 그냥 봤을땐 굉장히 이질감이 느껴지더라구요.

(java이외 다른 언어도 사용이 가능한지는 파악해봐야겠네요.)


상단에 보이는 형태는 전부 초기화 블록(initialization block)이라고 합니다.


초기화 블록은 복잡한 초기화를 할 때 사용하며, 생성자보다 우선 실행됩니다.

(따라서 main 함수 상단에 초기화 블록을 생성했다면 main함수 실행 이전에 실행됩니다.)



초기화 블록은 static {}(블록) 형태와, {}(블록) 형태로 나눠집니다.



* 클래스 초기화 블록(class initialization block)


static {


}


위와 같은 형식을 클래스 초기화 블록(class initialization block)이라고 하며,


클래스 변수의 초기화에 사용이 되며


클래스가 처음 실행될 때 실행이 됩니다. (이후 인스턴스 생성시에는 클래스 초기화는 실행되지 않습니다.)



* 인스턴스 초기화 블록(instance initialization block)


{


}


위와 같은 형식을 인스턴스 초기화 블록(instance initialization block)이라고 하며,


클래스 초기화처럼 인스턴스 변수의 초기화에 사용이 되며


인스턴스가 생성될 때 마다 실행됩니다.




참고


자바에서 static 블록은 무엇을 의미하나요?

(https://hashcode.co.kr/questions/654/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-static-%EB%B8%94%EB%A1%9D%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%84-%EC%9D%98%EB%AF%B8%ED%95%98%EB%82%98%EC%9A%94)



'컴퓨터 이야기 > Java' 카테고리의 다른 글

[자료구조]Java로 Stack 구현해보기 (List 활용)  (0) 2020.06.18
Open JDK 설치  (0) 2019.01.13
#2 자바 프로그래밍의 기초  (0) 2017.02.15
#1 Hello World! [java]  (0) 2017.02.02
# Java와 Eclipse 설치하기!  (0) 2017.02.01



맥세이프2 수리 (임시로)



중고로 구입하여 잘 사용하던 맥북에어에도 슬슬 문제가 나타나고 있습니다.


정확히는 맥북에어 본체에는 큰 문제는 없으나, 맥세이프2가 단선이 되는게 보이더라구요.


귀찮기는 하지만 맥세이프의 고질적인 문제라 하니... 허. 허..


하나 구매를 해야하나 싶어 찾아본 정품의 가격은 9만9천원.. 가격도 가격이고;


벌크로 눈을 돌려볼까도 고민하다가 정품이 아닌 제품의 품질은 너무나도 의심스럽기에 패스..


단선된 선만 좀 바꿔줄까 하다가 어차피 중고로 산거 쓰는데까지 써보자! 싶어서 적당히 수리를 하기로 했습니다.



준비물


일단 맥세이프2를 수리하기 위한 준비로는 


1. 단선된 맥세이프2

2. 드라이어기(열풍기)

3. 열수축튜브


3가지를 준비했습니다.



열수축튜브는 검색해보면 여럿 나오는데 적당한거 아무거나 골라서 구매하시면 됩니다.


저의 경우에는 나중에 또 사용할일이 있겠지 싶어 색상별로 5천원어치를 구매했는데(택배비 제외)


생각보다 엄청 많이오더라구요. 모셔두고 나중에 쓸일이 생기면 사용해야겠습니다 ㅎ



방법


별거 없습니다. 저의 경우에는 맥세이프를 해부하기 귀찮아서 열수축튜브를 잘라 단선된 선 위에 돌돌 말아서 그 위에 테이프로 붙인 후 드라이어기의 뜨거운 바람을 열심히 불어주었습니다.


조금 정리를 하자면,


1. 열 수축 튜브를 길이에 맞춰 자르기

2. 열 수축 튜브를 단선 된 선 위에 돌돌 말아줌

  - 이때 틈새없이 돌돌 말아줍니다.

3. 돌돌 말은 열 수축 튜브 위에 테이프로 적당히 고정시켜줍니다.

4. 고정된 열 수축 튜브에 드라이어기를 이용하여 뜨거운 바람을 불어줍니다.

5. 어느정도 수축이 된게 눈에 보이면 고정된 테이프를 제거합니다.


사실 사진을 좀 찍을까 했는데;


저의 손이 2개뿐인게 아쉽더라구요.


한손으로 할수있는 작업이 아니다보니...


촬영장비를 구축해야하나 싶네요 ㅠ



결과


[이미지 출처 : karzin]


[이미지 출처 : karzin]


사실 맥북과 연결부위쪽이 단선이 되어서 여기만 하면 되겠지 싶다가


인터넷을 검색해보니 콘센트 연결부위 위쪽도 단선이 자주 일어난다 하여 방지를 위해 미리 수리?해 주었습니다.


색상도 같은 흰색이고 깔끔하게 된것 같아 만족스럽네요.


이로써 맥세이프의 수명이 적게는 몇개월~몇년은 늘은것 같네요 ㅎㅎ


별거 아니지만 약 9만원 정도를 아낀것같아 뿌듯합니다.


물론 시간은 꽤나 날려먹었지만 말이죠 ㅎ



Homebrew 설치

(macOS)



이번시간에는 macOS의 패키지 관리자, Homebrew를 설치해보도록 하겠습니다.


자, 우선 짚고 넘어가야할 부분이 보이는데요, 바로 '패키지관리자'입니다.


물론! 패키지를 관리하니까 패키지 관리자겠지만, 좀 더 알아보도록 하죠!



패키지관리자란? (설치방법은 하단에 있습니다. 설명이 필요없으신 분들은 스크롤을 내려주세요~)


패키지 관리자(package manager, 패키지 매니저), 패키지 관리 시스템(package management system)은 컴퓨터 운영 체제를 위해 일정한 방식으로 컴퓨터 프로그램의 설치, 업그레이드, 구성, 제거 과정을 자동화하는 소프트웨어 도구들의 모임이다.


- 출처 : 위키피디아 (패키지 관리자)


역시 모르는게 있을땐 위키가 모든 대답을 알고 있습니다.


위에 있는 글처럼 패키지 관리자는 컴퓨터 프로그램의 설치, 업그레이드, 구성, 제거 과정을 자동화하는 소프트웨어 도구들의 모임이라고합니다.


한 예로 리눅스를 다뤄보셨다면 터미널에서 apt-install XXXX 이런식으로 필요한 패키지를 설치하셨을텐데, apt또한 패키지 관리자의 한 종류라고 보시면 되겠네요!


저의 경우에는 apt나 yum은 자주 사용해봤지만, 이번에 macOS에서 사용할 brew는 아무래도 처음다루는만큼 어렵게 느껴집니다만, 기본적인 골격은 비슷한 모양인 것 같아 정말 다행입니다..ㅠㅠ



설치방법


설치방법은 생각보다 굉장히 간단합니다.


방법은 스크립트 한줄을 터미널에 복사 - 붙여넣기를 하시면 바로 설치가 진행됩니다.


스크립트는 공식홈페이지(https://brew.sh/index_ko.html)에서 복사하시거나,




/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

- 출처 : https://brew.sh/index_ko.html


상단의 스크립트를 복사하셔서 터미널에 붙여넣으시면 됩니다.


공식홈페이지 들어가면 바로 설치 스크립트가 보입니다.


또한, 상단의 스크립트는 공식홈페이지에 있는 스크립트를 그대로 복사한 것이므로, 우리의 macOS에는 무해할 것입니다!


[설치가 완료된 모습, 출처 : karzin]


터미널에 스크립트를 붙여넣어주시고 커피 한잔의 여유를 가지시다보면 금새 설치가 끝나있을 겁니다.



메이헴



감독 : 조 린치

액션, 공포

2017

<자세히>




개인평점 : ★★★


[한마디]

회사 + 워킹데드 + rpg게임



볼만한 영화를 찾던 중 찾게된 메이헴이라는 영화.


특히 주연이!! 무려!!


워킹데드를 본 후부터 스티븐 연(연상엽)씨의 팬이 되어버린만큼

평을 찾기도 전에 유튜브에서 냅따 결제하고 보았습니다.


볼만은 했는데.. 진짜 느낌이 회사에서 워킹데드를 찍는데, 층마다 중간보스가 있어서 중간보스를 잡아가며 최종층의 보스를 때려잡는...

심지어 여자주인공과 함께 최종층을 향해 가는건 아무리봐도 rpg게임의 파티시스템을 연상케..

거기에 연장을 챙기는 모습은 마치 레이드 보스를 잡기위해 준비하는 우리들의 자세를 연상케..

(제가 게임을 너무 많이했나 봅니다.ㅎㅎ - rpg류 게임을 안한지 5~6년되어가는데 말이죠ㅠㅠ)

추가로 아쉬웠던 점이 위에서 쓴 것처럼 워킹데드의 느낌이 나다보니 주인공의 모습에 자꾸 글렌이 보일수밖에 없더라구요.

(바이러스라던가, 연장을 챙긴 주인공의 모습이라던가 이래저래 등등등.. 워킹데드를 너무 재밌게 봐서 그런가봅니다. ㅠㅠ)



그래도 덕심에 구입해서 보긴했지만 나름 볼만은 했습니다.

(가끔 19금스러운 장면들은 조금 보기가 껄끄러워 넘긴부분도 몇몇 있긴하지만..)


나름 스토리도 마지막까지 생각했던 흐름과는 다르게 진행이 되어서 참신한느낌도 받았었습니다.


솔직히 영화를 좋아하는 분들은 다들 어떻게 생각하실지는 모르겠네요.


보면서 호불호가 많이 갈릴수 있겠다는 생각이 엄청 들기도해서;;;


직장에서 스트레스를 많이 받는 분이시라면 한번쯤 보는걸 추천해드리겠습니다.

(영화보고 더 스트레스 받으려나;;)



다다익램?



요즘은 컴퓨터의 조립을 모르는 사람들도 기본적인 컴퓨터의 구조를 알고 있습니다.


개인 컴퓨터의 보급이 많이 되었고, 또 그만큼의 많은 정보를 인터넷상에서 쉽게 확인할 수 있습니다.


얼마전 친한 친구녀석이 연락이 와서 "컴퓨터조립 견적 부탁하고싶은데 가능하겠니?" 하더군요.


저에겐 어려운 일은아니니까 일단 견적 금액부터 불러달라고 했습니다.


저같은 경우 견적을 뽑을때 우선 주요 타깃을 금액으로 잡아두고 최대한의 성능을 뽑아내는걸 저만의 규칙으로 잡아두고 있습니다.


금액은 어느정도 고사양 컴퓨터를 뽑을 금액이 나왔고, 혹시 원하는게 있냐고 물어보았습니다.


대뜸 램을 32기가로 해달라고 하더군요.


응?????



개발자인 나도 노트북, 개인PC를 16기가로 두고 써도 전혀 부족함이 없는데!!

(전혀 질투가 아닙니다! 다시한번 말하지만 전혀 질투가...)



물론, 고객이 원한다면 그에 맞춰주는게 맞겠지만 (친구지만) 굳이 그정도까지 필요할까 싶어


다시한번 물어봤습니다.


32기가????


질문을 듣고 그 친구는 다시 정정을 하더군요. 잘못 생각한거 같다며..


저는 '그래그래.. 16기가면 충분할꺼야' 라고 생각을 하고 있었지만,


돌아오는 친구의 대답은 "64기가로 할까?"


네????????



응용프로그램을 많이 띄우고, 이것저것 쓰는게 많다면야 CPU도 CPU지만 분명 램도 많은 사양을 필요로 할 것 입니다.


소위 말하는 멀티태스킹을 위함인데..


도대체 뭘 그렇게 많이 킬까 싶어 무슨용도로 구입하냐고 물었습니다.


적당한 게임과 영화감상, 사진편집용이라더군요.


저는 살짝 당황한 나머지 램을 32기가, 64기가로 하면 그만큼 그래픽카드나 다른 성능이 많이 줄것이다 라고 설명을 해주었습니다.


덧붙여 제가 사용하는 PC는 램이 16기가라며 이정도도 충분하다는 부가설명까지 해주었죠. 


무엇보다 8기가여도 충분할것이라고 얘기하고 싶었지만, 계속해서 높은 램을 원하는 것 같아 거기까진 얘기를 못했네요.ㅠ



친구는 16기가로 맞추면 되겠다며 새 컴퓨터를 뽑을 생각에 좋아라 했습니다.

(부족하면 추후 추가 설치하는 형식으로..)



아무래도 친구는 인터넷에서 하도 다다익램을 이야기하다보니 자신도 다다익램을 고집한 모양입니다.


다다익램.. 틀린 말은 아니죠.


간혹 컴퓨터에 무거운 프로그램들을 올려놓고 쓰다보면 램이 부족한걸 느낄때도 있는건 사실이니까요.


하지만, 처음 컴퓨터 견적을 내려 할때 램하나때문에 CPU를 i7갈것을 i5로 내려버린다던가, 그래픽카드를 GTX1060갈것을 GTX1050ti나 GTX1050으로 내려버린다던가 하는 불상사가 일어날 수 있기에 저는 추천을 하지 않습니다.


램의 경우 확장하기가 편리하지만, CPU 및 그래픽카드는 금액도 금액이고, 확장시에 부담이 꽤나 큰 편이여서 일단 CPU와 그래픽카드를 고사양으로 맞추고 램을 추후에 추가하는 형식으로 가시는걸 추천드립니다.


다다익램도 좋지만, 다른 부품들의 성능도 생각을 해야한다는게 문제입니다. ㅠㅠ


물론 금전적인 여유가 된다면 램을 얼마든지 확장을 해도 되겠지만, 제한된 금액에서 최대한의 성능을 뽑아내기 위해서는 역시 램은 최소로 맞추고 견적을 뽑는게 좋지않을까 싶습니다.

(제가 생각하는 최소는 8GB입니다.)


결국 용도에 맞춰서 사는게 우선이겠지만, 서버용으로 사용하는 PC나, 개인적으로 무거운 프로그램을 많이 돌리거나, 무수히 많은 가상OS를 돌릴생각이 아니시라면 

문서용은 4GB~8GB, 게임용은 8GB~16GB선에서 추천을 드리고, 사용하면서 부족함을 느끼실때에 추가 확장을 해나가는 형식을 취하시는 걸 추천해 드립니다.



알아두면 유용한

맥북 조합키

(스크린샷, 초기화)



이제야 맥북을 접한지 6개월정도 되어가는 것 같습니다.


그 전까지만해도 맥북에 윈도우를 올릴까, 사볼까 하며 여러 고민을 했었지만..


맥북에 윈도우를 올릴바에야 윈도우 노트북을 좀 더 저렴하게 사자고 결정을 내렸고,


결국 맥북에어 값을 내며 윈도우 태블릿(Miix-520)을 구입했었죠.. 하하..



나름 액티브펜이 마음에 들어서 후회는 하고 있지 않지만, 아이폰 개발할 일이 생겨 중고로 구하게 되었었습니다.


아무래도 사용하다보니 맥북에 관심이 생기고, 맥OS도 나름 깔끔하니 괜찮더군요!


윈도우... 으으...



지금도 제 맥북에어에는 모하비가 올라가 잘 사용중에 있습니다.


다만, 자주 맥북 조합키를 까먹게 되더라구요.


몇일 안쓰다 막상쓰려고 하거나, 간만에 초기화 하려할때 라던가..


그래서 오늘은 맥북 조합키를 정리해보는 시간을 가져보도록 하겠습니다.



* 스크린샷

 - command + shift + 3 (화면 전체)

 - command + shift + 4 (화면 일부-마우스로 위치 지정)


* NVRAM 또는 PRAM 재설정하기

 - option + command + p + r


* SMC 재설정

 - shift + control + option + 전원


* 맥북 초기화

 - command + r (맥북 내장 OS 설치)

 - shift + command + option + r (공장초기화)

 - command + option + r (인터넷을 이용한 OS 설치)


# 제가 자주 사용하는 조합키 위주로만 작성하였습니다. (참고용)



기능 추가 (1)



오늘 샤워를 하면서 재밌는 기능에 대해 생각이 나더라구요.


요즘 사회에서는 워라벨을 중요시 여기며 탄력근무제 등을 도입하고 있죠.


근데, 여기서 조금 궁금한 부분이 생겼습니다.


아침 9시 부터 저녁 12시까지 야근을 하는 사람과

아침 9시 부터 저녁 6시까지 정시퇴근을 한 사람과

무의 양은 같지만, 야근을 한 사람이 추가로 월급을 받는다는건 조금 문제가 있지 않나 싶더라구요.


이 부분에 대해 해결법까지는 아니더라도 이런부분을 조금 완화시켜줄 무언가가 있었으면 했습니다.


그래서 재밌는 생각 중 하나는 ERP기능에 자신이 한 업무에 대해서 적는 건 어떤가 였습니다.


쉽게 말해 주간 업무보고, 일간 업무보고인거죠.


또한, 이런 주간 업무보고와 일간 업무보고를 통해 내일 할 일들과 다음주에 할 일들을 미리 정리해 놓는다면 일을 하는 사람에 있어서도 내가 오늘은 뭘하면 될지와 업무의 부하량을 알 수 있고, 일을 시키는 사람에 있어서도 각 사람의 부하률에 따라 지시등을 내릴 수 있지 않을까 생각했습니다.


그리고 ERP 메인화면에 이런 주간 업무보고와 일간 업무보고를 달력등을 통해 깔끔히 정리해놓는다면, 자신의 했거나 해야할 업무를 쉽사리 확인할 수 있어 편리하지 않을까 생각이 들더라구요.


게다가 이런 기능을 통해 어느정도의 가중치를 두어 연봉협상등에 의미를 부여해주면 좋겠다고도 생각이 들었습니다.


다음 시간에는 이 기능을 추가하여 분석/설계를 해나가도록 하겠습니다.


버전정보

 - v1.0 2018.10.04 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경

+ Recent posts