2024/06 29

시간은 힘이 세다.

기본적으로 나는 시간이 존재하지 않는다고 생각하는 사람이다. 이게 무슨 소리인가 싶겠지만, 차원 개념으로 생각해보면 그렇다. 4차원의 세계에서 사는 3차원적인 존재가 바로 우리 인간이다. 5차원의 공간이 실제로 존재하고 거기에 4차원적인 존재가 살아 숨쉰다면 우리가 통상적으로 생각하는 우리의 '미래'라는 것 까지 훤히 보일 것이다. 차원이라는 개념 자체가 그런 것이니까.  이해하기가 어렵다면 유튜브에 차원의 개념을 알아보면 상세하게 설명하는 영상은 많다.  고로 나는 시간이란 존재하지 않는다고 생각한다. 미래도 이미 정해져 있다. 그게 차원적인 개념으로 우리의 세계를 해석할 때 나오는 결론이고 나는 이걸 꽤 신뢰하는 편이다. 하지만 이것 또한 어떠한 "설"일 뿐이다. 진실은 아무도 알지 못하고 진리 또한..

My philosophy 2024.06.21

국비 지원 IT(웹앱개발) 취업반 강의 12일차

오늘은 개인적인 사정으로 인해서 출석을 하지 못했다. 9시에 레슨을 끝내고 밖에서 강사님이 올려주신 글과 영상을 보며 뭘 배웠는지 기록하려고 한다. 문제 풀이도 혼자서 진행하고 올리도록 해보겠다.문제 풀이 부터 시작했던 것 같다.인력사무소 문제class Main { public static void main(String[] args) { 사람인력관리소 a사람인력관리소 = new 사람인력관리소(); a사람인력관리소.add사람("홍길순", 33); // 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다. a사람인력관리소.add사람("홍길동", 20); // 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다. a사람인력관리..

Coding History 2024.06.21

국비 지원 IT(웹앱개발) 취업반 강의 11일차

ArrayList특징연속적인 데이터의 리스트 (데이터는 연속적으로 리스트에 들어있어야 하며 중간에 빈공간이 있으면 안된다)ArrayList 클래스는 내부적으로 Object[] 배열을 이용하여 요소를 저장배열을 이용하기 때문에 인덱스를 이용해 요소에 빠르게 접근할 수 있다.크기가 고정되어있는 배열과 달리 데이터 적재량에 따라 가변적으로 공간을 늘리거나 줄인다.그러나 배열 공간이 꽉 찰때 마다 배열을 copy하는 방식으로 늘리므로 이 과정에서 지연이 발생하게 된다.데이터를 리스트 중간에 삽입/삭제 할 경우, 중간에 빈 공간이 생기지 않도록 요소들의 위치를 앞뒤로 자동으로 이동시키기 때문에 삽입/삭제 동작은 느리다. 따라서 조회를 많이 하는 경우에 사용하는 것이 좋다import java.util.ArrayLi..

Coding History 2024.06.20

국비 지원 IT(웹앱개발) 취업반 강의 10일차

먼저 숙제 문제 풀이를 진행하면서 abstract에 대해서 배웠다. abstract는 부모 클래스의 메서드에 어떤 기능을 작성할 수 없게끔 강제하는 코드이다. 강사님은 부모 클래스에서 어떤 기능을 작성한다는 것은 의미가 없는 행동이라고 하셨는데 대게 자식 클래스에서 오버라이딩하기 때문에 그런 것 같다. abstract를 사용한 코드 예제를 보자.class 땡땡 { abstract void 땡땡 (); //abstract 사용.}interface 땡땡 { void 땡땡 (); // abstract는 생략됨}class 땅땅 implements 땡땡 { //interface에게 상속받으려면 extends가 아니고 implements로 상속함. //implements는 다중상속이 가능하다.(어차..

Coding History 2024.06.19

국비 지원 IT(웹앱개발) 취업반 강의 9일차

오늘은 상속에 대해서 배웠다. 상속에 대한 추상과 구상, 그리고 abstract와 함께.상속(extends)(자식)클래스를 품을 수 있는 추상적인(덜 구체적) (부모)클래스예제코드// 문제 : 아래와 같이 출력되도록 해주세요. // 조건 : `숨쉬다` 기능을 중복하지 말아주세요.``class Main { public static void main(String\[\] args) { 사람 a사람 = new 사람(); a사람.숨쉬다(); } } class 동물 { void 숨쉬다() { System.out.println("숨쉬다."); } } class 사람 extends 동물{ //동물 클래스 상속}예제 코드를 보면 ..

Coding History 2024.06.18

2024. 06. 17 문제 풀이

일단 바로 문제부터 보자.// 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.// n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.class Solution { public long solution(long n) { for (long i = 1; i 풀고 있던거 그대로 복사해서 위의 코드는 당연히 정답이 아니고 자바 루트 코드를 활용해 보려고 했는데 타입 미스매치가 나서 못하고 있다.class Solution { public long solution(long n) { long m = (long)Math.sqrt(n); //이렇게 하면 바로 lon..

Coding History 2024.06.18

국비 지원 IT(웹앱개발) 취업반 강의 8일차

오랜만의 수업이라 아침에 깨어나기 힘들었다. 여행 때문에 블로그 작성, 공부를 하지 못한 3일동안을 빼면 그래도 꾸준히 했던 탓에 적응은 되게 빨리 되는 것 같다. 수업의 시작은 여태껏 블로그 작성이나 깃 허브를 잘 업로드하고 있었는지 강사님의 확인부터 시작했다. 나는 여행 간 3일은 빼면 꾸준히 문제풀이와 유튜브 시청한 내용을 정리해서 올렸기 때문에 무난히 통과 했다(3일은 왜 안올렸냐고 물으셔서 여행다녀왔다고 말씀드렸다..) 난 항상 맨 앞자리에 앉기 때문에 뒤의 동료들의 상황은 잘 모르지만 강사님이 나오셔서 왜 이렇게 많이들 안했냐고 하셨다. 난 다들 나보다 훨씬 더 빡세게 할거라고 생각했었는데 그게 아니여서 의아하기도 했고 열심히 했다고 하기도 힘든 수준이지만 그래도 조금 뿌듯하기도 했다. 서론이..

Coding History 2024.06.17

2024. 06. 13 IP주소를 알아봅시다! (Feat. 공인/사설/고정/유동IP, 포트포워딩, DMZ, DDNS)

IP 주소는 '컴퓨터가 연결된 네트워크 끝단의 주소'를 가리킨다. 이는 '컴퓨터 자체의 식별번호'가 아니고, 각 컴퓨터가 '인터넷'에 연결된 위치를 식별하는 용도로 사용된다. IP 주소는 이동식 장치인 IT트레일러가 주소를 가지는 것과 같다. 컴퓨터를 집안에서 바깥으로 이동시켜도 IP 주소가 변경되지 않는다. 이는 마치 '도로명주소'처럼 고정된 위치를 가리킨다. 즉, IP 주소는 컴퓨터가 네트워크에 접속하여 통신하는 데 필수적인 역할을 한다.IP주소가 나올 수 있는 경우의 수를 더 늘리기위해서 공인 IP에 겹치지 않는 사설 IP를 부여한다. 한국의 도로명 주소로 예를 들면 서울시 땡땡구 땡땡로가 공인 IP이고 000동 000호가 사설 IP인 셈이다.사설 IP를 사용하는 컴퓨터는 해당 IP로는 서버에 접근..

Coding History 2024.06.13

2024.06.12 DNS가 뭔가요? + 도메인, A Record, CName

DNS는 'Domain Name System'의 약자이다.'www.naver.com'을 예로 들면, 'www'는 호스트 네임, 'naver.com'이 도메인이다.컴퓨터가 웹사이트에 접속하려고 할 때, 컴퓨터에 있는 브라우저가 해당 사이트를 제공하는 서버에 요청을 해서 데이터를 받아와야한다. 그게 가능하려면 해당 서버의 IP주소를 알아야하는데, 사이트마다 이걸 다 외울 수가 없으니까 마치 전화번호부같이 외우기 쉬운 주소를 만들어 사이트에 접속한다. 이런 정보들이 저장되는 곳이 바로 DNS.DNS서버는 IP주소를 저장하고 조회하는데, 다층적인 구조의 도메인 정보로 설명된다.로컬 DNS서버는 주소 정보를 가지고 있으면 바로 제공하지만, 만약 없다면 루트 DNS서버에 요청하여 접속하려는 IP주소를 알아낸다.루트..

Coding History 2024.06.12

2024. 06. 11 문제풀이

저번 글 업로드가 안되어있었다는 걸 좀전에 봤다. 암튼! 오늘의 첫 문제다.//최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때,// 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다또 다시 배열 문제인데 이번에야말로 값을 하나하나 다 열어봐야하는 문제이지 않을까 생각한다. 최빈값을 구하려면 어떻게 해야될까? 또 array에 그런걸 구해주는 기능이 있을까?아무래도 그런건 없는 것 같다 문제풀이밖에 없는 걸 보니까 내가 직접 구해야한다.일단 저번 문제 풀이에 사용했던 정렬을 쓰고 생각해봐야겠다.class Solution { public int solution(int[] array) ..

Coding History 2024.06.11