분류 전체보기 (15) 썸네일형 리스트형 [c#] ListView add 속도개선 안녕하세요? 개발자 "태민"입니다. LIstView 속도개선을 위해서 많은 시도를 해봤습니다. 다만 밑의 링크에 굉장히 잘 정리되어 있으나, 언어장벽 또는 실제필요한 코드에 대한 설명이 부족한 것 같기에 제가 직접 실험하며, 실제 실험한 git주소를 올립니다. (git주소는 밑에 기재하겠습니다.) https://stackoverflow.com/questions/9008310/how-to-speed-adding-items-to-a-listview 조건, 실험방법 데이터 10000row listview에 add하기 https://support.spatialkey.com/spatialkey-sample-csv-data/ 사이트의 데이터를 활용했습니다. 개선되기 전 코드 while (!reader.EndOfSt.. [알고리즘,JAVA] 백준 2003 수들의 합 2 , sliding window 안녕하세요? "태민"입니다. 오랜만에 티스토리에 글을 씁니다. 왜냐하면 주말에 코딩테스트 무려 3개나 봤기 때문입니다. 안타깝게도 못 푼 문제가 있었는데 그 문제를 어떤 식으로 풀어야 하는지 나중에 알아보니 슬라이딩 윈도우 알고리즘을 이용하면 쉽게 풀 수 있었던 문제였습니다... 아쉽게도 저는 슬라이딩 윈도우 알고리즘을 몰랐기에 오늘 포스트팅하며 배우고 하고자 합니다. 오늘은 슬라이딩 윈도우가 무엇인지 슬라이딩 윈도우를 이용해서 알고리즘 문제를 풀어보도록 하겠습니다. 1. 슬라이딩 윈도우 1-1. 도입 슬라이딩 윈도우는 원래는 TCP 통신 프로토콜 중 하나를 지칭하는 말입니다. 대충 살펴보자면 송신측은 윈도우의 크기를 수신자의 상태에 따라 자유자재로 조정하고 있습니다. TCP 통신에서는 상태방이 데이터를.. [JavaScript]Promise 안녕하세요? "태민"입니다. 오늘은 ES6에 새로 추가된 기능 Promise에 대해서 포스팅하려고 합니다. 제가 프로젝트를 진행하면서 Axios를 이용해 비동기통신을 구현했습니다. Axios도 Promise의 구조를 이용해서 구현된 거라 알고 있는데요. 여러 통신을 구현하고자 할 때, Promise.all function을 사용한 경험이 있습니다. 이때 resolve나 reject같은 개념들을 확실히 하지 않은 거 같아서 포스팅합니다. 1. 비동기 처리 모델 일단 비동기 처리 모델에 대해서 알아야 할 것 같습니다. 비동기 처리모델이랑 어떤 Task가 발생되었을 떄 현재 실행중인 Task를 멈추지 않고 병렬로 실행되는 것을 말합니다. 데표적인 예로 setTimeout function이 있습니다. 예제와 함.. [JavaScript] var, let, const, Scope, Hoisting 안녕하세요? "태민"입니다. 오늘은 javaScript의 var, let, const 차이점에 대해 공부하기 위해 포스팅을 합니다. 그런데 위의 차이점을 검색해보니 Scope과 Hoisting이라는 흥미로운 주제가 많이 나오더라고요. 그래서 같이 포스팅 하려고 마음 먹었습니다. 1. var, let, Const 1-1. 기능 변수 재선언 변수 재할당(immutable) var O O let X O const X X - 변수 재선언 var a = 10 var a = "안녕" // 변수 재선언이 가능하다 let b = 10 let b = "안녕" // 이미 a는 위에서 선언 되어 있기 때문에 재선언 불가능 하다 - 변수 재할당 let a = 10 a = 100 // 변수 재할당이 가능하다 const b = .. [공부] 기본정리 JAVA JAVA 특징 객체지향 추상화 : 현상에 존재하는 객체의 주요특징을 추출하는 과정 캡슐화 : 하나의 클래스 안에 데이터와 기능을 담아 정의하고, 중요한 데이터나 복잡한 기능 등은 숨시고, 외부에서 필요한 기능만을 공개하는 것. 상속 : 객체 정의 시 기존에 존재하는 객체의 속성과 기능을 상속받아 정의하는 것 다형성 : 같은 타입 또는 같은 기능의 호출로 다양한 효과를 가져오는 것 플랫폼 독립적 JVM 위에서 작동되어지기 때문에 Java의 컴파일 코드는 JVM이 해석 가능하도록 번역 간단하다 복잡성, 메모리관리의 어려움을 해결하여 쉽게 접근 분산 프로그래밍 지원 네트워크를 이용한 프로그래밍 지원, 원격 접속을 위한 다양한 기술셋을 가지고 있다. 멀티 스레드 운영체제에 종속적이지 않는 독립적인 설계.. [공부] FrameWork(프레임워크) 프레임워크 정의 웹 애플리케이션을 개발할 때 각 기능과 구조가 정해져 있기 때문에, 그 개발의 노하우를 구현하여 제공하고 있는 것 개발 기간을 단축하므로 비용을 줄일 수 있다 코드의 표준화가 가능하여 유지 보수성을 높일 수 있다. 장점 개발기간 단축 : 대부분 프레임워크에서는 애플리케이션 개발에 필요한 기능들을 미리 구현하여 라이브러리 파일로 저장 견고성 : 실행을 위한 모듈을 제공, 실행모듈이 검증되고, 최적화 되어 있기 때문에 성능향상뿐만 아니라 오류에 대한 견고성이 뛰어나다 유지보수성 향상 : 일정한 아키텍쳐를 사용하여 개발 및 유비조수 담당자가 변경되더라도 업무 파악을 빠르게 할 수 있다. 단점 프레임워크 학습 고수 : 학습시간에 많은 시간 소요 프레임워크 선택 난관 : 프레임워크 자체에 버그가 .. [공부] MVC Pattern MVC 패턴 모델 웹 애플리케이션 모델 : 일반적으로 많은 개발자들이 사용하는 표준화된 아키텍쳐 MVC GUI 애플리케이션을 구현할 때 사용되는 디자인 패턴 Model : 데이터와 상태를 유지하며 데이터 처리 로직을 포함 View : UI 요소를 그린다. Controller : UI의 사용자 액션에 응답하고 데이터 흐름을 제어 Model 1 아키텍처 client에서 들어오는 요청부분에 대한 처리와 beans에서 처리된 응답결과가 JSP페이지에 의하여 모두 처리 컨트롤러의 역할과 뷰의 역할을 JSP가 수행 장점 개발속도가 빠르다. 구조가 매우 간단 성능면에서 비교적 유리 단점 중후반으로 갈수록 요구사항 변에 따른 대응 속도가 느리다 JSP 페이지가 너무 복잡해서 유지보수하기 힘들다 정교한 UI계층을 개발하.. [공부] JSP JSP 특징 프레젠테이션 로직과 비즈니스 로직의 분리 웹 페이지의 디자인이 변경되더라도 내부 비즈니스 로직을 처리하는 코드를 변경할 필요가 없는 장점 비즈니스 로직의 Javabeans컴포넌트 모델을 통하여 구현할 수 있다. 컴포넌의 재사용 : 공통적으로 사용되는 컴포넌트를 만들어서 재사용할 수 있다. JSTL, EL, 커스텀 태그 등을 활용한 개발 용이성 JSTL (Java Statandard Tag Library) EL (Expression Language) 서버 자원의 효율적 관리 최초 요청시 컴파일을 통해서 서브릿이 구성되고 메모리에 적재 이후, 이미 적재되어 있는 서블릿에서 바로 응답 줍니다. 처리과정 최초요청시 JSP파일을 서블릿으로, 서블릿클래스 컴파일 클래스파일을 메모리에 적재 재요청시 적재.. 이전 1 2 다음