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.0068 sec