https://github.com/cheolwo/KoreaOfficialProblems/blob/main/TestApp/Service/2022MFQ.cs

KoreaOfficialProblems/2022MFQ.cs at main · cheolwo/KoreaOfficialProblems

KoreaOfficialProblems. Contribute to cheolwo/KoreaOfficialProblems development by creating an account on GitHub.

github.com


문제에서 제시하는 개념이랑 완전히 같지는 않아요...

개념적으로만 뭔가 학습하기가 좀 그래서 만들어봤어요.

만들면서 느낀점

주문이 들어오면 주문 간 우선순위의 따라

먼저 처리할 것과 아닌 것을 다단계 형식으로 배치해 처리할 수 있는 아이디어를 얻었다! 입니다.

완벽하지는 않으니... 뭐... "운영체제를 배워봤자 어디다 써먹냐?" 라는 의문이 있어가지고

만들어본 거니까 저랑 비슷하게 느끼신 분들에게 아마 도움이 되지 않을까.. 생각합니다.


2022 전산직 5급 운영체제 문제


a17d34aa0702b4618fff5a4fc25ddcdcecc872b8d91624b04c3d34d981004d4f2605f2849a5c65f0edace82a746613cd



모듈호출도

a67718ad163ab55eb63300499d3ec07313ea4982999f356d8137ad8d9ab3


04b3c323f7c6b376819aceb603c52173822e2826b5d93739aa90b34c1abd


서비스컨테이너


a1592cad3c36b44caa330d7d9b34c8b1792f4baf587bec532fb5e6334e299bf6bfcdea9ffd8be30b2ad8746a2ed12b

MFQ Service


009be1aa3826b35592f1c6bb11f11a39c543c4864b81629fed



코드보면 DbContext를 생명주기 Scope로 따로 생성하는 이유는

스케줄러와 관련한 모듈이 싱글톤이라 그렇습니다.

스케줄러는 Asp.net Core 서비스 컨테이너에 싱글톤으로 등록되어 있습니다.

DbContext의 경우는 싱글톤으로 같이 등록해서 이용할 수가 없어

모듈 호출될 때 Scope로 생성했다가 기능종료할 때 해제하는 식으로 이용합니다.


출력결과

a16f1bad373ab461b6f1c6bb11f11a392fc128f9cb0c15


a64c20ad373ab461b6f1c6bb11f11a39f0feea2d27b5b4


a15908ad373ab461b6f1c6bb11f11a392a16d247a513bd



7f3602ce6915e0e64bb1c7a0139f3433f3a2dbc46bc92d3671c935



793602ce6915e0e87eb1d19528d5270312373f54e8


783602ce6915e0e87eb1d19528d527037d99235e60


7b3602ce6915e0e87eb1d19528d527031480c1c12d


7a3602ce6915e0e87eb1d19528d52703f686fbc9c5



743602ce6915e0e87eb1d19528d52703571fa4528e


7ced5bf40d5eff7e20afd8b236ef203ed41b9301546f


7cec5bf40d5eff7e20afd8b236ef203ed1dbaabeeaa8


7cef5bf40d5eff7e20afd8b236ef203ea062ea5eebca


7cee5bf40d5eff7e20afd8b236ef203e9af5dc672504


7ce95bf40d5eff7e20afd8b236ef203ea7732b5dc122


문제대로라면....

원래 처음에 A처리하고 난 뒤에 B처리가 되는 게 맞는데

그냥 A의 경우 예외로 두었습니다... 죄송합니다.

도면 상으로는 A A A 가 되는 게 맞으니 양해바랍니다.


MYSQL 결과물


a15614ab133bb4668afffb8c25e0087396279dcca11e4c760a0ebbb678

a15614ab133bb55d8afffb8c25e00873944e08078e2c0dd37babf365b7