일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- model1
- JavaScript
- Servlet
- websocket
- RDS
- Ajax
- autowired
- 블록체인
- CSS
- 비트코인
- tiles.xml
- 웹게임
- PL/SQL
- 배포
- HTML
- SQL
- jQuery
- 암호화
- AWS
- JSP
- docker
- EC2
- phaser
- 도커
- Cookie
- express
- 알고리즘
- 웹소켓
- Spring
- node.js
- Today
- Total
記錄
헬스를 꾸준히 했으나 기록을 다시 시작할 필요성을 느꼈다. 일단 각 운동에 대해서 조금 더 깊어졌고 그만큼 기록으로 남기면서 곱씹을 부분이 많아졌다. 또 출전 목표로 하는 만큼 조금 더 확실한 관리가 필요하고 기록의 힘을 빌리는 것이 좋다고 판단된다.
회사에서 처음으로 mina를 활용하여 배포를 해보았다. 하면서 막힌 것이 조금 많았고 기계적으로는 가능한데 무슨 내용인지도 모르고 하는 것은 의미가 없어서 이것저것 뒤져서 총 정리를 해보았다. 코드를 풀기 전 간략하게 설명하자면 mina라는 gem은 코드의 배포를 수월하게 해주는 툴이다. mina를 이용해서 mina가 요구하는 설정대로 내용을 채워준다음 시동어로 명령하면 알아서 서버에 들어가서 쉘스크립트를 순차적으로 실행해서 모든 것을 해준다. 더 자세히 풀어서 설명하자면 서버 컴퓨터에 직접 ssh를 통해 접속하여 깃으로부터 클론하고, 이것저것 공유 폴더 설정하고 관련한 서버 설정하고 루비 설정하고 등등 할 일을 mina를 통해서 로컬에서 한 파일 내에 다 설정하여 순차적으로 실행시키는 것이다. 하나의 ..
- 외국어는 절대 머리로 하는 공부가 아니다. - 불가능한 것을 손에 넣으려면 불가능한 것을 시도해야 한다. - 나의 능력을 펼칠 기회는 국경 밖에 더 많다. - 용기란 두려움이 없는 것이 아니다. 두려움에 맞서고 저항하는 것이다. - 우수한 젊은이들이 밤에는 천 가지 길을 상상하다가도 아침에 일어나면 아무 생각 없이 원래 가던 길로 되돌아가는 것을 많이 보았습니다. 행동을 통해 자신의 꿈에 실천의 기회를 주지 않는다면 영원히 기회는 없습니다. - 외국어는 학문이 아닙니다. 원하는 것을 얻고, 꿈을 이루기 위해 가장 먼저 가져야 하는 능력입니다. - 누구나 영어를 잘할 수 있습니다. 영어를 어렵게 만드는 잘못된 공부법을 고수하면서 좌절하지 마세요. - 자연스럽게 연주하기 위해 한 마디 한 마디를 수십 수..
https://github.com/devjang/developer-roadmap
사실 docker를 먼저 공부하게 된 이유는 회사에서 도커 용량 초과시 로그가 기록되지 않는 이슈가 발생했을 때 이를 맡아서 해결해야 하는 포지션이 서버 개발자이기 때문이다. 더 정확히는 기존에 그걸 하고 계시던 분이 휴가를 가셔서 혹시나 그 사이에 내가 해야할 일이 발생할 까봐 미리 준비하는 차에 찾아보다 보니 재밌어서 그냥 포스팅으로 남길 생각이 들었다. 그래서 앞서 포스팅에서 쓴 로컬에서 개발 -> 도커 이미지 생성 -> 도커 허브 및 레지스트리에 이미지 업로드 -> aws 인스턴스 생성 및 aws 상에 배포 의 흐름대로 가는 것이 가장 기본적이긴 한데, 그 전에 회사에서 찾아본 내용을 정리하고 넘어가겠다. 이슈는 끊임없이 발생되는 도커 상의 로그가 꽉 차서 더 이상 로그를 볼 수 없을 때 이를 해..
docker는 원래 '부두 노동자' 라는 뜻으로 항구에 정박한 배에 실려있는 물자를 내려서 육지로 옮기거나 혹은 육지에서 어디론가로 수송할 화물을 배에 싣는 노동자를 뜻하는 단어이다. 처음 docker에 대해서 공부할 때에는 그냥 그런가보다 하고 지나갔던 뜻인데 공부하면 할 수록 이 '부두 노동자'로서의 기능이 더욱 뚜렷해보여서 네이밍을 굉장히 잘했다는 생각이 든다. 하지만 단순히 '부두 노동자'라고 해서 물건 싫어 나르는 '사람'을 생각하면 docker에 대해 직관적으로 이해하기 힘든 것 같다. docker에 대해 직관적으로 이해하려면 내가 생각하기에는 아래의 사진이 도움이 될 것 같다. 이 사진에서의 포인트는 '컨테이너'이다. 컨테이너에는 옮기고자 하는, 혹은 당장 옮기진 않더라도 보관해뒀다가 나중에..
그간 꾸준히 운동은 했으나 기록을 잠시 쉬었다. 다시 시작한다. 가볍게 D-21로 기록하는 습관을 다시 들여본다.
[스프링 시큐리티] 스프링 시큐리티란 스프링에서 '보안 기능'을 위해 사용하는 프레임워크이다. 여기서 말하는 '보안 기능' 이란 '인증'과 '인가'로 나눌 수 있다. '인증'은 접속 자체에서부터 해당 접속을 허락해줘도 될지, 해당 접근을 인증하는 것이다. 쉽게 말해 비밀번호와 아이디를 제대로 쳤는지 확인하는 로그인 기능으로 볼 수 있다. '인가'는 애플리케이션 내 리소스에 대한 접근을 제어하는 것을 의미한다. 회원 내에도 등급이 나뉘어져 있어 이를 세세하게 분류하여 특정 페이지에 따라 특정한 사용자에게만 허락해 준다던가 하는 것을 예로 들 수 있다. [스프링 시큐리티 설정] 1. 라이브러리 설정(pom.xml) org.springframework.security spring-security-web 4.0..
의미> 특정한 값을 기준으로 배열을 해당 값보다 작은 쪽, 큰 쪽으로 가른다. 그렇게 가르면 하나의 배열이 두 개의 조각이 되는데 각 조각에서 또 특정 값을 기준으로 잡아 해당 값보다 작은 쪽, 큰 쪽으로 배열을 나눈다. 이런 행위를 재귀적으로 반복하여 결국 처음 타겟이었던 배열 본체를 정렬하는 정렬 방법이다. 지금까지 했던 어떤 배열보다도 시간복잡도가 낮다. 이유는 반복을 두 번 중복으로 사용하지 않고 한 번만 사용하기 때문이다. 코드예시> #include int number = 10; int array[10] = {5, 7, 8, 9, 4, 6, 1, 3, 2, 10}; int show(int* array){ for(int i = 0; i < 10; i ++){ printf("%d ", arr..
의미> 선택정렬은 한 번 반복 할 때에 타겟이 되는 대상들을 모두 비교하여 min인 경우 무조건 min 값을 챙겨놨다가 인덱스를 하나 하나 움직이면서 챙겨둔 min 값을 넣는 것. 버블정렬은 인접한 원소와 비교하여 조건절이 만족하면 무조건 이를 위치를 바꾸어서 배열의 끝 혹은 맨 앞에 적재 하는 것. 삽입정렬은 버블정렬과 유사한 측면이 있지만 "필요할 때에만" 위치를 바꾼다는 점에서 조금 다르다. 즉, 버블정렬은 인접한 두 원소를 인덱스를 증가시키면서 계속 비교하고 계속 가져가던 원소가 조건에 부합하면 그거때문에 위치를 바꾸고 새로 만난 원소가 더 적절하면 그것을 다시 가지고 가면서 위치를 바꾼다. 반면, 삽입정렬은 기존의 정렬이 "이미 되어있다"고 가정을 한 상태에서 인덱스를 증가시키기 때문에 조건절..