jinmo / assemblylearner Goto Github PK
View Code? Open in Web Editor NEW어셈블리어를 배워서 써먹자
어셈블리어를 배워서 써먹자
현재 한 파일에 너무 코드가 집중되어있어서... URL 라우팅, DB접근, 문제실행 을 분리했으면하는데 어떻게 생각하시나요?
해결 방안
손건님이 제보해주셨어요.
chroot로 유저끼리 분리하기.
단 라이브러리 세팅이 필요함.. 이 부분은 스크립트로 처리.
Traceback (most recent call last):
File "./worker.py", line 5, in <module>
jobqueue.cli()
File "/home/assemblylearner/=/asmlearner/library/jobqueue/sqlite.py", line 60, in cli
q.dequeue()
File "/home/assemblylearner/=/asmlearner/library/jobqueue/sqlite.py", line 31, in dequeue
job = db.query('SELECT * FROM queue LIMIT 1', isSingle=True)
File "/home/assemblylearner/=/asmlearner/library/database/sqlite.py", line 17, in query
cur = self._db.execute(query)
sqlite3.OperationalError: database is locked
넵 그렇습니다.
내장된 sqlite3 모듈을 wrapping해서 바로 호출시켜주고 fetch시켜주는 class 패턴으로 현재 작업중인데요, 문제는 이게 멀티스레드일 경우 지원을 안해주거나 여러 프로세스에서 동시에 접근할 때 잘 지원을 안해주거든요.
사실 sqlite3이 한번에 여러 쪽에서 접근하도록 만들어진 DB인지는 잘 모르겠습니다. 아니라는 의견들이 조금 보이네요, 구글링해보니까..
그렇기 때문에
지금으로서는..
각자 라이브러리를 만들 수 있도록 구현. 컴파일 옵션에 인클루드 경로로 넣어줌.
문제 컴파일 및 정답 체크 하는 워커 프로토타이핑을 했는데 테스트가 필요해서
문제 풀기 ui완성되면 dev 브랜치로 머지부탁드립니다.
머지되면 job que 에 넣는 부분까지 해서 테스트 후 풀리퀘 드리겠습니다.
solved 테이블은 양이 많습니다. 수정하려면 조심스러워야죠, 백업도 해야되고..
하지만 끝에 이 컬럼을 추가하려고 합니다.
is_public INT
아직은 안했지만.. 기능 자체도 고민을 조금 해봐야겠네요. 서로 코드를 봐줄 때 이런 기능이 있으면 좋을거같다고 생각했습니다.
inflection
for pluralizing table names지금은 child process가 PTRACE_TRACEME가 실행될때까지 usleep으로 대기하고있지만 시그널을 쓰던지 어떻게 하던지 해서 시기를 정확하게 하는게 깔끔할것같습니다.
This is my exception error log
root@6ffee32ed0ae:~/AssemblyLearner# python server.py
solve it jinmo! wtwt
구분이 잘 안되요 고쳐주세요!
flask 내에서 한 요청이 어떻게 처리되는지 몰라서 비동기쪽은 잘 모르겠지만..
일단 자원제한은 linux라면 setrlimit으로 가능할것같습니다.
tool/tracer 쪽에 추가하는게 쉬워보입니다.
대신 실행 시 옵션을 줘야되겠죠.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.