반응형

2. 기본 문법

변수와 데이터 타입

  • 변수: 프로그래밍에서 값을 저장하기 위해 사용되는 저장공간의 이름입니다. 예를 들어, x = 10는 x라는 변수에 10이라는 값을 할당하는 것입니다.
  • 데이터 타입: 변수에 저장될 수 있는 값의 종류입니다. 파이썬에서 주로 사용되는 데이터 타입에는 정수(int), 실수(float), 문자열(str), 리스트(list), 튜플(tuple), 딕셔너리(dict) 등이 있습니다.
x = 10  # 정수
y = 20.5  # 실수
name = "John"  # 문자열
fruits = ["apple", "banana", "cherry"]  # 리스트
coordinates = (4, 5)  # 튜플
person = {"name": "John", "age": 30}  # 딕셔너리

기본 연산자

  • 산술 연산자: +, -, *, / 등을 사용하여 수학적 계산을 수행합니다.
  • 비교 연산자: ==, !=, >, < 등을 사용하여 두 값을 비교합니다.
  • 논리 연산자: and, or, not을 사용하여 논리 연산을 수행합니다.
a = 10
b = 20
print(a + b)  # 30
print(a * b)  # 200
print(a == b)  # False
print(a < b)  # True

문자열과 출력 포맷팅

  • 문자열: 텍스트 데이터를 나타내며, 작은따옴표(' ')나 큰따옴표(" ")로 묶어서 표현합니다.
  • 출력 포맷팅: 문자열 내에 변수의 값을 포함시키거나, 특정 형식으로 출력하고 싶을 때 사용합니다.
name = "John"
age = 30
print("My name is " + name + " and I am " + str(age) + " years old.")
print("My name is {} and I am {} years old.".format(name, age))
print(f"My name is {name} and I am {age} years old.")

사용자 입력 받기

  • input() 함수를 사용하여 사용자로부터 입력을 받을 수 있습니다. 입력받은 값은 기본적으로 문자열로 처리됩니다.
name = input("Enter your name: ")
print(f"Hello, {name}!")

주석과 들여쓰기

  • 주석: 코드에 설명을 추가하기 위해 사용되며, 파이썬 인터프리터에 의해 무시됩니다. # 기호로 시작합니다.
  • 들여쓰기: 파이썬에서는 코드의 구조를 나타내기 위해 들여쓰기를 사용합니다. 들여쓰기는 공백 문자나 탭을 사용할 수 있으며, 일관성을 유지하는 것이 중요합니다.
# 이것은 주석입니다.
x = 10
if x > 0:
    print("x is positive")  # x가 양수일 때 실행됩니다.
else:
    print("x is non-positive")  # x가 0이거나 음수일 때 실행됩니다.

이러한 기본 문법들을 이해하고 숙지하는 것이 파이썬 프로그래밍의 첫걸음입니다.

반응형

'파이썬(Phython)' 카테고리의 다른 글

pyhton 8. 객체지향 프로그래밍  (1) 2023.11.20
python 7. 파일 입출력  (0) 2023.11.15
Python 6. 에러와 예외 처리  (0) 2023.11.14
python 5. 함수와 모듈  (0) 2023.11.07
python 4. 자료형과 자료구조  (0) 2023.11.06
파이썬 python 3. 조건문과 반복문  (0) 2023.11.02
1. 파이썬 소개  (0) 2023.10.31
파이썬(Python) 기초 강의  (0) 2023.10.31
반응형

1. 파이썬 소개

파이썬이란?

파이썬은 고급 프로그래밍 언어 중 하나로, 가독성과 명료함을 강조하여 디자인된 언어입니다. Guido van Rossum에 의해 1980년대 말에 개발되었고, 1991년에 처음으로 발표되었습니다. 파이썬의 문법은 클린하고 이해하기 쉬우며, 다양한 플랫폼에서 실행될 수 있습니다. 파이썬은 스크립트 언어이기도 하여, 쉽게 작성하고 테스트할 수 있습니다.

파이썬의 특징

  • 가독성: 파이썬의 문법은 매우 명확하고 간결합니다. 이는 코드를 더 쉽게 읽고 이해할 수 있게 도와줍니다.
  • 풍부한 라이브러리: 파이썬은 표준 라이브러리가 매우 방대하며, 웹 개발부터 데이터 분석, 머신 러닝에 이르기까지 다양한 분야에서 사용됩니다.
  • 확장성: 파이썬은 C나 C++로 작성된 코드를 통합할 수 있으며, 이를 통해 성능을 향상시킬 수 있습니다.
  • 높은 생산성: 파이썬의 간결하고 효율적인 문법은 개발자가 더 적은 시간과 코드로 더 많은 작업을 할 수 있게 해줍니다.
  • 다양한 용도: 파이썬은 웹 개발, 자동화, 데이터 분석, 머신 러닝 등 다양한 목적으로 사용됩니다.
  • 동적 타이핑: 파이썬은 변수의 데이터 타입을 실행 시간에 결정하는 동적 타입 언어입니다.

파이썬 설치 및 환경 설정

파이썬을 사용하기 위해서는 파이썬 인터프리터를 설치해야 합니다. 공식 파이썬 웹사이트에서는 다양한 운영 체제용 파이썬 인터프리터를 제공합니다. 설치 프로그램을 다운로드하고 실행한 뒤, 설치 안내에 따라 파이썬을 설치할 수 있습니다.

환경 변수에 파이썬의 설치 경로를 추가하면, 명령 프롬프트나 터미널에서 python 명령어를 통해 파이썬을 실행할 수 있습니다. 추가로, 코드 에디터나 IDE(Integrated Development Environment)를 설치하여 보다 편리하게 파이썬 코드를 작성하고 실행할 수 있습니다. 대표적인 파이썬 IDE로는 PyCharm이 있으며, Visual Studio Code도 많이 사용됩니다.

첫 번째 파이썬 프로그램: Hello, World!

파이썬을 설치한 후에는 전통적으로 "Hello, World!" 프로그램을 작성하여 설치가 제대로 되었는지 확인합니다. 파이썬 인터프리터를 실행하고 다음과 같이 코드를 입력합니다:

print("Hello, World!")

이 코드는 화면에 "Hello, World!"라는 문자열을 출력합니다. 이것은 파이썬이 정상적으로 설치되었고, 기본적인 코드를 실행할 준비가 되었음을 의미합니다.

반응형
반응형

파이썬 기초 강의를 위한 목록을 아래와 같이 제공할 수 있습니다. 이 목록은 파이썬의 기본적인 개념과 사용법을 다루며, 프로그래밍 경험이 거의 없는 초보자도 이해할 수 있도록 설계되었습니다.

1. 파이썬 소개

  • 파이썬이란?
  • 파이썬의 특징
  • 파이썬 설치 및 환경 설정
  • 첫 번째 파이썬 프로그램: Hello, World!

2. 기본 문법

  • 변수와 데이터 타입
  • 기본 연산자
  • 문자열과 출력 포맷팅
  • 사용자 입력 받기
  • 주석과 들여쓰기

3. 조건문과 반복문

  • if 문
  • for 문
  • while 문
  • break와 continue

4. 자료형과 자료구조

  • 리스트
  • 튜플
  • 딕셔너리
  • 집합
  • 문자열 처리

5. 함수와 모듈

  • 함수 정의와 호출
  • 인자와 반환 값
  • 모듈과 패키지
  • 람다 함수

6. 에러와 예외 처리

  • 에러 종류
  • 예외 처리
  • try, except 구문
  • finally와 assert

7. 파일 입출력

  • 파일 읽기
  • 파일 쓰기
  • with 구문
  • 경로와 디렉토리

8. 객체지향 프로그래밍

  • 클래스와 객체
  • 상속
  • 다형성
  • 캡슐화

9. 기타 유용한 팁

  • 리스트 컴프리헨션
  • 제너레이터
  • 데코레이터
  • 컨텍스트 매니저

10. 마무리와 다음 단계

  • 강의 요약
  • 추가 학습 자료
  • 파이썬 커뮤니티와 리소스

이 강의 목록을 통해 파이썬의 기초를 탄탄히 다질 수 있으며, 프로그래밍에 대한 이해를 높일 수 있습니다. 파이썬은 다양한 분야에서 사용되고 있으므로, 기초를 확실하게 다진 후에는 자신의 관심 분야에 따라 추가 학습을 진행하면 좋습니다.

반응형

'파이썬(Phython)' 카테고리의 다른 글

pyhton 8. 객체지향 프로그래밍  (1) 2023.11.20
python 7. 파일 입출력  (0) 2023.11.15
Python 6. 에러와 예외 처리  (0) 2023.11.14
python 5. 함수와 모듈  (0) 2023.11.07
python 4. 자료형과 자료구조  (0) 2023.11.06
파이썬 python 3. 조건문과 반복문  (0) 2023.11.02
파이썬 python 2. 기본 문법  (0) 2023.11.01
1. 파이썬 소개  (0) 2023.10.31
반응형

https://adoptium.net/installation/linux/#_centosrhelfedora_instructions

 

Linux (RPM/DEB/APK) installer packages | Adoptium

Eclipse Temurin RPM, DEB and APK packages are now available for installation on your favourite Linux distribution. See Supported Platforms for a list of our officially supported installers by Linux distribution / version. Other Linux distributions / versio

adoptium.net

 

adoptiun 으로 설치를 위해서 설치 가이드 페이지에서 아래 내용 확인하고 따라합니다.
내용이 변경될 수 있어서 url만 남기고 나머지는 참고용 이미지만 첨부합니다.

 

저 같은 경우는 아마존 리눅스 였는데 잘 안되서 아래 부분을  수동으로 변경해줘야 했습니다.

${DISTRIBUTION_NAME:-$(. /etc/os-release; echo $ID)}/\$releasever/\$basearch

https://packages.adoptium.net/ui/repos/tree/General/rpm/amazonlinux/2/x86_64

 

JFrog

 

packages.adoptium.net

여기서 자신의 서버에 맞는 걸 찾아서 변경해 주면 됩니다.

저는 아마존 리눅스여서 해당 url을 찾아서 baseurl 부분을 변경해주었더니 설치가 잘 되었습니다.

반응형
반응형
[root@goni9071 ~]# rpm -qa maria*

- 설치되어 있지 않으면 아무것도 나오지 않습니다.

 

원하는 버전을 설치하기 위해서 https://mariadb.org/download 에서 리파지토리르 정보를 얻습니다.

 

위 사이트 접속 합니다.

 

1. MariaDB Server Repositories 탭을 선택.

 

2. 배포판 선택

 

3. 원하는 버젼 선택

 

4. 해당 내용 복사

- 이 내용을 /etc/yum.repos.d/MariaDB.repo  파일로 저장.

 

 

5. 아래 명령어 실행으로 설치.
- yum install MariaDB-server

6. 실행

- systemctl start mariadb

7. 부팅시 자동 실행

- systemctl enable mariadb

반응형
반응형

/etc/nginx/conf.d 에 3개파일이 있어.
server-01.conf
server-02.conf
server-all.conf

reloadNginx.sh 01 이렇게 실행하면 
server-01.conf 파일은 그대로고
나머지 파일은 뒤에 .bak 이 붙고
nginx를 reload하는 우분투 스크립트를 작성해줘

 

#!/bin/bash

if [ -z "$1" ]
then
  echo "Please provide a parameter"
  exit 1
fi

# /etc/nginx/conf.d 디렉토리로 이동
cd /etc/nginx/conf.d

# server-01.conf, server.conf, server-all.conf 중에서 입력받은 숫자에 해당하지 않는 파일을 찾아 .bak으로 이름 변경
for file in server-*.conf
do
  if [[ "$file" != "server-$1.conf" ]]
  then
    mv "$file" "${file%.conf}.bak"
  fi
done

# nginx를 reload
sudo service nginx reload

# 스크립트 종료
exit 0

이 상태에서 ./reloadNginx.sh 02 를 실행하면 02의 bak를 없애고 01은 bak를 붙여야해

#!/bin/bash

if [ -z "$1" ]
then
  echo "Please provide a parameter"
  exit 1
fi

# /etc/nginx/conf.d 디렉토리로 이동
cd /etc/nginx/conf.d

# server-*.conf 혹은 server-*.bak 중에서 입력받은 숫자에 해당하는 파일을 찾아 .conf로 이름 변경
if [ -f "server-$1.bak" ]
then
  mv "server-$1.bak" "server-$1.conf"
fi

# server-*.conf 중에서 입력받은 숫자에 해당하지 않는 파일을 찾아 .bak으로 이름 변경
for file in server-*.conf
do
  if [[ "$file" != "server-$1.conf" ]]
  then
    mv "$file" "${file%.conf}.bak"
  fi
done

# nginx를 reload
sudo service nginx reload

# 스크립트 종료
exit 0

 

파라미터가 01, 02, all 이 셋중에 하나가 아니면 오류

 

#!/bin/bash

# 파라미터 값 확인
if [ "$1" != "01" ] && [ "$1" != "02" ] && [ "$1" != "all" ]
then
  echo "Error: Parameter must be either '01', '02', or 'all'"
  exit 1
fi

# /etc/nginx/conf.d 디렉토리로 이동
cd /etc/nginx/conf.d

# server-*.conf 혹은 server-*.bak 중에서 입력받은 숫자에 해당하는 파일을 찾아 .conf로 이름 변경
if [ -f "server-$1.bak" ]
then
  mv "server-$1.bak" "server-$1.conf"
fi

# server-*.conf 중에서 입력받은 숫자에 해당하지 않는 파일을 찾아 .bak으로 이름 변경
for file in server-*.conf
do
  if [[ "$file" != "server-$1.conf" ]]
  then
    mv "$file" "${file%.conf}.bak"
  fi
done

# nginx를 reload
sudo service nginx reload

# 스크립트 종료
exit 0
반응형
반응형

웹소켓 연동에서 STOMP를 사용할 때, 일반적으로 클라이언트의 메시지를 받기 위한 컨트롤러를 작성합니다. 이 컨트롤러는 `@MessageMapping` 애노테이션을 사용하여 클라이언트에서 보낸 메시지를 받습니다. 그리고 `SimpMessagingTemplate`를 사용하여 원하는 채팅방에 메시지를 보낼 수 있습니다.

예를 들어, 아래와 같이 구현할 수 있습니다:

```java
@Controller
public class ChatController {

    private final SimpMessagingTemplate messagingTemplate;

    @Autowired
    public ChatController(SimpMessagingTemplate messagingTemplate) {
        this.messagingTemplate = messagingTemplate;
    }

    @MessageMapping("/chat")
    public void receiveMessage(ChatMessage message) {
        // 메시지를 받는 로직
        sendMessageToChatRoom(message.getChatRoomId(), message);
    }

    public void sendMessageToChatRoom(String chatRoomId, ChatMessage message) {
        // 원하는 채팅방에 메시지를 보내는 로직
        this.messagingTemplate.convertAndSend("/topic/chatroom/" + chatRoomId, message);
    }
}
```

위 코드에서 `ChatMessage`는 채팅 메시지와 관련된 정보를 담는 클래스입니다. `chatRoomId`는 메시지를 보낼 채팅방의 ID를 나타냅니다. 

`@MessageMapping("/chat")` 애노테이션이 붙은 `receiveMessage` 메소드는 클라이언트가 `/app/chat` 주소로 메시지를 보내면 호출됩니다.

`sendMessageToChatRoom` 메소드는 `SimpMessagingTemplate`의 `convertAndSend` 메소드를 사용하여 특정 채팅방으로 메시지를 보냅니다. 이 때, `"/topic/chatroom/" + chatRoomId`는 메시지를 보낼 주소를 나타냅니다.

이렇게 하면 일반 컨트롤러를 사용하여 클라이언트의 메시지를 받고, 원하는 채팅방에 메시지를 보낼 수 있습니다.

 

-----------------

@PostMappding으로 받고 sendMessageToChatRoom 을 호출 할 수는 없을 까?

-----------------

네, `@PostMapping`을 사용하여 HTTP 요청을 받고 웹소켓을 통해 메시지를 보낼 수 있습니다. 이 경우에는 일반적인 HTTP 요청을 처리하는 방식과 동일하게 `@PostMapping` 애노테이션을 사용하면 되며, 메시지를 보낼 때 `SimpMessagingTemplate`를 사용합니다.

다음은 이를 구현한 예시입니다:

```java
@RestController
public class ChatController {

    private final SimpMessagingTemplate messagingTemplate;

    @Autowired
    public ChatController(SimpMessagingTemplate messagingTemplate) {
        this.messagingTemplate = messagingTemplate;
    }

    @PostMapping("/chat")
    public void sendMessage(ChatMessage message) {
        // 원하는 채팅방에 메시지를 보내는 로직
        this.messagingTemplate.convertAndSend("/topic/chatroom/" + message.getChatRoomId(), message);
    }
}
```

위 코드에서 `ChatMessage`는 채팅 메시지와 관련된 정보를 담는 클래스입니다. `chatRoomId`는 메시지를 보낼 채팅방의 ID를 나타냅니다.

`@PostMapping("/chat")` 애노테이션이 붙은 `sendMessage` 메소드는 클라이언트가 `/chat` 주소로 HTTP POST 요청을 보내면 호출됩니다. 이 메소드는 클라이언트로부터 받은 메시지를 원하는 채팅방으로 보냅니다.

이렇게 하면 `@PostMapping`을 사용하여 클라이언트의 요청을 받고, 웹소켓을 통해 원하는 채팅방에 메시지를 보낼 수 있습니다.

반응형
반응형

`vi` 혹은 `vim` 에디터에서 주석의 색상을 변경하는 방법은 다음과 같습니다. 

1. 먼저, 사용자의 홈 디렉토리에서 `.vimrc` 파일을 찾거나 없다면 새로 만듭니다. `.vimrc` 파일은 `vim` 에디터의 설정을 담고 있습니다. 터미널에서 다음 명령어를 실행하여 `.vimrc` 파일을 열어봅니다.

    ```bash
    vim ~/.vimrc
    ```

2. `.vimrc` 파일 안에서, 주석의 색상을 변경하려면 다음과 같은 구문을 추가합니다.

    ```vim
    highlight Comment ctermfg=yellow
    ```
    위의 예제에서는 주석의 색상을 노란색으로 변경하였습니다. 원하는 색상으로 변경하시려면 'yellow'를 다른 색상 이름으로 변경하시면 됩니다. 가능한 색상 이름에는 black, darkblue, darkgreen, darkcyan, darkred, darkmagenta, brown, darkyellow, lightgray(lightgrey), darkgray(darkgrey), blue, lightgreen, lightcyan, red, lightmagenta, yellow, white 등이 있습니다.

3. 수정이 끝났다면, `:wq`를 입력하여 `.vimrc` 파일을 저장하고 종료합니다.

이렇게 하면, `vim` 에디터를 다시 열 때부터는 새로운 색상 설정이 적용됩니다. 이러한 방식은 주석 뿐만 아니라 다른 구문 요소들에 대한 색상도 변경할 수 있습니다.

참고로, 이러한 방법은 기본 콘솔(터미널)의 색상 설정을 사용하는 `vim` 에디터에서만 작동합니다. GUI 기반의 `vim` 에디터(예: `gvim`)를 사용하는 경우, 색상 이름 대신 RGB 색상 코드를 사용해야 할 수도 있습니다.

반응형
반응형

Sure, here's an example of how you can use `curl` to POST JSON data:

Let's say you have a JSON object that you want to send as a POST request to a server:

```json
{
    "name": "John Doe",
    "email": "john.doe@example.com"
}
```

You would use `curl` in the following way:

```bash
curl -X POST -H "Content-Type: application/json" -d '{"name":"John Doe","email":"john.doe@example.com"}' http://your-server-address/your-endpoint
```

Here's what's happening in this command:

- `-X POST`: This tells `curl` to use the POST method for the request.
- `-H "Content-Type: application/json"`: This is setting a request header specifying that the content type of the data we're sending is JSON.
- `-d '{"name":"John Doe","email":"john.doe@example.com"}'`: This is the data we're sending in our POST request. The `-d` stands for "data".
- `http://your-server-address/your-endpoint`: This is the URL that you're sending the POST request to. Replace this with the actual URL for your use case.

Please replace `http://your-server-address/your-endpoint` and the JSON payload with your actual server URL and the JSON data you want to send, respectively.

 

-----------------------

스크립트로 실행 할거야. 내려쓰기로 정리좀 해줘

-----------------------

#!/bin/bash

# API endpoint URL
URL="http://your-server-address/your-endpoint"

# JSON 데이터
JSON_DATA='{
    "name":"John Doe",
    "email":"john.doe@example.com"
}'

# curl로 POST 요청
curl -X POST \
     -H "Content-Type: application/json" \
     -d "$JSON_DATA" \
     $URL

반응형
반응형

스프링 부트는 `spring-session-data-redis` 의존성이 존재하는 경우에 자동으로 Redis를 세션 저장소로 사용하려고 시도합니다. 이 동작은 자동 구성(auto-configuration)을 통해 일어납니다.

특정 프로필에서 (예를 들어, "local" 프로필에서) Redis 세션 저장소를 사용하고 싶지 않다면, 스프링 부트의 자동 구성을 비활성화해야 합니다.

자동 구성을 비활성화하려면, "local" 프로필을 위한 `application-local.properties` 또는 `application-local.yml` 파일에 다음 설정을 추가하십시오:

```properties
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration
```

위 설정은 스프링 부트가 세션 관련 자동 구성을 수행하지 않도록 지시합니다.

다만 이 설정은 Spring Session 자체를 비활성화하는 것이므로, 세션을 사용해야 하는 다른 부분에서 문제가 발생할 수 있습니다. 이를 해결하려면 다른 세션 저장소를 직접 설정하거나, 필요한 세션 관련 빈들을 직접 구성해야 할 수도 있습니다.

반응형

+ Recent posts