크래프톤 정글 TIL : 1004

lazyArtisan·2024년 10월 4일
0

정글 TIL

목록 보기
96/147

📚 Journal


AWS 강의 : 속도가 너무 빨라서 흡수 많이 못 함. 래퍼인줄. ppt 파일과 약간의 경험 남았다. 끝나고 나니 6시.
나만무 팀 회의, 저녁식사, 알고리즘 스터디 하고나니 9시.

대충 팀이 결정됐다.
나보다 잘하시는 분(전공자인데다 게임 회사 인턴 하다 오심)이 있어서 팀장은 못했다.
나가서 팀장 하려면 할 수야 있겠지만 배우는 경험도 좋은 거니까.



📝 배운 것들


🏷️ 파이썬 변수 출력

print(f"w({a}, {b}, {c}) = {w(a, b, c)}")

print 앞에 f 넣고 따옴표 안에 중괄호 + 변수 넣으면 변수 값이 출력된다.

🏷️ sys.stdin.read()

sys.stdin.read()는 입력된 모든 데이터를 한 번에 읽어옴.
즉, 여러 줄에 걸쳐 입력된 데이터를 전부 읽음.



🌐 게시판 과제


사실 일주일 안에 리액트나 node.js를 둘 다 처음부터 배워서 웹사이트를 만든다는 건 말도 안되고,
그나마도 AWS 강의, 알고리즘, 팀 빌딩 등에 의해 시간이 잡아먹히는 상황이므로
gpt한테 뭐 할지 방향성만 준 뒤 코드를 받아서 얘가 뭘 준 건지 이해하는 식으로 접근해야 할듯.

일단은 아이디나 비밀번호 적을 때 판떼기 움직여서 123456789 구멍에 넣는, 억지로 불편한 UI 만들기
혹은 ARG 웹 사이트 정도로 생각 중.

기본적으로 요구하는

기능 요구사항

  • 회원가입/로그인
  • 게시물 작성
  • 게시물 목록보기
  • 게시물 읽기
  • 댓글 작성

개발범위

  • 프론트: 게시판 UI를 구현
  • 백엔드: 게시판 Server API 구현
  • 추가적 구현 가능 (기술적 챌린지 요소)

이것들 대충 뼈대 만들어놓고 생각해보자.

gpt야 만들어줘

Node.js의 특징

비동기 I/O: Node.js는 비동기 방식으로 작업을 처리하므로, 동시다발적으로 많은 작업을 처리할 수 있습니다.
단일 스레드: 하나의 스레드에서 비동기 방식으로 요청을 처리하므로, 매우 가볍고 빠릅니다.
빠른 처리: Node.js는 V8 JavaScript 엔진을 사용하여 매우 빠르게 JavaScript 코드를 실행합니다.

Node.js와 Express의 관계

Node.js는 서버에서 JavaScript를 실행하는 환경입니다. 파일 시스템 접근, 네트워크 요청 처리, 이벤트 기반 처리를 할 수 있습니다.

Express는 Node.js를 기반으로 웹 서버를 쉽게 구축하기 위해 제공되는 프레임워크입니다. 기본적으로 HTTP 요청을 처리하는 라우팅과 미들웨어 기능을 제공합니다.

server.js

node.js

const express = require('express');
const app = express();
const PORT = 5000;

app.get('/api', (req, res) => {
    res.json({ message: 'Hello from server!' });
})

app.listen(PORT, () => {
    console.log(`Server running on http://localhost:${PORT}`);
})
  1. const express = require('express');
    이 줄은 Express 모듈을 가져와서 express 변수에 저장합니다. Express는 Node.js에서 웹 서버를 쉽게 만들 수 있게 도와주는 라이브러리이므로, 먼저 require로 불러옵니다.

  2. const app = express();
    express()를 호출하여 Express 애플리케이션 객체인 app을 생성합니다. 이 app 객체는 웹 서버의 핵심 역할을 하며, 여기서 HTTP 요청을 처리할 수 있게 됩니다.

  3. const PORT = 5000;
    PORT는 서버가 사용할 포트 번호를 지정합니다. 이 예에서는 서버가 5000번 포트에서 실행되도록 설정되어 있습니다. 포트 번호는 클라이언트가 서버에 접근할 때 사용하는 경로 중 하나입니다.

  4. app.get('/api', (req, res) => { ... });
    이 부분은 라우팅을 설정하는 부분입니다. Express에서 라우트(route)는 특정 URL 경로에 대한 HTTP 요청을 처리하는 방법을 정의하는 것입니다.

App.js

npm start
이 명령어는 React 개발 서버를 시작하는 명령입니다. create-react-app을 이용해 생성된 React 프로젝트에는 기본적으로 npm start 명령이 설정되어 있으며, 이를 실행하면 개발 환경에서 React 애플리케이션을 실행할 수 있습니다.

react

import logo from './logo.svg';
import './App.css';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );
}

export default App;


⚔️ 백준


📌 11728 배열 합치기

N,M=map(int,input().split())
A=list(map(int,input().split()))
B=list(map(int,input().split()))
C=A+B
C.sort()
for c in C:
    print(c,end=' ')

정렬 알고리즘을 아직 마스터 못해서 일단 억지로 sort 써서 풀고
다른 사람들 풀이 구경

import sys
NM = sys.stdin.readline()
print(" ".join(sorted(sys.stdin.read().split(), key=int)))

1등 풀이.
sorted할 때 key=int 쓰면 문자열들을 숫자 기준으로 정렬시킬 수 있다는 거 정도 말곤
건질 수 있는건 없는듯

정렬되어있는 두 배열 A와 B가 주어진다. 아 이걸 놓쳤었네
검색해봤더니 투 포인터 문제라길래 뭔 소린가 했다.

문제를 꼼꼼히 읽자.

0개의 댓글