웹사이트가 구글이나 네이버 같은 검색 엔진에서 검색되도록 하려면 검색 엔진 최적화(SEO, Search Engine Optimization) 작업이 필요합니다. 기본적인 절차를 정리해 드릴게요.


1. 검색 엔진에 사이트 등록하기

✅ 구글 서치 콘솔 등록

  1. Google Search Console에 접속
  2. 도메인 또는 URL 접두어 방식으로 사이트 등록
  3. 사이트 소유권 확인 (HTML 파일 업로드, DNS 설정, Google Analytics 연결 중 선택)
  4. 사이트맵(sitemap.xml) 제출

✅ 네이버 웹마스터 도구 등록

  1. 네이버 서치 어드바이저 접속
  2. 사이트 등록 후 소유 확인
  3. 사이트맵 제출 및 RSS 등록

2. 사이트맵 및 robots.txt 설정

검색 엔진이 내 사이트를 쉽게 탐색하도록 sitemap.xml과 robots.txt 파일을 설정하세요.

  • sitemap.xml : 검색 엔진이 페이지를 크롤링하도록 돕는 지도 역할
  • robots.txt : 크롤러가 접근할 수 있는 페이지를 지정

예시 (robots.txt)

User-agent: *
Disallow: /admin/
Allow: /
Sitemap: https://example.com/sitemap.xml

사이트맵 생성 도구


3. 검색 엔진 친화적인 사이트 구조 만들기

  • 모바일 최적화 (반응형 디자인)
  • 빠른 로딩 속도 (이미지 최적화, 캐싱 설정)
  • HTTPS 적용 (SSL 보안 인증서)

구글 페이지 속도 테스트모바일 친화성 테스트


4. 키워드 최적화 & 콘텐츠 품질 개선

  • 사람들이 검색할 핵심 키워드 조사 (예: "광주 맛집 추천", "코딩 학습법")
  • 검색 의도에 맞는 유용한 콘텐츠 제작
  • 제목(title), 설명(meta description), 헤딩 태그(h1~h3) 최적화

✅ 키워드 조사 도구

✅ 좋은 메타 태그 예시

<title>광주 맛집 추천 - 현지인이 강추하는 맛집 리스트</title>
<meta name="description" content="광주에서 가장 인기 있는 맛집을 소개합니다. 현지인들이 추천하는 숨은 맛집 리스트!">

5. 백링크(Backlink) 구축

  • 블로그, 커뮤니티, SNS에 사이트 링크 공유
  • 네이버 블로그, 브런치, 유튜브 등에서 사이트 소개
  • 관련 사이트에서 링크 얻기 (도메인 신뢰도 증가)

6. 정기적인 사이트 모니터링

  • 구글 서치 콘솔에서 검색 성능 및 색인 상태 확인
  • 네이버 서치 어드바이저에서 유입 키워드, 검색 트래픽 분석
  • 구글 애널리틱스로 방문자 행동 분석

🚀 결론

  1. 검색 엔진 등록 (구글 서치 콘솔, 네이버 웹마스터)
  2. 사이트맵, robots.txt 설정
  3. 모바일 최적화 + 빠른 속도 유지
  4. SEO 키워드 + 고품질 콘텐츠 작성
  5. 백링크(외부 링크) 확보
  6. 구글 서치 콘솔 & 네이버 서치 어드바이저로 모니터링

이 과정을 따라 하면 검색 노출이 점차 증가할 거예요! 🚀
추가적으로 더 궁금한 점 있으면 질문 주세요. 😊



http://www.mojohaus.org/build-helper-maven-plugin/



참고: http://spark.apache.org/docs/1.6.2/sql-programming-guide.html


// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// this is used to implicitly convert an RDD to a DataFrame.
import sqlContext.implicits._

// Define the schema using a case class.
// Note: Case classes in Scala 2.10 can support only up to 22 fields. To work around this limit,
// you can use custom classes that implement the Product interface.
case class Person(name: String, age: Int)

// Create an RDD of Person objects and register it as a table.
val people = sc.textFile("examples/src/main/resources/people.txt").map(_.split(",")).map(p => Person(p(0), p(1).trim.toInt)).toDF()
people.registerTempTable("people")

// SQL statements can be run by using the sql methods provided by sqlContext.
val teenagers = sqlContext.sql("SELECT name, age FROM people WHERE age >= 13 AND age <= 19")

// The results of SQL queries are DataFrames and support all the normal RDD operations.
// The columns of a row in the result can be accessed by field index:
teenagers.map(t => "Name: " + t(0)).collect().foreach(println)

// or by field name:
teenagers.map(t => "Name: " + t.getAs[String]("name")).collect().foreach(println)

// row.getValuesMap[T] retrieves multiple columns at once into a Map[String, T]
teenagers.map(_.getValuesMap[Any](List("name", "age"))).collect().foreach(println)
// Map("name" -> "Justin", "age" -> 19)




키 체인에서 인증서를 생성하고 빌드하면 된다.


http://apollo89.com/wordpress/?p=5941



Kimball definition


데이터 마트

  • 1개 이상의 스타 스키마


데이터 웨어하우스

  • 데이터 마트의 집합
  • 모든 데이터 마트의 소스


큐브

  • 다차원 데이터 오브젝트


큐브 사용 장점

  • 정의에 따라 주어진 정보에 아주 빠르게 응답한다.
  • 드릴다운 경로가 동적이다. 큐브에서 깔끔하고 구조화된 aggregation이 나온다. 
  • 질의가 간단하다. 조인이 없음. 팩트 기반으로 만들어졌기 때문에 세부 정보를 몰라도 됨.


큐브 사용 단점

  • Ad-hoc 질의로 알맞지 않다.
  • 실시간성이 떨어진다.
  • 드릴다운은 저수준으로만 가능하다. 
  • 크기: 큐브에 넣는 속성은 절대 작지 않다.
  • 소스 데이터 크기: 속성이 많을 쓰로 가져다 사용할 데이터가 많다.
  • 유지보수: 일간 데이터 생성에 수시간이 걸린다면 큐브 생성에도 오래걸린다.
  • 복잡도: 큐브 질의에 SQL을 사용할 수 없다. MDX(Multidimensional Expression)을 사용해야 한다. 


원본: http://www.seemoredata.com/en/entry.php?10-Differences-between-CUBES-and-Star-Schema

+ Recent posts