기획&설계 - 시스템 설계를 위한 기획, 기획과 설계는 밀접한 관계가 있다.


 

오늘은 저만의 생각일지도 모르겠지만, 이런 주제를 들고와봤습니다.

 - 시스템 설계를 위한 기획, 기획과 설계는 밀접한 관계가 있다.

 

저는 몇년간 여러 프로젝트를 진행하면서, 그 프로젝트들 사이에서 주로 개발을, 때로는 설계를 진행해보기도 했는데요,
(어떤때는 혼자 프로젝트를 진행하며 모든걸 해보기도 하고..)

경험속에서 어떠한 상황이 있었고, 이러한 경우에는 어떤 방식을 택해 해결을 해볼 수 있는지 고민해보고자 글을 작성해봅니다!


보통 요즘의 기업들이 에자일 방식(소프트웨어 개발론으로 생각해보자면)을 택하고 있는 이상 기존의 요구사항을 토대로 프로토타입성의 결과물을 만들어내고 이후 추가적인 요구사항을 받아 보완해나아가는 형식을 취하고 있습니다.

 

에자일 방식은 그만큼 유저가 필요한 기능을 파악하고 검토 그리고 다시 수정을 하기 위한 프로젝트에서 가장 적합한 프로세스이기는 하지만, 문제는 이 에자일 방식에서의 설계 방식에 많은 어려움을 겪기도 합니다.

(에자일방식이라고 해서 설계자료 없이 개발을 할 순 없으니 말이죠.) 

 

시스템 개발이라는건 상황에 따라서는 기존 개발방식을 깨고 새로운 개발방식이 필요한 경우가 있습니다.

이러한 경우는 기존 요구사항에서 새로운 요구사항으로 변경되면서 어쩔수없이 시스템의 구조가 변경되어야하는 경우인데,

이런 경우에는 개발자들은 리팩토링이나, 그냥 새로 개발하는 경우가 종종 발생하곤 합니다. (그냥 새로 만드는게 더 빠른 경우)

큰 문제는 리팩토링이 되었건, 새로 만드는 만드는 경우가 되었건 시간적, 인력적 코스트는 엄청나게 들곤 하죠..(결국엔 Money!)

 

그렇다면 설계자는 이러한 경우를 피하기 위해서는 어떻게 해야할까요?

기획의 명확한 의도를 파악하고(요구사항을 정확히 파악), 그 의도에서 새로 생길 수 있는 수정사항을 미리 고려하는 것입니다.

말이 어려울 수 있으니, 쉽게 설명해보자면.. 흠..

기획단계에서 나온 모든 요구사항을 전부 고려를 하는겁니다.

더 쉽게 말하면 확장성을 모두 고려해서 설계를 해야한다는 말이 가장 와닿을 수 있겠네요.

 

물론, 그 모든 요구사항을 충족할만한 시스템은 만들기 어렵겠지만,

확장성을 고려한 한번의 설계로 나중에도 문제 없이 개발을 진행할 수 있는 견고한 시스템(확장성이 쉬운)이 만들어진다면

개발자에게 있어서는 너무 감사하게도 나중에 생성될 야근시간이(시간적 코스트) 줄어들테고,

투입될 인력적인 부분(인력적 코스트)에 있어서도 많은 최적화를 이뤄낼 수 있을겁니다.

 

여기서 중요한건 설계뿐만이 아니라는 겁니다.

당연하게도 기획자는 기획의 의도를 명확히 해야할 필요가 있으며,

그 기획의 의도속에서도 추가적인 아이디어가 있다면 미리미리 첨언해준다면(그냥 툭 튀어나온 반영하지 않을 요구사항도 따로 정리해서) 설계에 있어 미리 확장성을 고려할 여지를 남겨두게 된다는 겁니다.

여기서 제 경험상으론 단순 아이디어(그냥 툭 내뱉은 아이디어)는 결코 단순 아이디어가 아닙니다.

그저 후보군으로 나왔었던 아이디어더라도, 추후 어떠한 결과로 다시 구현하게 될 지 모르는 암흑속의 존재(?)일지 모르기 때문에

기획자는 번거롭겠지만, 추후에 확장이 될 여지가 단 0.0000001%라도 있다면 설계자에게 어떠한 상황으로든 알려주는 것이 좋습니다.

 

이런 면에 있어서 저는 보통 기획부분과 설계부분을 엮어서 생각하는 경우가 있는데요,

보통 기획단에서 사용하는 Wireframe을 저는 개발하기에 좀 더 편한 저만의 Wireframe으로 조금 변형을 해서 쓰곤 합니다.

이러한 이유는 기획자의 의도가 개발단으로 넘어가면서 변질되지 않는것을 추구하기 때문이기는 하는데..

사실 개발자(저)의 시선으로 보면 기획 단의 Wireframe은 개발에 참고하기 위한 부분이 많이 부족하다고 느껴집니다. (구체적일수록 좋은데 말이죠..)

화면설계서라는 설계문서가 중간에 들어가기는 하지만, 이러한 화면설계서에서도 단순히 Wireframe과 요구사항만 보고 설계문서를 만들어내기란 쉽지 않기에 사람이 보기 편한 이미지적인 요소인 Wireframe을 좀 더 개발자에게도 확 와닿는 하나의 개발문서가 되었으면 좋겠다는 생각으로 커스텀을 해보게 되었습니다. (제가 본 블로그에 작성한 Wireframe에 관한 내용도 있으니, 하단의 링크를 통해 구경해보셔도 좋을 것 같습니다.)

 

 -> Wireframe 참고

 

Wireframe - 백문이 불여일견

Wireframe - 백문이 불여일견 깔끔하게 휴식을 마치고 와서 그런지 그나마 머리가 말끔해져서 오늘은 Wireframe을 소개해볼까 합니다. (?! 갑자기 ?!) 사실 제가 쓰는 이런 설계단의 문서들은 어려워하

karzin.tistory.com

 

물론 해당 게시글은 개인적인 감상, 견해가 듬뿍듬뿍 들어가 있으므로, 다른분들은 어떠한 생각이실지 궁금하기는 합니다. 그냥 이런 생각을 하는 사람도 있구나 생각을...ㅋ...

(좋은 글, 좋은 생각이 있으시다면 댓글 달아주세요! 저도 많이 배우고, 또 배워야합니다 ㅠㅠ)

이렇듯 기획과 설계는 거의 한몸(??)이 되어 서로의 생각을 아낌없이(???) 나눠야하며,

최소한의 코스트로 최대한의 완성도가 높은 결과물을 뽑는게 최고의 협업 환경이 아닐까 생각이 듭니다.

 

버전정보 (v1.0)

 - v1.0 2021.01.02 배포

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

 

Karzin

abbeea@naver.com


[20210101] 잘가! 2020! 그리고 어서와~ 2021~


오늘은 작년의 나를, 그리고 올해부터의 나를 생각하면서 자유롭게 작성해볼까 합니다. 😃

(그도 그럴게 새해니까! 새로운 마음으로!!)

 

 

2020년,

작년은 정말 바쁘기도 하고, 코로나로 인해 슬프면서도 힘든 시기였기도 했네요. 
2021년은
모두가 행복하고 웃을 수 있는 한 해가 되었으면 좋겠습니다!

 

모두 화이팅입니다!!! 

 


 

2020년, 나는 무엇을 했을까? (2020 기억에 남는 이벤트들)

 - 이전 직장, 같은 일상의 반복.. (잠 -> 출근 -> 업무 -> 밥 -> 업무 -> 퇴근 -> 밥 -> 업무 -> 잠)

  -> 2020년 연 초부터 2019년의 업무에 치여 계속해서 업무를 진행했었죠. 회사가 바쁜만큼 제할일은 확실하게 하자는 생각으로 진짜 열심히 했던 것 같습니다. (회사와 병행했던 대학원 생활에는 4시간 정도 취침했는데, 이때는 2~3시간정도 취침하면서 작업했었네요.ㅋ..)

  -> 업무는 주로 무얼했느냐? 라고 물으신다면! 낮에는 코딩을, 유지보수팀과 연락을, 회의를, 그리고 밤에는 앞으로 개발될 시스템의 설계자료 작성(ppt 및 워드작업) 그리고 개발이 된 시스템의 완성(수정)된 설계자료의 수정작업을 진행했습니다. (그때당시 인원은 적지만, 업무의 양이 많아 한사람이 어지간한 작업은 해낼 수 있는 상태여야했어서..)

  -> 사실 이게 가능했던건 군대에서 행정병으로 문서작업을 많이 했었고, 군대에서도 기계처럼 밤샘작업을 자주했었기 때문에 가능했던거라고 생각하고 있어요. ㅋㅋ (반쯤 자면서 문서작업하는 느낌?ㅋㅋㅋ)

 

 - 마스크를 벗을 수 없는 시기의 도래

  -> 작년에도 저는 친구들과 해외 여행을 위한 준비를 했었습니다.

  -> 만.. 예정같았다면 작년에도 일본을 한번 방문할 예정이었지만, 상황이 상황이라 결국 작년은 포기를 했었죠.

  -> 특히 이 시기가 길어지면서 회사->집의 반복된 일상이 더 심해졌고, 업무의 분량도 그만큼 더 가중이 되었던 한해였던 것 같아요.

  -> 정말.. 다들 힘드시겠지만, 화이팅 하시기바랍니다! 함께 힘내시죠!!

 

 - 다원 프로젝트의 재실행

  -> 저는 개발에 있어 많은걸 경험해봐야한다는 생각을 많이 가지고 있습니다. 그도 그럴게 학생들에게 블럭코딩을 가르치는 봉사활동을 하면서 기술만 판다고해서는 보이지 않는게 너무나도 많다는것을 깨닳았어요. 아이들의 순수함속에서도 배우는 코딩이 있었고, 더 단순하고, 그 아이들처럼 더 즐기면서 코딩할줄 아는 마음이 최고이니까요! 그래서 이전부터 관심이 많던 기획, 분석, 설계, 디자인, 개발, 유지보수, 이후에는 마케팅 등 안목을 넓히고 더 넓어진 눈으로 더 큰 프로젝트를 볼 수 있는 힘을 가지는게 좋다는 생각을 많이 했습니다. 그래서 저는 다원 프로젝트가 그에 딱 걸맞는 프로젝트이고, 제 개인을 좀 더 키울수 있는 프로젝트로 자리잡을 수 있으면 좋겠다 싶어 다시 실행했습니다.

  -> 물론 바쁘고 힘들었지만, 바쁜 업무의 일상속에서도 자신의 꿈을, 되고 싶었던 자신의 미래를 위해 다원 프로젝트를 진행했습니다.

  -> 결국 바쁘다는건 핑계거리밖에 안되니까, 조금씩이라도 해보자는 생각으로 임했었습니다.

  -> 그러다 시간을 쪼개고 쪼개도 많아진 업무량과, 이직으로 인해(적응기간) 현재는 잠시 정지상태가 되어버렸지만..(ㅠㅠ) 다시금 재시작하려고 합니다. (우선은 서버부터 구축을 하도록 해야지요!)

 

 - 새로운 회사로의 이직 & 이사

  -> 같은 일상의 반복속에서 저는 조금씩 지치면서도, 나의 앞으로를 생각하게 된 것 같아요.

  -> 사실 기회가 되면 일본의 대학을 다니고 싶다는 (유학) 생각을 했었는데, 코로나로 인해 여러 계획이 꼬이면서 결국 여러가지를 포기하고 있었었습니다.

  -> 계획이 많이 틀어지면서 좀 더 다른 길을 찾아보게 되다가 저는 지금의 직장과 연이 닿아서 그곳에서 다시금 부족하지만 저의 자리를 만들어 나아가고 있습니다.

  -> 코로나가 많이 심각해지면서 재택근무가 늘어졌지만, 그 속에서도 조금이라도 팀에 도움이 되기 위해 항상 노력하고, 자신과 팀이 성장을 할 수 있는 상황을 계속해서 모색하고 연구해나가는 중입니다!

  -> 새로운 환경으로 옮겨지면서 바뀌게 된 것들도 많아졌습니다. (물리적인 개발환경, 소프트웨어적인 개발환경 등등)

  -> 이직과 이사로 인한 적응기간은 아직 진행중이라 생각하고 있어요!

 


2021년, 나는 무엇을 할까? (앞으로의 계획)

 - 새로운 곳에서 나의 자리, 나라는 브랜드를 만들어 나아가자.

  -> 개발자에게 있어 자신의 자리를 만들어 나아가는건 개발기술이 최고일 수 있겠지만, 개발이라는 기술외에도 분명 필요한 것은 많이 있다고 생각합니다. 그럼 개발자가 가지면 좋은 능력은 무엇일까요? 제 생각엔..

  -> 팀원들과 함께 나아갈 수 있는 리더십

  -> 새로운 기능을 제안할 수 있는 기획능력 (제안능력)

  -> UI와 UX를 분별할 줄 아는 분별 능력
  -> 함께하는 팀원들을 위한 최고의 설계 능력 & 설계를 효율적으로 전달할 문서 작성 능력

  -> 적용할 기능에 대해 적용가능함을 판단하는 판단 능력

  -> 자신이 작업할 업무에 대해 책임을 가질 책임감

  -> 서비스에 문제가 생겼을 때 최소한의 시간으로 파악할 수 있는 분석력

  -> 그리고 문제를 해결할 수 있는 해결 능력 (장애 대응 능력)
  -> 새로운 기술을 무서워하지 않고 즐길 수 있으며 기술부재에 대해 해결할 수 있는 능력 (자기 개발 능력)

  -> 분명 이외에도 더 많은 능력을 가져야겠지만, 올해는 이정도는 꼭 가져야할 업무능력이라고 생각하고 있어요. (분명 이중에는 이미 제가 가진 능력들이 있겠지만, 그 이상 수준급으로 끌어올려야 한다고 생각하고 있습니다.)

 

 - 석사로 업그레이드!

  -> 논문을 준비해야하지만, 작년에는 바쁘다는 핑계로 못했었죠..ㅠㅠ (현재 수료상태)

  -> 이제는 업그레이드를 해야한다고 생각들어요! 논문은 아직 고민중이지만, 자연어처리 관련으로 논문을 작성해보려 생각하고 있습니다. (그 이상은 고민중인 부분으로 정확히 말할 순 없습니다 ㅠㅠ)
  -> 언젠가 기회가되면 박사(유학)를 진행해보고 싶다는 생각이 있었고, 지금은 그를 위한 탄탄한 다리를 쌓고 있다고 생각하고 있습니다.

 

 - 이제는 미루지 말자 외국어 준비 & 외국으로 나갈 준비!

  -> 영어는 현지인들과 회화가 가능한 정도를, 일본어는 비즈니스 회화가 가능한 정도를 노리고 있습니다.

  -> 원래 일본의 회사에 이직을 하고 싶다는 생각도 있었는데, 이게 나중에 언젠가는 실리콘밸리에서도 인정받을 수 있는 개발자가 되어보고 싶다는 생각이 들었었고, 그 첫 시작을 일본으로 잡아보고 싶었습니다.

  -> 왜 굳이 일본이냐? 라고 물어보신다면, 아버지께서 일본에서 회사를 다니고 계셔서 어느정도 일본어를 듣고 말하는 수준으로는 가능하다고 생각하고 있고(소통의 자유도가 높아졌다고 해야하나요?), 또 가까운 이웃나라인 만큼 문화등에 있어서 그 허들이 낮지 않을까 하고 생각이 들었기 때문입니다. 그리고 무엇보다 결정타가 하나 있었는데, 일본 소프트웨어 개발 기업들의 개발을 위한 (소프트웨어 공학적인)설계 기술이 꽤 탄탄하다는 소리를 들었습니다. 이 기술들을 꼭 배우고 싶었고, 경험하고 싶어서 일본을 해외 입성의 첫 시작으로 목표를 세웠습니다.

 - 운동!

  -> 이 모든것을 하기 위해서는 기본적으로 체력이 바쳐줘야한다고 생각이 들어요!

  -> 몸이 첫번째 가장 중요한 자산이기에 운동은 필수라 생각하고 있습니다.

  -> 작년에는 자전거를 이용한 운동을 많이 했었는데, 올해부터는 새로운 환경에서 어떤 운동을 할지 고민하고 있어요!

  -> (해보고 싶은건 dancing, 춤??ㅋㅋㅋ)

 

 - 언젠가를 위한 안목 키우기

  -> 언젠가 써먹을지는 모르겠지만, 분명 어떤일이든 막히는 일이 언젠가 일어날 수 있습니다. (개발이든, 어느 무엇이든)

  -> 그를 위해서 여러가지를 볼 줄아는 안목을 계속해서 키우는게 중요하다고 생각해요.

  -> 물론 지금 하는 개발 업무를 내려놓고 다른 직군으로 이동을 한다는 의미는 아니구요, 그 업무에서 적용할 수 있는 새로운 형태의 로직을 신박하게 짜낼 수 있는 힘을 기르고 싶다는 느낌입니다 ㅋㅋ 

  -> 물론 목표가 많이 추상적이고, 어려운 느낌이 나지만, 무엇이든 부딪혀보고 몸으로 느껴보는게 최고인 것 같습니다.

  -> 기회가 온다면 무엇이든 계속해서 경험을 쌓아가는게 최고라고 생각합니다!

 - 시스템 설계를 위한 공부를 하자!

  -> 설계를 하다보면 기획에 관련된 부분을 많이 공부하게 되는 것 같아요.

  -> 어쩌면 기획과 설계와 많이 비슷한 느낌이랄까..? 그래서 자연스럽게 기획에도 관심이 가는 것 같습니다.

  -> 쉽지않은 공부이지만, 틈틈히 설계 공부를 하면서 시스템의 구조에 대해 좀 더 고민을 하고 연구할 줄 아는 자신이 되었으면 좋겠습니다.
  -> 더 나아가서 유지보수를 고려할 수 있고, 확장성을 고려할 수 있는 설계사가 되고 싶습니다.

  -> 시스템 설계가 쉽지는 않지만, 확장성을 고려하지 않고 개발을 하다보면 추후 시스템 전체를 뒤집어 엎어버리는 경우를 마주하게 될 수 있습니다. (실제로 이러한 경우를 많이 겪어보았고...)
  -> 당장을 생각하지 않고 앞을 볼 줄 아는 설계자가, 개발자가 되고싶어요!

 

 - 개발의 마법사가 되자

  -> 저는 본질적으로 개발자이기 때문에 개발자로 처점을 맞춰서 한가지 목표를 잡아본다면!

  -> 저는 항상 뚝딱하는 느낌으로 개발을 진행-완성할 수 있는 사람이 되고 싶은데요,
  -> 단순히 속도뿐의 이야기만이 아니더라도 안정성도 당연하게도 필수라고 생각하고 있습니다. (서비스가 픽픽 죽어버리면.. 참.... 이게...)

  -> 마법을 부리기위해서는 많은 노력이 필요할거고, 그 노력을 위해 오픈소스 프로젝트도 진행해볼까 하고 있습니다! (생각으로는 RN 라이브러리-Android/iOS 동시 개발진행, 작은 기업들을 위한 무료 서비스같은 것)
 

 

해야할 일들은 많지만, 천천히 천천히 하나씩 하나씩 처리해나아가 봅시다!

 


 

ㅋㅋㅋ.. 낮부터 작성한거같은데.. 목표를 너무 크게 잡은건 아닌지..

00시 되기전엔 올려야지! 했는데 11시 57분이네요! ㅋㅋㅋㅋㅋ

 

모두 새해에는 하시는일 다 잘 되시고,

복 많이많이 받으시기 바랍니다!

新年、明けましておめでとうございます!

 

 

😃😃😃😃😃😃😃


[20201208] 이직을 했고, 이사를 하고 이제 일주일!


오.. 어느덧 이사를 한지 일주일이 넘었네요.

이직을 했다는건 지난번 포스트를 통해 알려드렸었고, 이전 직장에서 퇴직금을 받자마자 서울에 있는 사무실을 향해 서울로 이사한지 이제 일주일이 되었습니다.

 

그 동안 많은 일이 있었네요. (당연하게도ㅋㅋ)

이사도 하고 (친구들이 도와준다고해서 대전->서울로 편하게 이사했고),

짐정리도 어제 막 정리되고 (이것도 간간히 친구들이 와서 짐풀고 방의 바닥이며 화장실이며 같이 청소해주었네요.),

오래된 샤워기나 새로 산 의자도 조립해서 완성이 되었고,

오늘은 기분 좋게 업무 끝나고 와서 간만에 포스팅하고 있습니다!

 

이제 제 생활패턴을 다시금 맞춰가는 느낌이 납니다.

어제는 여유가 조금 생겨서 옛날처럼 물을 끓이고 식혀서 냉장고에 넣어두었고(17차 맛있어요 짱짱!)

새로산 밥솥(밥솥은 역시 쿠쿠!)도 잘 와서 밥도 지어놨습니다. (간만에 밥하느라 쌀분량 못맞춰서 5인분 만들어버린건 비밀입니다 ㅋㅋㅋ)

남은 숙제가 있다면.. 역시 운동?! (이제 또 하루에 얼만큼씩 잡고 운동을 시작해야겠네요!!)

 

음.. 주변에서는 서울로 이사하니까 어떤가요~? 하고 여쭤보는 분들이 있는데요!

사실, 잘 모르겠어요 ㅋㅋㅋㅋㅋㅋㅋㅋ

대학생 시절까진 서울에서 살았었고, 특별히 바뀐건 없는 느낌?

 

그래도 간만에 올라왔으니 장점 몇개 뽑아보자면

1. 대전에서는 지하철이 1호선뿐이었고, 이동에 거의 버스를 이용했지만, 서울은 역시 지하철이 닿지 않는 곳이 없기도 했고, 버스도 나름 배차간격이 짧아서 출퇴근이나 이동에 걱정이 없어졌다는 점..? (이동의 편의?)

2. 대전에서는 10시쯤부터 배달음식점들이 닫기 시작해서 12시 정도면 배달하는 가게를 찾아보기 힘든데.. 서울은 뭐.. 거의 24시간 배달 가능이다보니.. 이건 좋다고해야하나..? 제 지갑은 홀쭉해지고 살이 찌는 소리가 들리네요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ (식사의 축복?)

3. 그리고 역시 서울에 살았었던만큼 많은 친구들이 서울에 있어서 연락하기 수월했다는 점? 그렇다고해서 이런 시국에 만나진 않지만 말이죠 ㅋㅋ -> 마음이라도 가까워진게 어디.. -> 코로나만 완화되면 스터디하고싶네요 ㅋㅋ (돈독한 우정?)

 

장점이 있다면 단점이 있죠!

1. 대전 자취방에 비해 서울 자취방이 많이 작아요. (좁다고 하는게 좀 더 맞겠네요! 금액대에 비해 많이 좁아요..ㅋㅋ..)

2. 대전에 비해 높은 물가 (이건 배달앱을 켜고 많이 느낀 부분이긴 했는데, 배달료도 좀 높은편이고, 식비도 좀 높은편입니다!)

3. 사람이 엄~청 많아요 (기본적으로 사람이 붐비지 않아보이는 곳도 걍 많다고 느껴져요.)

 

바쁘게 활동했던 만큼 이사도 잘 마무리 되었고,

이제는 블로그도 다시금 관리해야겠네요!

관리도 관리고 기존에 작성하던 Project.다원은 관리하던 노트북을 이사하면서 본가쪽에 두고와서(본가갈때 PC가 없을때 불편할 수 있어서)

다른 노트북이나 PC에 세팅해야하는 상황입니다! (이건 또 금방 정리되겠지만..)

또한, 이번에 이사하면서 개인용 서버(우분투 18.04)의 스토리지를 확장작업하고 버전업 후 도커를 적용한 서버관리를 진행해볼까 합니다!

(도커는 꼭 한번 적용해서 서버관리를 해보고 싶었는데, 이번에 근무지도 바뀌기도 했고, 자취하는 곳도 바뀌고.. 새 마음으로! 또 굳이 기존의 환경을 고집해야할 필요도 없다고 생각을 해서 도커를 배워가며 적용을 해볼까 합니다 ㅎㅎ)

뭐.. 그래봤자 버전관리 툴이나, 웹서버, 젠킨스와 같은 CI툴을 이용해서 자동 배포 적용해서 새로운 기술들 테스트해보기도하고, 회사에 좀 더 좋은 방향으로 기여할 수 있는 시스템 구축해보는 정도겠지만 말이죠 ㅋㅋ (결국 취미생활)

 

새로운 시스템 적용에는 분명 새로운 공부를 하게되고, 그만큼 블로그에 올릴 수 있는 포스트도 많이 늘 것으로 예상됩니다!

물론, 기존에 개발하던 시스템들은 계속해서 이어나갈 예정이지만, 다른 노트북에 적용하는 작업이 조금 걸릴 거 같네요.

(노트북이 13인치짜리 맥북에어와 Miix520뿐이라서.. 코딩시 가독성이 조금 떨어져서 15인치정도 되는 노트북을 원하기는 해요 ㅠㅠ)

어쨌든 다시 빠릿빠릿하게 설계부터해서 개발까지 재밌는 취미생활 이어나갈 수 있으리라 봅니다!

취미생활도 좋지만, 영어나 일본어와 같은 외국어 공부도 꼭 이어나아가고싶네요~ㅋㅋㅋ

 

살아있다는 최근 근황 알려드린다는게 주저리주저리...ㅋㅋㅋ (그러라고 만든 게시판이지만 말이죠!)

오늘도 고생많으셨고, 내일부턴 또 꿈을 향해 달려나가야겠습니다~


[RN] 에러해결 : Check the render method of `ComponentName`.


열심히 RN에 심취해 개발을 하던 도중..

이런 에러가 뜹니다. 헿ㅎ헿ㅎㅎㅔㅎ...

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `ComponentName`.

여기서 ComponentName은 어떤 컴포넌트를 렌더하냐에 따라 이름이 바뀝니다. (말그대로 ComponentName입니다.!)

 


원인

ComponentName에 import한 컴포넌트의 이름이 잘못되었다던가, path(파일 위치)가 잘못되었다던가 등등의 문제로 일어납니다.

 

해결

우선 위 에러를 보시면 Check the render method of `ComponentName`.에 나온 ComponentName을 선택하셔서 import된 모든 컴포넌트들을 하나씩 체크하시기바랍니다. (방금 추가한 컴포넌트로 인해 위 에러가 나왔다면 그 컴포넌트가 범인입니다. 분명!)

컴포넌트의 위치가 잘못되어있다던가, 이름이 잘못되어있다던가의 이유로 발생하는 에러이기 때문에, 눈이 아프시더라도 하나씩 확인하시기 바랍니다. (저의 경우 워낙 많이 수정해서 import된 모든 컴포넌트를 전부 주석처리하고 하나씩 주석해제 및 체크하면서 확인했습니다.)

 


별건아닌데 import양이 많아서 애먹었네요.. 후....

 

버전정보 (v1.0)

 - v1.0 2020.11.21 배포

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

Karzin

abbeea@naver.com


[Git] 터미널에서의 Branch의 관리 (Clone, push, pull, create)


버전관리한다며 Git을 사용한지 꽤 되었지만.. 제게 있어서 아직도 어려운것 같아요 ㅠㅠ

집에서는 GitLab을 설치해서 개인용도로 사용하고 있지만(물론 사무실에서도 버전관리를 위한 Git은 쓰고 있지요!),

혼자쓰거나, 프로젝트의 범위가 작은 경우 Branch를 잘 사용을 안했었는데, 이 참에 좀 정리를 해볼까 합니다.


Branch Clone

저장소_URL에서 Branch_이름을 Clone해옵니다.

git clone -b Branch_이름 --single-branch 저장소_URL


예시 : git clone -b branch1 --single-branch https://github.com/*.git

 

 

Branch Create & Push

저장소_URL에 Branch를 만들고 Push합니다.

git checkout -b Branch_이름  // Branch 이름을 만들고 선택 (-b 옵션으로 Branch의 생성과 선택을 한번에 해줍니다.)
git add .                                  // 변경된 파일 add
git commit -m "커밋 메시지"   // 커밋 메시지 등록
git push origin Branch_이름   // branch에 push

예시 :

   git checkout -b branch1

   git add .

   git commit -m "커밋1 - 변경내용1 수정"
   git push origin branch1

 

 

Branch Pull

저장소_URL에 있는 Branch에서 Pull합니다.

git pull origin Branch_이름

예시 : git pull origin branch1

 

 

버전정보 (v1.0)

 - v1.0 2020.11.20 배포

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

Karzin

abbeea@naver.com


[jQuery] Window의 사이즈 변경 이벤트 함수 (resize)


컨텐츠의 각 size는 static으로 정의해줄수도 있지만, 모니터 화면의 비율에 따라서 Width나 Height값을 변경해주어 좀더 dynamic한 페이지를 만들어줄 수 있습니다.

 

모바일이나 PC에서 다르게 보이는것이 그 예인데요, 우리는 주로 고정된 화면에서만 사용을 함이 아니기 때문에!

오늘은 Window의 사이즈가 변경이되면 웹내부 컨텐츠들이 사이즈에 맞게 변경을 시켜주는 함수를 알아봅시다! (반응형 웹) 


$(window).resize()

$(window).resize() 함수는 매개변수로 이벤트를 발생할 function을 전달해줌으로써 윈도우의 사이즈가 resize될 때 마다 매개변수로 전달된 이벤트 function을 실행시켜줍니다.

$(window).resize(function() {
	console.log('resize!');
});

 

위의 함수를 사용하면, 다음과 같은 결과를 얻어낼 수 있습니다. (브라우저의 크기를 줄여보거나 키워보면 log가 찍힙니다.)

 

<그림1> resize 이벤트 실행

 


역시 정리시간은 재밌네요. 별거아닌거일수도 있지만 ㅋㅋ..

 

Reference

 - api.jquery.com/resize/

 

.resize() | jQuery API Documentation

Description: Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. This method is a shortcut for .on('resize', handler) in the first and second variations, and .trigger( "resize" ) in the third. The resize event is se

api.jquery.com

 

버전정보 (v1.0)

 - v1.0 2020.11.14 배포

 

* 본 게시글의 이미지에 들어간 글씨체는 네이버 나눔 글씨체인 나눔스퀘어 Bold를 사용했습니다.

* 본 게시글의 이미지는 전부 (이미지 내의 픽토그램 등) 직접 제작했음을 명시합니다.

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

Karzin

abbeea@naver.com


[Xcode] 문제해결 : Splash 화면이 동작하지 않는 이슈 (iOS14)


문제 정의 : Splash(시작) 화면이 동작하지 않는 이슈(Black Screen)

                 -> 정확히는 검은 화면(Black Screen)만 보이는 이슈

문제가 확인된 기종 : iPhone X, iPhone XS, iPhone XS Max, iPhone 11 Pro, iPhone 11 Pro Max

문제가 발생한 운영체제 : iOS 14.1, iOS 14.2


같은 노치에서도 iPhone XR, iPhone 11에서는 발생하지 않는 문제인데, 유독 iPhone X나 iPhone 11 Pro와 같은 OLED를 탑재한 폰에서만 문제가 일어났습니다.

 

본 문제에 대해서 정리를 하자면

1. 운영체제가 업데이트 되면서 (iOS 13 -> iOS 14)

2. 노치가 있지만 LCD모델(iPhone XR, iPhone 11)이 아닌, OLED모델(iPhone X 이상)에서 발생하며

3. 시뮬레이터에서도 동일한 증상을 일으키고 있음

 

이에 대한 저의 판단은

-> Splash화면에 이미지를 사용하고 있기 때문에 이미지 관련 이슈일 것 같았고,

-> LCD모델이 아닌 OLED모델에서 일어나는 문제이기 때문에 해상도와 관련이 있지 않을까 였습니다. (실제로 LCD모델이 OLED모델보다 해상도가 낮음을 확인하실 수 있습니다.)

 

원인

여러 삽질끝에 이슈를 찾아보다가 다음과 같은 이슈를 발견했습니다.

-> 현재 iOS14에서 일어나는 이슈중 하나로 이미지의 해상도가 너무 큰 경우 이미지를 보이지 못하는 이슈가 있나봅니다. 따라서 어떤분은 해상도를 2400x2400이하로 처리하는것을 권장한다고 봤는데 (워낙 여기저기 검색하고 돌아다녀서 소스는 정확하지 않음) 저는 해결로는 안전빵으로 좀 더 낮추기로 결정했습니다.

 

해결

-> LCD모델의 경우 해상도가 낮아 이미지셋에서 2x이하의 이미지를 사용하게 되어있지만, OLED모델의 경우 해상도가 높아 이미지셋에서 3x이미지를 사용하게 처리되어있는게 아무래도 문제였던 모양입니다. 편한 해결을 위해 그냥 2x이미지를 3x이미지로 복사&교체하는 방식으로 해결하였습니다. 물론 임시방편으로 해결한 방법이고, 추후에 운영체제단에서 해당 문제가 fix되면 다시 원본이미지로 교체해두려고 합니다.

 

 

iOS13버전에서는 일어나지 않다가 iOS14버전부터 일어나는 문제다보니 많이 당황스럽긴 했었습니다.

그래도 편하게 해결되어서 좋네요. (임시방편이지만)

혹시라도 저와 동일한 문제를 안고계신분이 있다면 위와 같은 방법으로 해결할 수 있으므로 조금이나마 도움이 되었으면 좋겠습니다.

 


버전정보 (v1.0)

 - v1.0 2020.11.13 배포

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

* Karzin은 항상 공부중입니다. 설명이 틀리거나 잘못된 부분이 있다면 의견내주시는대로 수정하도록 하겠습니다.

 

Karzin

abbeea@naver.com


[20201113] 컴백!


안녕하세요! 마지막글 작성하고 3개월지났나요? ㅋㅋ 꽤 오랜기간 블로그 관리에 손을 떼고 있었네요.

 

그동안 많은 일들이 있었습니다.

 

첫째로 이직을 했구요,

둘째로 이직을 하면서 서울로 이사를 가게 되었습니다. (셋째 넷째 다섯째 등등 전부 이직관련이라 여기까지만..ㅋㅋ)

 

이직은 이전의 근무환경에서 건강도 많이 헤치게되었고, 조금 여유를 가지고싶어서 쉬려는 생각에 이직을 고려했지만,

어쩌다보니 그냥 바로 들어가서 업무진행하게 되었어요.

(새로운 환경에 적응하는거에 굉장히 기대가 되기도했고, 한편으로는 놀다보면 사람이 나태해지고 그만큼 또 일함에 적응이 더 늦어질거같아서)

 

그래도 정이 있던만큼 이전 회사에서는 퇴사하는 날까지 남은 휴가도 다 못쓰고(어차피 돌려받지도 못하겠지만 ㅠ) 야근하면서 제가 맡은 업무 마무리하였습니다. 

 

이젠 다시 틈틈히 여유 남는 시간에 블로그 관리(및 코딩)를 해보려고 합니다.

추후 퇴사/이직하면서 있었던 에피소드들을 정리해서 올려볼 예정입니다. (별건 아니고 ㅋㅋ)

 

참! 제가 만드는 다원시리즈는

이직을 하면서 PC, 노트북들을 싹 청소를 했는데 (다 비우고 새로운 마음으로 시작하자는 그런 마음으로? ㅋㅋㅋ)

그때 4년정도 지난 노트북류는 전부 리눅스로 변경했습니다. (성능도 성능이지만, 리눅스.. 좋잖아요..? (리눅스변태ㅡㅡ))

개발환경이 리눅스로 변경된 만큼 또 개발환경을 세팅해줘야하는데 천천히 해보려구요. (시간은 좀 걸릴 듯)

 

이직하면서 제가 공부할 수 있는 시간이 많아진 만큼 더 공부하고 더 연구하고 더 개발하는 시간을 가질수 있을 것 같습니다.

앞으로도 화이팅!

+ Recent posts