728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 1241

[js] ์†์„ฑ์ด ํฌํ•จ๋œ ํƒœ๊ทธ์˜ ์ •๊ทœ์‹ ๋ณ€ํ™˜

๋ณ€ํ˜•๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ๋ฐœ์ƒ.๊ธฐ์กด ์ฝ”๋“œ.replace(//g, "\r\n") // → ๊ฐœํ–‰ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ ๋ณ€๊ฒฝ ์ฝ”๋“œ.replace(/]*>/g, "\r\n") // ํƒœ๊ทธ(์†์„ฑ ํฌํ•จ) → ๊ฐœํ–‰ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜

Front/JS & jQuery 2025.02.22

[js][datatables] responsive: { details: false }

$('#example').DataTable({ responsive: { details: false }});์˜๋ฏธ:responsive: DataTables์—์„œ ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ปฌ๋Ÿผ์„ ์ˆจ๊ธฐ๊ฑฐ๋‚˜ ํ‘œ์‹œํ•˜์—ฌ ๋ฐ˜์‘ํ˜• UI๋ฅผ ์ง€์›ํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.details: false: ๋ฐ˜์‘ํ˜• ์ฒ˜๋ฆฌ ์‹œ ์ˆจ๊ฒจ์ง„ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ƒ์„ธ ์ •๋ณด ํ‘œ์‹œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.๋™์ž‘ ๋ฐฉ์‹:responsive๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ํ™”๋ฉด ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์งˆ ๋•Œ ์ผ๋ถ€ ์ปฌ๋Ÿผ์ด ์ˆจ๊ฒจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ, ์ˆจ๊ฒจ์ง„ ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋Š” ํด๋ฆญ ์‹œ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒ์„ธ ๋ณด๊ธฐ(details ๊ธฐ๋Šฅ)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.details: false๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ด ์ƒ์„ธ ๋ณด๊ธฐ ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋˜์–ด, ์ˆจ๊ฒจ์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„์˜ˆ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.  ๊ธฐ๋ณธ ์„ค์ • (d..

Front/JS & jQuery 2025.02.21

[js][datatables] fnRecordsDisplay()

if (this.$table.dataTable().fnSettings().fnRecordsDisplay() > 0) { // Execute logic if there are records displayed}this.$table.dataTable()DataTable ์ธ์Šคํ„ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค..fnSettings()DataTables์˜ ๋‚ด๋ถ€ ์„ค์ • ๊ฐœ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค..fnRecordsDisplay()์ ์šฉ๋œ ํ•„ํ„ฐ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ํ˜„์žฌ ํ‘œ์‹œ๋œ ๋ ˆ์ฝ”๋“œ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Front/JS & jQuery 2025.02.20

[JAVA] Optional ์ฃผ์˜ํ•  ์ 

โŒ Optional์„ ํ•„๋“œ์— ์‚ฌ์šฉํ•˜์ง€ ๋ง ๊ฒƒclass User { private Optional name; // โŒ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ}โœ” Optional์€ ๋ฉ”์„œ๋“œ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•จโœ” ํ•„๋“œ์—๋Š” null ๋Œ€์‹  ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์  ํ•„๋“œ์—๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ , ๋ฉ”์„œ๋“œ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ๋งŒ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ

JAVA 2025.02.19

[JAVA] Optional์„ ํ™œ์šฉํ•œ ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ

โœ… ๋ฆฌ์ŠคํŠธ๊ฐ€ null์ผ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒฝ์šฐ ์•ˆ์ „ํ•œ ์ฒ˜๋ฆฌList names = null;List safeNames = Optional.ofNullable(names).orElse(Collections.emptyList());for (String name : safeNames) { System.out.println(name);}โœ” null์ด๋ฉด emptyList()๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ NullPointerException ๋ฐฉ์ง€โœ” ํ–ฅ์ƒ๋œ for๋ฌธ์—์„œ๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅ

JAVA 2025.02.18

[JAVA] Optional ์ฃผ์š” ๋ฉ”์„œ๋“œ ์ •๋ฆฌ

โœ… ๊ฐ’์ด ์กด์žฌํ•  ๋•Œ๋งŒ ์‹คํ–‰ (ifPresent())Optional optional = Optional.of("Hello");optional.ifPresent(System.out::println); // ์ถœ๋ ฅ: Helloโœ” ๊ฐ’์ด ์žˆ์„ ๋•Œ๋งŒ System.out.println() ์‹คํ–‰โœ” ๊ฐ’์ด ์—†์œผ๋ฉด ์•„๋ฌด ๋™์ž‘๋„ ํ•˜์ง€ ์•Š์Œ โœ… ๊ฐ’์ด ์—†์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • (orElse())String result = Optional.ofNullable(null).orElse("Default Value");System.out.println(result); // ์ถœ๋ ฅ: Default Valueโœ” ๊ฐ’์ด ์—†์œผ๋ฉด "Default Value" ๋ฐ˜ํ™˜ โœ… ๊ฐ’์ด ์—†์„ ๋•Œ ๋™์ ์œผ๋กœ ๊ฐ’ ์„ค์ • (orElseGet())String result = ..

JAVA 2025.02.17

[JAVA] Optional์„ ํ™œ์šฉํ•œ null ์•ˆ์ „ ์ฒ˜๋ฆฌ

โŒ ์ „ํ†ต์ ์ธ null ์ฒดํฌ ๋ฐฉ์‹public String getUserName(User user) { if (user != null) { return user.getName(); } else { return "Unknown"; }} โœ… Optional์„ ์‚ฌ์šฉํ•œ ๊ฐœ์„ ๋œ ๋ฐฉ์‹public String getUserName(User user) { return Optional.ofNullable(user) .map(User::getName) .orElse("Unknown");}โœ” ofNullable()๋กœ null ๊ฐ€๋Šฅ์„ฑ์„ ๊ฐ์‹ธ๊ณ ,โœ” map()์„ ์‚ฌ์šฉํ•ด ์•ˆ์ „ํ•˜๊ฒŒ getName() ํ˜ธ์ถœ,โœ” ๊ฐ’์ด ์—†์œผ๋ฉด orE..

JAVA 2025.02.16

[JAVA] Optional ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

โœ… ๊ฐ’์ด ์žˆ์„ ๋•ŒOptional optional = Optional.of("Hello, World!");System.out.println(optional.get()); // ์ถœ๋ ฅ: Hello, World!โœ” of()๋Š” null์ด ์•„๋‹Œ ๊ฐ’์„ ๊ฐ์Œ€ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, null์„ ๋„ฃ์œผ๋ฉด NullPointerException์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.โœ” get()์„ ์‚ฌ์šฉํ•˜๋ฉด Optional์— ์ €์žฅ๋œ ๊ฐ’์„ ๊บผ๋‚ผ ์ˆ˜ ์žˆ์Œ โœ… ๊ฐ’์ด ์—†์„ ๋•Œ (Optional.empty())Optional optional = Optional.empty();System.out.println(optional.isPresent()); // ์ถœ๋ ฅ: falseโœ” empty()๋Š” ๋น„์–ด ์žˆ๋Š” Optional์„ ์ƒ์„ฑํ•จโœ” isPresent()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์ด ์žˆ๋Š”..

JAVA 2025.02.15

[JAVA] ํ™•์žฅ for๋ฌธ null ์ฒดํฌ

ํ–ฅ์ƒ๋œ for๋ฌธ(enhanced for loop) ๋„ null ์ฒดํฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.์ด์œ :ํ–ฅ์ƒ๋œ for๋ฌธ์€ ๋‚ด๋ถ€์ ์œผ๋กœ Iterator๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ null์„ ์ „๋‹ฌํ•˜๋ฉด null.iterator()๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜์—ฌ NullPointerException ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ ์ฝ”๋“œโŒ ์ž˜๋ชป๋œ ์ฝ”๋“œ (NullPointerException ๋ฐœ์ƒ ๊ฐ€๋Šฅ)for (ResYhIftkUserManagersDTO mng : userchat.getManagers()) { // userchat.getManagers()๊ฐ€ null์ด๋ฉด ์—ฌ๊ธฐ์„œ NullPointerException ๋ฐœ์ƒ System.out.println(mng.getEmail());}โœ… ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ (null ์ฒดํฌ ์ถ”..

JAVA 2025.02.14

[js] ๋น„๋™๊ธฐ ์ฝ”๋“œ์—์„œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

๐Ÿ“Œ setTimeout๊ณผ ๊ฐ™์€ ๋น„๋™๊ธฐ ์ฝ”๋“œ์—์„œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๊ฐ€ ์™ธ๋ถ€ this๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋Š” ์˜๋ฏธโžก ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(=>)๋Š” this๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜์ง€ ์•Š๊ณ , ์„ ์–ธ๋œ ์œ„์น˜์˜ this๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค.โžก ์ผ๋ฐ˜ ํ•จ์ˆ˜(function() {})๋Š” ํ˜ธ์ถœ ๋ฐฉ์‹์— ๋”ฐ๋ผ this๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.์ด ์ฐจ์ด๊ฐ€ setTimeout, setInterval ๊ฐ™์€ ๋น„๋™๊ธฐ ์ฝ”๋“œ์—์„œ this๋ฅผ ์œ ์ง€ํ•˜๋Š”๋ฐ ์˜ํ–ฅ์„ ์ค€๋‹ค๋Š” ์˜๋ฏธ๋‹ค.  โœ… 1. setTimeout์—์„œ ์ผ๋ฐ˜ ํ•จ์ˆ˜(function) ์‚ฌ์šฉ function Timer() { this.seconds = 0; setInterval(function() { this.seconds++; console.log(this.seconds); }, 1000);}cons..

Front/JS & jQuery 2025.02.13
728x90
๋ฐ˜์‘ํ˜•