분류 전체보기 612

[Algorithm] 3주차 스터디 - 재귀, 백트래킹

목차 1. 개념 정리 (1) 재귀 (2) 백트래킹 2. 3주 차 필수 문제 풀이 (1) A - 눈덩이 굴리기 (백준 21735번) (2) B - 222-풀링 (백준 2164번) (3) C - 하노이 탑 이동 순서 (백준 11729번) (4) D - N과 M(7) (백준 15656번) (5) E - 스도쿠(백준 2239번) 1. 개념 정리 (1) 재귀 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘이다. 어떤 문제를 재귀로 푼다는 것은 곧 귀납적인 방식으로 문제를 해결하겠다는 것이다. 이때 재귀 함수의 조건은 특정 입력에 대해서는 자기 자신을 호출하지 않고 종료되어야 하며(Base condition), 모든 입력은 base condition으로 수렴해야 한다. [ 재귀의 특징 ] - 함수..

[Android 심화] 3주차 스터디 - Movie App 만들기(Scaffold, LazyColumn, Navigation)

위와 같은 화면을 만들기 위해 MovieRow라는 틀을 우선 만든 다음 LazyColumn을 이용해 영화 제목이 리스트 형식으로 보이도록 만든다. 그리고 화면 상단에 TopBar를 만들어주려면 Scaffold를 이용하여 구현한다. 화면에 대한 코드는 아래와 같다. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyApp{ MainContent() } } } } @SuppressLint("UnusedMaterialScaffoldPaddingParameter") @Composable fun MyApp..

[Flutter] 3주차 스터디_UI Challenge

1. Row, Column class flutter로 UI 작업시 Row와 Column로 배치 레이아웃을 잡을 수 있다. Row()으로 감싸서 children 속성에 Widget(Container, Text, SizedBox 등)을 넣어주면 가로로 위젯들이 배치가 된다. Column()은 세로로 배치가 된다. MainAxisAlignment & CrossAxisAlignment Row의 경우 main axis은 수평으로 실행되고 cross axis은 수직으로 실행된다. Column의 경우 main axis은 수직으로 실행되고 cross axis은 수평으로 실행된다. 2. center, start, end, spacebetween MainAxisAlignment.center Row() : 가로축 기준 가운..

[스프링 입문] 3주차 chap 04 - 머스테치로 화면 구성하기

4.1 서버 템플릿 엔진과 머스테치 소개 - 템플릿 엔진 : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어 (== 웹의 화면을 어떤 형태로 만들지 도와주는 양식) JSP, Freemarker : 서버 템플릿 엔진, 서버에서 구동 리액트, 뷰의 View 파일 : 클라이언트 템플릿 엔진, 서버에서 Java 코드로 문자열을 만든 뒤, 이 문자열을 HTML 로 변환하여 브라우저로 전달 즉 서버 브라우저에서 작동될 때는 서버 템플릿 엔진의 손을 벗어나 제어할 수가 없습니다. 뷰나 리액트를 이용한 SPA는 브라우저에서 화면을 생성합니다. 즉 서버에서 이미 코드가 벗어난 경우라 서버에서는 Json, Xml 형식의 데이터만 전달하고 클라이언트에서 조립하는 것입니다. - 머스테치 : 수많은 언..

[ML입문] week2 - 회귀 알고리즘과 모델 규제, 분류 알고리즘(1)

1. K - 최근접 이웃 회귀 회귀 (Regression) : 임의의 숫자(target)를 예측하는 것 => 타깃을 따로 만들 필요 없이, 훈련 데이터의 특성 중 하나가 타깃값이 된다 [문제] 농어의 길이와 무게를 학습하여, 농어의 길이를 통해 무게를 예측해보자. 1) 데이터 준비 from sklearn.model_selection import train_test_split train_input, test_input, train_target, test_target = train_test_split(perch_length, perch_weight, random_state=42) K - 최근접 이웃 분류 때와 마찬가지로 사이킷런의 train_test_split을 이용해 훈련 세트와 테스트 세트를 나눈다. 이..

[Flutter] 2주차 스터디_Flutter 입문

#1 Introduction Why Flutter 플러터는 진정한 크로스플랫폼 앱 개발 프레임워크가 되었다. iOS, Android, Web, MacOS, Windows, Linux, Embedded Device.. etc 플러터로 개발한 앱이나 플러터를 사용하는 기업은 아래 사이트에서 확인할 수 있다. https://flutter.dev/showcase Showcase - Flutter apps in production The world’s biggest businesses are building with Flutter. View the showcase and see Flutter apps in production. flutter.dev Google Pay의 경우, 전체 앱을 플러터로 rebuilt 했..

[Android 심화] 2주차 스터디 - Jetpack Compose 입문(2)

6. Scaffold, TextField, Button, 구조 분해, SnackBar, 코루틴 스코프 위와 같이 TextField에 문자를 입력한 다음 버튼을 누를 시 snackbar가 뜨는 화면을 만들어 보겠다. 먼저 textField를 만든다. setContent { val textValue=remember{ mutableStateOf("") } Column( modifier=Modifier.fillMaxSize(), verticalArrangement= Arrangement.Center, horizontalAlignment= Alignment.CenterHorizontally, ){ TextField( value=textValue.value, onValueChange={ tex..

[Android 입문] 2주차 스터디 -Activity와 Fragment, ViewBinding

1. Activity & Intent Activity - 앱의 단일 화면이다. - 초기에 MainActivity.kt와 activity_main.xml이 하나의 화면을 구성하고 있다. - 새로운 액티비티(서브 화면)를 만들고 싶다면 MainActivity.kt와 같은 위치에 SubActivity.kt를 만든다. 그러면 activity_main.xml과 같은 위치(res>layout)에 activity_sub.xml이 자동으로 생성된다. Intent - 안드로이드 컴포넌트 간의 통신을 위해 사용되는 메세지 객체이다. - 화면 전환 및 데이터 전달을 가능하도록 한다. 메인 액티비티와 서브 액티비티 간의 이동을 도와주는 것이다. 메인 화면의 "Hello World!" TextView의 id: tv_sendMs..

[Spring 심화] 2장 테스트

2장 테스트 🌿 UserDaoTest 다시보기 🌱 테스트의 유용성 테스트란 결국 내가 예상하고 의도했던 대로 코드가 정확히 동작하는지를 확인해서, 만든 코드를 확신할 수 있게 해주는 작업. → 디버깅 과정을 거치며 코드와 설계의 결함을 고친다! 이를 통해 테스트가 성공하면 모든 결함이 제거됐다는 확신을 얻을 수 있음. 🌱 UserDaoTest의 특징 main() 메소드로 작성된 UserDaoTest() public class UserDaoTest { public static void main(String[] args) throws SQLException{ Application context = new GenericXmlApplicationContext("applicationContext.xml"); Us..

[Algorithm] 2주차 스터디 - 스택, 큐, 덱 / BFS, DFS

목차 1. 개념 정리 (1) 스택 (2) 큐 (3) 덱 (4) BFS (5) DFS 2. 2주차 필수 문제 풀이 (1) A - 괄호 (백준 9012번) (2) B - 카드2 (백준 2164번) (3) C - 알파벳 블록 (백준 27497번) (4) D - 바닥 장식 (백준 1388번) (5) E - W키가 빠진 성원이 (백준 28471번) 1. 개념 정리 (1) 스택 한쪽 끝에서만 원소를 넣거나 뺄 수 있는 자료구조이다. (FIrst In Last Out) 따라서 특정 위치에서만 원소가 변경될 수 있는 특성상 원소의 추가와 제거의 시간 복잡도가 모두 O(1)이다. 또한 스택에서는 제일 상단이 아닌 나머지 원소들의 확인/변경 기능이 제공되지 않는다. (2) 큐 한쪽 끝에서 원소를 넣고 반대쪽 끝에서 원소를..