최상단

컨텐츠

2017/03

2

  1. Java replace 함수 2017.03.20
  2. "나는 몇 등?"에서 "나는 어때?" 2017.03.03

Java replace 함수

글 정보

Category
프로그래밍노트/Java_Android
2017.03.20 15:31

본문

replace("원래 문자", "바꿀 문자");

String str = "Hello world!";

String tmp = str.replace("Hello", "yellow");


tmp 값 출력시 "yellow world!" 로 출력됨.

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

"나는 몇 등?"에서 "나는 어때?"

글 정보

Category
기타, 리뷰
2017.03.03 03:01

본문

 주로 하는 게임들 중 osu!라는 리듬게임을 한다. 난이도도 어려운 것들 위주로 있고, 음악을 좋아하는 것도 있기에 아주 즐겨 한다. 키보드도 기계식 적축 키보드를 구매해서 게임 플레이를 하고 있고, 리듬에 맞춰 노트를 칠 때 마다 스트레스도 아주 풀리는 것 같다. 유튜브의 굇수 분들의 플레이 동영상을 보면서 나도 저렇게 하고 싶다고 생각한다. 엄청 복잡하게 꼬여 있는 노트들을 어떻게 치는가 싶다.


 osu!의 특이한 점이라면 다른 게임들과는 다르게 미션이나 목표가 없다는 점이다. 레벨이 있지만 오른다고 해서 아이템을 주는 것도 아니다(애초에 osu!에는 아이템 같은 건 존재하지 않았다). 멀티 플레이에 들어가 16명이 함께 플레이를 해서, 1등을 하면 기분이 좋아져서 자신감이 생기기도 한다. 그 중에서도 특이한 거라면 내 세계 랭킹 등수를 알려 준다는 점이다. 요새 게임들 보면 퍼센테이지로 알려 주기도 하긴 하지만... 이건 정말 세세하게 알려준다. 세계 랭킹 뿐만 아니라 국내 랭킹도. 참고로 현재 세계 랭킹은 16000등 정도이다. 


 너무 자세하게 나오다보니 랭킹을 올리기 위해 플레이를 계속 하게 되고 더 좋은 성적을 얻어내기 위해 노력하게 된다. 마찬가지로 보상은 주어지지 않는다. 지인 중 세계 랭킹이 600등 정도인 사람이 있는데, 나도 어느새 모르게 저렇게 되고 싶다고 생각하게 됬고 지금도 분명하진 않지만 랭킹을 조금이라도 올리기 위해 플레이한다.


 나는 소프트웨어(프로그래밍), 음악(악기연주나 작곡), 영상, 음향, 조명, 일본어 등 폭넓게 공부하고 있는데, 어느새 나도 모르게 "내가 이 사람 보단 잘하겠지", "모르니까 내가 가르쳐줄게" 라는 식으로 남과 계속 비교하려고 했었다. 나보다 수준이 약간 높은 사람이 있다면 그 사람보단 뛰어넘어야 되지 않을까? 라고 계속 생각했다.


 국민대학교 소프트웨어 캠프의 강연 때 질문을 던진 것이 있다. 구체적으로 기억은 안 나지만 프로그래밍 실력을 명확하게 측정하는 것에 대해, 그리고 내 실력은 왜 늘지 않는 것처럼 느껴질까를 질문했었다. 그때 답은 "그건 중요하지 않다"였다. 그때 깨달은 것이 몇 가지 있는데, 하나는 프로그래밍이란 것은 결국은 창작 툴에 불과하다고 깨닫게 되었다. 프로그래밍이 중요하지 않다는 것을 이야기 하고 싶은 것이 아니라, 그림 편집 툴에 비유를 해 보자면, "C를 쓸 것인가 Java를 쓸 것인가"에 대한 것은 "포토샵을 쓸 것인가 사이툴을 쓸 것인가" 에 대칭이 가능했고, "프로그래밍 언어 문법은 어떻게 쓰는 것인가"에 대한 것은 "포토샵에 있는 붓 툴은 어떻게 사용하는 것인가". 이 밖에도 여러가지가 있을 것이다. 프로그래밍은 문법은 그다지 중요하지 않고 필요할 때 찾아보면 되는 것이다.  또 하나는 결국 프로그래밍으로 무엇을 만들 것인지, 어떻게 효율적으로 개발할 것인지가 중요하다고 깨닫게 되었다. "하드코딩을 해야 할까"는 "포토샵에서 기본 레이어의 백그라운드 색을 입히려면 무작정 붓 가지고 칠해야 할까" 정도로 생각을 할 수가 있었다. 포토샵에서 레이어에 백그라운드를 입히려면 여러가지 방법이 있다. 앞서 이야기한 것 처럼 "붓으로 무작정 색칠하는 것"이 있고 조금씩 더 효율적인 방법을 생각해 본다면 "붓의 크기를 최대 크기로 키워서 색칠하는 것" 또는 "사각형을 레이어 크기만큼 크게 만들어서 래스터화 하는 것" 등등.. (이걸 생각하게 된 이유는 내 노트북에 포토샵을 깔고 보니 도구 모음에 페인트 통이 없었던 것이었는데, 난 포토샵을 잘 못쓰므로 별 생각 안하고 붓으로 무작정 그리는 방법을 계속 사용하다가 익숙해져 버려서..) 프로그래밍도 같은 것 같다.


 그래서 프로그래밍을 잘 하고 못 하고가 중요한 것이 아니라 프로그래밍을 통해 무엇을 만들 것인지, 그리고 그것을 어떻게 효율적으로 만들어 비용을 절약할 것인지를 깨달은 것이다. 서론에 이야기 한 게임과는 다른 것 같다. 사람들에게 똑같은 문제를 주었을 때 제각기 다른 방법으로 해결하기에 다 다르다. 그래서 비교가 가능하고 등수가 나올 수 있는 것. 프로그래밍을 잘하고 못하고를 따질 게 아니라 프로그래밍으로 무엇을 만들었는지, 그 소프트웨어로 우리에게 어떤 영향을 끼치는지를 따지는 것이 중요한 것 같다. 

 현재 아이디어가 여러 가지 생겼고 몇 가지 프로젝트를 혼자 진행하고 있는데 쉽지 않은 것 같다. 진행 속도도 느린 편이고. 하지만 머릿속에선 어떻게 구현해야 할지 또는 이 방법이 좋은지 라던가... 생각이 정리가 잘 되는 것 같다. 개발 비용을 줄이는 것과 효율을 올리는 연습이 필요하다. 그리고 알고리즘만 좀 더 공부하면 최고의 툴 사용자가 될 수 있을 것 같다 ㅎㅎ.

- 지극히 개인적인 생각을 서술한 것입니다. 틀린 부분이 분명 있을 거라 생각합니다. 지적해 주신다면 정말 감사하겠습니다. ^^*

신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

페이징

PREV NEXT

1

TOP