전체 글 134

[프로그래머스] MySQL Lv.1 (정답률 85% 이하)

조건에 부합하는 중고거래 댓글 조회하기 SELECT board.title, board.board_id, reply.reply_id, reply.writer_id, reply.contents, date_format(reply.created_date, '%Y-%m-%d') as created_date from used_goods_board as board inner join used_goods_reply as reply on board.board_id = reply.board_id where board.created_date like '2022-10%' order by reply.created_date, board.title 자동차 대여 기록에서 장기/단기 대여 구분하기 select history_id, c..

[HTML / CSS] 회원가입 폼 만들기

회원가입 폼을 html/css로 구현하는 과제를 진행하며 추가로 공부한 부분들을 정리해두겠다 CSS 단축 속성 table{ "border: 1px solid lightgray;" } table{ "border-width: 1px; border-style: solid; border-color: lightgray;" } width, style, color를 묶어서 나타낼 수 있는데, 이때 style 속성은 필수로 넣어야 하며, 생략할 경우 적용되지 않는다 참고: https://www.w3schools.com/css/css_border_shorthand.asp table border 한 줄만 나오게 하기 border-collapse 속성을 활용하면 표와 셀 사이의 간격을 조정할 수 있다(기본값: separat..

[Error Code] 1822. Failed to add the foreign key constraint

foreign key의 제약 조건을 만족하지 않았을 때 발생하는 에러 외래키로 지정한 경우, 참조되는 키가 primary 키이거나 unique 제약조건을 가지고 있어야만 한다 나의 경우, create table 상영관( 극장번호 integer not null, 상영관번호 integer check(상영관번호 between 1 and 10), 영화제목 varchar(20), 가격 integer check(가격 < 20000), 좌석수 integer, primary key (극장번호, 상영관번호), foreign key (극장번호) references 극장(극장번호) ); create table 예약( 극장번호 integer, 상영관번호 integer, 고객번호 integer, 좌석번호 integer uniq..

html/css 기본 문법 정리

tip. VSCode에서 shift + alt + f 단축키를 사용하면 자동정렬이 된다 HTML , , …, : 제목 태그 : 선 : 엔터 : 한 칸 띄어쓰기 : bold 태그 : italic 태그(기울이기) : paragraph 태그(단락) : 하이퍼링크 태그 href="링크" target="링크 여는 방법" > _self: 현재 페이지(기본값) > _blank: 새 탭: 이미지 태그 list : ordered list 태그(순서가 지정된 리스트) 으로 1, A, a, i, I 등 타입 지정 가능 : unordered list 태그(순서가 지정되지 않은 리스트) 으로 none, circle, square 등 타입 지정 가능 list item 태그: list 태그 내에 사용 table table 태그 b..

[Android/Kotlin] 액티비티 이동, 데이터 전달

게시글 작성 화면으로 넘어가기(View 클릭) 게시글 작성 액티비티(BoardWriteActivity.kt)를 새롭게 하나 만들어준다 class BoardFragment : Fragment(), View.OnClickListener 우선 클래스에 onClickListener를 추가한 뒤, binding.btnWrite.setOnClickListener(this) onViewCreated에서 onClickListener를 만들어준다 override fun onClick(v: View) { when (v.id) { R.id.btn_write -> { val intent = Intent(requireContext(), BoardWriteActivity::class.java) startActivity(inten..

[Android/Kotlin] 리사이클러뷰(Fragment) 구현

안드로이드 뷰 바인딩 buildFeatures { viewBinding true } gradle 파일에 위와 같이 작성 val binding = FragmentBoardBinding.inflate(inflater, container, false) onCreateView에 binding 변수를 만들어 준다 lateinit var binding: FragmentBoardBinding 혹은 class 위치에 전역 변수로 선언 * 보통 변수는 선언과 동시에 초기화를 해 줘야 하지만, lateinit를 사용할 경우 나중에 초기화가 가능(성능향상에 도움) 뷰 바인딩을 통해 findViewById 대신 binding.로 객체를 쉽게 찾을 수 있다 코드의 길이가 줄어드는 편리한 점도 있지만, 바인딩 된 뷰에서만 객체를..

[카카오맵 API/Kotlin] 앱에 지도 화면 띄우기

우선은 공식 사이트에 방법이 설명되어 있긴 한데 그대로 따라해도 잘 안 되는 관계로 글 작성 https://apis.map.kakao.com/android/guide/ 1. 카카오 개발자 사이트 https://developers.kakao.com/ 접속 후 개발자 등록하고, 내 애플리케이션 > 애플리케이션 추가하기 해서 등록할 앱을 만들어 준다 사진 안 넣어도 되고 사업자명도 개인일 경우 그냥 아무렇게나 저장해도 무방 2. 만들어진 애플리케이션 화면으로 들어가서 플랫폼 > Android 플랫폼 등록 누른 후 패키지명(MainActivity 파일 맨 위에 package com.example.appname 이런 식으로 나와 있는 거) 입력해 주고, 마켓 URL은 그냥 없음 처리 한다 그리고 키 해시 값이 필..

[Git] 이미 push 된 커밋 메세지 수정하기

이미 push 된 커밋의 메세지 수정하기 1. $ git rebase HEAD~2 -i HEAD~2 : 가장 최근 2개의 커밋을 불러온다 -i : 커밋 히스토리 변경/삭제 및 커밋의 순서를 변경할 때 사용 2. pick 가 뜨는 창이 나오면 i 키를 눌러 편집 모드로 들어가서, 메시지를 변경할 커밋의 맨 앞 pick을 reword로 변경해 준다 그 다음 esc를 눌러 편집 모드를 빠져나오고, : 키를 누르고 wq(저장 후 종료)를 입력해 준다 (!를 붙이면 강제 실행) 3. 그리고 다음과 같이 창이 뜨면, i를 눌러 편집 모드로 변경해 준 다음 맨 윗 줄에 있는 메시지를 수정해 주면 된다 You are ~ 부분을 확인하여 현재 커밋이 어떤 것인지 확인 가능하다 수정이 끝나면 esc를 눌러 편집 모드를 빠..

Programing/Git 2023.07.27

[Udemy] 퀴즈 앱(Android 및 Kotlin 개발 완전 정복)

Tip. 변수/클래스 명 한번에 바꾸기(in AndroidStudio)' Tip. Installation did not succeed. The application could not be installed. 다음과 같은 경고가 뜨면 Device Manager > Wipe Data를 통해 초기화 시켜주기... 화면을 항상 세로 방향으로 유지하기 AndroidManidest.xml 파일에서 activity 블록에 android:screenOrientation="portrait"을 추가 * portrait: 세로모드, landscape: 가로모드 * portrait을 사용하면 경고가 뜨나, 일단 강의에서는 무시하고 진행하도록 함 따로 준비한 배경화면 리소스를 사용하기 준비한 파일을 res > drawable ..