반응형

나는 직업이 요리사이다.

 

그리고 군대에서 처음 요리를 배웠다.

 

그전까지는 라면만 잘 끓이는 평범한 사내였다. 

 

요리를 막 시작하면서 나는 선임에게 궁금한 것을 물어봤다 

 

(나는 해군출신)

나 : 수뱅님 고추장은 얼마나 넣습니까?

그 : 적당히 

나 : 수뱅님 소금은 얼마나 넣습니까?

그 : 적당히 

나 : 수뱅님 설탕은 얼마나 넣습니까?

그 : 적당히 

 

 

난 각 재료를 적당히 넣었고 그 날 100명의 병사들에게 욕을 겁나 먹었다. 누가 이딴 음식 쓰레기를 만들었냐고... 

 

적당히라는 단어는 일을 진행함에 있어서 혼란스럽게 만든다... 

 

 

 

그리고 1:1 코딩 과외를 하면서 비슷한 느낌을 받은 적이 있다. 

 

나 : 변수는 값을 저장하는 공간이란 것을 이해했습니다. 그럼 변수이름은 뭘로 지어요?

그 : 적당한 이름 아무거나요

나 : 아니 뭔가 규칙이라도 있어야 하지 않아요?

그 : 없어요 , 그냥 적당히 내가 알아볼 수 있는 변수명을 써요

나 :  변수는 코딩에서 중요하잖아요, 근데 아무거나 해도 되요?

그 : 네~

 

 

 

 

 

변수는 값을 저장하는 공간이다. 그 공간들이 모여 프로그램이 된다. 각 재료를 넣어서 요리를 하는 것처럼 말이다.

난  이전에 적당히 넣은 고추장과 소금, 설탕으로 만든 요리가 실패한 경험이 있다. 그 이후에 요리를 만드는데 있어서  각 재료의 정확한 레시피는 아주 중요하다는 사실을 깨달았다.  코딩도 마찬가지이다.   규칙적인, 정확한 변수의 이름을 짓는 것이 정말 중요하다. 

 

 

그래서 나는 앞으로 코딩을 할 때 변수명을 만드는 나만의 규칙을 정해보고자 한다. 

 

 

1. 변수는 동사와 목적어로 만들기 -> 배달과 관련된 변수명을 delivery 동사만  적는 것이 아니라 delivery_coustomer 으로 적기. 

2. 상수는 되도록이면 명사로 짓기 -> 고정값 강조 

3. 연관된 변수에 대해서는 구체적인 추가 내용을 적기 -> delivery_coustomer1, delivery_coustomer2가 아니라 delivery_coustomer_moring , delivery_coustomer_night 라 적기 

4. 이러한 규칙의 궁극적인 목표는 누구나 나의 코드를 보고 즉각적으로 도움을 줄 수 있는 "보기 편한 코드" 를 짜는 것이다. 

 

 

 

 

반응형
반응형

 

 

 

© weareprocreator, 출처 Unsplash

 

 

 

나는 #숨고 라는 어플을 통해서 1:1 코딩 교육을 받았다. 과외선생님은 KT에서 AI 알고리즘을 짜는 대단한 분이셨다. 문제는 과외선생님과 나의 지식의 갭이 너무 크다보니 내가 선생님 설명의 10%도 이해를 못한다는 것이다. 

 

다시금 느낀게 공부를 잘하는 능력과 공부를 잘 가르키는  능력이 같지는 않다는 것이다..

수업 첫 날 코딩의 코자도 모르는 나에게 

백준 홈페이지에 들어가 문제를 풀게하셨다...(대혼란 환장파티)

 

수업때마다 과외선생님의 "왜 이걸 이해못하지???"  표정을 볼 때마다 죄책감만 들었다.. 

 

 

무튼 내 주변에 코딩을 이제 막 시작하는 친구가 있다면  난 코딩에 대해서 이렇게 설명해주고 싶다. 

 

 

컴퓨터는 숫자 0과 1 밖에 인식을 하지 못한다. 0101 010101010 010101010 

사람이 매번 01의 규칙을 의존해서 컴퓨터에게 명령을 내릴 수는 없다. 그래서 나온게 개발언어이다. 

 

대표적으로 C 언이다. C 언어로print ("hello word!") 라는 명령문을 치게 되면

컴퓨터는 01010101 0101010101101로 (진짜인지는 모르지만 일단은..) 인식해서 화면에 

hello word! 를 표시해주는 방식이다. 

 

 

 

 

© claybanks, 출처 Unsplash

 

 

개발언어에는 수천 수만가지의 명령문이 존재하다.이런 개발 언어를 익히는 방법이 어려운 것은 개발언어 만든사람이 특정 소수이기 때문이다. 컴퓨터와 관련된 천재들, 즉 고인물들이 지들 편하게 만든 시스템이기 때문에 우리 같은 비전문가들, 이제 막 코딩을 시작하는 사람들에게는 상당한 벽을 느낄 수 밖에 없다. 

 

그러니 스스로가 특정 언어의 문법, 알고리즘 등등이 어려워도 그건 당연한 것이니 자책하지 말자. 

 

나는 음식점을 운영하는 사람으로 코딩이 요리와 참 많이 닮아있다라고 생각한다 

 

요리의 기본과정을 보면 

 

1. 무엇을 만들지 생각하기 

2. 재료를 준비하기 

3. 재료를 손질하기 

4. 재료를 조리하기 

5. 조리된 요리를 서비스 하기 

 

 

 

 

© kevinmccutcheon, 출처 Unsplash

 

 

코딩의 기본과정 또한 

 

1. 무엇을 만들지 생각하기 

-계산기 어플을 만들자!

 

2. 재료를 준비하기 

-자바로 만들자!

 

3. 재료를 손질하기

-자바 문법으로 계산기 어플에 있는 입력칸, 숫자칸, 연산자 칸을 만들자!

 

4. 재료를 조리하기 

- 잘 만들어진 칸에 함수를 설정해서 값을 나오게 만들자 ! 

 

5. 조리된 요리를 서비스 하기 

-  구글 스토어에 업로드! 이후 서비스 관리! 

 

 

 

나는 외식업에 15년차 몸을 담그고 있다. 제육볶음 이라는 단어를 들으면 자동적으로 머릿속에 레시피가 떠오른다. 

 

고기는 목전지를 쓰고, 두께는 2미리~3미리가 좋을 것 같고  

깔끔한 맛을 내려면 고추장 보다는 고춧가루 베이스로 분말가루로 만들고 

같이 볶을 야채는 대파? 양파? 오호 오늘은 가지를 넣어보자 

 

먼저 후라이팬을 살짝 달구고 기름을 두르고 

잘 으깬 마늘을 넣고 마늘향이 노릇해지면 목전지를 넣고 불맛! 

약간 간간하게 맛소금 쬐금 고기가 30% 익으면 가지 투하! 

 

잘 배합한 분말 소스 넣고 마무리 ! 

 

조리 시간은 3분 30초 좋았어! 


 

위 레시피는 이 글을 작성하는 순간에 생각을 해서 적은 것이다. 이렇게 쉽게 레시피를 생각해내는 건 그간 오랜 경험이 큰 역할을 한다. 

나도 이제 막 코딩을 배우는 단계이고 어렵다. 너무 어렵다. 그래도 음식을 처음 배웠을 때 처럼 꾸준히 하다보면 쉬워지리라 생각한다. 

 

오늘도 화이팅

 

 

 

 

 

 

© Sammy-Sander, 출처 Pixabay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

나는 부천에서

#콩나물불고기 #찜닭 을 팔고 있는 #찜콩 을 운영하고 있다

음식점을 운영하고 5년여간 #편리한가계부 어플을 사용하고 있다

해당 가계부 어플은 타겟이 일반인이다 보니

평사시에 사용할 때는 큰 문제가 없었지만

부가세, 종소세, 인건비 신고를 하는 시기에는

다시 엑셀로 정리했다

이 부분의 큰 불편함을 느꼈고

내가 가계부 어플을 만들어 보면 어떨까?

내가 매일 입력하는 가계부가

세금, 인건비를 신고할 때 자동으로 정리까지 해주는 어플을 만들어보자

 

라는 생각에 코딩에 관심을 가지게 되었다.

처음은 자바를 배웠다

백준 알고리즘 사이트도 틈틈히 이용했다

독학으로 하니 너무나 어려웠고

#숨고 에서 과외선생님을 구했다. 약 4개월 동안 주 1회 2시간씩 같이 공부를 했지만

알려주는 내용의 10%도 이해를 못했다.

중간에 국비지원 스파르타 코딩도 해봤었다

인강은 내게 큰 도움이 안된다는 사실을 깨닫게 되었다.

그래도 과외와 인강을 통해 개발이란 세계가 어떻게 이루어지고 있는지 알게 되었다

컴퓨터 코딩 근본언어 C,C+ 언어가 있고

웹페이지는 자바스크립

안드로이드는 자바,코틀린

IOS 는 스위프트

빅데이터 관련 파이썬, SQL

관련 직무로는

화면을 구성하는 프론트앤드

서버를 담당하는 백엔드

트래픽을 적절히 조절하는 데브옵스

데이터 전문 관리자 데이터사이언티스트

그렇게

조금씩 알아가면서

개발이란 세계가 정말 매혹적으로 느껴졌다

왜냐면

음식점을 운영하면서

1. 재고 관리

2.원가의 지속적인 상승

3.지역 확장의 한계

위 3가지 이유가 점점 심화됨을 느꼈기 때문이다.

하지만

내가 맛있는 음식을 만들 노력과 시간을

누군가가 편하게 쓸 수 있는 어플을 만드는데 투자한다면

 

재고관리의 어려움과

제품원가의 지속적인 상승은 개발에서는 먼 이야기이고

(1인 개발로 진행한다면 인건비는 필요하지 않을테니...)

앱스토어나, 구글스토어에 어플을 올리는 순간

한국 또는 외국에 잠재적인 사용자에게 내 어플 (제품)을 팔 수 있게 된다

(지역 확장의 경계가 없다!)

이런 생각에

나는 처음 배울 프레임워크로

Flutter 로 정했다

구글에서 만든 dart 언어로 작동하는 Flutter

코딩을 하게되면 안드로이드, IOS, 웹, 윈도우까지

런칭시킬 수 있다.

Flutter와 비슷한 기능을 가진

React native라는 메타(구.페북)에서 지원하는 언어도 있다.

자바스크립트를 기반으로 코딩하기 때문에 배우기는 쉽다.

구글 vs 메타

그저 난 구글을 믿을뿐이다.

지금 현재 나의 공부법은 단순하다

코드와 친해지기

남의 코드를 그대로 따라 쓰는 클론코딩보다는

개발과 관련된 책(코드 잙 읽는 법, 개발자의 글 쓰기 뭐 이런 주제.. ), Flutter 책 , 알고리즘 책들을

주구장창 읽고 있다.

읽는 내용의 절반을 이해 못해도 괜찮다

이 책 저 책 읽다보니

먼저 읽었던 책에서 나왔던 내용이

지금 읽고 있는 책에서 나온다

그럼 뭔가 반갑다.

그렇게 코드와 친해지려고 노력하고 있다.

현재 내 실력에 만든 코드는

어플을 사용하는 사용자에게 불편함을 줄 것이다.

더 효율적인 코드, 더 굉장한 코드를 만들기 위한 고민을 잠시 제쳐두고

지금 고민해야 할 것은

내가 만들고 싶은 어플에

어떠한 기능을 넣으면 좋을까?

그 기능은 사용자에게 어떠한 편리함을 줄 것인가?

그 기능을 구현하는 코드는 어떠한 문법,함수로 구성되었는가?

위 고민들이 더 현실적이라 생각한다.

여기까지가 작년 여름에 개발에 관심가지기 시작해서

지금까지 겪어온 내 경험과 깨달음이다.

 

반응형

+ Recent posts