[javascript] 자바스크립트 객체 배열 다루기 2가지 함수

javascript 함수 체이닝

javascript map reduce

다음과 같은 객체 배열이 있다고 가정해 보자.

demoArr: [
      {'대상':[1,3]},
      {'테스트':[4,2]}
   ]

여기서 각 객체 안쪽에 있는 키 값중 값에 해당하는 배열들의 맨 마지막 숫자들만 꺼내어 객체 별로 모두 더해 값을 나타내고자 한다.

즉, 위 예시 중 3과 2를 더하고자 한다.

이를 위해 필요하게 된 함수는 map과 reduce 2가지 이다.

 

우선 각 객체 배열을 돌기 위하여 map을 적용 시켜보자.

demoArr.map(obj => Object.values(obj)[0])

여기서 Object.values()를 통해 ‘obj’의 값들을 배열로 반환 후 ‘[0]’을 통해 첫 번째 값을 추출한다.

이유는 배열로 반환 되었으며 항상 첫 번째 값이 원하는 배열이기 때문이다.

중간결과:

[
    [1, 3],
    [4, 2]
]

다음 각 배열의 마지막 요소를 추출하고자 한다.

.map(arr => arr[arr.length - 1])

‘arr.length -1’은 배열의 마지막 인덱스를 의미 하므로 ‘arr’의 마지막 요소를 추출한다.

중간결과:

[
    3,
    2
]

마지막으로 ‘reduce’를 사용하여 마지막 요소들을 모두 더해보자.

.reduce((acc, curr) => acc + curr, 0)

‘acc’는 누적값이며 ‘curr’은 현재 요소다.

초기값은 ‘0’으로 하여 모든 마지막 요소들을 더한다.

최종결과:

5

최총코드:

let result = demoArr
    .map(obj => Object.values(obj)[0]) // 각 객체의 값을 배열로 추출
    .map(arr => arr[arr.length - 1])    // 각 배열의 마지막 요소를 추출
    .reduce((acc, curr) => acc + curr, 0); // 마지막 요소들을 모두 더함

주의사항

첫 번째 map실행시 키가 사라지는 이유!?

Object.values(obj)[0]를 사용하면 객체의 값만을 추출하고, 해당 키는 유지되지 않는다.

Object.values는 객체의 값들로 구성된 배열을 반환할 뿐, 키와 값을 쌍으로 반환하지 않기 때문이다.

이렇게 되면 키 ‘대상’과 ‘테스트’는 최종 결과에서 사라지게 됨.

결국 Object.values(obj)[0]을 사용하면 원래 객체에서 값만 추출되고 키는 사라지게 됨.

따라서 중간 결과에서는 ‘대상’과 ‘테스트’ 키가 더 이상 보이지 않는다.

 

[java] 문자 형변환 관련 4가지 솔루션

java 문자 형변환을 위한 4가지 솔루션 정리

// 문자열 => List -------------------------
// 1. ','구분 나눠서 split배열 생성후 리스트에 넣기
String str = "a,b,c,d,e,f,g"; 
String[] str2 = { "A", "B", "C" }; 
List<String> list = Arrays.asList(str.split(","));
List<String> list2 = Arrays.asList(str2);
List<String> list3 = Stream.of(str2).collect(Collectors.toList());
//[a, b, c, d, e, f, g]
// A B C

// 2. 노멀 솔루션
String string = "Techie Delight";
List<Character> chars = new ArrayList<>();
    for (char ch: string.toCharArray()) {
            chars.add(ch);
        }
//[T, e, c, h, i, e, , D, e, l, i, g, h, t]

// 3. Java 9
String string = "Techie Delight";
List<Character> chars = string.chars() // IntStream
    .mapToObj(e -> (char)e) // Stream<Character>
    .collect(Collectors.toList());
//or
List<Character> chars = IntStream.range(0, string.length())
    .mapToObj(string::charAt)
    .collect(Collectors.toList());

// 4. AbstractList Interface
 public static List<Character> convert(String string) {
        return new AbstractList<Character>() {
            @Override
            public Character get(int index) {
                return string.charAt(index);
            }
            
            @Override
            public int size() {
                return string.length();
            }
        };
    }

 public static void main(String[] args) {
        String string = "Techie Delight";
        System.out.println(convert(string));
    }

// List => 문자열 -----------------------------
List<String> list = new ArrayList<>();
String[] temp = list.toArray(new String[list.size()]);
//or
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

// 정수 배열 => List ------------------------------
int[] arr = {1, 2, 3};
// 1. 반복문 사용하기]
List<Integer> intList = new ArrayList<>();
for(int element : arr) {
    intList.add(element);
}

//2. Stream 사용하기 | boxed()메소드는 Primitive Stream 값들은 Wrapper Class로 바꿔줌
// collect(Collectors.toList())를 이용하여 stream을 list로 변경
List<Integer> intList = Arrays.stream(arr).boxed().collect(Collectors.toList());


// List를 정수 배열로 변환-------------------------------
List<Integer> list = new ArrayList<>();
int[] temp = list.stream().mapToInt(i->i).toArray();

 

[java] 데이터 정제를 위한 관련 메서드4가지

java 데이터 정제를 위한 관련 메서드를 정리해 보고자 합니다.

String 관련 메서드

String  str = "abcde"

str.length(); // str의 길이 반환
str.isEmpty(); // str의 길이가 0이면 true, 아니면 false

str.charAt(2) // 인덱스로 문자 찾기, c 반환
srt.indexOf("c") // 문자로 첫번째 인덱스 찾기, 2 반환
str.lastIndexOf("c") // 문자의 마지막 인덱스 찾기, 2 반환

str.replace('b', 'k') // b를 k로 변경 (akcde)

str.equals("abcde") // str과 abcde를 비교해서 같으면 true, 다르면 false
str.contains("bc") // str에 bc가 포함되어 있으면 true, 아니면 false

str.split(" ") // 띄어쓰기로 구분된 문자열 str을 분리해서 String[] 배열 반환
str.split() // 띄어쓰기 없는 문자열 str을 한 문자씩 분리해서 String[] 배열 반환

str.trim() // str의 앞뒤 공백 제거, 문자열 사이 공백은 제거 X

str.toLowerCase() // 대문자를 모두 소문자로 변경
str.toUpperCase() // 소문자를 모두 대문자로 변경

str.compareTo("abcdd") // 더 봐야할 메서드!!!
/*
str과 abcdd가 같으면 0
str이 abcdd보다 사전순으로 앞이면 -1
str이 abcdd보다 사전순으로 뒤면 1
str과 abcdd가 마지막 문자만 다르면 마지막 문자의 사전순 차이 반환( str 1)
*/

 

StringBuilder 관련 메서드

String은 한 번 만들어지면 문자를 추가하거나 삭제할 수 없는 변경 불가한 타입

StringBuilder는 변경 가능한 타입이므로 문자열을 변경해야 할 시 StringBuilder사용

StringBuilder sb = new StringBuilder();

sb.append("abc") // 문자열 추가
sb.insert(2, "kk") // 2 위치에 kk 삽입(abkkc)

sb.delete(0,2) // 0~1위치의 문자열 삭제(c)
sb.deleteCharAr(2) // 2 위치의 문자 삭제(ac)

sb.setCharAt(0, 'h') // 0 위치의 문자를 h로 변경(hbc)

sb.reverse() //문자열 거꾸로 뒤집기(cba)

sb.setLength(2) // 문자열 길이를 2로 줄임(ab)
sb.setLength(4) // 문자열 길이를 4로 늘림(뒤가 공백으로 채워짐)

List관련 메서드

List<String> list = new ArrayList<>();

list.add("서울") // list의 가장 뒤에 서울 삽입
list.add(1, "대전") // 1 위치에 대전 삽입
list.addAll(list2) // list의 뒤에 list2의 모든 값 삽입

list.get(0) // 0 위치의 값 반환(서울)
list.set(0, "대구") // 0 위치의 값을 대구로 변경

list.indexOf("대구") // 대구의 첫번째 인덱스 반환
list.lastIndexOf("대구") // 대구의 마지막 인덱스 반환

list.remove(0) // 0 위치의 값 삭제
list.remove("대구") // 첫번째 대구 삭제
list.removeAll(list2) // list에서 list2에 들어있는 모든 값을 삭제
list.retainAll(list2) // list에서 list2에 들어있는 값을 제외한 모든 값을 삭제

list.clear() // 전체 값 삭제
list.isEmpty() // 길이가 0이면 true, 아니면 false
list.size() // 길이

list.contains("서울") // 서울이 list에 있으면 true, 없으면 false
list.containsAll(list2) // list에 list2의 모든 값이 포함되어 있으면 true

list.removeIf(k -> k % 2 != 0) // 람다식으로 홀수를 list에서 모두 제거

Collections 관련 메서드

Collections.max(list) // list의 원소 중 가장 큰 값 반환
Collections.min(list) // list의 원소 중 가장 작은 값 반환

Collections.sort(list) // list 오름차순 정렬
Collections.sort(list, Collections.reverseOrder()) // list 내림차순 정렬

Collections.reverse(list) // list 역순 정렬 { 512132, 44, 23, 1412, 1123 }

Collections.frequency(list, 23) // list 내의 23의 갯수 반환

Collections.binarySearch(list, 44)
// 최초로 검색된 44의 인덱스 1 반환
// 없으면 44보다 큰 최초의 위치 2를 찾아서 -1을 곱하고 1을 빼서 반환 (-3)

 

[MariaDB] 마리아DB | CONCAT 예시 3가지

MariaDB 문법 | CONCAT

MariaDB CONCAT 함수
MariaDB CONCAT 함수

문자를 합쳐주는 함수로 다음과 같이 쓰인다.

문자열 합치기 예

 

SELECT CONCAT ('안녕', '하세요') FROM DUAL;

결과: 안녕하세요

 

SELECT CONCAT("나의 취미는 ", "자전거타기 ", "그림그리기 ", "입니다") AS ConcatenatedString;

결과: 나의 취미는 자전거타기 그림그리기 입니다

 

사이띄기 예

 

SELECT CONCAT ('성', ' ', 이름') FROM DUAL;

결과: 성 이름

 

구분자 추가하기 | CONCAT_WS

 

SELECT CONCAT_WS ('-', 성', 이름') FROM DUAL;

결과: 성-이름

참조: https://mariadb.com/docs/server/ref/mdb/functions/CONCAT/

[java] 자바 유저인풋 입력 받기

자바 Scanner를 통한 유저인풋 받는법을 정리하였다.

Scanner scanner = new Scanner(System.in);

System.out.println("이름을 입력하세요");
String name = scanner.nextLine();
System.out.println("몇 살 인가요?");
int age = scanner.nextInt();

System.out.println("안녕 " + name + "야");
System.out.println("너는" + age + "살이야");
메서드기능
nextBoolean()Boolean 읽기
nextByte()Byte 읽기
nextShort()Short 읽기
nextLong()Long 읽기
nextFloat()Float 읽기
nextDouble()Double 읽기
next()string 읽기 | 띄어쓰기 뒷부분 읽지 않음
nextLine()Line 읽기
nextInt()Int 읽기

[옵시디언] Obsidian 기본 마크업 정리 20가지

옵시디언 기본 마크업 정리

옵시디언 기본 마크업 정리

메모를 효율적으로 사용하고 관리하기 위해 옵시디언 이라는 앱을 사용해 보려합니다. 마크업 언어로 다뤄질 수 있으며 더 자세한 내용은 옵시디언 홈페이지 도큐멘테이션을 참고하여 계속 공부해 나갈 예정입니다.

볼드체 만들기

ctrl+b 혹은 **텍스트**

이탤릭체 만들기

*텍스트*

글자 밑줄 만들기

_텍스트_

링크텍스트 만들기

[텍스트](www.google.com)

헤딩만들기

#, ##, ###, ####

중간에줄 만들기

~~텍스트~~

페이지링크 걸기

어저꾸 저쩌구 [[페이지제목]]

페이지링크중 제목으로 이동하기

[[페이지제목#제목]]

페이지링크중 제목 컨텐츠를 보이게 하기

![[페이지제목#제목]]

페이지링크중 아무 컨텐츠를 하이라이트하기

![[페이지제목^아무컨텐츠]]

해시태그

#

이미지넣기

![title](qwery.jpg)

인용문구 추가하기

>

점선

코드블럭 넣기

 

“` javascript (혹은 원하는 언어 적기!)

Code inside here

“`

투두리스트 만들기

– [ ] 혹은 – [x]

테이블 만들기

행제목 | 행제목

—— | ——

테스트 | 테스트

콜아웃 만들기

  • > [!INFO]
  • > [!INOTE]
  • > [!warning]

콜아웃 종류:

풋노트 만들기

[^1]

[^1]: This is footnotes

다이어그램 만들기

“`mermaid

sequenceDiagram

A->>+B: Gooday mate!

A->>+B: How’s it goin?

B->>-A: Not bad, How about ya

“`

또한 <iframe> 태그를 이용하여 유튜브 영상 포스트가 가능합니다.

Annotator라는 플러그인을 사용하여 pdf 밑줄 기능과 태그 기능을 활용 하여 포스트 작성 가능합니다.

여러가지 익혀보며 예시에 대한 글을 다음 포스트에 작성하면서 수정해 나가 보도록 하겠습니다.

 

감사합니다!

[java] 윈도우 자바 환경 변수 설정

윈도우기준 자바 설치

교육받을 당시 자바 11대 버전을 추천하여 다운로드 하여 진행하게 되었습니다.

처음은 역시 환경이 설정이 되어야 공부를 진행 할 수 있을 것 같아

자바 환경 변수에 대해 배웠던 점을  작성하게 되었습니다.

자바11다운받기

위 사이트에서 회원가입후 다운로드하여 설치하면 아래와 같이 나오게 됩니다.

경로를 우선 복사해 둡시다.

내 pc를 오른쪽 클릭하여 속성에 들어갑니다.

고급 시스템 설정 – 고급 탭 – 환경 변수로 진입합니다.

사용 하고 있는 컴퓨터의 전반적으로 시스템 변수를 주기 위해 하단 ‘새로 만들기’ 버튼을 클릭합니다.

변수이름에 JAVA_HOME 을 입력, ‘변수 값’ 에 위에서 복사해둔 경로를 붙혀 넣습니다.

이때 \bin은 지우고 아래처럼 입력해줍니다.

다음으로 path설정을 합니다. 시스템 변수 에서 ‘Path’를 더블클릭합니다.

환경 변수 편집 창이 새로 뜨면 ‘새로 만들기’ 버튼을 클릭하여 이번엔 ‘\bin’이 포함된 주소를

넣어 확인을 눌러줍니다.

환경변수 설정을 마쳤습니다! 그럼이제 확인을 해 볼까요?

명령 프롬프트를 열어 아래와 같이 실행을 해 봅시다.

java -version과 javac를 잘 불러와지는 것을 볼 수 있습니다.

우선 메모장으로 첫 자바 코딩을 해 봅시다.

무언가 이런저런 명령어가 많군요? 차근차근 해 보도록 해볼께요!

이제 첫 프로그램을 만들 준비는 되었습니다. 위에서 작성 후 저장된 장소에서 cmd를 열어

javac HelloJava.java라는 명령어를 치고 엔터를 눌러 줍니다.

오! class 라는 확장자를 가진 파일이 하나 생겼습니다!

이제 자바명령어를 한 번 더 입력하여 실행을 시켜봅시다.

HelloJava라는 글자가 나오는 첫 프로그램을 완성하였습니다!

[추석선물] 추석에 선물하기 좋은 것들 주제 10가지 추천

추석은 한국에서 가장 중요한 명절 중 하나로, 가족과 친지들이 모여 감사와 화목을 나누는 특별한 시간입니다.

이런 소중한 순간에 선물을 주고 받는 것은 감사의 마음을 표현하고, 다른 이들에게 기쁨을 선사하는 좋은 방법 중 하나입니다.

이번 글에서는 추석선물에 좋은 아이디어를 몇 가지 추천해 드리겠습니다.

 

  1. 한복: 한국의 전통 의상인 한복은 추석 때 입기에 아주 어울립니다.
    가족 구성원들에게 한복을 선물하면 특별한 날의 분위기를 더욱 강조하고, 함께 기념할 수 있습니다.
  2. 한식 재료 세트: 추석에는 한식을 맛보는 것이 중요합니다. 한국의 전통적인 음식 재료를 담은 세트를 선물하면 가족들과 함께 맛있는 음식을 만들고 즐길 수 있습니다.
    고추장, 간장, 된장, 김 등의 재료를 담은 세트가 인기 있습니다.
  3. 차 선물세트: 한국인들은 차를 즐기는 문화가 깊어서 다양한 차 선물세트가 인기입니다.
    녹차, 홍차, 한방차 등을 담은 다채로운 차 선물세트를 선택할 수 있습니다.
  4. 과일 선물바구니: 추석은 풍성한 수확의 계절이기 때문에 신선한 과일을 담은 바구니는 항상 좋은 선물 아이디어입니다.
    대추, 배, 사과, 참다래 등 다양한 과일을 포함한 바구니를 고르세요.
  5. 한국 전통 간편 요리 세트: 한국 요리를 즐기지만 시간이 부족한 분들을 위해 전통 간편 요리 세트가 있습니다.
    떡볶이, 라면, 만두, 김밥 등을 만들 수 있는 재료와 레시피가 포함된 세트가 있습니다.
  6. 화장품 세트: 여성들에게는 한국의 화장품 브랜드에서 나오는 화장품 세트가 인기 있습니다.
    스킨케어 제품, 립스틱, 아이섀도우 등을 담은 세트로 아름다움을 선물하세요.
  7. 한국주류: 한국의 전통주인 막걸리, 소주, 미주 등은 추석 모임을 더욱 화기애애하게 만들어 줄 수 있는 아이템입니다.
    특히, 막걸리와 전통 주류를 선호하는 가족에게는 좋은 선택입니다.
  8. 예술 작품: 한국의 예술과 공예품은 고요하고 아름다운 선물 아이디어입니다.
    도예, 서예, 한지 예술 등을 담은 작품을 선물하면 센스 있는 기념품이 될 것입니다.
  9. 허브나 식물 선물: 허브나 식물은 실내에서 키우기 쉬우며, 상쾌한 분위기를 조성할 수 있습니다.
    특히 추석에는 집안을 화사하게 꾸미는 데 도움이 됩니다.
  10. 핸드메이드 선물: 직접 만든 핸드메이드 선물은 진심 어린 감사의 마음을 전달하는 좋은 방법입니다.
    니팅, 목공예, 귀금속 제작 등 자신의 솜씨를 뽐내 보세요.

 

추석은 가족과 함께하는 소중한 시간이므로 선물은 그 마음을 나타내는 작은 표현입니다. 가족 구성원들의 취향과 관심사를 고려하여 선물을 고르면 더욱 의미 있는 것이 될 것입니다.

무엇보다, 감사와 사랑의 마음을 선물에 담아 전달하는 것이 중요합니다.

추석을 풍성하고 행복한 시간으로 만들기 위해 최선을 다하시길 바랍니다.

[습관] 건강한 습관을 키우는 법 4가지

안녕하세요, 건강한 습관을 찾아가는 여정에 함께하신 여러분들께 환영합니다!

저는 건강과 웰빙에 대한 열정을 갖고 있는 블로그주인장 입니다.. 오늘은 건강한 습관을 키우는 법에 관해 이야기하려고 합니다.

건강이란 가장 소중한 자산 중 하나이며, 올바른 습관을 통해 우리는 건강한 삶을 살 수 있습니다. 그럼 시작해봅시다!

 

건강한 습관을 키우는 법은 간단하지만 꾸준한 노력이 필요합니다.

여기에는 몸과 마음 모두를 포함한 다양한 측면이 포함되어 있으며, 이를 효과적으로 수행하기 위한 몇 가지 핵심 원칙을 공유하고자 합니다.

 

1. 규칙적인 운동 습관만들기

건강한 습관을 시작하는 가장 중요한 단계 중 하나는 규칙적인 운동입니다. 매일 산책을 하거나 주간에 몇 번씩 운동을 하는 것은 몸을 강화하고 건강을 유지하는 데 큰 도움이 됩니다.

또한 운동은 스트레스를 감소시키고 긍정적인 에너지를 공급하는 데도 도움을 줍니다.

 

2. 균형 잡힌 식단습관만들기

올바른 식사 습관은 건강에 중요한 영향을 미칩니다. 과일, 채소, 단백질, 그리고 건강한 지방을 포함한 다양한 식품을 섭취하여 몸에 필요한 영양소를 공급하세요.

식이섬유와 물 섭취도 잊지 말아야 합니다. 식사 후 적절한 소화 시간을 주는 것도 중요합니다.

 

3. 충분한 수면 습관만들기

수면은 우리 건강에 큰 영향을 미치는데, 몸의 회복과 정신적인 안정에 필수적입니다. 일정한 수면 패턴을 유지하고

스마트폰이나 컴퓨터 사용을 적절히 제한하여 깊고 편안한 수면을 취하세요. 충분한 수면은 당신을 더 활기차고 건강하게 유지하는데 도움을 줄 것입니다.

 

4. 스트레스 관리 습관만들기

스트레스는 우리 건강에 해를 끼칠 수 있는 주요한 요인 중 하나입니다. 휴식과 리프레싱한 활동을 통해 스트레스를 관리하고 마음의 평화를 유지하세요.

명상, 요가, 혹은 취미 활동을 통해 긍정적인 에너지를 얻을 수 있습니다.

 

건강한 습관을 키우는 것은 우리의 삶을 긍정적으로 변화시킬 수 있는 중요한 스텝입니다. 이러한 습관들을 통해 우리는 더 건강하고 행복한 인생을 살 수 있습니다.

이 블로그에서는 건강한 습관과 웰빙에 관한 다양한 주제를 다룰 것이며, 여러분의 건강한 라이프스타일을 돕기 위한 팁과 조언을 제공할 것입니다. 함께 건강한 습관을 찾아가는 이 여정을 시작해보세요!

더 많은 유용한 정보와 조언을 위해 계속해서 방문해 주시기 바랍니다.

건강한 삶을 위한 지원이 되어드리겠습니다. 감사합니다!

[정신수양] 마음을 기르는 정신수양: 평화로운 삶의 길을 찾는 방법 11가지

일상 생활에서의 스트레스와 갈등, 소셜 미디어의 독려, 업무와 가정의 압박 등으로 인해 우리의 마음과 정신은 종종 어려운 시간을 보내곤 합니다.

이 모든 것에 대응하면서도 내적 평화와 안정을 찾는 것은 중요합니다.

이 글에서는 정신수양의 중요성과 그를 위한 몇 가지 방법을 살펴보겠습니다.

 

정신수양이란 무엇인가요?

정신수양은 마음과 정신의 평화와 안정을 찾는 과정을 의미합니다. 이것은 단순히 스트레스를 풀거나 긍정적인 생각을 가지는 것뿐만 아니라

내적으로 균형을 찾고, 온전한 삶을 살아가는 것을 의미합니다. 정신수양을 통해 우리는 내면의 평화를 찾고 더 나은 삶의 방향을 찾을 수 있습니다.

 

정신수양을 위한 중요성

  1. 스트레스 관리: 정신수양은 스트레스를 효과적으로 관리하는 데 도움이 됩니다. 스트레스는 건강에 해로울 수 있으며, 마음의 안정을 유지하는 것이 스트레스의 부정적인 영향을 줄이는 데 도움이 됩니다.
  2. 자기 인식과 성장: 정신수양은 자기 자신을 더 잘 이해하고 자기 인식을 향상시키는 데 도움이 됩니다. 이를 통해 자기 자신을 수용하고 발전시킬 수 있습니다.
  3. 건강한 관계: 마음이 평화로운 상태에서 더 나은 대인 관계를 구축할 수 있습니다. 자신과 다른 사람들 간의 이해와 공감은 건강한 관계의 기초입니다.
  4. 창의성과 문제 해결 능력: 정신수양은 창의성과 문제 해결 능력을 향상시키는 데 도움이 됩니다. 내적 평화를 찾으면 새로운 아이디어를 찾고 문제를 더 효과적으로 해결할 수 있습니다.

 

정신수양을 위한 방법

  1. 마음의 평화를 찾는 시간: 일상 생활에서 마음을 쉬게 하고 내면의 평화를 찾는 시간을 가져보세요. 명상, 요가, 독서, 자연에서의 산책 등이 도움이 될 수 있습니다.
  2. 긍정적인 생각: 부정적인 생각을 긍정적으로 바꾸려 노력하세요. 자신에게 긍정적인 말을 해주고, 고맙다고 생각하는 습관을 기르세요.
  3. 감정 관리: 감정을 인식하고 관리하는 방법을 배우세요. 감정을 무시하지 않고 받아들이는 것이 중요합니다.
  4. 건강한 식습관: 영양을 고려한 식사를 하고 충분한 수면을 취하세요. 신체 건강은 마음의 건강과 연결되어 있습니다.
  5. 사회적 연결: 가족이나 친구들과 소통하고 시간을 보내세요. 사회적 연결은 마음을 건강하게 유지하는데 중요합니다.
  6. 학습과 성장: 새로운 기술을 배우거나 취미를 개발하여 지식과 기술을 향상시키세요. 지적인 자극은 정신적인 풍요로움을 제공합니다.
  7. 전문가와 상담: 정신건강 전문가와 상담을 통해 자신의 문제를 이해하고 조언을 얻을 수 있습니다.

 

정신수양은 일상 생활의 일부로 편입시키기 어려운 것이 아닙니다. 소소한 변화와 노력을 통해 내면의 평화와 안정을 찾을 수 있으며,

그 결과로 더 풍요로운 삶을 누릴 수 있습니다. 마음을 기르고 정신적인 건강을 케어하는 것은 더 나은 미래로의 첫 걸음입니다.