본문 바로가기

전체 글119

자바 코딩테스트 여러가지 팁 큐나 스택 구현체로 ArrayDeque를 선택하자, 접근, 삽입/삭제 O(1)로 더 빠르다.string.split() 사용하지말고 StringTokenizer 사용입출력시, Scanner, sout 사용 X, BufferedReader와 Writer를 사용하자.순회 전에 배열 전체 초기값을 -1로 정하고, 반대로 조건에 부합하는 경우에만 값을 변경. Arrays.fill(arr, -1);커스텀 정렬 시, Arrays.sort(arr, (a, b) -> { a[1] - b[1] }); (2번째 파라미터는 Comparator 람다식 구현)음수라면, a가 먼저 배치, 양수라면, b가 먼저 배치,우선순위 큐 (힙)로 정렬 할 수도 있다. PriorityQueue pq = new PriorityQueu.. 2025. 9. 15.
프로젝트 관리 일정 계획과 작업- 작업의 분할- 작업의 명세화 작업의 양을 인원-월(PM)로 표시함, 1PM은 중급 수준 개발자의 한 달간 작업량- 작업 진행 순서의 정의 (PERT/CPM 도표)- 인력 배정- 비용 산정- 개발 일정의 수립 (CPM -> 간트차트로 도표화) WBS- 작업 분할 구조, 계층 구조로 표현- 최하위 수준의 작업을 작업 패키지라고 한다. 정량적 측정이 가능한 입출력물을 가짐 PERT- 작업들의 선후 관계를 표현한 사이클이 없는 방향 그래프CPM : 임계경로 방법- 일정 계획을 위한 알고리즘적 분석 방법- 임계경로는 시작, 종료 작업까지의 경로 중 가장 긴 경로- 임계 경로상의 작업들은 지연이 허용되지 않는 작업 CPM 네트워크 간트 차트- 막대 모양으로 작업들의 순차, 병행 순서를 보.. 2025. 3. 11.
소프트웨어 프로세스 프로세스 활동- 명세 : 기능과 제약 조건- 개발 : 설계, 프로그래밍- 검증 : 요구 사항 충족- 진화 : 고도화, 변경 폭포수 모델- 고전적 소프트웨어 생명 주기- 각 단계는 병행 수행 X, 한 방향으로 진행됨- 수정을 위한 앞단계로의 피드백이 필수 폭포수 흐름- 타당성 조사 - 요구 분석과 명세 : 명세서(SRS), 시스템의 목적과 범위, 기능적 요구사항, 비기능적 요구사항, 기타 제약 조건 등 - 설계와 명세 : what 을 how 로 변환하는 작업, 아키텍쳐 설계, 인터페이스 설계, 모듈 설계 등, 객체지향 설계 방법, 전통적 설계 방법(구조적 분석) - 코딩과 단위 테스트 : 구현된 모듈이 명세를 만족하는지 테스트, 코딩표준의 준수, 테스트 절차의 준수, 코드 인스펙션(눈으로 검사, 정적 .. 2025. 3. 11.
소프트웨어 개발 분류- 시스템 소프트웨어 : OS, 장치 드라이버, 컴파일러, DBMS, 유틸리티 프로그램 등- 응용 소프트웨어 : 웹, 사무용 SW, 게임 SW, MIS, ERP 등 사용자에 따른 분류- 일반 소프트웨어 : 패키지 소프트웨어, 요구사항이 일반적, 상용제품- 맞춤형 소프트웨어 : 특정 고객을 위한 주문 제작, 응용 도메인, 프로세서 제어, 교통 관제 등 응용 분야- 실시간 소프트웨어- 내장형 소프트웨어- 비즈니스 소프트웨어- 개인용 소프트웨어- 인공지능 소프트웨어- 웹 기반 소프트웨어- 공학/과학용 소프트웨어 요구사항 명세, 설계 프로젝트 관리의 중요성- 문서화, 명세화, 재사용을 염두에 둔 작업이 필요 소프트웨어 공학 환경의 구성- 소프트웨어 공학 원리추상화, 분할정복, 계층적 조직의 원리- 방법과 기.. 2025. 3. 11.
대화 상자 AlertDialog- 안드로이드 플랫폼이 사용자에게 특정 메시지를 출력하고 사용자의 의사를 전달받을 수 있는 인터페이스를 제공하는 위젯- Toast와 비슷하지만 사용자와의 상호작용 이라는 점에 차이가 있음 AlertDialog 생성자- 생성자는 protected로 숨겨져 있고, Builder로 생성해야한다. - AlertDialog.Builder(Context context)- setMessage, setTitle, setIcon, setPositiveButton 등 Builder- AlertDialog show() 메서드를 통해 AlertDialog를 보이게 하거나 create() 메서드를 통해 생성할 수 있음- Builder 객체의 create메서드는 AlertDialog를 생성만하고 화면으로 출력.. 2025. 3. 4.
어댑터 뷰 AdapterView- 데이터를 적재해서 큰 틀에다 놓고 화면에 출력하는 방법이다.  데이터 영역에서 어뎁터에 적재(setAdapter())한다. 이를 레이아웃에 리스트 형식(ListView)으로 화면에 출력한다.ListView 뿐 아니라 GridView, Spinner, Gallery 같이 다양한 방법이 있다. 어댑터는 ArrayList나 DB에서 데이터를 수집하고, 레이아웃을 표현하는 XML코드를 해석해 AdapterView의 화면을 구성한다.AdapterView로는 ListView, Spiiner 등이 있다. 어댑터- 화면에 표시되는 AdapterView를 위해 화면에 표현되는 "데이터를 관리" 하는 역할을 한다.- Adapter는 전달받은 데이터의 유형에 따라 다양한 자식 View로 세분화된다. .. 2025. 3. 4.