티스토리 뷰

======================================================

안녕하세요 Doridori 입니다.

작년 하반기부터 뭔가 휘몰아 치는 생활을 했던 것 같은데 지난 번 디자인 패턴 마무리부터 해서 슴슴한 나날을 보내고 있는 듯 합니다. 

(해치웠나? 라는 소리는 하지 않으려고 합니다. ㅎㅎ)

유튜브 강의들을 올리다 보니 이런 저런 요청들이 연락오곤 하는데, 작년에 C#관련 해서 출판 이야기가 있어서 준비하다가 결국 완성하지 못해서 아쉬웠습니다. (조금씩 준비하는데 이것저것 하다보니 엄청 느리긴 하네요.)

헌데 이번에 좋은 기회로 회사에서 제가 도리도리 강의 올려 놓은 내용에 대해서 사원분들에 대해 사내 강의를 요청해주셔서 오프라인 강의를 한번 진행 해보았습니다. 

확실히 온라인으로 혼자서 만 떠들다가 대면으로 하려고 하니 마음이 급해지는 부분도 있고 실수도 있고...

아쉽지만 재미 있는 경험 이었던 것 같습니다. 

이외에도 올해 기운이 좋은지 대기업 강의 요청이 들어왔는데 아무래도 공식적은 부분은 자료도 완전 새로 정리해야 되고 커리큘럼도 정리해야 되고 하다 보니 현재 업무와 병행하기에는 살짝 힘든 감이 있어서 감사하지만 다음 기회로 요청 드렸습니다. 

새로운 것들을 하는 건 항상 설레는 듯 합니다. 

또 열심히 준비해봐야겠네요 ^^b

(완벽 할 필요는 없겠지만 꾸준히 준비하는 사람이 기회를 잡을 수 있다고 생각 합니다.)

잼잼이들 화이팅!! 모두 모두 화이팅!! 

======================================================

 



30. 개발 트렌드의 변화


교재)

30. 개발 트렌드의 변화.pdf
0.15MB

 

 

기존에 이미지로 올렸으나 이번 부터는 블로그에 글로 정리해서 올릴 수 있는 부분은 정리해서 올려보려고 합니다. (아무래도 검색어와 관계가 있지 않을까 생각 되기도 하네요 ㅎㅎ)

항상 이것 저것 시도 해보려고 합니다. 

제가 개발을 한지도 정말 오래 된것 같은데 처음 배웠을 때에 비해서 개발을 많이 하지 않게 되기는 했으나 아직 코드를 보고 있는 입장으로 개발자 동료분들과 이야기를 하다 보면 예전과 달라진 부분들이 있는것 같은데, 정리를 해보면 재미있지 않을까 싶어서 한번 준비해보았습니다.

보다보니 큰 흐름이 바뀌었다 라고는 생각이 들지 않는데 이런식으로 흘러 갈 수 밖에 없었겠다라는 납득 할만한 흐름이 보여서 즐겁게 준비 해보았습니다.

----------------------------------------------------------------------------------------------------------------------------------------------------

1. 헝가리안 표기법의 몰락

  > 과거에는 변수명에 데이터 타입을 포함했지만, 현대적인 IDE정적 분석 도구들이 타입 정보를 쉽게 제공 하기 때문에 헝가리안 표기법을 사용 할 필요가 없어짐

  > 현재는 의미 중심적인 변수명(ex: userName, totalCount)이 선호

  > , safeHtml, rawHtml 같은 응용 헝가리안 표기법은 일부 사용

2. 케밥(Kebab) 케이스와 스네이크(Snake) 케이스 사용 증가

스타일 사용 사례 대표적인 언어/환경 Example
케밥 케이스(kebab-case) JSON, URL, 파일명 JSON, REST API, URL my-variable-name, user-profile.json, https://example.com/user-profile
스네이크 케이스(snake_case) Python 변수명, SQL 테이블/컬럼명, 환경 변수 Python, SQL, Shell Script my_variable_name, user_profile, export PATH_TO_FILE=/usr/local/bin
카멜 케이스(camelCase) 변수, 함수명 JavaScript, Java, C#, TypeScript myVariableName, getUserProfile()
어퍼 카멜 케이스(UpperCamelCase) 클래스명, 타입명 Java, C#, TypeScript MyClassName, UserProfile, PersonData

3. 객체지향(OOP)에서 함수형(FP) 프로그래밍으로 전환

  > OOP: 객체 중심, 재사용성 높지만 동시성 처리에 취약

  > FP: 순수 함수 기반, 병렬 처리와 동시성에 유리하지만 개념이 어려움

  > 최신 언어들은 OOP FP 혼합 지원 (ex: JavaScript, Python, Java 8+)

4. 린팅(Linting)도구의 발전 및 코드 스타일 통합

  > 코드 내 문법 오류, 스타일 문제, 잠재적 버그 등을 자동으로 감지

  > 일관된 코드 스타일 유지, 가독성 향상, 자동 코드 리뷰 및 버그 예방

  > AI 기반 코드 분석, CI/CD 파이프라인과 통합, 자동 코드 수정 기능 강화

5. 주석의 감소와 셀프 문서화 코드(Self Documenting Code) 선호

  > 코드 자체로 의미를 전달하는 것이 주석보다 중요

  > 좋은 코드 예시: 주석없이 코드만으로도 충분히 이해 가능

  > 나쁜 코드 예시: 변수명이 의미가 없고, 주석이 불필요하게 반복적으로 사용

6. SQL 기반 RDBMS에서 NoSQL, NewSQL 확장

  > 빅데이터, 분산 시스템, 고성능 요구사항 등의 증가로 대규모 데이터 처리와 비정형 데이터 저장을 위한 NoSQL, NewSQL 사용 증가

7. 동기(Synchronous)프로그래밍에서 비동기(Asynchronous)프로그래밍으로 개발 증가

  > 성능 최적화 및 비동기 처리가 중요해짐

  > 동기 프로그래밍: 작업이 순차적으로 실행, 이전 작업 완료 후 다음 작업 실행, 단순하나 성능 저하 가능성 있음

  > 비동기 프로그래밍: 작업이 병렬적으로 실행될 수 있음, 작업 완료를 기다리지 않고 다음 코드 실행(Callback, Promise, async/await)

결론

  > 최근 개발 트렌드는 가독성이 최우선인 흐름으로 변화 하고 있음

  > 자동화 도구(AI 기반 Linting 도구, 정적 분석 도구 등) 활용이 증가하며 생산성을 높이는 방향으로 변화

  > 함수형 프로그래밍(FP), 비동기 개발 방식, NoSQL 등의 기술이 대세로 자리 잡음

  ○ 유지보수성협업효율성을 높이는 방향으로 발전

----------------------------------------------------------------------------------------------------------------------------------------------------

강의)

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함