์ „์ฒด ๊ธ€

๐Ÿ‘ฉ‍๐Ÿ’ป java, mysql, android, php, javascript๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค
ยท Android
fcm์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์—ฌ๋Ÿฌ ์„ธํŒ…์„ ํ•˜๋˜ ๋„์ค‘์—, ์ƒˆ๋กœ์šด ํ† ํฐ์€ ๋ฐœ๊ธ‰ ๋ฐ›์•˜์œผ๋‚˜ ์ƒˆ ํ† ํฐ์ด ๋ถˆ๋Ÿฌ์™€์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. public class MyFirebaseMessagingService extends FirebaseMessagingService { String CHANNEL_ID; String CHANNEL_NAME; int userId; ChatApiService service; private static final String TAG = "FCM Service"; // ์„œ๋น„์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ํ˜ธ์ถœ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ FCM ํ† ํฐ์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. @Override public void onCreate() { super.onCreate(); userId = SharedPreferencesHelper..
๋‹ค์Œ์€ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด Clean Code(ํด๋ฆฐ ์ฝ”๋“œ)๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ํ–‰ ๊ธธ์ด๋ฅผ ์œ ์ง€ํ•˜๋ผ 500์ค„์„ ๋„˜์–ด๊ฐ€์ง€ ์•Š๊ณ  ๋Œ€๋ถ€๋ถ„ 200์ค„ ์ •๋„์ธ ํŒŒ์ผ๋กœ๋„ ์ปค๋‹ค๋ž€ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์ด๋‹ค. ๋ฐ˜๋“œ์‹œ ์ง€ํ‚ฌ ์—„๊ฒฉํ•œ ๊ทœ์น™์€ ์•„๋‹ˆ์ง€๋งŒ, ๋ฐ”๋žŒ์งํ•œ ๊ทœ์น™์œผ๋กœ ์‚ผ์•˜์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํฐ ํŒŒ์ผ๋ณด๋‹ค ์ž‘์€ ํŒŒ์ผ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ์ˆ˜์ง๊ฑฐ๋ฆฌ ์„œ๋กœ ๋ฐ€์ ‘ํ•œ ๊ฐœ๋…์€ ์„ธ๋กœ๋กœ ๊ฐ€๊นŒ์ด ๋‘ฌ์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก  ๋‘ ๊ฐœ๋…์ด ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์— ์†ํ•œ๋‹ค๋ฉด ๊ทœ์น™์ด ํ†ตํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ, ํƒ€๋‹นํ•œ ๊ทผ๊ฑฐ๊ฐ€ ์—†๋‹ค๋ฉด, ์„œ๋กœ ๋ฐ€์ ‘ํ•œ ๊ฐœ๋…์€ ํ•œ ํŒŒ์ผ์— ์†ํ•ด์•ผ ๋งˆ๋•…ํ•˜๋‹ค. ์ด๊ฒŒ ๋ฐ”๋กœ protected ๋ณ€์ˆ˜๋ฅผ ํ”ผํ•ด์•ผ ํ•˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๋‹ค. (protected ๋ณ€์ˆ˜ : ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„(๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ)์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์•ผ ํ•  ..
EXPRESSIONS SENTENCE DEFINITION make it up to So I thought of a few ways you guys can make it up to me. ๋ณด์ƒํ•ด์ฃผ๋‹ค hard drugs
๋‹ค์Œ์€ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด Clean Code(ํด๋ฆฐ ์ฝ”๋“œ)๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋‚˜์œ ์ฝ”๋“œ์— ์ฃผ์„์„ ๋‹ฌ์ง€ ๋งˆ๋ผ. ์ƒˆ๋กœ ์งœ๋ผ. - ๋ธŒ๋ผ์ด์–ธ W.์ปค๋‹ˆํ•ธ, P.J. ํ”Œ๋ผ์šฐ๊ฑฐ - ์ฃผ์„์€ ํ•„์š”์•… ์ฃผ์„์€ '์ˆœ์ˆ˜ํ•˜๊ฒŒ ์„ ํ•˜์ง€' ๋ชปํ•˜๋‹ค. ์‚ฌ์‹ค ์ƒ ์ฃผ์„์€ ๊ธฐ๊ปํ•ด์•ผ ํ•„์š”์•…์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด๊ฐ€ ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•˜๋‹ค๋ฉด, ์•„๋‹ˆ ์šฐ๋ฆฌ์—๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์น˜๋ฐ€ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด ์˜๋„๋ฅผ ํ‘œํ˜„ํ•  ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๋ฉด, ์ฃผ์„์€ ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฆฌ๋ผ. ์•„๋‹ˆ, ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฆฌ๋ผ. ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•ด, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์‹คํŒจ๋ฅผ ๋งŒํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์„์„ ์‚ฌ์šฉํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ์‹คํŒจ๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ผ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ฃผ๋ชฉํ•œ๋‹ค. ์ง„์‹ฌ์ด๋‹ค. ์ฃผ์„์€ ์–ธ์ œ๋‚˜ ์‹คํŒจ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋•Œ๋•Œ๋กœ ์ฃผ์„ ์—†์ด๋Š” ์ž์‹ ์„ ํ‘œํ˜„ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ ๋ชปํ•ด ํ•  ์ˆ˜ ์—†์ด ์ฃผ์„์„ ์‚ฌ์šฉํ•œ..
๋‹ค์Œ์€ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด Clean Code(ํด๋ฆฐ ์ฝ”๋“œ)๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ! ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ฒซ์งธ ๊ทœ์น™์€ '์ž‘๊ฒŒ!'๋‹ค. ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋‘˜์งธ ๊ทœ์น™์€ '๋” ์ž‘๊ฒŒ!'๋‹ค. public static String renderPageWithSetupsAndTeardowns( pageData pageData, boolean isSuite) throws Exception{ if(isTestPage(pageData)) includeSetupTeardownPages(pageData, isSuite); return pageData.getHtml(); } ๋ธ”๋ก๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ ๋‹ค์‹œ๋งํ•ด, if ๋ฌธ/else๋ฌธ/while ๋ฌธ ๋“ฑ์— ๋“ค์–ด๊ฐ€๋Š” ๋ธ”๋ก์€ ํ•œ ์ค„์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ํ•œ ๊ฐ€์ง€๋งŒ ํ•ด๋ผ! ํ•จ์ˆ˜๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ํ•ด์•ผ..
๋‹ค์Œ์€ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด Clean Code(ํด๋ฆฐ ์ฝ”๋“œ)๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ "์˜๋„๊ฐ€ ๋ถ„๋ช…ํ•˜๊ฒŒ ์ด๋ฆ„์„ ์ง€์œผ๋ผ"๋ผ๊ณ  ๋งํ•˜๊ธฐ๋Š” ์‰ฝ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์˜๋„๊ฐ€ ๋ถ„๋ช…ํ•œ ์ด๋ฆ„์ด ์ •๋ง๋กœ ์ค‘์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ฑฐ๋“ญ ๊ฐ•์กฐํ•œ๋‹ค. ์ข‹์€ ์ด๋ฆ„์„ ์ง€์œผ๋ ค๋ฉด, ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€๋งŒ ์ข‹์€ ์ด๋ฆ„์œผ๋กœ ์ ˆ์•ฝํ•˜๋Š” ์‹œ๊ฐ„์ด ํ›จ์”ฌ ๋” ๋งŽ๋‹ค. public List getThem(){ List list1 = new ArrayList(); for(int[] x : theList) if(x[0] == 4) list1.add(x); return list1; } ๋‹ค์Œ ์ฝ”๋“œ๋Š” ๋ฌด์—‡์„ ํ• ๊นŒ? (theList์— ์ €์žฅ๋œ ๋ฐฐ์—ด๋“ค ์ค‘์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ 4์ธ ๋ฐฐ์—ด๋“ค์„ ์ถ”์ถœํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ) ๋‹ค์Œ์€ theList๋ฅผ ์ถ”๋ก ํ•œ ํ˜•ํƒœ์ด๋‹ค. the..
๋‹ค์Œ์€ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด Clean Code(ํด๋ฆฐ ์ฝ”๋“œ)๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์›์ดˆ์  ๋‚œ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ทผ๋ณธ์ ์ธ ๊ฐ€์น˜์—์„œ ๋‚œ์ œ์— ๋ด‰์ฐฉํ•œ๋‹ค. ํ•œ ๋‘ํ•ด ์ด์ƒ ์šฐ๋ฆฌ ๋ถ„์•ผ์— ๋ชธ๋‹ด์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ๋‚˜์œ ์ฝ”๋“œ๊ฐ€ ์—…๋ฌด ์†๋„๋ฅผ ๋Šฆ์ถ˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ตํžˆ์•ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ธฐํ•œ์„ ๋งž์ถ”๋ ค๋ฉด ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์–‘์‚ฐํ•  ์ˆ˜๋ฐ–์— ์—†๋‹ค๊ณ  ๋Š๋‚€๋‹ค. ์ง„์งœ ์ „๋ฌธ๊ฐ€๋Š” ๋‘๋ฒˆ์งธ ๋ถ€๋ถ„์ด ํ‹€๋ ธ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ž˜ ์•ˆ๋‹ค. ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์–‘์‚ฐํ•˜๋ฉด ๊ธฐํ•œ์„ ๋งž์ถ”์ง€ ๋ชปํ•œ๋‹ค. ์˜คํžˆ๋ ค ์—‰๋ง์ง„์ฐฝ์ธ ์ƒํƒœ๋กœ ์ธํ•ด ์†๋„๊ฐ€ ๊ณง๋ฐ”๋กœ ๋Šฆ์–ด์ง€๊ณ , ๊ฒฐ๊ตญ ๊ธฐํ•œ์„ ๋†“์นœ๋‹ค. ๊ธฐํ•œ์„ ๋งž์ถ”๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋นจ๋ฆฌ ๊ฐ€๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€, ์–ธ์ œ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ตœ๋Œ€ํ•œ ๊นจ๋—ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ์Šต๊ด€์ด๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ์ œ๋Œ€๋กœ ํ•œ๋‹ค ๋งˆ์ง€๋ง‰์œผ๋กœ ๋น„์•ผ๋„ค๋Š” ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€ ํ•œ๊ฐ€์ง€๋ฅผ..
์—ฌ๋Š๋•Œ์ฒ˜๋Ÿผ ์ฝ”๋“œ๋ฅผ ์“ฐ๋‹ค๊ฐ€ ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ง„๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. '์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•ด์•ผ ํ•˜์ง€ ์•Š์„๊นŒ?' ๋ณต์žกํ•˜๊ฒŒ, ์ค‘๋ณต๋˜๊ฒŒ ์ง  ์ฝ”๋“œ๋Š” output์„ ๋‚ด๋Š” ๊ฒƒ์„ ๋”๋””๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๊ฐœ์„ ์œผ๋กœ, 'clean code' ์ฑ…์„ ์ฝ๊ณ  ์œ ์ตํ•œ ๊ตฌ์ ˆ์„ ํ•„์‚ฌ๋กœ ๋‚จ๊ธฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์ด๋ฅผ ์ ์šฉํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์ด ๋‘๊ป๊ณ , ์ฝ๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด์ง€ ์•Š๊ธฐ์— ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ˜„์žฌ์ƒํ™ฉ์—์„œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋”๋ผ๋„ ๊น”๋”ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์žฅ๊ธฐ์ ์œผ๋กœ ํฐ ๋„์›€์ด ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ์ •์งํ•˜๊ณ , ์ฝ”๋“œ์˜ ์ƒํƒœ์— ๊ด€ํ•˜์—ฌ ๋™๋ฃŒ๋“ค์—๊ฒŒ ์ •์งํ•˜๊ณ , ๋ฌด์—‡๋ณด๋‹ค๋„, ์ž๊ธฐ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์ž์‹ ์—๊ฒŒ ์ •์งํ•˜๋ผ๋Š” ๋œป์ด๋‹ค.
becky(์ง€์€)
Know yourself, follow your passion