전체 글 83

[MariaDB] MariaDB ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)

어느날 재부팅후 mariadb 연결이 끈어진 경우가 자주 있다.여러번 홈브루와 mysql을 밀어내고 gpt보다 검색이 나을때도 있다는 점을 깨달았다.  brew services start mariadb로 서버를 시작하자 다음 에러가 났다.ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2) 또는mariadb bootstrap failed: 5: input/output error try re-running the command as root for richer errors. error: failure while executing; /bin/launchctl bootstrap gui/501 /users/(이..

Spring 2024.09.16

[중앙정보처리학원] JSON*

JSON  :  마치 프로그래밍 언어들의 공용어어와 같음  JSON (JavaScript Object Notation)은 가볍고, 텍스트 기반의 데이터 교환 형식입니다. JSON은 속성-값 쌍 (key-value pairs)으로 구성된 데이터 객체를 표현하며, 주로 웹 애플리케이션에서 서버와 클라이언트 간에 데이터를 주고받을 때 사용됩니다. 원래는 자바스크립트에서 객체를 표현하는 방식이었지만, 현재는 대부분의 프로그래밍 언어에서 사용할 수 있도록 지원되고 있습니다.JSON의 특징은 다음과 같습니다:가볍다: JSON은 텍스트 기반의 형식으로, 복잡한 태그나 메타데이터를 포함하지 않아 전송할 데이터의 크기가 작습니다. 이로 인해 네트워크 대역폭을 절약하고, 더 빠른 데이터 교환을 가능하게 합니다.읽기 쉽다:..

Spring 2024.05.24

[중앙정보처리학원] Spring* 객체지향 설계원칙 SOLID

SOLIDSOLID는 객체 지향 프로그래밍에서 유지보수와 확장성을 높이기 위한 다섯 가지 설계 원칙 이 원칙들은 객체 지향 프로그램을 개발하고 설계할 때 유용함   다섯 가지 SOLID 원칙SRP (Single Responsibility Principle): 단일 책임 원칙한 클래스는 단 하나의 책임을 가져야 함, 클래스가 변경되어야 하는 이유는 단 하나의 이유.OCP (Open-Closed Principle): 개방-폐쇄 원칙기존 코드를 변경하지 않으면서] 기능을 확장할 수 있도록 설계해야 함.LSP (Liskov Substitution Principle): 리스코프 치환 원칙서브 타입은 언제나 기반 타입으로 교체가능ISP (Interface Segregation Principle): 인터페이스 분리 ..

Spring 2024.05.13

[중앙정보처리학원] Spring* basic

스프링 프레임워크는 자바 언어를 위한 프레임워크. 스프링은 도메인 객체를 다루기 위한 프로그래밍 및 테스트(Test)를 위한 가벼운 솔루션을 제공하며, 이를 통해 기업급 애플리케이션 개발에 사용됨스프링은 여러 모듈로 구성되어 있음, 필요한 모듈만 선택해서 사용할 수 있음. 대표적인 모듈로는 스프링 코어(Spring Core), 스프링 MVC(Spring MVC), 스프링 데이터(Spring Data).스프링 프레임워크는 자바에서 가장 널리 사용되는 프레임워크. 다양한 개발 환경과 통합이 가능하다는 장점이 있다. 또한, 대규모 애플리케이션에서도 유지보수가 용이하고, 테스트 코드 작성이 쉽다는 점에서 많은 개발자들이 선호하는 프레임워크이다.   결국 스프링 프레임워크는 강력한 객체지향 프로그램을 만들기 위한..

Spring 2024.05.13

[중앙정보처리학원] Java* 다형성 (Polymorphism)

다형성이란? 다형성이란 "객체가 여러 형태를 가진다" 라는 의미로 해석되며, 하나의 객체가 여러가지 타입으로 사용되는 것을 의미함 다형성은 상속을 전제 조건으로함 다형성을 위해 자바는 자식 클래스가 부모 클래스의 타입을 가질 수 있도록 허용 즉, 부모 타입에 모든 자식 객체가 대입 될 수 있다. 부모 타입 변수에 어떠한 자식 객체든 들어갈 수 있다, 라는 개념이 다형성이다. tips // 다형성을 통해 이종(다른)모음 배열을 구현할 수 있음. // 객체타입에서 다운캐스팅의 전제조건: 반드시 상속관계가 있어야 하며 // 자식객체가 부모타입으로 업캐스팅 된 것만 내릴 수 있음 // 즉 부모객체를 자식타입으로 내릴 수는 없다. // 다형성은 객체의 교혼성을 높여주며 // 객체가 특정 부품객체에 종속되지 않도록..

Java 2024.04.22

[중앙정보처리학원] Java* 사용 제한자 final, 열거형 Enum

final 키워드 final을 해석하면 ‘마지막’ 이라는 뜻이지 않은가. final 키워드는 필드, 메서드, 클래스, 지역변수에 선언이 가능하다. 그렇다면 마지막 필드, 마지막 메서드, 마지막 클래스일까? 약간은 의미가 비슷하다고 할 수도 있겠다. 마지막 필드와 지역변수 → 더 이상 값의 변경은 없다. 마지막 메서드 → 더 이상 재 정의는 없다. 마지막 클래스 → 더 이상의 개념의 확장은 없다. tips public static final int ( psfi 등으로 줄여서가능 ) 자바의 상수 : 무조건 static final 같이 final 걍 상속을 다 막아버리는거임 ' final 필드 public class Person { final String nation; //에러 String name; int ..

Java 2024.04.22

[중앙정보처리학원] Java* 사용 제한자 static

Static이 무엇인가? 정적(static)은 ‘고정된’ 이란 의미를 가지고 있습니다. static이라는 키워드는 필드와 메서드에 붙일 수 있는데, 다른 말로 정적 필드와 정적 메서드 라고도 하며 이 둘을 합쳐 정적 멤버라고 합니다. (클래스 멤버라고도 한다.) tips static 그니까 똑같은 값인데 궂이 여러개 만들 일 없는거 // 정적 메서드(static) : 모든 객체가 공유하며 객체 생성없이 접근 가능 // static 은 this 가 있을 수 없음. // static 데이터는 객체 생성 없이 접근 가능, new 안해도 사용가능 static 필드 public class MyClass { public int a; //인스턴스 필드 public static int b; //정적 필드 } 클래스에 ..

Java 2024.04.22

[중앙정보처리학원] Java* 객체지향 캡슐화(encapsulation)

캡슐화(encapsulation) 이란? 캡슐화란 객체의 상태와 동작을 하나의 단위로 묶어서 구현하는 것을 의미한다. 다시 말하자면, 하나의 목적을 이루기 위해 관련 있는 모든 것들을 하나의 캡슐에 담아 두는 것을 의미한다. 어떻게 보자면 위에서 소개한 setter 메서드 같은 경우에도 캡슐화의 일환으로 볼 수 있다. 객체의 상태를 뜻하는 필드를, 동작을 뜻하는 메서드와 하나의 단위로 묶어서 관리하는 것이기 때문인데, 또 다른 예시를 소개해 보겠다. // 시동 거는 기능 public void engineStart() { System.out.println("시동 버튼을 눌렀습니다."); System.out.println("시동이 걸렸습니다."); } // 엔진에 연료가 주입되는 기능 private void..

Java 2024.04.22

[중앙정보처리학원] Java* 객체지향 접근 제한자 (Access Modifier)

접근 제한자 접근 제한자(access modifier)는 클래스, 필드, 메서드, 생성자에 대한 접근 권한을 제한하는 키워드이다. 자바에서는 다음과 같은 네 가지의 접근 제한자가 있다. public, : 모두 접근가능 protected, : 같은 패키지 내 가능, default보다 주로 사용됨 default, : void 앞에 아무것도 붙지않으면 void private : 같은 클래스 내에서만 접근이 가능하다. 같은 클래스 내의 경우의 코드 package day07.modi.pac1; public class A { // 필드 public int f1; int f2; // default 제한 private int f3; // 메서드 public void m1() {} void m2() {} // defau..

Java 2024.04.22