목록전체 글 (202)
gimmickbutreal
작업하던 창을 닫았음에도 8080포트가 사용중이라고 나오는 경우가 있습니다. 그럴 경우 아래와 같은 명령어를 터미널에 입력하여 찾아봅니다. 저는 맥 유저이므로 터미널을 사용했습니다. lsof -i tcp:8080 아래와 같이 나오는 걸 확인할 수 있습니다. 그리고 아래 명령어로 8080 포트를 끄도록 하겠습니다. kill $(lsof -t -i:8080) 포트가 정상적으로 꺼진 것을 확인할 수 있습니다. 그 후 개발 환경에서 다시 코드를 run 하게 되면 이 문제로만 인해서 작동이 되지 않았을 경우 정상적으로 서버에 접근이 가능합니다.
SQL SQL 관계형 데이터베이스에서 사용하기 위해 설계된 언어입니다. 표준적인 SQL 명령어들이 있으며 이것은 모든 관계형 데이터베이스에 의하여 지원됩니다. SQL 명령어들은 두 가지의 카테고리로 나누어집니다. 1. 데이터 정의 명령어(Data Definitnion Language) 테이블을 생성하거나 변경합니다. 대표 명령어 : CREATE, ALTER, DROP, USE 2. 데이터 조작 명령어(Data Manipulation Language) 데이터를 추출, 추가, 삭제, 수정합니다. 대표 명령어 : SELECT, INSERT, DELETE, UPDATE SQL이 사용되는 분야 관계를 맺고 있는 데이터가 자주 변경되는 프로그램이나 변경될 여지가 없으며 명확한 스키마가 더 중요할 때 사용하면 좋다..
정의 옵저버 패턴은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴을 말합니다. e.g.) 유튜브 채널을 구독 후 알림설정 버튼을 누르면 유튜브 알림이 뜨게 설계한다고 가정할 경우, 주제 객체는 유튜브 채널, 옵저버는 구독자가 된다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용되며 발행/구독 모델로 알려져 있기도 합니다. 구조 이 패턴의 핵심은 옵저버 또는 리스너(Listener)라고 불리는 하나 이상의 객체를 관찰 대상이 되는 객체에 등록시키는 것입니다. 구현 원리 이벤트를 발생시키는 Class B가 있고, 해당 클래스가 발생하는 이벤트를 수신 받고 싶어하는 Cl..
자바 언어에서는 객체를 통하지 않고 사용할 수 있는 멤버를 생성하는 것이 가능합니다. 이런 기능을 가진 멤버를 Static Member 즉, 정적 멤버라고 합니다. 정적 멤버는 클래스당 하나만 생성돼 모든 객체가 공유할 수 있습니다. 쉽게 비유를 한다면, 하나의 클라우드를 스마트폰, PC 등의 다양한 전자기기로 사용할 수 있습니다. 여기서 클라우드를 Static 변수라고 생각하시면 됩니다. 모든 객체(모든 전자기기)가 하나의 변수(클라우드)를 사용하니까요! 정적(Static)에 대해 제대로 이해하기 위해선 그 반대 개념인 인스턴스(instance)를 알아야 합니다. 먼저 클래스의 멤버는 인스턴스 멤버와 정적 멤버로 나누어집니다. 동일한 클래스를 이용하여 많은 객체들이 생성될 때 각각의 객체(인스턴스)들은..
Collection Framework 정의 Java에서 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합이며, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 여기서 말하는 구조화란 구조화 된 프로그래밍을 일컫는 말인데, 선택(if / then / else) 및 반복 ( while/ for), 블록 구조의 구조화된 제어 흐름 구성을 광범위하게 사용하여 컴퓨터 프로그램의 명확성과 품질 및 개발 시간을 개선하는 것을 목표로 하는 프로그래밍 패러다임을 의미합니다. Collection Framework는 3가지 구성 요소인 인터페이스, 구현, 알고리즘으로 이루어져 있습니다. 위 그림에서 , 는 Collection Framewor..
멋쟁이사자처럼 백엔드 스쿨 1기 모집에 합격했다. 6월 15일부터 11월 11일까지 약 5개월 간 백엔드에 대해 공부할 수 있는 기회를 얻었다. 이러한 교육을 무료로 제공해주는 대한민국 정부와 멋쟁이사자처럼에게 감사드린다. 누군가는 해당 교육을 기획하고 제공하기 위해 수십 번의 회의를 하고 야근도 하며 스트레스를 받았을 텐데 그들의 노력에 비해 적은 노력으로 해당 과정에 입과 하게 되었다고 생각한다. 해당 과정은 Python이 아닌 Java 위주의 커리큘럼과 현업에서 주로 사용되는 스택들 위주인 점, 멋쟁이사자처럼이 운영하는 교육 과정이라는 점에서 신뢰를 느꼈고 온라인을 통해 교육이 진행된다는 점도 좋았다. 1차로 자기소개서를 비롯한 간단한 서류 절차가 있고, 2차는 코딩테스트와 영상 과제로 진행되었다...
위치기반 앱을 만들기 위해서는 위치 정보 액세스 권한을 요청해야 합니다. 우선 manifest에 아래의 두 줄의 코드를 입력해줍니다. ACCESS_COARSE_LOCATION 권한은 선언하고 ACCESS_FINE_LOCATION 권한은 선언하지 않으면 높은 정확도의 위치를 수신할 수 없으므로 두 줄 모두 입력해주어야 합니다. // 위치 정보 엑세스 권한 요청 private final ActivityResultLauncher locationPermissionRequest = registerForActivityResult( new ActivityResultContracts.RequestMultiplePermissions(), result -> { Boolean fineLocationGranted = resu..
https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 해당 문제는 JSCODE 3기 내손을자바 팀원들과 함께 풀이를 하였고 각자의 코드를 공유함을 밝힌다. 문제 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단..