API란 간단하게 이해하면 “내가 만든 프로그램이 개인 개발자, 기업, 기관이 제공하는 기능, 프로그램 등을 활용할 수 있게끔 도와주는 중간 매개체” 즉 우리가 코딩할때 이미 있는 기능을 ex)int class 의 개념들 등등 사용하는 것처럼 특정한 곳에서 만든 프로그램을 내 프로그램에서 활용할 수 있게 하는 기능 이라고 이해하면 될것같다. API는 그 용도와 기능에 따라 무료로 이용한 가능한 API도 있고, 아니면 일정 페이를 지불해야 사용 할 수 있는 API도 있다. API사용법 같은 경우는 내가 사용하고 싶은 API가 있는 곳을 살펴보면, 잘 나와있다. API마다 사용법과 전용 메소드들이 다를 수 있으니 여기서 간단하게 마치겠다.
웹을 제작하는 과정에서 정규식은 매우 유용하게 쓰인다. 길이를 포함해 양식을 지키도록 강제할 수 있고,특정 문자열같은 경우 필터링도 가능하게 할 수 있다. 대표적인 코드로 회원가입 사이트를 만들면서 영어와 숫자만 사용해서 아이디를 입력하도록 설정하는 기능인데. 일반적으로 이런 구조를 띄우고 있다. 일단 / /를 양옆에 씌워 (우리가 문자열을 만들때 " " or ' ' 를 사용하는 것 처럼)정규식의 기본틀을 만들어주고 ^표시를 통해 정규식의 시작을 알린다. $는 마찬가지로 정규식의 끝을 뜻함 즉 /^a$/와 같은 정규식이 있다면 문자열이 a로 시작하거나 a로 끝나는 문자열이라는 뜻이다. ex) 'a'pple,'a'ndroid or bet'a' coc'a' 그리고 {int,int} 같은 경우에는 문자열의 길..
interface를 짧게 정의하면 기능을 오버라이딩을 통해 편리하게 사용 할 수 있는 기능이다. 상속관계만 이용한다면 클래스를 추가할때마다 일일히 기능을 추가해줘서 불편함이 클텐데 interface를 이용하면 오버라이딩을 통해 메소드를 줄일 수 있다. 다음은 인터페이스의 활용을 그림으로 나타낸것인데. 일반적으로 오버라이딩은 상위클래스와 하위클래스만 가능하다. 그렇기에 불편을감수하더라도 오버라이딩을 하기위해 상속을 사용하는 것인데, 인터페이스를 활용하면 다음과 같이 인터페이스를 implements 함수를 사용해 클래스들이 interface를 포함하게 되면, 강제적으로 인터페이스 안에 있는 메소드를 사용해야한다. 이클립스에서는 오버라이드를 안해주면 오류가나니, 이 기능이 필요해서 인터페이스를 포함시키면 강제..
상속클래스는 다음과 같이 상속받은 자식을 또 상속할 수 있다. 상속관계가 내려오면서 조금더 세분화 된다고 생각하면 될것같다.(동물)>(개)>(내가 키우는 개) 이런식으로 세분화 시켜서 조금더 구체적인 기능을 넣을 수 있다. 또 다른 특징으로는 자식객체는 두개의 부모를 가질 수 없다. 이는 개념적으로도 부모가 둘 일수는 없기 때문에 이런 관계는 성립되지 않는다즉. 자식클래스는 복수의 부모클래스를 가질 수 없다. 라고 이해하면된다. *클래스 내부는 볼 필요 없습니다(복붙해서)하지만 다음과 같이 한 부모는 여러개의 자식 클래스를 가질 수 있다. 이 또한 개념적으로 한 부모가 여러 자식들을 가질 수 있기때문이라고 이해하면 될것같다. 즉 상속의 특징을 간단하게 요약하면 1.자식클래스는 여러개의 부모클래스를 상속받..
자바에서 is-a 관계를 가지고 있는 클래스들을 상속관계라고 말한다. 다음 과 같은 구조를 가진 클래스를 만든다고 할때 Animal 클래스에서 문자열 name과 setName메소드가 선언이 되었는데, 밑에 Dog클래스는 문자열과 메소드를 선언하지 않았음에도 사용이 가능하다. 빨간색 박스를 보면 알겠지만 Dog타입의 새로운 Dog생성자를 만들었을뿐 Animal 클래스의 생성자를 만든게 아니다. 그럼에도 setName과 name을 여전히 사용할 수 있다. 이렇듯 상속관계는 이미선언되어있는 메소드를 굳이 다시 선언할필요없이 자식이 자유롭게 사용할 수 있는 구조이다. 이렇듯 편리한 기능이지만 상관관계를 생각해서 만들지 않으면 의미가 없다, 부모객체는 자식객체의 특성을 가지고 있지만 조금 더 넓은 개념(ex) 동..
HTML에서 경로는 크게 두 가지가 있다. 절대경로 와 상대경로 절대경로는 말그대로 변하지 않는 절대적인 경로이다. 내가 html에서 절대경로를 정해두면 다른 사람이 사용할때도 절대경로를 통해서 접속되기 때문에 따로 작업을 하지 않아도 바로 사용이 가능하다. html을 사용하면서 가장 사용이 빈번한 경로는 http:// 로 시작하는 주소값일텐데 이 경로는 절대적이기 때문에 어느누가 html 파일을 받아서 사용해도 무리없이 사용할 수 있다. 또는 c드라이브 혹은 d드라이브에서 부터 시작된든 경로값은 자기자신한테는 절대적인 경로이긴하다. 자신의 컴퓨터내에서는 어떤 작업도 필요없이 html파일을 옮기든 말든 사용할 수 있다. 상대경로는 이와는 반대로 내 html폴더가 있는 곳을 기준으로 정하게 된다. 만약 내..
다른 사람의 코드를 살펴보다보면 Try 와 Catch 문을 사용한 부분을 볼 수 있다. Try와 Catch를 사용 하는 이유는 예외처리를 할 경우 사용한다. 코드를 짤 경우 특히 값을 입력받는 경우에 nextInt()를 준다면 정수값만 입력 할 수 있기 때문에 정수타입외에는 입력할 수 없다. 만약 다른 타입을 입력한다면 오류가 발생하고 프로그램이 멈추는 경우를 자주 볼텐데 Try Catch문은 이런 경우를 방지하기 위해서 사용한다. Try Catch문은 예외적인 경우는 오류를 대신해서 다른행동을 취하게 하는데 한 가지 주의해야 할점은 예외적인 경우가 아닌 단순한 오류라면, Try Catch 문을 사용하지는 말자 코드를 아예 안짠다는것과 마찬가지니... 일반적인 사용방법은 아래의 코드를 참조하면 될것같다...
심층적으로 Innerclass의 구조에는 local과 annoymous가 있다 local같은 경우는 클래스 안의 메소드에 클래스를 생성하는 경우인데 다음과 같은 구조를 가지고 있다. public class A{ public void disp(){ class B{ public void dispOut(){ System.out.println(a); System.out.println(b); System.out.println(c); } B out=new B(); out.dispOut(); }//메소드 안에서만 실행되는 클래스이기때문에 원하는 값을 미리 생성자를 통해 출력해서 disp()로 옮겨줬다... } 이런식으로 메소드 안에 클래스를 만드는 구조를 local inner class라고 한다. 메소드안에 loca..
inner class 란 클래스 안에 또 다른 클래스가 있는 형태를 말한다. is a 상속관계를 생각해보면 또 다른 클래스를 참조하는 형태이지만 inner class는 말그대로 클래스안에 존재한다 이런 식으로 클래스 안에 또 다른 클래스가 존재하는 형태이다 그리고 접근지정자를 private로 두면 일반 상속관계에서는 참조할수없지만 inner class를 통하면 접근지정자에 관계없이 사용이 가능하다. 구조는 아래와 같다. public class out{ private int a;//private를 붙여서 일반적으로는 클래스간 참조가 안된다. private int b;// "" public out(){ a=10; b=20; }//생성자를 통해 a와 b값을 초기화 class inner{ public void ..
- Total
- Today
- Yesterday
- 운동
- zipkin
- Spring + ELK
- MSA
- Logstash to ElasticSearch
- LoadBalancer
- MariaDB
- 빅-오
- 루틴기록
- git
- consumer
- 미래의나에게동기부여
- ACTUATOR
- UserService
- kafka
- elasticSearch
- Kafka Connect
- Gateway
- docker
- prometheus
- 오늘저녁 삼겹살
- Logstash 활용
- JWT
- config
- 운동일기
- Feign
- rabbitmq
- github
- producer
- springcloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |