개인 자료란 (JE)

  서버 커뮤니티

Profile 테빌 대표칭호 없음

roachkiss 74c0c903dbfa47169b610166c3acd5b0

Profile

커뮤니티 소통 개발하기 스크립트

skript-yaml을 쓰면 안되는 이유

2024.04.05 조회 수 305 추천 수 0




다들 스크립트 변수가 다 거지같다 하는데

내가 왜 skript-yaml을 변수저장으로 쓰면 안되는지 알려드림.


일단 스크립트 변수도


수정될떄마다 무조건 csv에 넣는게 아니라

변수 저장 할떈 해시맵에 넣고, 서버 닫을떄 저장하는

최소한의 최적화는 됐을거잖아요?


대부분의 사람들이 yaml을 쓸떄는

쓸때마다 파일에 쓰고

yaml의 구조를 모르는 사람이 많다는 겁니다.


사람들은 스크립트 구조가 안좋다고만 하고 yaml을 쓰는데,

정작 님들이 쓰는 yaml이

변수에 저장할떄마다 쓰고 읽고 쓰고 읽고 쓰고 이러는게


최적화에 너무 안좋다는걸 모른다는 겁니다.


이걸 해결하기 위해선 initialize save 같은걸 써야 하는데,

(서버를 시작할떄 변수에 넣고 서버가 닫힐떄 변수에 있는 것들을 yaml로 저장하는것)


이걸 쓰려면 결국 님들이 싫어하는 변수를 써야합니다.


이걸 해결하기 위해 skript reflect를 사용해서 Hashmap에 넣고 뺄수도 있는데,


이럴꺼면 왜 스크립트를 씁니까 플러그인을 쓰지


스크립트는 편의성과 서버 개발 속도 상승을 위해서 쓰는겁니다


스크립트 변수 구조가 안좋다 뭐라 할꺼면 스크립트 뭐하러 씁니까


결론: 스크립트 yaml은 "변수 저장에" 쓰지 말자. yaml은 콘피그로 활용하면 좋지만 특히 스크립트에서는 yaml이 좋지 않아요.




4개의 댓글

qsef1256
2024.04.05

놀랍게도, 일단 스크립트 변수도 수정될 때마다 무조건 csv에 넣는 게 아니라 이거 true 입니다. 수정될 때마다 넣어요. 

자세한 구현은 https://github.com/SkriptLang/Skript/blob/master/src/main/java/ch/njol/skript/variables/Variables.java 를 참고해보시고요. 물론 비동기 큐(changeQueue) 안에 넣고 작업하긴 하지만요. 근데 이 방식이 나쁜 건 아니에요, 이렇게 안 하면 서버 터질 때 마다 변수 전부 날아갑니다.


서버 닫을 때 저장하는 최소한의 최적화는 됐을 거잖아요? 이거 아닙니다. 물론 서버 닫을 때 한번 싹 저장하긴 하지만 그때만 저장하는 건 아니라는 거에요. 스크립트가 최적화에 안 좋은 이유는 변수 거치면서 나오는 오버헤드, 파일 구현에 따르는 상대적 성능 저하 때문이지 저장 방식 자체에 최적화 문제가 있는 건 아닙니다. (물론 트랜잭션 거는 것에 비하면 불안정합니다.)

테빌
2024.04.08
@qsef1256

그렇네요

그냥 스크립트를 안쓰는게

테빌
2024.04.08
@qsef1256

일단 스크립트 변수도 수정될 때마다 무조건 csv에 넣는 게 아니라 이거 true 입니다. 수정될 때마다 넣어요.

 

이건 좀 충격이네요.

이제 스크립트를 더 좀 그렇게 하게 되었습니다

 

qsef1256
2024.04.05

skript-yaml이 동기 작업이면 (소스 보고 왔는데 일단은 비동기로 보일만한 부분이 없네요), 이 지적은 어느 정도 유효한 것 같네요.

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3