no image
서버와 클라이언트
서버와 클라이언트 서버와 클라이인터는 컴퓨터 네트워크 환경에서 중요한 역할을 하는 두 가지 주요한 역할을 가리키는 용어입니다. 서버 서버는 클라이언트의 단짝으로 컴퓨터 네트워크 또는 인터넷을 통해 서비스를 제공하고 관리하는 컴퓨터 시스템 또는 프로그램을 가리키는 용어입니다. 서버는 클라이언트로부터의 요청에 응답하고 데이터를 저장하거나 처리하며, 서비스를 제공하는 중요한 역할을 합니다. 역할 요청 처리 : 서비스는 클라이언트로부터 요청을 받아들이고, 그 요청을 처리합니다. 이 요청은 파일 다운로드, 웹 페이지 접속, 이메일 전송과 같은 다양한 형태일 수 있습니다. 데이터 저장 : 서버는 데이터를 저장하고 관리합니다. 이 데이터는 웹 사이트의 콘텐츠, 데이터베이스 정보, 파일, 이밎, 동영상 등 다양한 형태..
2023.11.02
no image
Pubilc과 Private
public과 private 그것이 문제로다... public과 private의 선택의 길에서 고를 때 항상 왜 뭘 써야 하지라고 생각하게 되어서 Public과 Private에 대해 알아보게 되었습니다. 접근 제어자 프로그래밍 언어에서 클래스, 메서드, 변수 및 다른 멤버들에 대한 접근 권한을 제어하는 데 사용합니다. 제어자는 코드의 보안, 모듈성 및 유지보수를 향상하는데 도움이 됩니다. public 어떤 클래스나 패키지든 접근이 가능하며, 패키지에서 자유롭게 사용할 수 있습니다. 외부에서 직접 접근할 수 있으므로 주로 라이브러리, API, 인터페이스 등에 사용합니다. 주의해서 사용해야 하며, 인터페이스와 추상 클래스의 메서드 등에 많이 사용합니다. public class Class{ public int..
2023.11.01
no image
Stream(기초)
Stream 데이터 처리 작업을 간결하게 수행하고 병렬 처리를 쉽게 지원하며 성능을 향상하는 역할을 하며 중간 매개자 역활도 가지고 있습니다. stream 사용 stream 에는 중간연산(Intermediate Operation)과 최종연산(Terminal Operation)이 있습니다. 중간연산은 이런저런 작업이 필요 없이 여러 번 사용 가능합니다. 최종연산은 최종적으로 나아지는 결과물을 말하며 한 번만 사용 가능합니다. stream의 종류는 다양하고 자주 사용하는 stream 알아보겠습니다. 정수형 stream int[] scores = {100, 80, 97, 67, 80} Arrays.stream(scores) .filter(x -> x >= 90) .forEach(x -> System.out.p..
2023.10.30
no image
Lambda
람다(Lambda) 함수형 프로그래밍을 지원하고, 코드를 더 간결하게 작성할 수 있도록 도와줍니다. 람다는 익명 함수의 일종으로 메서드를 하나의 식으로 표현하는 방법입니다. 익명 함수 이름이 없는 함수로, 주로 프로그램의 특정 부분에서 일시적으로 사용되고 다른 함수에서 인수로 전달되는 함수입니다. 특징 익명 함수는 이름을 가지지 않고 익명함수는 함수명을 가져야 한다는 제한이 없습니다. 익명 함수를 이용했을 때는 코드를 간결하게 만들 수 있습니다. 람다식 : 간결한 형태의 코드 뭉치 (전달값1, 전달값2, ...) -> {코드} EX1 public void print() { String s = "test"; System.out.println(s); } 람다식으로 바꾸려면 접근제어자인 public 필요가 x..
2023.10.29
no image
Git 기초
Git 저장소 만드는 방법 기존 프로젝트나 디렉터리를 git 저장소로 만드는 방법 다른 서버에 있는 저장소를 Clone 하는 방법 이렇게 두가지 방법이 있습니다. 기존 디렉터리 Git 저장소로 만들기 위해서는 디렉터리를 bash나 cmd로 실행후 git init를 실행합니다. Git 파일 관리하게 하려면 저장소에 파일을 추가하고 커밋해야 합니다. $ git add . // 1. 모든 파일 선택 $ git add // 1. 원하는 파일 선택 $ git commit -m "Update 이유& 바뀐 이유" git clone $ git clone //다른 프로젝트에 참여할 때 사용, Git 저장소를 복사하고 싶을 때 사용 git status 파일 상태 확인할 때는 git status를 사용한다. $ git st..
2023.10.28
GIT
no image
Static 사용?
Static? 정적 변수는 특정 클래스와 연관된 변수를 나타냅니다. 이러한 변수는 클래스 수준에 정의되며 해당 클래스의 모든 객체 인스턴스 간에 공유됩니다. 정적변수 (Static Variables) 특정 클래스와 관련이 있으며 클래스의 모든 인스턴스(객체)에 의해 공유되며 동일한 값 또는 상태를 가집니다. 정적 변수는 객체 지향 프로그래밍 언어에서 자주 사용되며 클래스의 모든 인스턴스가 공유해야 하는 데이터를 저장하는 데 유용합니다. 정적 변수에는 클래스 이름을 사용하여 액세스 할 수 있으며 객체 참조가 아닌 클래스 이름을 이용합니다. class MyClass{ Static int staticVar = 10; 정적 변수 액세스 int value = MyClass.staticVar; 정적 메서드 (Sta..
2023.10.27
no image
Git & Github 협업하기
1. Git branch 만들기 git branch 브랜치 명은 기능과 관련 있는 이름으로! 2. brach 이동하기 git switch & git checkout // 다음 에커(add + commit) git add . git commit -m "내용" (Tip) branch 만들면서 한 번에 이동하는 법 git switch -c feature/login & git checkout -b feature/login 3. 코드 합치기 (git merge) 1. git switch main ( 원본 브랜치로 이동합니다.) & 2. git merge login ( git merge 명렁어를 입력한다. 4. Pull Request는 활용하기 Pull Request는 Merge Request로 불리며 다른 개발자..
2023.10.24
GIT
no image
HashSet, HashMap
HashSet 중복된 원소를 허용하지 않고, 순서를 보장하지 않는 집합을 구현하는 클래스입니다. HashSet 특징 중복된 원소 사용하지 않습니다. 순서를 보장하지 않습니다. 빠른 검색과 삽입이 가능합니다. public class HashSet { public static void main(String[] args) { //세트 - 중복 허용 x // HashSet 사용시 순서도 보장 되지 않고 중복도 허용되지 xx HashSet set = new HashSet(); //데이터 추가 set.add("삼겹살"); set.add("쌈장"); set.add("음료"); set.add("소금"); set.add("후추"); set.add("깻잎"); set.add("삼겹살"); set.add("상추"); set..
2023.10.23
no image
Generics
Generics 프로그래밍 언어에서 여러 데이터 타입에 대해 일반화된 알고리즘, 클래스, 인터페이스를 작성할 수 있도록 해주는 프로그래밍 기법입니다. 제네릭스를 사용하면 코드의 재사용성을 높이고 타입 안전성을 제공하며, 불필요한 형변환을 줄일 수 있습니다. 또한 다양한 타입의 객체를 지원하는 클래스나 인터페이스 또는 메서드를 정의하며 똑같은 동작을 하는 클래스나 메서드를 여러 번 만들 필요 없이 한 번만 정의하고 나서 여러 타입에 대해 지원할 수 있도록 해주는 역할입니다. public class Generics { public static void main(String[] args) { Int[] iArray = {1,2,3,4,5}; // 기본 자료형 ) (int double, float, boolea..
2023.10.22