">

국산 가시홍화 


수입산 일반 홍화 


 무엇이든 국산도 있고, 수입산도 있습니다. 식재료는 우리나라에서 국산을 쳐주죠. 

무엇이 되었든 국산이 최고라고 합니다. 갑자기 집안에 뼈를 다친분들이 많아 좋은게 뭐가 있나 해서 찾아보니 홍화가 아주 좋다고 하네요. 그럼 홍화의 효능을 알아보도록 하겠습니다. 


홍화씨 효능

  전체적으로 뼈 관절 계통의 질환 및 혈액 순환 계통의 질환에 효험이 있다고 합니다. 


1. 장기간 접골이 안될 때

2. 퇴행성 관절염, 골수염, 골형성 부전

3. 뼈가 약한 사람

4. 골다공증

5. 골조승증, 골연화증

6. 갱년기 증세

7. 고혈합

8. 동맥경화

9. 협심증

10. 어혈해소


복용 시 주의 할 점

  여기서 주의해야 할 점은 뼈를 다쳤을 때 수술 또는 깁스를 한 뒤부터 복용하는 것이 좋고, 

산모의 경우 출산 후 홍화를 복용하는 것이 좋다고 합니다. 이유는 뼈가 제대로 자리 잡고 난 뒤

뼈를 튼튼하게 만드는 홍화를 섭취해야 올바르게 나을 수 있고, 산모의 경우 출산 시 골반이

벌어져야 하는데 홍화를 출산 전에 섭취하면 골반이 벌어지기 어렵다고 합니다. 


제품 종류

  홍화씨는 환으로 만들어진 것도 있고, 씨앗을 물에 끓여 먹도록 나오는 제품도 있습니다. 

또 기름을 짜내어 기름을 바로 섭취할 수 있도록 나오는 제품도 있습니다. 

모든 판매처에서 하나같이 하는 말은 홍화씨는 산화되기 쉽다는 것입니다. 

따라서 제품을 구입하고 빠르게 섭취해야 하며 공기중에 오래 보관하면 좋지 않다고 합니다. 


복용 후 부작용

1. 몸에서 열이 난다. 

2. 머리가 아프다. 

3. 속이 쓰리고 아프다.

4. 설사가 난다. 


이때는 복용을 하루나 이틀 정도 멈추고 복용했던 양의 절반 가량만 다시 복용하여 양을 점점 늘려가도록 해야합니다. 

과유불급이라고 합니다. 적은것도, 많은 것도 안좋으니 적당한 양을 맞춰 복용하시기 바랍니다. 

수입산이라고 효과가 전혀 없는 것도 아니고 국산이라 하여 만병통치약인것도 아닙니다. 

같은 종자이고 효능에는 차도가 있을 수 있지만 얼마나 차이나는지까지는 알 수 없어 블로그에 싣는 글은 이정도에서 마무리 하겠습니다. 


뼈를 다치신 분들은 이것을 드시고 확실히 효과를 보신 분이 많은 것 같습니다. 

주변에 골다공증이나, 뼈를 다친 분들에게는 좋은 선물이 될거라 생각합니다. 

  

'생활 > 소소한정보' 카테고리의 다른 글

맥북 한영 키 변환 방법  (0) 2018.02.07
T맴버쉽 vip 영화 예약 하기 & 혜택  (0) 2016.09.27


  • 우분투(Ubuntu)에 Mantis 설치하기


mantis를 설치하기 위해 우선 필요한 것이 php와 DB(MySQL, Oracle 등) 그리고 Apache가 필요하다. 


쉘에서 다음 명령어를 통해 php5를 설치한다. 

apt-get install php5-common php5 libapache2-mod-php5


DB는 MySQL을 사용하였다. MySQL 설치는 다음 명령어를 통해 설치한다. 

apt-get install mysql-server-5.6


Apache는 다음 명령어를 통해 설치한다. 

apt-get install apache2


이렇게 3가지를 설치한 이후 셋팅을 시작하면 된다. 먼저 php부터 설명하겠다. 

1. /etc/php5/apache2/php.ini 파일을 변경해야 한다. 주석이 되있는 부분을 지워서 사용해야 한다. Mantis는 MySqli를 사용하기 때문이다. 

2. DB를 설치하고 서비스를 시작한 다음 데이터베이스를 만들어 준다. 'mantis'라는 이름으로 데이터베이스를 생성했다. 사용하는 계정은 'root'이다. 


3. Apache 설정 전에 Mantis 설정을 해야한다. DB 설정에 관한 것만 하면 된다. mantis의 하위 폴더인 config 폴더 안에 config_inc.php를 수정한다. DB에서 만든 데이터베이스와 계정 및 패스워드를 설정한다. 그리고 Security 부분에 salt 값을 임의로 넣어준다. '16자' 이상 넣어주는 것이 보안에 유리하다. salt 값을 사용하지 않더라도 Mantis를 사용하는데 문제는 없지만 설정이 끝나면 붉은 색으로 표시되는 부분이 싫어서 기본적으로 해줘야 하는 모든 설정을 다 했다. 

4. Apache 설정은 홈 디렉토리를 /var/www로 변경했고, Mantis 폴더를 www안에 복사했다. 그리고 아파치 서비스를 실행한다. 


5. 아래 주소로 접속하여 설정을 진행한다. admin/install.php

이미 설치를 진행하고 찍은 스샷이라 진행하는 이미지와는 다를 수 있다. 

페이지에 접속 한 뒤 설정을 끝내고 나면 가장 아래 있는 install/Upgrad 버튼을 클릭 한다. 



6. 셋팅 된 것과 설정 된 것을 보여주는 화면이다. 여기서 기본적인 config를 사용한다면 붉은 색깔로 표시되면서 기본 config 사용을 하지 말것을 권고한다. 모든 셋팅이 정상적으로 완료되면 다음과 같은 화면이 나타난다. 



7. login_page.php 페이지로 접속한다. 초기 계정 정보는 administrator, root 로 아이디와 패스워드를 사용한다. 로그인 후 패스워드를 변경하면 아무런 경고 없이 정상적인 로그인 페이지를 확인할 수 있다. 



설치를 진행하다 에러가 나거나 궁금한 점이 있다면 아래 글 남겨 주세요. 

같이 고민하고 해결하도록 합시다^^

'시스템 > Linux' 카테고리의 다른 글

톰캣 버전과 JVM 버전 확인하는 방법  (0) 2016.12.20

Fragment


  Fragment는 Activity 내에서 사용할 수 있는 Layer라고 생각하시면 이해하기 쉬울 것 같습니다. 여러개의 Fragment를 하나의 Activity에 조합하여 사용하여 창이 여러개인 UI를 만들 수 있고, 하나의 Fragment를 여러 Activity에서 재사용 할 수 있습니다. 

  Fragment는 자체 생명 주기를 가지고 있습니다. Fragment는 항상 Activity내에 포함되어 있어야 하고, 생명주기는 Host Activity의 생명 주기에 직접적으로 영향을 받습니다. 원래 도화지가 없어졌는데 그 위에 Layer가 존재할 수 없겠죠? 예를 들어 Activity가 일시 정지 되는 경우 Activity안에 있는 모든 Fragment도 일시정지 되며 소멸 시에도 동일합니다. Fragment 트랜젝션을 수행할 때 Activity가 관리하는 백 스택에도 추가할 수 있습니다. 

  아래 그림은 Fragment를 사용하여 태블릿에서 조합하여 사용하거나, 스마트폰에서 분리해서 사용할 수 있다는 설명을 보여줍니다. 이하 더 자세한 설명은 개발자 페이지에서 확인해주세요. (https://developer.android.com/guide/components/fragments.html?hl=ko)

[출처: Google Developer]




구현


  Fragment는 일반적으로 Activity의 사용자 인터페이스의 일부로 사용되며 자체 레이아웃으로 Activity에 표현 가능합니다. 

Fragment에서 레이아웃을 사용하려면 반드시 onCreateView() 콜백 메서드를 구현해야 합니다. 그리고 이 메서드는 반드시 View를 반환해야 합니다. 


  다음 예는 Fragment의 서브 클래스로 example_fragment.xml 파일로부터 레이아웃을 읽어 옵니다. 

public static class ExampleFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.example_fragment, container, false);
    }
}

  onCreateView()로 전달된 container 매개변수가 상위 ViewGroup이며 이는 Activity의 레이아웃으로부터 온 것입니다. 이 안에 Fragment 레이아웃이 삽입 됩니다. savedInstanceState는 true, false로 값을 정할 수 있는데 false 일 때는 레이아웃에 중복된 ViewGroup을 생성하지 못하게 하는 것입니다. 간단하게 말하면 각 각의 Fragment 레이아웃 중복 없이 사용하고 싶다면 savedInstanceState를 false로 사용해야 합니다. 



Fragment 관리


  Activity내에서 Fragment를 사용하기 위해서 FragmentManager을 사용해야 합니다. Activity에서 getFragmentManager()를 호출하면 됩니다. 

  ● FragmentManager fragmentManager = getFragmentManager();


  FragementManager을 통해 할 수 있는 일중에 몇 가지를 예를 들어보겠습니다. 

  ● Activity내에 존재하는 Fragment를 findFragmentById()로 가져오거나 findFragmentByTag()로 가져올 수 있습니다. 

  ● popBackStack()을 사용하여 Fragment를 백스택에서 꺼낼 수 있습니다. 

  ● 백스택 변경 내용이 있는지 확인하기 위해 addOnBackStackChangedListener()로 리스너를 등록할 수 있습니다. 



Fragment 트랜젝션


  FragmentTransaction의 인스턴스를 FragmentManager로부터 가져오는 방법은 아래와 같습니다. 

  ● FragmentManager fragmentManager = getFragmentManager(); 

  ● FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();


Transaction에서 add(), remove(), replace()와 같은 메서드를 사용할 수 있습니다. 그리고 마지막에 반드시 commit()를 호출해야 합니다. commit() 호출 전 해야할 것이 있는데 addToBackStack()입니다. fragment transaction은 activity가 관리하며 이를 통해 사용자가 back 버튼을 이용하여 이전 fragment로 돌아갈 수 있습니다. 

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();


Activity와의 통신


  Fragment에서 activity의 인스턴스에 엑세스 하려면 getActivity()를 사용합니다.

  ● View listView = getActivity().findViewById(R.id.list);


  반대로 activity에서도 fragment 안의 메서드를 호출할 수 있습니다. 이 때 FragmentManager을 사용하여 Fragment에 대한 참조를 가져와야 합니다. 

  ● ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);



정리

  Fragment는 activity위에 레이아웃을 그릴 수 있는 ViewGroup 중 하나입니다. 따라서 activity와 생애를 같이 합니다. Activity에서 Fragment를 다루려면 FragmentManager가 필요하고 getFragmentManager()을 통해 사용이 가능합니다. 그리고 fragment를 추가, 제거 할 때 즉 transaction이 발생할 때 FragmentTransaction을 사용합니다. 


  다음 글에서는 실제 코드를 가지고 어떻게 fragment를 활용했는지 알아보도록 하겠습니다. 

언어 치료사들이 모여 카페를 개설하고 지금은 책도 여러권 만든 예꿈 교육에 대해 알아보도록 하겠습니다. 



지금 다양한 책들이 나왔는데 치료사들과 부모님들에게 가이드 역할을 해줄 수 있는 책이라 더 좋은 것 같아요. 사회성을 다룬 책이 없어서 아이들을 어떻게 가르쳐야 될지 고민을 많이한 결과물이라고 생각됩니다. 

저 위의 책 중 '사회성을 길러주는 우리 아이 언어치료' 라는 책은 삽화 + 야이기로 이뤄져있어서 그림을 아이에게 보여주면서 글을 읽어주면서 교육하기 좋은 것 같아요. 사회적 기술, 기본적인 예절, 사회적 상황에 대한 대처방법 등을 배울 수 있는 책입니다. 

책으로 배우는 것에 한계는 있겠지만 이런 사회성에 대해 미리 책으로 배울 수 있다면 아이에게도 더 도움이 되지 않을까 생각해요. 


'사회성 쑥쑥 화용언어 치료'는 어떻게 말할지에 초점을 두고 집필된 책이에요. 객관식으로 구성된 문제를 통해 각 상황에서 어떤 말을 해야할지 생각해 볼 수 있는 책이에요. 아이들에게 이 책을 가지고 교육할 때 '답 찾기'에 집중하기 보다 '답이 아닌 이유'에 대한 질문을 해보면 아이들이 어떤 부분에서 어려워 하는지 잘 알 수 있을거라 생각됩니다. 


이 외에도 여러 책이 있는데 현재까지 사회성에 관한 책이 대다수이고, 이런 책을 통해 사회성이 부족한 아이에게 일어날 수 있는 일들을 책으로 정리되어 가르칠 수 있어서 좋은 것 같아요. 


'책 이야기' 카테고리의 다른 글

유시민의 글쓰기 특강  (0) 2019.03.12
사회성을 길러주는 우리아이 언어치료  (0) 2017.08.17
세계 미래 보고서 2055  (0) 2017.08.15

Android App 정보 가져오기(App icon, package, app 이름)


Android 단말에서 App icon, App 이름, Package 이름 등을 가지고 오려고 하면 다음과 같이 하면 된다. 


[package]

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

final List pkgAppsList = getPackageManager().queryIntentActivities(
mainIntent, 0);
String[] requestedPermissions = null;
String packageName = "";

for (Object obj : pkgAppsList) {
ResolveInfo resolveInfo = (ResolveInfo) obj;
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo(
resolveInfo.activityInfo.packageName,
PackageManager.GET_PERMISSIONS);

requestedPermissions = packageInfo.requestedPermissions;
packageName = packageInfo.packageName;

} catch (PackageManager.NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


[App Title]

String appName = (String) getPackageManager()

.getApplicationLabel(getPackageManager()

.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES));


[Icon]

appIcon = getPackageManager().getApplicationIcon(packageName);


CLOSE_WAIT



  그림에서 Client가 연결을 종료하기 위해 FIN을 Server로 보낸다. 그리고 FIN에 대한 ACK가 있기 전까지 Server은 CLOSE_WAIT 상태가 된다. 

CLOSE_WAIT 상태가 사라지지 않고 계속 쌓이게 되면 서버에서는 더 이상 서비스 처리를 못하는 상태가 된다. 

CLOSE_WAIT 상태를 해결하는 방법을 시스템의 설정을 바꾸는 방법에 대한 설명이 많았는데 이렇게는 근본적인 원인을 해결할 수 없다. 


  여러 방법들이 있겠지만, 개인적으로 겪은 부분만 정리해 본다. 문제의 원인은 'DefaultHttpClient' 때문이었다. 

사용하는 부분에서 잘못된 것은 없었지만 CLOSE_WAIT 현상이 발생했다. 

그리고 같은 소스로 여러 서버에서 테스트를 진행했을 때 이 현상이 발생하는 곳도 있고, 

어느정도 CLOSE_WAIT가 쌓이다가 없어지는 서버도 있었다. 그래서 변경한 부분은 'DefalutHttpClient'를 '

CloseableHttpClient'로 변경했다. 거짓말처럼 말끔하게 CLOSE_WAIT가 사라졌다. 

DefaultHttpClient를 꼭 사용해야 한다면 아래 참고 자료 중 2번에 해당하는 링크를 참조하면 된다. 

그리고 읽어보면 좋을 것 같아서 추가한 것도 있다. 아래 참고 자료 3번에 해당하는 링크를 참조하면 된다. 

  


문제: CLOSE_WAIT가 쌓이는 현상 발생


해결: DefaultHttpClient -> CloseableHttpClient



참고 자료

[1] http://docs.likejazz.com/close-wait/

[2] http://pchun.tistory.com/60

[3] http://d2.naver.com/helloworld/377316

'프로그래밍 > JAVA' 카테고리의 다른 글

RSA 암호화 및 복호화  (0) 2016.12.26
자바로 크롤링 구현  (0) 2016.09.13
문자열을 나누거나 합치거나  (0) 2016.09.13

네트워크 상태를 확인하고, GPS의 상태를 확인하는 코드


우선 네트워크 상태를 확인하는 코드

boolean isOnline = false;

try {
		ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
			
		State wifi = conMan.getNetworkInfo(1).getState();
		if(wifi == NetworkInfo.State.CONNECTED) {
			isOnline = true;
		}
			
		State mobile = conMan.getNetworkInfo(0).getState();
		if(mobile == NetworkInfo.State.CONNECTED) {
			isOnline = true;
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}


GPS 상태를 확인하는 코드

boolean gpsEnable = false;
LocationManager manager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
	gpsEnable = true;
}


Spring에서 RSA 암호화를 사용하려는 도중 에러가 발생 했다. 


'nested exception is java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider'


필요한 jar도 추가해주고 build path도 잡아줬는데도 왜!!!?


검색해 보니 Java 폴더를 찾아서 jar 파일을 복사하면 된다고 한다. 


파일 경로는 jdk 폴더 안에 /Contents/Home/jre/ext 이다. (Mac 기준)


개발을 하면서 암호화에 대해 깊이 있게 생각하지 않고 필요한 스펙 대로만 구현 했었는데, 이번에 시간이 좀 있어 블로그에 정리를 해봅니다. 

이 글은 Java 기준으로 작성하였습니다. 


여러 글을 보면서 검색을 하다 보니 타 업체와 협의 할 때 적어도 아래와 같은 스펙을 서로 교환하는게 좋다고 합니다. (http://redutan.github.io/2015/11/20/about-crypto)



암호화 스펙

    • 알고리즘: RSA-256
    • 암호화 키: 2017201820192020wow2021202220232024202520262027202820292030
    • 인코딩: UTF-8


public class RSAEncrypto {
	private static final String algorithm = "RSA/None/NoPadding";
	private static final String provider = "BC";

	public static void main(String[] args) {
		
		Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

		String plainText = "2017201820192020wow2021202220232024202520262027202820292030";

		try {
			Cipher serverCipher = Cipher.getInstance(algorithm, provider);
			SecureRandom random = new SecureRandom();
			KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", provider);
			generator.initialize(512, random);
			
			KeyPair pair = generator.generateKeyPair();
			Key publicKey = pair.getPublic();  
			Key privateKey = pair.getPrivate();

			// 개인키로 암호화
			serverCipher.init(Cipher.ENCRYPT_MODE, privateKey);
			byte[] cipherText = serverCipher.doFinal(plainText.getBytes());
			System.out.println("cipher: ("+ cipherText.length +")"+ new String(cipherText));

			// 공개키로 복호화
			serverCipher.init(Cipher.DECRYPT_MODE, publicKey);
			byte[] plainTextB = serverCipher.doFinal(cipherText);

			System.out.println("plain: " + new String(plainTextB));
			
		} catch (InvalidKeyException e) {
			e.printStackTrace();
		} catch (IllegalBlockSizeException e) {
			e.printStackTrace();
		} catch (BadPaddingException e) {
			e.printStackTrace();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (NoSuchProviderException e) {
			e.printStackTrace();
		} catch (NoSuchPaddingException e) {
			e.printStackTrace();
		}
	}
}


이렇게 하면 암호화 하고, 복호화 되는 것을 확인할 수 있습니다. 하지만 실무에서는 이렇게 사용하는 경우는 거의 없습니다. 그래서 추가로 필요한 부분이 있습니다. 바로 Base64로 인코딩을 해야 되는 것입니다. 이상한 문자로 나온 암호문을 통신 할 때나, DB에 저장해서 사용할 수 없기에 Base64로 인코딩 합니다. 그리고 복호화 할 때는 다시 디코딩을 해서 복호화를 진행합니다. 


참고로 Base64는 8비트 바이너리 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 스트링으로 바꾸는 인코딩 방식을 말합니다. 아래 그림을 보면 Base64로 인코딩 된 것은 우리가 알아볼 수 있는 문자로 출력 됩니다. 




인코딩을 사용하여 적용한 소스는 다음과 같습니다. 

public class RSAEncrypto {
	private static final String algorithm = "RSA/None/NoPadding";
	private static final String provider = "BC";

	public static void main(String[] args) {
		
		Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

		String plainText = "2017201820192020wow2021202220232024202520262027202820292030";

		try {
			Cipher serverCipher = Cipher.getInstance(algorithm, provider);
			SecureRandom random = new SecureRandom();
			KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", provider);
			generator.initialize(512, random);
			
			KeyPair pair = generator.generateKeyPair();
			Key publicKey = pair.getPublic();  
			Key privateKey = pair.getPrivate();

			// 개인키를 전달하여 암호화
			serverCipher.init(Cipher.ENCRYPT_MODE, privateKey);
			byte[] cipherText = serverCipher.doFinal(plainText.getBytes("UTF-8"));
			System.out.println("cipher: ("+ cipherText.length +")"+ new String(cipherText));
			
			// Base64로 인코딩
			byte[] encodedBase64 = Base64.encode(cipherText);
			System.out.println("Base64Encoded: " + new String(encodedBase64));
			
			// Base64로 디코딩
			byte[] decodedBase64 = Base64.decode(encodedBase64);
			System.out.println("Base64Decoded: " + new String(decodedBase64));
			
			// 공개키를 가지고있는쪽에서 복호화
			serverCipher.init(Cipher.DECRYPT_MODE, publicKey);
			byte[] plainTextB = serverCipher.doFinal(decodedBase64);
			
			System.out.println("plain: " + new String((plainTextB), "UTF-8"));
			
		} catch (InvalidKeyException e) {
			e.printStackTrace();
		} catch (IllegalBlockSizeException e) {
			e.printStackTrace();
		} catch (BadPaddingException e) {
			e.printStackTrace();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (NoSuchProviderException e) {
			e.printStackTrace();
		} catch (NoSuchPaddingException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


패딩을 사용 하는 이유에 대해서는 다음 링크를 참조하시면 됩니다. 
여러 이유에 대한 설명이 있으니 꼭 읽어보세요. 
https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Padding_schemes

마지막으로 RSA 키를 저장하고 복구 하는 것에 대한 설명은 링크로 대체 하겠습니다. 


도움 되셨다면 아래 '공감' 클릭 한번 해주세요~ 감사합니다. 


'프로그래밍 > JAVA' 카테고리의 다른 글

CLOSE_WAIT 해결 방법  (1) 2017.01.13
자바로 크롤링 구현  (0) 2016.09.13
문자열을 나누거나 합치거나  (0) 2016.09.13

다른 사람보다 내가 글을 더 잘 정리했다면 내 블로그를 통해 정보를 가져가는 사람이 많을 것이고 그렇다면 검색 순위를 관리하는 것도 좋지 않을까 생각에 다다르게 되었습니다. 그러다보니 파워 블로거라면 기본으로 한다는 몇 가지들을 나도 적용해보며 정리해보았어요. 

글 작성은 tistory 기준으로 작성하였습니다. 


1. 구글 서치 콘솔에 블로그 등록 하기

우선 Google 웹 마스터 페이지를 열어 보자. https://www.google.com/webmasters/#?modal_active=none

여기서 Search Console를 클릭한다. 



2. 구글 계정으로 로그인을 하고, 속성 추가 버튼을 눌러 자신의 블로그 주소를 입력한다. 



3. 실제 서버가 아닌 블로그에 사용할거기에 대체방법을 택하고 html 태그를 넣는 것으로 합니다. 

4. 자신의 블로그에 위의 태그를 붙여 넣기 합니다. 블로그의 '관리페이지 - HTML/CSS편집'을 클릭하면 아래 그림과 같은 화면을 볼 수 있습니다. 

그리고 위에서 복사한 HTML 태그를 아래와 같이 넣어주시면 됩니다. 



5. 등록이 완료 되면 아래와 같은 화면이 나옵니다. 



오른쪽을 보면 Sitemaps라고 있는데 이것에 관해서는 다음 글에서 등록하는 방법 과 설명을 하도록 하겠습니다.


글을 읽고 도움이 되셨다면 '공감' 클릭 부탁드려요!

+ Recent posts