본문 바로가기

분류 전체보기111

[Spring] Spring 프레임워크의 구조 웹 프로그래밍을 구축하기 위한 설계 모델 model1과 model2 Model1 모듈화시키지 않고 하나의 파일로 처리 html코드 안에 java코드와 들이 함께 있는 것 개발 속도가 빠름 유지보수 어려움 Model2 각각의 기능을 모듈화 시키는 것 유지보수 수월함 클라이언트가 서버에 reqeust -> Controller가 request를 받아서 어떤 Service를 받을지 결정 -> DAO라는 객체를 만들어서 MODEL이라는 객체를 이용해서 DB와 통신 -> 통신해서 얻어온 값을 Controller에 반환 -> View라는 객체를 만들어서 (jsp) response MVC패턴을 기본으로 함 m/v/c를 철저하게 분류해서 작업할 수 있음 스프링에서는 model2방식을 사용 스프링 MVC 프레임워크 설계 .. 2021. 4. 19.
[Kotlin App] 목록 대화상자 대화상자(dialog) 화면에 메시지를 나타낸 후 확인이나 취소같은 사용자의 선택을 받아들이는 경우에 사용함 토스트보다 좀 더 강력한 메시지를 보여줄 때 적당함 대화상자 생성 AlertDialog.Builder클래스로 생성 용도에 따른 설정 setTitle() : 제목 설정 setMessage() : 내용 입력 setIcon() : 아이콘 설정 setPositiveButton() : 확인버튼 setNegativeButton() : 취소버튼 setItems() : 목록 출력 setSingleChoiceItems : 라디오버튼 목록 출력 setMultiChoiceItems : 체크박스 목록 출력 대화상자 화면 출력 show() 단순 메시지 출력 var dlg = AlertDialog.Builder(this@.. 2021. 4. 19.
[Android] gravity, layout_gravity gravity 속성 레이아웃 안의 위젯을 어디에 배치할 것인지를 결정 값으로 left, right, center, top, bottom 등을 사용 2개를 조합하여 right|bottom처럼 사용할 수도 있음 layout_gravity속성 gravity 속성이 자신에게 포함된 자식(주로 위젯)을 어디에 위치시킬지를 결정한다면, layout_ gravity 속성은 자신의 위치를 부모(주로 레이아웃)의 어디에 위치시킬지 결정함 그래서 gravity는 레이아웃에, layout_gravity는 위젯에 주로 지정함 ▶ 레이아웃 안에 있는 위젯의 배치를 변경하려 할 때는 gravity를 사용 => 대신 위젯에 속성을 부여하는게 아니라 레이아웃에 부여하는것임. baseLayout에 다른 위젯들이 배치되어서 어려움을 겪.. 2021. 4. 19.
[Android] TableLayout, GridLayout 테이블 레이아웃 테이블레이아웃의 속성 layout_span 열을 합쳐서 표시하라는 의미 layout_span="2"는 현재 셀부터 2개의 셀을 합쳐서 표시함 layout_column 지정된 열에 현재 위젯을 표시 layout_column="2"는 해당 위젯을 열번호 2번에 넣고 다음으로 오는 위젯의 열번호가 3,4,...으로 뒤에 이어 붙게 함 stretchColumns 자체에 설정하는 속성 지정된 열의 너비를 늘리라는 의미 stretch Columns=“*”는 각 셀을 모두 같은 크기로 확장하여 전체 화면이 꽉 차는 효과를 냄 열 번호는 0번부터 시작 난 이거 왜 안되는지 모르겠음..(?) 빨간줄 그여서 그냥 전체 col크기만큼 layout_span="colnum"해줌 아래의 이미지를 테이블 레이아웃으.. 2021. 4. 19.
[Kotlin] ?(물음표)와 !!(느낌표 두개)의 사용 코틀린에서 물음표(?)와 느낌표 두개(!!)의 경우 null의 사용과 관련되어있는 문자임 코틀린은 다른 언어들보다도 null에 민감해서 변수를 선언할 때 null의 여부에 대해 표시해주어야 하는 경우가 있음 코틀린의 특징 1. 기본적으로 코틀린은 변수에 null값을 넣지 못함 2. 변수에 맞는 문자(? or !!)를 데이터 형식 뒤에 붙여주어야 함 물음표(?)의 사용 null이 들어올 수 있는 경우에 붙여줌 var notNull:Int = null//오류 var notNull:Int? = null//정상 느낌표 두개(!!)의 사용 null값이 절대 들어오면 안되는 경우에 붙여줌 var notNull:Int = 0//기본값은 null허용x var okNull:Int? = 10//null이 들어올 수 있음을.. 2021. 4. 17.
[Kotlin App] 메뉴 - 옵션메뉴, 컨텍스트 메뉴 메뉴 옵션 메뉴 키패드의 메뉴 버튼 또는 화면 오른쪽 위의 메뉴 아이콘을 눌렀을 때 화면 하단에 나오는 메뉴 화면이 넘어갈 정도로 목록이 많으면 스크롤해서 선택 가능함 옵션 메뉴에서 XML파일을 이용하는 방식 1. 메뉴 폴더 생성 및 메뉴 XML파일 생성·편집 -> 메뉴 코딩 2. Kotlin코딩 : onCreateOptionMenu() 메소드 오버라이딩 -> 메뉴 파일 등록 3. Kotlin코딩 : onOptionsItemSelected() 메소드 오버라이딩 ->메뉴 선택 시 동작할 내용 코딩 컨텍스트 메뉴 위젯 등을 롱클릭하면 나오는 메뉴 컨텍스트 메뉴에서 XML파일을 이용하는 방식 1. 메뉴 폴더 생성 및 메뉴 XML파일 생성·편집 -> 메뉴 코딩 2. Kotlin코딩 : onCreate() 안에 .. 2021. 4. 16.
[AWS] EC2 인스턴스 생성 항상 블로그는 내 공부 기록용이었는데 '클라우드서비스관리' 과목에서 블로깅하는 것이 과제가 되어서 비자발적 목적으로 포스팅을 하려고 한다..ㅎㅎ 그래서 다른 글들과는 말투가 다를 수 있다! 목차 1. AWS Educate 입장하기 2. EC2 이해하기 3. EC2 인스턴스 생성하기 AWS Educate 입장하기 aws.amazon.com/ko/education/awseducate/?nc2=h_ql_exm_edu AWS Educate 클라우드 진로 클라우드 진로 클라우드 진로를 통해 업계 선두의 클라우드 커리어에 요구되는 최고의 클라우드 기술에 대해 알아보세요. 기계 학습 과학자에서 애플리케이션 개발자에 이르기 aws.amazon.com 일반적으로는 AWS를 사용하는 경우가 많을 것이다. 그러나 수업에서 .. 2021. 4. 14.
[Kotlin App] 액티비티 / 인텐트 액티비티(Activity) 화면을 구성하는 가장 기본적인 컴포넌트 디폴트 화면이 액티비티임 안드로이드폰에 나타나는 화면 하나하나를 말함 안드로이드의 4대 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버, 콘텐트 프로바이더) 중 가장 핵심적인 요소 서비스(Service) 눈에 보이는 화면(액티비티)과 상관없이 백그라운드에서 동작하는 컴포넌트 백신프로그램 / 백그라운드 음악 재생 로컬에서 동작하는 서비스는 아래 세 단계를 거침 서비스 생성 -> 서비스 시작 -> 서비스 종료 메인 액티비티에서 세컨드 액티비티를 호출하는 코드 - 단방향 //SecondActivity.kt buttonNewActicity.setOnClickListener { var intent = Intent(this, SecondActivit.. 2021. 4. 13.
[Kotlin] 안드로이드를 위한 Kotlin 문법 Kotlin 사이트(https://play.kotlinlang.org/)에 접속하여 별도의 설치 없이 개발할 수 있음! Kotlin의 특징 ① Java와 100% 상호 호환되므로 Java 코드를 완전히 대체 가능 ② Java보다 문법이 간결함 ③ 프로그램의 안정성을 높여줌 ④ var 또는 val 예약어를 통해 데이터 형식을 선언하지 않고 변수를 선언할수 있음 Kotlin의 변수 선언 방식 2) var(variable) - 변수 • 일반 변수를 선언할 때 사용 • 필요할 때마다 계속 다른 값을 대입 가능 3) val(value) - 상수 • 변수 선언과 동시에 값을 대입하거나, 초기화 없이 선언한 후에 한 번만 값을 대입 가능 • 한 번 값을 대입하고 나면 값을 변경할 수 없음 Kotlin의 변수 선언 방.. 2021. 3. 22.
[클라우드] 공부내용 기록 github.com/ty990520/cloudService ty990520/cloudService 클라우드서비스에 대해 공부한 내용을 정리합니다. Contribute to ty990520/cloudService development by creating an account on GitHub. github.com 2021. 3. 21.
[Spring] 공부내용 기록 github.com/ty990520/springFramework ty990520/springFramework spring프레임워크를 공부한 내용을 정리합니다. Contribute to ty990520/springFramework development by creating an account on GitHub. github.com 2021. 3. 13.
_CRT_SECURE_NO_WARNINGS 오류 instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.라는 오류가 나는 경우에는 소스코드 맨 윗줄에 아래의 코드를 복붙해준다. #define _CRT_SECURE_NO_WARNINGS #pragma warning(disable:4996) #define _CRT_SECURE_NO_WARNINGS #pragma warning(disable:4996) scanf에서 오류났으면 그냥 scanf_s로 써도 되긴 함 2021. 3. 6.
[Python] 웹 크롤링 연습 https://webnautes.tistory.com/779?category=618796 파이썬 웹 크롤링(Web Crawling) 강좌 - 1. 웹페이지 긁어오기 Beautiful Soup를 사용하여 간단한 웹 크롤러를 만드는 방법을 다루고 있습니다. Python 3.6으로 코드를 작성하였습니다. 버전의 차이로 필요한 모듈이 달라질 수도 있습니다. 웹 크롤러(Web Crawler)는 웹 webnautes.tistory.com 위의 게시글을 보고 따라 연습했습니다! 너무 좋은 자료...👍 (해당 티스토리는 수익창출을 하지 않습니다.) 연습1. urlopen : 원하는 주소의 웹페이지 내용 가져오기 from urllib.request import urlopen from bs4 import Beautiful.. 2021. 3. 2.
[C] 구조체(struct)와 공용체(union) 구조체(struct)의 멤버 변수로 배열을 사용할 때 주의사항 에러 상황 : 구조체의 멤버 변수인 배열의 시작 주소에 문자열을 입력할 수 없음 #include typedef struct student { char no[10]; char name[20]; }STUDENT; int main(void) { STUDENT stu; stu.no = "2018316"; //에러 stu.name = "park";//에러 printf("학번: %s, 이름: %s \n", stu.no, stu.name); return 0; } [해결방법 1] strcpy함수 사용 : 문자열을 대입할 때 사용 #include #include typedef struct student { char no[10]; char name[20]; }.. 2021. 2. 25.
[JAVA] 입출력 스트림 / 파일스트림 입출력스트림 문자 스트림 문자만 입출력하는 스트림 Reader/Writer InputStreamReader/OutputStreamWriter FileReader/FileWriter 예) 텍스트 파일을 읽는 입력 스트림 1. FileReader로 텍스트 파일 읽기 FileReader를 이용하여 c:\windows\system.ini 파일을 읽어 화면에 출력하는 프로그램을 작성 (system.ini는 텍스트 파일) package reader; import java.io.*; public class FileReaderEx { public static void main(String[] args) { FileReader fr = null; try { fr = new FileReader("c:\\windows\\s.. 2021. 2. 15.