칼럼
-
모든 소프트웨어는 지저분하고 뼈대가 있습니다칼럼 2023. 11. 21. 15:58
원문 : 모든 소프트웨어는 지저분하고 뼈대가 있습니다 (vadimkravcenko.com) Every software is messy and has skeletons You need to accept one truth - every shop is messy and every app has its skeletons. Period. Welcome to the backstage of the software world, where the vadimkravcenko.com 모든 소프트웨어의 제작과정은 동일합니다. 그것을 극복하는 단 한가지, 바로, 휴먼파워 입니다. 모든 상점은 지저분하고 모든 앱에는 뼈대가 있다는 한 가지 진실을 받아들여야 합니다. 마침표. 거대 기술 기업의 매력과 개발 참호의 냉혹한 현실이 만..
-
데이터베이스 기술은 '있으면 좋은' 것이 아닙니다.칼럼 2023. 11. 14. 22:07
원문 : 데이터베이스 기술은 '있으면 좋은' 것이 아닙니다. (renegadeotter.com) Your database skills are not 'good to have' And a hateful ode to Object-Relational Mappers renegadeotter.com Database 전문가는 ORM을 싫어합니다. TDD 개발자는 ORM을 좋아합니다. 누군가는 그 둘을 모두 싫어합니다. 사라져가는 SQL의 기술 지난 몇 년 동안 나는 소프트웨어 엔지니어들이 이국적인 "행성 규모"를 사용하기를 열망하는 불안한 추세를 알아 차렸다 매우 초보적인 문제에 대한 데이터베이스이지만 동시에 매우 강력한 문제를 잘 파악하지 못합니다. 관계형 데이터베이스 엔진은 기술의 고급 및 유용한 기능을 이해하..
-
개발에 관하여 하고 싶은 이야기 : 파트 2 - 데이터베이스 다중화칼럼 2023. 11. 14. 14:39
파트 1에서는 웹 개발에 기본적으로 알아야 할 사항들과 서버 분산에 대해 다루었다. 파트 2에서는 데이터베이스 다중화를 다루어 보고자 한다. 앞서 설명했든 데이터베이스 다중화는 현대의 클라우드 시대에는 그 의미가 많이 퇴색될 수 있다. 데이터베이스 다중화는 프로덕션 레벨에 있는 시스템에는 반드시 필요한 부분이다. 데이터베이스 또한 완벽한 솔루션은 아니라서 각종 장애와 사용자 실수에 따른 문제가 필연적이고 시스템은 한번 프로덕션에 진입하면 멈출 수 없기에 다중화는 선택이 아닌 필수다. 필자는 아래와 같이 표현한다. "하나의 시스템이 프로덕션 단계로 진입하여 하루 매출이 10억이라면, 그때부터 시스템은 코드덩어리가 아니라 사람과 같이 피가 흐르게 된다. 어떠한 경우도 멈출 수 없고 죽일 수도 없다." 이 지..
-
개발에 관한 하고 싶은 이야기 : 파트1 - 웹 개발과 분산칼럼 2023. 11. 14. 14:02
이전 칼럼에서 메인 프레임 시대에 대해 다루었다. 그에 따라 2000년대 초반과 그 이전의 개발에 대해 다루고자 한다. 먼저 인터넷 시대 이전에는 메인 프레임의 시대다. 이전 설명과 같이 메인 프레임 시대는 내부 인트라넷, 즉, 내무망에 접속할 수 있는 전용 단말기를 이용해 서버에 접속하는 시대였다. 따라서 전용 단말기는 메인 프레임과 하나의 시스템을 공유하고 전용 역할을 부여받은 기기로써의 역할하였다. 당시 대부분의 메인 프레임서버는 전용 소프트웨어 + 데이터 베이스(또는 테입 저장 시스템)가 주를 이루었다. 현대의 도메인서버 + 웹서버 + WAS + DB 같은 복잡한 구조가 아닌 정말 심플한 구조 였다. 그림으로 표현하면 아래와 같다. TCP/IP 통신으로 서버와 직접 패킷을 주고받는 형태로 개발된다..
-
웹 개발자가 되기 전에 반드시 알아야 하는 내용칼럼 2023. 11. 12. 23:25
과거 데스크톱 애플리케이션부터 현재에 웹 애플리케이션 개발에 이르기까지 그 발전 과정과 왜 발전되었고, 현제의 웹 개발을 하고자 함에 있어 반드시 사전에 알아야 하는 내용에 대해 기술하고자 한다. 1. 메인 프레임 시대 (60~80) 메인 프레임 시대는 사실 현재와 시스템 적으로 매우 비슷한 구조를 갖는다. 메임 프레임 시대에는 하나의 중앙 컴퓨터(메인 프레임)에 DB, Application Server가 하나로 구죽되는 경우로 이와 통신하기 위해서는 전용 단말기가 필요한 구조이다. 이 시기에도 TCP 단말을 이용하여 각 단말기는 Basic, Cobal등을 이용한 터미널 GUI를 사용하여 서버에서 동작 중인 Database에 입력하는 방식이었다. 이 시기에는 인터넷이라는 용어보다 전용망이라는 내부 인트라..
-
안전한 코드를 작성하는 10가지 방법. (By NASA)칼럼 2023. 11. 4. 00:36
개발자는 많은 코드를 작성하면서 또한 많은 실수를 저지른다. 실수하지 않기 위한 방법을 소개한다. 위키디피아에 작성된 나사의 10가지 개발원칙을 살펴보자. The Power of 10: Rules for Developing Safety-Critical Code - Wikipedia The Power of 10: Rules for Developing Safety-Critical Code - Wikipedia From Wikipedia, the free encyclopedia --> en.wikipedia.org 10가지 원칙은 아래와 같다. goto및 recursion과 같은 복잡한 흐름 구문을 피하십시오. 모든 루프에는 고정된 경계가 있어야 합니다. 이렇게 하면 코드 런어웨이를 방지할 수 있습니다. 힙 ..
-
.Net Multiplatform칼럼 2023. 11. 3. 23:08
Kotlin Multiplatform??? 요즘 멀티 플랫폼 업계는 매우 혼란합니다. React Navtive , Flutter, DotNet Maui, Avaloinia, Uno Platform, Kotlin Multiplatform 까지 수 많은 개발 플랫폼이 나와 있고 서로 경쟁적으로 릴리즈를 이어가고 있습니다. 오늘은 닷넷 기술을 사용하는 멀티 플랫폼 기술에 대해 설명하고자 합니다. 닷넷으로 개발되는 멀티 플랫폼은 아래와 같습니다. Maui Avalonia Uno Platform 각 플랫폼을 살펴 보겠습니다. 1. .Net Maui 닷넷 마우이는 자마린 Next로 만든 멀티 플랫폼입니다. 자마린의 한계를 극복하고자 새로운 방식, 각 플랫폼의 Native Control에 바인딩한다는 개념으로 만들어..