본문 바로가기

프로그래밍

데이터 전송 Ajax는 Asynchronous JavaScript And XML의 약어로 언어나 프레임 워크가 아닌 구현하는 방식을 의미합니다. 데이터를 이동하고 화면을 구성하는데 있어서 웹 화면을 갱신하지 않고 필요한 데이터를 서버로 보내고 가져오는 방법입니다. 화면 갱신이 없어서 사용자 입장에서는 매우 편리하고 빠르게 작업을 처리하는 것처럼 느끼게 합니다. 하지만, 동적으로 화면을 구성하는 만큼 개발자의 구현은 복잡해 집니다. 데이터 전송 Ajax는 앞서 말했 듯 서버와 클라이언트(사용자)간에 데이터를 이동하고 화면을 구성하는 구현 방식입니다. Ajax의 구현에 들어가기 앞서 Ajax에서의 데이터 전송은 어떤식으로 진행 되는 가에 대해서 살짝 살펴보고 가겠습니다. 그림 1 : 동기식 데이터 전송 위 그림1은 동기..
[ 개발자 업무 파악 ] SI와 SM의 차이와 하루일과 SM System Management(시스템 운영, 또는 유지보수)의 약자다. 예전에는 SM 이라고만 했는데 요새는 ITIL의 영향때문인지 해외에서 Information Technology Service Management(ITSM)과 일반 Service Management를 구분하여 사용한다. SI System Integration(시스템 구축)의 약자. 전산시스템을 필요로 하는 곳으로부터 하청을 받아, 시스템의 기획, 개발, 유지보수, 운영 등을 대신 해주는 업종이다. 아무래도 개인보다는 기업이나 관공서가 주된 고객이다. 고객의 요청에 따라 제안서를 작성하고, PM과 개발자를 투입하여 프로젝트를 수행한 뒤, 소요된 인건비와 솔루션의 단가 등을 수임료로 벌어들이는 형태의 산업이다. 따라서 도급 시스템과..
[ 개발자 업무 파악 ] Front-end 개발자와 Back-end 개발자 Front-end & Back-end 일반적으로 프런트엔드(front-end)와 백엔드(back-end)라는 용어는 프로세스의 처음과 마지막 단계를 가리킨다. ‘프런트엔드’는 사용자로부터 다양한 형태의 입력을 받아 ‘백엔드’가 사용할 수 있는 규격을 따라 처리할 책임을 진다. ‘프런트엔드’를 ‘백엔드’로 연결하는 것은 인터페이스의 일종이다. Front-end 개발자와 Back-end 개발자 Web developer 분류 Front-end : 사이트 이용자의 눈에 보이는 부분(HTML/CSS/JAVASCRIPT)을 개발 Back-end : 사이트 이용자의 눈에 보이지 않는 부분(서버코딩, 서버상에서 DB활용, API제작 등)을 개발 Full-stack : Front-end와 Ba..
디자인 패턴 MVC MVC( Model - View - Controller ) View : 화면단을 그려주는 Object를 말한다. 예를들어, JSP처럼 Runtime에 고객이 입력한 결과를 동적으로 표시해 주는 Presentation 을 담당하는 놈이다. Controller : View가 Model(Data공급원)을 직접호출 하게 되면 Model은 화면에 종속되는 형태로 개발되게 된다. 이것을 우리는 강한연결( Strong Coupling) 이라 한다. 이렇게 개발된 Model 개체는 다른곳에서 사용하기가 힘들다. 이를 해결하기 위해( 프로그램의 재활용성을 높이기 위해 ) 약한연결( Loose Coupling) 로 프로그램을 구성할 때 우리는 이 Controller를 만들어 구성하게 된다. => 화면단에서 사용자가 입력한..
디자인 패턴 : FACTORY METHOD Factory Method OOP 프로그램에서 Object의 생성/소멸을 어떻게 관리할지에 대해서 일반화 해놓은 패턴 중 하나이다. 특히, 객체생성을 직접하는 것이 아니라, 타 클래스에 위임을 통해 약한연결( Loose Coupling ) 을 구현 코드의 의존성을 줄인다. Sample 코드의 변환과정. 가정조건. 1) 10개의 Business Logic이 담겨있는 클래스가 있다고 가정하자. 2) 이 10개의 Class에서는 모두 Oracle DB와 DB Connection 문구가 들어있다. 3) 이 Oracle DB가 너무 비싸서 현재 위탁을 할지 MySQL로 전환될지 확실치 못하다. 4) 만약 MySQL로 전환된거나, 다른 DB로 전환 될 때 어떻게 해야 할까? 가) 절차적방식의 코딩. [HardCod..
List,Set,Map 어떤것을 사용해야 할까? List,Set,Map의 Class중 어떤것을 쓸것인지 판단할수 있도록 표로 정리해 보았다. 용어 List : 중복을 허용하고, index를 통한 접근을 한다. index가 부족하게 되면 메모리를 새로 할당하여 복사하여 구성하게 된다. Set : 집합(수학), 집합은 중복을 허용하지 않고 교집합/합집합/차집합등을 지원한다.(And(교집합), OR(합집합), XOR (Not Or)등을 지원함) Hash : Hash Function을 말하며 고유한 Key값(Unique Key)을 주면 고유한 값을 Return한다(중복안됨). Hash연산은 다방면으로 사용되어지고 있다. Linked : Array의 전/후의 값이 서로 Link[양방향연결고리]되어 있어 계속늘어날 수 있으나, 중간검색이 되지 않아 검색속도가 느..
JSTL 사용자 정의 태그 라이브러리 1.WEB-INF에 tld 파일 생성 mytaglib.tld My Tag Library 1.1 my isNumber eltag.MyTagLibrary boolean isNumber(java.lang.String) getGender eltag.MyTagLibrary java.lang.String getGender(java.lang.String) 2.web.xml에 아래 내용 추가 /WEB-INF/tlds/mytaglib.tld /WEB-INF/tlds/mytablib.tld index.html ... ... ... 3. 해당 클래스 생성 package eltag; public class MyTagLibrary { /* 해당 클래스에 정의된 함수는 EL에서 호출하기 위한 용도로 정의되었으며, 무조건 "pub..
사이트 구축시 고려하는 프로파일러 클라이언트의 사이트를 구축할 때 일반적으로 고려하는 프로파일러입니다. 단순히 홈페이지를 제작하는 일은 디자인 회사에서 하는 일이고, 그것은 사이트 구축의 일부임은 잘 알고 계실 것입니다. Internet Business Site 설계를 위한 프로파일러 [1] 배경과 목표 *profiler Q. 이 사이트의 기본적인 목표는 무엇입니까? Q. 원하는 작업 일정은 언제부터 언제까지입니까? Q. 로고, 폰트 등 아이덴티티 제작을 완료하신 상태입니까? 아니면 따로 제작해야 합니까? [2] contents 설계 -contents 설계란 : 사이트에서 제공되는 정보의 연관성과 관계를 제공하기 위한 설계 -contents 설계에 포함되는 요소들 : . 사이트에 대한 설명 . 경영이념 . 상품정보 . 이용약관 . 사이트..