개발 :: DB == 행렬2021. 8. 1. 01:37

예를 들어보자.

 

교실 하나에 있는 학생 하나하나의 이름을 저장하는 DB를 만들고 싶다면.

 

 

num      이름

1    빅쇼

2    락밴댐

3    춘향이

4    방자

5    ...

6    ...

7    ...

8    ...

9    헐크

10     토르

 

이런식으로 저장할 것이다.

 

num은 내가 임의로 붙인 것이다. 저게 있어야 SQL 에서 편해진다. 저게 유일무이한 학생 한명이다 라는 그런걸 의미해준다.

 

즉, 토르는 10 번이라 되어있다. 다른 num에 같은 이름이 있을 순 있지만, num이 10이고 이름이 토르인 사람은 현재 가리키고 있는 대상밖에는 없다.

 

이런 이유 때문에, num을 붙여주면 그 대상이 분명해지는 효과가 있다.

 

내가 추후에 그 대상의 특징을 더 추가하고 싶거나 수정하고 싶거나 혹은 아예 그 대상을 없애고 싶을 때

대상 지목이 num 덕에 아주 편해진다.

 

num이나 이름을 column이라고 하고

그 각각 한줄 한줄을 row 라고 한다.

Posted by 넓스
개발자 일기장2021. 8. 1. 00:47

개발자의 길은 다양하다.

 

컴퓨터 공학을 전공한 난 적성은 확실히 맞다.

 

어떤 친구는 공기업에 입사한다. 어떤 친구는 나와 같이 사기업에 입사한다.

 

공기업에도 종류가 많아서 실제적인 개발을 하는 부서도 있겠지만.

그렇지 않은 곳이 많다고 알고 있다. (실제적인 개발 프로젝트나 이런 것은 적다고 알고 있다.)

 

사기업도 대기업과 중견 , 중소기업으로 나뉜다.

대기업은 의외로 외주를 많이준다고한다. 

그래서 대중적으로 생각하는 개발의 업무는 중견/중소 기업에서 많이 한다고 생각한다.

 

나는 현재 300명 정도 근무하는 개발 기업에 종사한다.

 

물론 약 100명 정도는 비개발 부서가 있다면, 나머지 200명은 개발직이다. 

전체 인원의 2/3가 하나의 프로젝트를 위해 개발을 진행하는 회사는 드물다고 알고 있다.

무튼, 나는 SW 개발자로서 현재 대규모 프로젝트를 진행하는 회사에 종사한다.

현재까지는 약 7개월 근무중인 파릇파릇한 그러나 어느정도 개발 프로세스를 경험해본 사람이다.

 

적성을 얘기하다가, 조금 세서, 여기까지 얘기가 왔는데 어느정도 내 백그라운드를 얘기한 셈이 되었다.

다시 본론으로 돌아와 개발을 하면서 내 적성에 너무 잘 맞다. 이게 무슨 말이냐,

일이 일처럼 느껴지지 않고. 아니, 느껴지나 그 시간이 집중도가 너무 높아 순식간에 흘러간다.

다른 생각을 하지 않고 일만 하는데 말이다. 그게 나는 적성에 맞는 일이라 생각한다. 

정신적으로는 즐겁다. 육체적으로 힘들 수는 있다. 그런 생각이 현재까지 이어지고 있고.

현시점에서 그러니 나는 적성에 맞다 라고 생각하는 것이다.

 

향후 어떻게 될는지는 모르겠지만, 단순히 신입사원의 일 적응에서의 흥미라고는 생각하지 않는다.

왜냐하면 개발 자체에 대한 나의 호기심은 대학 4년과 그 전의 몇년의 기간, 그리고 현재까지 흔들림 없기 때문이다.

그 흥미의 형체는 오히려 점점 구체화되어가면서 더욱 재밌어지는 중이다.

 

나는 개발이 잘 하고 잘 못하고의 그 경계가 기준을 어떻게 잡느냐에 따라 달라진다고 생각한다.

이게 무슨말이냐 하면, 개발이라함은. 

내가 경력이 오래되진 않았지만, 현재의 식견으로는 개발은 단순히 '코딩' 만을 의미하진 않는다.

 

개발 프로세스를 보면 = 고객의 니즈 + 개발 ( DB , SW ) 이렇게 정리할 수 있을 것 같다.

 

말 그대로, 고객의 니즈를 얼마나 잘 파악하느냐도 개발의 한 요소고.

흔히 얘기하는 알고리즘은 SW에 속한다.

 

대박난 어플을 개발한 사람을 대단한 개발 실력자라고 한다면,

그 사람이 단순히 코딩만 잘해서 개발을 잘한다 라고 정의할 순 없다.

 

고객의 니즈를 얼마나 잘 파악했느냐. 즉 아이디어다. 

아이디어는 얼마나 코딩을 잘했느냐 잘 못했느냐와는 동떨어진 이야기다.

비개발자도 얼마든지 아이디어를 낼 수 있기 때문이다.

요즘 시대는 HW 가 엄청나게 발전한 시대다. 코어며, ram이며. 

그래서 SW 의 효율성이 덜 강조되는 시대에 산다.

즉 이게 무슨 말인지, 쉽게 얘기하자면. 비개발자도 더하기 연산 열번으로 개발을 할 수 있다는 말이다.

개발자는 잘 알아서 곱하기 연산 한번으로 할 수도 있지만, 비개발자는 더하기 연산 열번으로 조금 비효율적인 개발을 할 수 있다는 말이다.

하지만 겉으로 보이는 기능은 똑같다. 

물론 효율성이 아주 강조되는 그러한 SW 개발이 필요한 경우도 있을 것이다.

기왕이면 효율성이 높으면 좋으나,

하지만 말하고자하는 것은 개발이라는 게 단순히 코딩에 국한되지 않는다 라는 것이다.

 

이빨이 없으면 입술로도 개발할 수 있는 것이 개발의 세계라 생각한다.

 

하다보면 는다. SW 는. 나는 무엇보다도 '아이디어'가 본질이라 생각한다.

 

그래서 하고자하는 이야기가 뭐냐 ?

 

이렇게 예를 들고 싶다.

 

1달된 비전공자 개발자 vs 10년된 전공자 개발자 가 어플을 만든다고 가정하자.

누구 것이 더 흥행할 것 같은가?

나는 여기의 답을 감히 ' 더 재밌게 만든 사람 ' 이라고 하고싶다.

 

이 처럼 돈을 많이 벌어내는 사람을 개발을 잘한다의 기준으로 삼으면 위와 같은 답이 나온다.

개발보단 마케팅력 사람들의 심리를 잘 간지럽히는 아이디어를 가진자 개발을 잘하는 사람이라는 결론인 셈이다.

 

혹자는 유지보수를 하기 좋게 개발을 하는사람이 개발을 잘한다 라고한다면, 그 기준이라면

주석을 잘 다는 사람. 변수명을 깔끔하고 직관적으로 작명하는 사람. 코딩룰이 아주 직관적이어서 누가봐도 깔끔하게 읽히는 코드를 짜는 사람. 설계가 깔끔하여 모듈별 시퀀스가 명쾌한 사람. 클래스 하나만 봐도 그 목적성이 뚜렷하게 잘 만든사람. 이런 사람이 개발을 잘하는 사람이라고 할 수 있을 것이다.

 

딱 개발을 잘한다가 뭐라고 하기는 어려운 것 같다. 

Posted by 넓스

서버를 nodeJS로 작성한 것이다.

 

 

'KOCW > 코틀린 안드로이드 스튜디오 개발' 카테고리의 다른 글

서버 구축  (0) 2020.11.09
Posted by 넓스