Outlet에 어떤 변수명이 매핑되어 있는지를 보고 싶었다. 

변수명을 우클릭해서 Refector로 바꾸면 상관 없는데, 그냥 바꿔버리면 화면 내의 컨텐츠와 코드의 연결이 끊어진다.

초보인 나는 불안해서, 어떻게 연결되어 있는지 확인하는 방법도 궁금했다.

 

방법 1. inspector로 확인하기.

좌측에서 주사위 모양 이미지를 클릭했을 때(이게 outlet),

맨 우측 [show the connections inspector](파란색으로 활성화 된 아이콘)을 누르면 확인된다. 

 

방법 2. outlet위에서 우클릭해서 보기.

 

해결 방법 : 보통은 맥북 화면 잠금 해제시 입력하는 패스워드(애플계정pw) 이다.

그런데 나는 현재 애플 계정 비번이 아니라, 

맥북을 처음 샀을때의 애플 계정 비번으로 되어있더라..

지금까지 설정했었던 애플 계정 비밀번호를 쭉 입력해보면 좋을것같다.

+

도저히 모르겠다면 reset 해서 재설정하는 방법이 있는데, 그동안 모아온 아이디/비번 정보들은 없어진다.

(애당초 [로그인 키체인] 이 사이트에서 [로그인] 할 때 아이디/비번 정보를 저장해줘서 이후 편하게 로그인하는 기능이다. )

인터넷 하다보면 계정정보야 로그인하면서 다시 모이니까 별 상관은 없다. 

 

[RESET 방법]  키체인 접근 > 설정 > 기본 키체인 재설정 


CASE 2. 앞에 '로그인'이 붙지 않고, 그냥 [키체인 암호]를 입력하라고 나올 때

 

-> 도저히 모르겠어서 삭제함. 삭제했더니 잘 됨.

[삭제방법]

Command + spacebar 를 눌러 [키체인접근] 검색 

지금은 삭제해버려서 메뉴가 없다 ㅠ Apple Developer 키체인 메뉴가 따로 있었었는데, 우클릭해서 키체인 삭제를 해주었더니 잘된다. 

스샷에는 시스템 키체인에서 우클릭했는데 참고용일 뿐입니다 저는 삭제해버려서 메뉴가 없어서 참고용으로만 찍은거에요 

 

 

replace로 '/' 슬래쉬 대신 '.' 온점으로 파일명이 등록되도록 함 

 

 

 

 

📌Docker란 무엇인가

 

1차조사

docker란?

  • Linux 컨테이너를 매우 가벼운 모듈식 가상 머신처럼 다룰 수 있게 해주는 컨테이너화 기술이며, 컨테이너의 구축, 배포, 복사, 다른환경으로 이동시키는 기능이 있습니다. 어플을 클라우드에 최적화하도록 지원합니다.
  • 1차조사 Linux컨테이너란?동일한 운영 체제 커널을 공유하고 시스템의 나머지 부분으로부터 애플리케이션 프로세스를 격리합니다. Linux 컨테이너는 운영 체제에서 기본으로 실행되고 모든 컨테이너 전체에서 운영 체제를 공유하므로 애플리케이션과 서비스를 가볍게 유지할 수 있으며 빠른 속도로 동시에 실행할 수 있습니다. 컨테이너를 사용하면 개발자들의 개발 환경이 각각 다른 상황에서 서버 환경을 재 구축하지 않더라도 어플을 작동시킬수 있습니다. 컨테이너 플랫폼(온프레미스,클라우드,하이브리드) 중 어떤것을 선택해도 컨테이너는 사용자의 요구사항을 충족시킬 수 있습니다.
  • Linux 컨테이너 이미지는 이식성과 버전 관리 기능을 제공하여 개발자의 노트북에서 수행하는 작업을 프로덕션에서도 수행할 수 있게 합니다.
  •  

도커 개념 재정리

한줄정리 : 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

  1. 컨테이너란?
  2. 공유하기 쉬운 방식으로 어플리케이션과(ex 어플이 독립형인가 기업형인가) 종속 항목을(ex 언어 / 종속성 / 데이터베이스 / 앱서버) 패키징할 수 있는 표준 구성요소이며 휴대가능. 격리. 경량화. 확장성이라는 장점이 있다. 다른 co-worker는 최소한의 작업으로 어플을 실행할 수 있다.
  3. 이러한 컨테이너를 가능하게 하는 소프트웨어 플랫폼이 Docker 이다.
  4. 내 운영체제에 도커를 설치하고 내 어플과 종속성을 컨테이너화 한다면, co-worker는 docker명령어를 통해 컨테이너를 실행하고 2번의 장점을 통해 잠재적인 프로세스 실수나 수동작업을 생략할 수 있다.
  5. 가상머신과의 차이점
  6. Docker는 게스트 운영체제(Host OS)가 없어서 로드할 필요가 없어 컨테이너 시작시간이 빠르며, 컨테이너를 가상머신보다 더 작고 빠르게 만들며 리소스를 적게 사용한다. '제 컴에서는 되는데요?'를 해결하는 것은 동일하나 솔루션의 방식이 다른 것.
  7. 도커의 이용방법
  8. 운영체제에 도커를 설치하고 도커이미지를 빌드방법 설명서-dockerFile 을 통해 도커이미지를 빌드. 도커 이미지란 컨테이너 생성/실행 템플릿이다. (클래스와 실행객체의 관계와 같다) 도커이미지로 도커 컨테이너를 실행한다.
  • WSL2(Windows Subsystem For Linux) : Windows10 운영체제에서 리눅스 운영체제의 쉘,시스템을 사용할 수 있도록 지원해주는 기능. Hyper-V(하이퍼바이저)에서 가상머신처럼 부팅되며 기존 가상머신처럼 100% 리눅스 커널과 호환. 가상머신처럼 메모리 할당 / 가상 IP부여(wsl2).
  • 쿠버네티스 : 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼으로 구글이 만들어서 현재 수많은 기업에서 사용중

[과제]

Docker를 설치. (2) 설치된 Docker를 이용해서 MySQL DBMS를 설치

이미지 다운은 docker desktop이 편했고

컨테이너 생성은 intelli J 에서 이미지>오른쪽버튼>container 생성이 가장 편했다

docker desktop을 통해 원하는 컨테이너의 terminal을 열면 앞에 #이 붙으면서 바로 컨테이너 이용이 가능했다. 굳이 cmd명령어로 컨테이너에 접근하는 수고가 없어졌다.

컨테이너 생성 후 사용 : https://woonizzooni.tistory.com/entry/Docker-mysql-설치-DB생성-테이블생성-예시

docker start 컨테이너이름

MySQL 컨테이너 쉘 진입 : docker exec -i -t 컨테이너이름  bash

root@컨테이너명:/# mysql -u root -p

Enter password : 비밀번호입력

이후

  • DB 조회 & 생성

mysql> SHOW DATABASES;

mysql> CREATE TABLE DB명 (testonly)

  • DB선택 & 테이블 생성

mysql> USE DB명 (testonly)

mysql> CREATE TABLE 테이블명(컬럼1, 컬럼2, ...

  • 데이터 입력 / 조회 / 삭제 ...

찾아보게 된 이유 

mapper 작성시 resultType과 ParameterType을 모르겠어서.

 

resultType

resultType은 vo객체의 주소값이다

 

 

parameterType

values(#{프로퍼티})  로 파라미터를 표시 

parameterType = "파라미터의 자료형 입력"  

 


config.xml에 typeAliases를 지정하여, Vo에 alias를 지정한다.

그러면 mapper에서 parameterType/resultType을 지정할 때 이 alias를 넣어서 사용 가능

※ ctrl + parameterType눌러서 거슬러 올라가 볼 수 있음

https://atoz-develop.tistory.com/entry/MyBatis-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC-SQL-Mapper-%EC%9E%91%EC%84%B1-%EB%B0%A9%EB%B2%95

 

MyBatis 설정 파일 - SQL Mapper 작성 방법

관련 글 - [JAVA/WEB] 웹 프로젝트에 MyBatis 세팅 및 적용하기 MyBatis 설정 파일 - SQL Mapper 작성 방법 MyBatis 사용 목적 중 하나는 DAO로부터 SQL문을 분리하는 것이다. 분리된 SQL문은 SQL mapper..

atoz-develop.tistory.com

 

Main Method

  • 메소드는 함수라고 말하면 안된다. 메인함수가 아니라 메인메소드.
  • 클래스는 필드와 메소드를 가질 수 있다.
  • 프로그램 시작점이라고도 말한다
  • 자바에서 첫번째 글자가 대문자로 시작하면 그것은 클래스이다.
    예를들어 System.out.println 에서는 System이 클래스, out이 필드, println이 메소드이다.
    System이라는 클래스(객체)가 가지고 있는 필드 out, out이 가지고 있는 println 메소드를 쓴다는 뜻

 

 

 

JVM

https://asfirstalways.tistory.com/158

 

#자바가상머신, JVM(Java Virtual Machine)이란 무엇인가?

#JVM이란? JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다 (가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JV

asfirstalways.tistory.com

 

 

 

LTS 

Oracle 사에서 Java 17부터 LTS(Long Term Support) => 지원기간이 긴 버전을 출시했다. 

https://velog.io/@riwonkim/Java-17%EB%A1%9C-%EC%A0%84%ED%99%98%EC%9D%84-%EA%B3%A0%EB%A0%A4%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

1. Java 17로 전환을 고려해야 하는 이유

Java 17이 2021년 9월 출시됩니다. 이전 버전과 크게 다른 부분은 LTS(Long Term Support)라는 지원기간이 긴 버전이기 때문에 앞으로 이 버전을 사용하는 프로젝트와 서비스가 많아질 가능성이 높습니다.

velog.io

 

 

 

 

기타 

  1. GIT BASH를 쓰면 리눅스 명령어도 사용 가능하다.
    리눅스는 서버와 연관되어 있으므로 개발자라면 되도록 많이 공부해야 한다. 

이유

.idea 나 imi 파일은 설정파일이므로 commit 할 때 올리지 않는다.

설정파일이므로 개발자들마다 취향이 다를진데, 설정파일까지 다 받아져서 overwrite되면 곤란하기 때문이다.

센스있게 제외하고 commit해야 한다.

김성박선생님(토토)의 즐거운 프로그래밍을 수강하다가 알게 되었다.

 

 

방법

정리를 너무 잘 해놓은 블로그 링크 걸기 

https://pinokio0702.tistory.com/132

 

[IntelliJ]깃허브에 소스를 올려보자

안녕하세요.  요즘 개발 공부를 하는데 인텔리제이를 사용하고 있습니다. 인텔리제이는 보기에도 개발자들이 좋아할 만한 UI와 색채? 그리고 개발을 편하게 해주는 자동완성기능, 간편한 Gradle

pinokio0702.tistory.com

 

+ Recent posts