U E D R , A S I H C RSS

Project Zephyrus/Thread

Zephyrus Project „–‰ค‘˜ ด•ผ๊ธฐ๋“ค. Thread - Document BottomUp „ •ด๋„ ข‹๊ฒ ๊ณ š”.

  • ''Database Connection Pool „ ‚ฌšฉ•˜๋˜ •˜ง€ •Š๋˜, DB ž›„ –ป–ด˜ค๋Š” ๋ถ€๋ถ„„ •˜๋‚˜˜ end point—„œ ฒ˜๋ฆฌ•˜„š”. ฒ˜Œ๋ถ€„ด๋ฅผ ๊ณ ๋ ค•˜ง€ •Š„ ๊ฒฝšฐ, *.java —„œ Database Connection„ ƒ„•˜๊ณ , ‚ฌšฉ•˜๋Š” ฝ”๋“œ๋ฅผ ๋จธง€•Š•„ ๋ณด๊ฒŒ ๋ ๊ฒ๋‹ˆ๋‹ค. ด๋Š”  •๋ง ตœ•…ž…๋‹ˆ๋‹ค. pool„ “ฐ๋‹ค๊ฐ€ “ฐง€ •Š๊ฒŒ ๋  ๊ฒฝšฐ๋Š”?๋‹ค‹œ pool„ จ•ผ •  ๊ฒฝšฐ๋Š”? ๋” ข‹€ ๋ฐฉ๋ฒ•€ interface๋ฅผ ž˜  •˜•ด„œ ‚ฌšฉ•˜๊ณ , ‹ค œ DB ž‘—…„ •˜๋Š” ด๋ž˜Šค๋Š” Factory ๋ฅผ †ต•ด ƒ„•˜๋Š”๊ฒŒ ข‹Šต๋‹ˆ๋‹ค. –ด๋–ค ๋ฐฉ‹œผ๋กœ DB๋ฅผ ๋‹ค๋ฃจ๋˜ ๊ฐ„— œ„—„œ ๋ณด๊ธฐ—” •ญƒ ๊ฐ™•„•ผ •˜ฃ . --ด„ šฐ

  • ˜™ •Œ๊ฒ Šด๋‹ค šฐ„ € acess๋ž‘ —ฐ๋™•˜๋Š” ๊ฐ๋‚˜ ๊ณต๋ถ€•ด๋†“„๊ป˜š” ™œ๋ƒ•˜๋ฉด …— ๊ทธ๋ ‡๊ฒŒ ๋‚˜™€„œ ๋ณด๊ธฐ Žธ•ด‹œ๋ฆฌ...-,-;;;
     •๋ชจ๋•Œ ๋ดš”~~

  •  œ๊ฐ€  €๋ฒˆ•™๊ธฐ— ž‘—…–ˆ๋˜ ๋ฉ”‹  ธ๊ฐ€ žˆŠต๋‹ˆ๋‹ค. ด๋ฒˆ ”„๋กœ Šธ๋ฅผ •˜๋ฉด„œ ฐธ๊ณ •  ˆ˜ žˆ๋Š” ๋ถ€๋ถ„„ ฐธ๊ณ •˜„š”.  €๋ฒˆ •™๊ธฐ—  •๋ณดฒ˜๋ฆฌ ‹คŠตด๋ž€ ๊ณผ๋ชฉ—„œ ”„๋กœ Šธ๋กœ –ˆ๋˜ ๊ฒƒž…๋‹ˆ๋‹ค. UP ๋กœ Process ๋ฅผ „–‰–ˆ—ˆ๊ณ , ๋†’€(?)  ˆ˜๋ฅผ œ„•ด„œ ๋งŽ€ ๋ฌธ„œ๋ฅผ ๋‚จ๊ธฐ๊ธด –ˆ๋Š”๋ฐ.. ๋ถ€•œ ๋ฉดด ๋งŽ๊ตฐš” ใ…ก.ใ…ก;; http://www.inazsoft.net/projectworktool.html —„œ ๋‹คšด๋กœ๋“œ ๋ฐ›„ ˆ˜ žˆŠต๋‹ˆ๋‹ค. - ๊ตฌ๊ทผ
     •๋ง ๋งŽ€ ๋ฌธ„œ;; ๋ณด๊ณ  ๊ฐƒ„–ˆŠด๋‹ค ˜•~ ๋ฌธ„œ˜•‹ด๋‚˜ ๊ณ ๋ ค•ด๋ณผ  ๋“—„œ ฐธกฐ• ๋งŒ•œ ข‹€ ž๋ฃŒ๊ฐ€ ๋ ๋“ฏ --„ฒœ

  •  œ๊ฐ€ JDBC • ๋•Œ ‚ฝˆ–ˆ๋˜๊ฐ ๋‹ค๋ฅธ ‚ฌ๋žŒ๋“ค€ ‚ฝˆ•˜ง€ •Š๋„๋ก •˜๊ธฐ œ„•ด„œ ๋‚จ๊ธด ๋ฌธ„œ๊ฐ€ žˆ–ด—ฌ.. กฐ๊ธˆด๋‚˜๋งˆ ‚ฝˆ ๋ฐฉง€•˜๋Š”๋ฐ ๋„›€ด ๋˜๋ฉด ข‹๊ฒ ๋„—ฌ..^^: - ƒ˜‘JDBC ๊ด€๋ จ ‚ฝˆ ๋ฐฉง€šฉ ๋ฌธ„œ

Database ๊ด€๋ จ ๋ถ€๋ถ„ •„๋‹ˆ๋ผ Œ€ ”„๋กœ Šธ‹œ ๊ณ ๋ ค•ด•ผ •  ‚ฌ•ญ€ ๊ฝค ๋ฉ๋‹ˆ๋‹ค. SuccessfulProject ๋ฅผ œ„•ด„œ ๊ณ ๋ ค•ด•ผ •  ‚ฌ•ญ€ –ด๋–ค๊ฒŒ žˆ„๊นŒš”? ž„•œ ๋‚ดšฉ€ ฐจ›„  •๋ฆฌ•ด„œ “ฐ๊ธฐ๋กœ •˜๊ณ , •˜๋‚˜ ด•ผ๊ธฐ •˜๊ณ  ‹ถ€๊ตœ๋Œ€•œ ค‘๋ณต„ ”ผ•˜๋„๋ก •˜„š”. Šนžˆ๋‚˜, •œฐธ ๋Œ€™”๋ฅผ •˜ง€ •Š๊ณ  žˆ๋‹ค๋ณด๋ฉด ๊ฐ™€ ผ„ •˜๋Š” utility„ ด๋ž˜Šค๋“ค„ ๋ชจ๋‘๊ฐ€ •˜๋‚˜”ฉ ง€๋‹ˆ๊ณ  žˆ„๊ฒ๋‹ˆ๋‹ค.

๊ฐ€žฅ ดƒ ธ ƒƒœ๋Š” ˜ˆ „ ฐฝค€„ ๋ฐฐ๋‹˜ด „ธ๋ฏธ๋‚˜—„œ ด•ผ๊ธฐ –ˆ—ˆ๋˜, 'ด๋Ÿฌ ด๋Ÿฌ•œ ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” —ฌ๊ธฐ žˆง€ •Š„๊นŒ •ด„œ ๋ดค๋”๋‹ˆ ๋ฐ”๋กœ ๊ทธ ž๋ฆฌ— žˆ๋”๋ผ.' •˜๋Š” ƒƒœž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ตœ•…€? 'ด๋Ÿฌ ด๋Ÿฌ•œ ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ •„š”•œ๋ฐ? Œ.. ด˜๊ฒŒ ž˜ ๋งŒ๋“ค–ด๋†“๊ธฐ๋Š” ๊ท€ฐฎ๊ณ  —๋ผ ๋‹คŒ—  •๋ฆฌ•˜ง€ ๋ญ' ๊ทธ๋ฆฌ๊ณ ๋Š” •ด๋‹น method๋“ค„ copy & paste. ๊ณต†ต ๋ชจ๋“ˆ„ •œ๊ณณ—„œ ๋‹ค๋ฃจ๋„๋ก •˜„š”. ๊ณต†ต ๋ชจ๋“ˆ€ ๊ฝค ๋งŽŠต๋‹ˆ๋‹ค. logging, configuration, resource managing ,..
˜ผž„œ ”Œ๋ฐ• ๋•Œ—๋„ žฃผ ๋ฐœƒ•˜๋Š”.. ^^ ๋‹ค๋ฅธ ”„๋กœ๊ทธ๋žจ๋“ค ”Œ๋ฐ•˜๋‹ค๊ฐ€๋„ ๋น„Šท•œ Œจ„˜ ฝ”๋“œ๋“คด ๋งŽด ๋ณด—ฌ„œ ๊ทธ๋Ÿฐ ๊ด ๋”ฐ๋กœ utility class ‹œผ๋กœ ๋””๋ ‰† ๋ฆฌ ๋”ฐ๋กœ ๋‘๊ณ  ๊ด€๋ฆฌ•˜๊ณ  –ˆ—ˆฃ . ”„๋กœ Šธ „–‰ค‘—๋Š” ๋‹ค๋ฅธ ‚ฌ๋žŒ๋“ค †ŒŠค๋ฅผ ง€† œผ๋กœ ๊ฐ™ด ๋ด ๋‚˜๊ฐ€๋ฉด„œ ƒ๊ฐ•ด•ผ๊ฒ ๊ตฐš”. CVS ๋กœ •œ๊ณณ— †ŒŠค๋ฅผ ๋ชจœผ๋ฉด ๋„›€ด ๋  ๊ฒƒด๋ผ ƒ๊ฐ. --„ฒœ

•„ •œ๊ฐ€ง€ ๋” ƒ๊ฐ๋‚˜๋Š”๊ฒŒ žˆ๊ตฐš”. ž๋ฐ”๋กœ ”„๋กœ Šธ๋ฅผ •˜๋‹ˆ  Šต๋‹ˆ๋‹ค.  ˆ๋Œ€ ž‘„•˜๋Š” ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ฝ”๋“œ˜ ค‘๊ฐ„—„œ Exception„ žก•„„œ ‚ผผœ๋ฒ„๋ฆฌง€ ๋งˆ„š”. Exception€ ถ”›„ debugging—  ˆ๋Œ€ ธ  •๋ณด๋ฅผ ๋‹ด๊ณ  žˆŠต๋‹ˆ๋‹ค. ค‘๊ฐ„— try ~ catch ๋กœ žก•„๋ฒ„๋ฆฌ๊ณ , –ด๋– •œ ˜•ƒœ๋กœ๋„ •Œ๋ คฃผง€ •Š๋Š”๊ฒƒ€ ƒ๋‹นžˆ œ„—˜•ฉ๋‹ˆ๋‹ค. ‹œ๊ฐ„ด ๋‚˜๋ฉด ด™€ ๊ด€๋ จ•ด„œ ๋”  ๋„๋ก •˜ง€š”. --ด„ šฐ


ฝ”๋“œ กฐ–ธ
~cpp 
    static synchronized public SocketManager getInstance() {
        if (instance == null) {
            instance = new SocketManager();
        }
        return instance;
    }

œ„˜ ๋ฐฉ‹ ๋Œ€‹  •„๋ž˜ฒ˜๋Ÿผ...

~cpp 
    public static SocketManager getInstance() {
        if (instance == null) {
            synchronized( this ) {
                if (instance == null) {
                    instance = new SocketManager();
                }
            }
        }
        return instance;
    }

System.out.println() ด ๋จธง€•Š•„ žฌ•™„ ๊ฐ€ ธ˜ฌ ๊ฒƒด๋‹ˆ.. --‚ฝˆ ๊ณ„‹œ๋ก 2žฅ :)


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:06
Processing time 0.0163 sec