Differences between revisions 3 and 0
| Deletions are marked like this. | Additions are marked like this. |
| Line 33: | Line 33: |
| 1. responsibility란 무엇인가? | == responsibility란 무엇인가? == |
| Line 58: | Line 58: |
| 2. GRASP | == GRASP == |
| Line 60: | Line 60: |
| 2.1 Expert | === Expert === |
| Line 74: | Line 74: |
| 2.2 Creator | === Creator === |
| Line 90: | Line 90: |
| 2.3 Low Coupling | === Low Coupling === |
| Line 104: | Line 104: |
| 2.4 High Cohesion | === High Cohesion === |
| Line 119: | Line 119: |
| 2.5 Controller | === Controller === |
| Line 135: | Line 135: |
| 2.6 Polymorphism | === Polymorphism === |
| Line 148: | Line 148: |
| 2.7 Pure Fabrication | === Pure Fabrication === |
| Line 158: | Line 158: |
| 2.8 Indirection | === Indirection === |
| Line 169: | Line 169: |
| 2.9 Don't Talk to Strangers | === Don't Talk to Strangers === |
| Line 184: | Line 184: |
| 3. 몇 가지 객체 지향 설계의 격언들 | == 몇 가지 객체 지향 설계의 격언들 == |
--> -->
| IOError[Errno 122] Disk quota exceeded | Please include this information in your bug reports!: Python Python 2.3.4: /home/bin/python Linux hpdm-small-p4-0036.cafe24.com 5.14.0-427.35.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 12 18:24:53 UTC 2024 x86_64 MoinMoin Release 1.3.0 [Revision patch-399] Fri Apr 17 05:33:26 2026 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /home/hosting_users/yoonforh/moin/lib/python2.3/site-packages/MoinMoin/request.py in run(self=<MoinMoin.request.RequestCGI instance>) |
| 822 else: |
| 823 try: |
| 824 cgitb.Hook(file=self).handle(saved_exc) |
| 825 # was: cgitb.handler() |
| 826 except: |
| cgitb = <module 'MoinMoin.support.cgitb' from '/home/hos...hon2.3/site-packages/MoinMoin/support/cgitb.pyc'>, cgitb.Hook = <class MoinMoin.support.cgitb.Hook>, file undefined, self = <MoinMoin.request.RequestCGI instance>, ).handle undefined, saved_exc = (<class exceptions.IOError>, <exceptions.IOError instance>, <traceback object>) |
| /home/hosting_users/yoonforh/moin/lib/python2.3/site-packages/MoinMoin/wikiaction.py in do_diff(pagename=u'GRASPPattern', request=<MoinMoin.request.RequestCGI instance>) |
| 163 from MoinMoin.util.diff import diff |
| 164 request.write(diff(request, oldpage.get_raw_body(), newpage.get_raw_body())) |
| 165 newpage.send_page(request, count_hit=0, content_only=1, content_id="content-below-diff") |
| 166 else: |
| 167 lines = wikiutil.linediff(oldpage.getlines(), newpage.getlines()) |
| newpage = <MoinMoin.Page.Page instance>, newpage.send_page = <bound method Page.send_page of <MoinMoin.Page.Page instance>>, request = <MoinMoin.request.RequestCGI instance>, count_hit undefined, content_only undefined, content_id undefined |
| /home/hosting_users/yoonforh/moin/lib/python2.3/site-packages/MoinMoin/Page.py in send_page(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, msg='', **keywords={'content_id': 'content-below-diff', 'content_only': 1, 'count_hit': 0}) |
| 912 else: |
| 913 # parse the text and send the page content |
| 914 self.send_page_content(request, Parser, body, format_args=pi_formatargs, do_cache=do_cache) |
| 915 |
| 916 # check for pending footnotes |
| self = <MoinMoin.Page.Page instance>, self.send_page_content = <bound method Page.send_page_content of <MoinMoin.Page.Page instance>>, request = <MoinMoin.request.RequestCGI instance>, Parser = <class MoinMoin.parser.wiki.Parser>, body = u'Assigning Responsibilities\n\n(\ud074\ub798\uc2a4 \uc124\uacc4 \uc2dc \uc5b4\ub5a4 \ud074\ub798\uc2a4\uc5d0 \ucc45\uc784...favor object composition over class inheritance \n', format_args undefined, pi_formatargs = '', do_cache = 1 |
| /home/hosting_users/yoonforh/moin/lib/python2.3/site-packages/MoinMoin/Page.py in send_page_content(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, Parser=<class MoinMoin.parser.wiki.Parser>, body=u'Assigning Responsibilities\n\n(\ud074\ub798\uc2a4 \uc124\uacc4 \uc2dc \uc5b4\ub5a4 \ud074\ub798\uc2a4\uc5d0 \ucc45\uc784...favor object composition over class inheritance \n', needsupdate=1, format_args='', do_cache=1) |
| 1035 code = compile(src.encode(config.charset), |
| 1036 self.page_name.encode(config.charset), 'exec') |
| 1037 cache.update(marshal.dumps(code)) |
| 1038 |
| 1039 # send page |
| cache = <MoinMoin.caching.CacheEntry instance>, cache.update = <bound method CacheEntry.update of <MoinMoin.caching.CacheEntry instance>>, marshal = <module 'marshal' (built-in)>, marshal.dumps = <built-in function dumps>, code = <code object ? at 0x7fd2afd96c70, file "GRASPPattern", line 2> |
| /home/hosting_users/yoonforh/moin/lib/python2.3/site-packages/MoinMoin/caching.py in update(self=<MoinMoin.caching.CacheEntry instance>, content='c\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00@\x00\x00\x00s\xf6\x02\x00\x00e\x00\x00e\x01\x00i\x02\x00i\x03\x00e\x01\x00i\x02\x00i\x04\x00e\x05\x00\x83\x01...\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01\x1c\x01\r\x01\x1c\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01', encode=False) |
| 76 if encode: |
| 77 content = content.encode(config.charset) |
| 78 open(self._filename(), 'wb').write(content) |
| 79 |
| 80 try: |
| open undefined, self = <MoinMoin.caching.CacheEntry instance>, self._filename = <bound method CacheEntry._filename of <MoinMoin.caching.CacheEntry instance>>, ).write undefined, content = 'c\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00@\x00\x00\x00s\xf6\x02\x00\x00e\x00\x00e\x01\x00i\x02\x00i\x03\x00e\x01\x00i\x02\x00i\x04\x00e\x05\x00\x83\x01...\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01\x1c\x01\r\x01\x1c\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01\r\x01%\x01' |
IOError: [Errno 122] Disk quota exceeded
__doc__ =
'I/O operation failed.'
__getitem__ =
<bound method IOError.__getitem__ of <exceptions.IOError instance>>
__init__ =
<bound method IOError.__init__ of <exceptions.IOError instance>>
__module__ =
'exceptions'
__str__ =
<bound method IOError.__str__ of <exceptions.IOError instance>>
args =
(122, 'Disk quota exceeded')
errno =
122
filename =
None
strerror =
'Disk quota exceeded'