일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gradle
- Vane
- maven
- Baekjoon
- Python
- ruby2d
- Spring
- gnuplot
- Godot
- Android
- 루비
- react
- ruby
- jetbrains
- CPP
- error
- Java
- 개발노트
- RaspberryPi
- OTLanguage
- GitHub
- boj
- JS
- plugin
- Shell
- rubymine
- OAuth
- C
- IntelliJ
- kotlin
- Today
- Total
목록전체 글 (171)
PersesTitan(페르) 기술블로그
전 파서와 파싱을 난해한 프로그램 언어(OTLanguage)를 만들면서 알게 되었는데요. 그래서 파싱과 파서에 대해서 설명을 간단하게 적게 되었습니다. 파싱 (Parsing) 파서를 알아보기 전에 파싱을 알아보겠습니다. 파싱은 특정 패턴이나 순서등을 추출하여 컴퓨터가 알아들을 수 있게 바꾸어주는 작업을 말합니다. 예시로 간단한 사칙연산을 사용해보았습니다. (OTLanguage 문법 입니다.) 12.34 ㅇ+ㅇ (32 ㅇ/ㅇ 34) ㅇ+ㅇ 34234 위 문법을 구문 트리로 만들면 아래와 같은 구문 트리가 만들어지게 됩니다. 이렇게 토큰으로 분리되어 각 문장을 컴퓨터가 인식할 수 있게 만드는 작업을 하는 것 입니다. 사칙연산을 위해서는 이여야 하는데 만약 와 같이 규칙에 맞지 않는 규칙이 들어가 있다면 변환..
개발 노트 개발 노트는 코드 및 설명등을 작성하지 않으며 개발하면서 구현에 성공한 동작등을 기록하는 목록입니다. OTLanguage개발 기능으로 버전 3.0.0의 변수 생성 로직입니다. 코드 출력
Google Step 1 해당 링크에 접속후 구글 로그인를 합니다. Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com Step 2 상단에 프로젝트 선택를 눌러줍니다. (만약 다른 프로젝트를 생성한 상태라면 다른 프로젝트 명이 표시되어 있습니다.) Step 3 눌려주면 새 프로젝트를 만들어주거나 이미 프로젝트가 존재한다면 해당 프로젝트에 들어가서 생성해주어도 상관없습니다. Step 4 API 및 서비스 -> 사용자 인증 정보에 들어가줍니다. Step 5 상단에 사용자 인증 정보 만들기 -> OAuth 클라이언트 ID를 눌러줍니다. Step 6 각각 생성할려고하는 정보를 입력해줍니다. 리디렉션 URI는 다음과 같은 규칙으로 링크를 정해주시면 됩니다...
OAuth2 OAuth 생성하기 https://github.com/ 로그인 -> Setting -> Dveloper settings -> OAuth Apps -> New OAuth App 로 이동하여 새로운 OAuth를 생성해줍니다. Setting Dveloper settings OAuth Apps New OAuth App Homepage 현재 사용하고 있는 URL를 작성해주시면 됩니다. 현재는 localhost에서 테스트 중이라서 http://localhost:8080/ 을 사용하지만 추후 배포까지 하게 된다면 배포를 진행한 URL로 바꾸어주시면됩니다. Authorization callback URL 기본적으로 Spring에서는 http://localhost:8080/login/oauth2/code/g..
spring에서 전송한 데이터를 react에서 출력하는 로직을 구현하게 되었습니다. 우선은 배포가 아닌 테스트를 위한 동작이므로 프로젝트를 합치지 않고 동작하도록 하였습니다. Spring 데이터 전송 확인 http://localhost:8080/api/ 우선은 url에 들어가서 데이터가 잘 전송되었는지 확인해주었습니다. 예제 데이터로 최신순으로 생성된 글 createDateSort과 좋아요 순으로 정렬된 글 likeSort를 반환해주는 로직입니다. React 프록시 추가 프로젝트에 package.json이라는 파일에 "proxy": "http://localhost:8080"를 추가해 줍니다. url포트나 링크가 다르면 링크 값은 백앤드 url로 변경해주시길 바랍니다. axios 설치 해당 커맨드를 rea..
예제 @PostConstruct public void init() { Member member = memberService.findOne("Test", "1234"); for (int i = 0; i < 10; i++) { LocalDateTime localDateTime = LocalDateTime.of(2000 + i, 1, 1, 1, 1); ProblemCreateDTO problemCreateDTO = new ProblemCreateDTO(Integer.toString(i), "수학", member.getId()); Problem problem = problemService.save(problemCreateDTO); log.info(problem.toString()); } } @PostConstr..
문제 스프링을 사용하면서 아래와 같은 에러가 발생하였는데 처음에는 매핑을 잘못했나싶어서 연관 OneToMany, ManyToOne, JoinColum를 미친듯이 건드리다가 에러 위치를 찍어보니 연관 관계 편의 메소드 부분에서 에러 위치가 잡히더군요. Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.shabi.problemspring.domain.member.Member.problems: could not initialize proxy - no Session at org.hibernate.collection.spi.AbstractPersistentCollectio..
웹스톰에서는 간단하게 File > New > Project에서 쉽게 프로젝트를 생성할 수 있는데요. 여기서 생성하실 React를 좌측에서 눌러주시고 하단의 Create TypeScript project 체크박스를 체크하고 생성하시면 TS언어로 프로젝트를 생성하실 수 있습니다. 생성 결과
[Ruby] 루비로 게임 제작해보기 6: 물체 통과 막기 [Ruby] 루비로 게임 제작해보기 6-1: 물체 통과 막기 지금까지 이동하는 로직을 구현했으므로 게임의 진행하고 끝나는 로직을 구현할려고 합니다. 코드 direction.rb 6-1코드 유지 start.rb require 'ruby2d' require_relative 'direction' check_in = lambda do |o1, os, x, y| os.each do |o| if Direction.check o1, o o1.x, o1.y = x, y end end end set title: "Game" @width = get :width @height = get :height @is_finish = false # 장애물 block = [] #..
[Ruby] 루비로 게임 제작해보기 6: 물체 통과 막기 (현재 입력된 방향키를 확인하기 쉽게 좌측 상단에 입력된 방향키가 보이도록 임시로 넣었습니다.) 아래와 같이 벽에 완전히 붙어있을때 움직일 수 없는데 벽에 붙어 있을때도 닿아 있는 것으로 인식되므로 움직일 수 없기 때문에 해당 부분을 해결해볼려고 합니다. 코드 이전에 사용했던 Direction모듈은 같이 사용했지만 너무 길어서 저는 따로 다른 파일로 빼서 사용하기로 했습니다. direction.rb # 방향을 정하는 모듈 module Direction LEFT = "left" RIGHT = "right" TOP = "up" UNDER = "down" def Direction.move(e, o, speed = 1) case e.key when LEF..