목록전체 글 276
재밌고 어려운 IT를 이해해보자~!
스택을 활용하되 해당 타워의 인덱스를 저장할 자료구조를 활용해야한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { static class Top { int idx; int height; Top(int idx, int height) { this.idx = idx; this.height = height; } } public static ..
빌딩을 순차적으로 세워놨다고 가정하면 80,000 ~ 1 까지 총합을 구해야하고 그 값은 32억을 넘어간다.따라서 int가 아닌 long 선언!import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); long cnt=0; int[] height = new int[num]; for (int i=0; ..
CMS 란! 콘텐츠 관리 시스템(Contents Management System)은 사용자가 디지털 콘텐츠를 생성, 관리, 저장 및 수정할 수 있도록 지원하는 소프트웨어입니다. 이 포괄적인 시스템은 앱, 이미지, 웹사이트 등의 콘텐츠를 조직의 요구와 직원에 맞게 사용자 친화적인 인터페이스에 저장할 수 있도록 원스톱으로 제공됩니다. CMS의 작동 원리수동으로 실행되는 웹사이트는 개인 또는 조직이 각 웹페이지에 대해 정적 HTML 파일을 직접 코딩하거나 작성하여 서버에 업로드해야 합니다. 이는 상당한 시간과 에너지가 필요한 작업이며, 이미 바쁜 조직의 귀중한 리소스를 빼앗는 정기적인 업데이트가 필요합니다.CMS 플랫폼을 사용하면 이러한 복잡한 작업을 피할 수 있습니다. 시스템이 이미 백엔드와 프론트엔드에서 ..
app : 앱의 소스 코드와 리소스 파일이 들어있는 폴더manifests : AndroidManifest.xml 파일이 위치함. 앱의 구성 요소들을 정의하고 안드로이드 시스템이 앱을 실행할 때 필요한 정보를 제공 java : Java 코드가 위치하는 폴더. Basic Activity로 생성된 프로젝트에서는 MainActivity.java 파일이 포함됨. 앱의 메인 화면인 Activity를 구현함. res : 앱에서 사용하는 리소스 파일이 위치하는 폴더. layout 폴더, 이미지 파일, 문자열이나 색상 등의 리소스가 여기에 포함된다.(UI용) res폴더 구조drawable : 이미지 파일을 저장하는 폴더. 앱에서 사용되는 모든 이미지 파일들이 포함. 기본적으로 앱 아이콘을 만들기 위해 ic_launche..
Kotlin은 Java의 한계와 복잡성을 극복하고자 탄생!그리고 안드로이드 앱 개발을 더 간결하고 생산적으로 만들기 위한 목적으로 개발되었고, 공식적으로 안드로이드 앱 개발 언어로 사용할 수 있습니다. Kotlin 과 Java의 차이1. 보다 간결한 문법 Kotlin은 Java에 비해 훨씬 간결한 문법을 가지고 있습니다. 예를 들어, 변수를 선언할 때 타입 추론을 사용하므로 데이터 타입을 명시적으로 선언하지 않아도 됩니다. 2. Null 안정성 Kotlin은 널 포인터 예외를 방지하기 위한 기본적인 지원을 제공합니다.변수에 null을 할당하려면 타입 뒤에 물음표(?)를 붙여야 하며, 이를 통해 안전한 널 처리가 가능해집니다. 3. 확장 함수 Kotlin은 기존 클래스의 메서드를 확장하여 사용할 수 있는 ..
생명주기(Lifecycle)란?Lifecycle은 Life + cycle의 합성어로, 삶의 순환이라고 직역할 수 있겠다. 말 그대로 탄생하고 성장하여 죽음에 이르기까지의 과정이라고 생각한다면, 이것을 안드로이드 앱에 적용한 것이 바로 Android Lifecycle이다. Activity, Fragment, Service 총 세가지 종류의 Lifecycle이 있다. 생명주기가 필요한 이유!예를 들어보자. 당신은 지금 카톡을 하고 있다. 그런데 갑자기 친구가 술먹자며 나오라고 전화를 했다. 당신이 전화를 받는순간 전화창이 화면에 보일 것이다. 그러다 약속을 잡고 전화를 끊고 다시 카톡을 실행하면 화면에 카톡창이 보일 것이다. 카톡 실행중 -> 카톡 닫고 전화 실행 -> 전화 실행중 -> 전화 끊고 카톡 실행..
웹서버의 하나로 Apache와 동일한 역할을 한다! Nginx 장점 1. 높은 성능과 작은 메모리 사용Nginx는 비동기 I/O 처리 방식을 사용하여 높은 성능을 제공합니다. 이를 통해 대규모 웹 사이트에서도 빠른 응답 시간을 보장할 수 있습니다. 또한 Nginx는 적은 메모리 사용량으로도 높은 성능을 제공합니다. 이를 통해 서버 운용 비용을 절감할 수 있습니다. 2. 리버스 프록시(Reverse Proxy) 사용이 가능 프록시(Proxy)의 사전적 정의는 "대리"입니다. 인터넷 접속을 할 때 보안상의 문제로 직접 통신을 주고받을 수 없을 때 그 사이의 중계기로서 대리로 통신을 수행하는 기능을 프록시라고 말합니다. 이렇게 중계를 기능하는 것을 우리는 프록시 서버라고 부릅니다. 프록시는 크게 포워드 프록시..
CodeIgniter란?CodeIgniter (줄여서 CI라고 함) 는 PHP 프레임워크중 하나로써 현재 PHP 프래임워크중 가장 많은 사용자 층을 가지고있음- 빠르고 MVC 모델 지원 장점1. 설치 공간이 작은 프레임워크2. 뛰어난 성능3. 커맨드 라인(command line)을 사용할 필요가 없는 프레임워크4. 제한적인 코딩 규칙을 준수하지 않아도 되는 프레임워크5. 프레임워크에 대한 명확하고 철저한 문서 (한국 사용자 포럼이 존재함)6. 간단한 인터페이스 / 논리적 구조 → 빠르게 프로젝트를 개발할 수 있음7. 초보자가 시작하기 좋은 PHP 프레임워크 (타 프레임워크에 비해 쉽다)8. 소스 코드만 다운로드해서 서버 루트에 압출을 풀어주면 설치가 끝난다.9. CodeIgniter에서 생성한 URL은..