반응형
반응형

SSMS(SQL Server Management Studio) 다운로드 : https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16 

 

SSMS 다운로드

SSMS 19 미리 보기 2를 다운로드하려면 SSMS 19 다운로드를 방문하세요.

SSMS(SQL Server Management Studio ) 18.12.1 무료 다운로드

SSMS 18.12.1은 최신 GA(일반 공급) 버전입니다. 이전 GA 버전의 SSMS 18이 설치된 경우 SSMS 18.12.1을 설치하면 이 버전이 18.12.1로 업그레이드됩니다.

  • 릴리스 번호: 18.12.1
  • 빌드 번호: 15.0.18424.0
  • 릴리스 날짜: 2022년 6월 21일

반응형
반응형

* KISA : https://www.kisa.or.kr/1040303

 

* NO MORE RANSOME  : https://www.nomoreransom.org/ 

 

Home | The No More Ransom Project

Ransomware is malware that locks your computer and mobile devices or encrypts your electronic files. When this happens, you can’t get to the data unless you pay a ransom. However this is not guaranteed and you should never pay!

www.nomoreransom.org

랜섬웨어 감염을 최소화하기 위해 우리가 쉽게 적용할 수 있는 예방법에는 어떤 것들이 있을까요?

 

 

첫째, 플래시 플레이어(Flash Player)/어도비 리더(Adobe Reader)/자바(Java) 등을 항상 최신 버전으로 유지하는 것입니다. 지난 4월 7일, 어도비 시스템즈는 해커들이 랜섬웨어로 악용한 플래시 플레이어 24개 취약점에 대한 보안 업데이트를 발표했습니다. 이에 따라 사용자들은 윈도우 및 맥에서는 ‘21.0.0.213’ 버전으로, 리눅스에서는 ‘11.2.202.616’ 버전으로 플래시 플레이어를 업데이트해야 랜섬웨어 공격으로부터 안전할 수 있습니다. 플래시 플레이어 확장 지원 릴리스 또한 버전 ‘18.0.0.343’으로 업데이트 되었습니다.

 

둘째, 인터넷 익스플로러(Internet Explorer)보다는 크롬(Chrome) 사용을 권장합니다. 특히 크롬에서도 ‘AdBlock’ 앱을 추가해 두면, 웹에 있는 광고 창을 90% 이상 차단할 수 있어 보다 안전하게 PC를 이용할 수 있습니다. 또한, 우리나라 인터넷 환경 특성상 Flash 사용은 거의 필수로 여겨지므로, 검증되지 않은 사이트에 접속해야 할 경우 ‘Adobe Flash Player’를 비활성화(chrome://plugins 접속 > Adobe Flash Player ‘사용 중지’ 클릭)하여 혹시 모를 감염에 예방해야 합니다.

 

셋째, 발신자가 불분명한 이메일 열람 및 첨부파일 실행을 자제합니다. 최근 악성코드에 감염된 사용자의 메일 계정을 사용해 악성코드를 첨부한 후 메일을 발송하는 경우가 있습니다. 모르는 메일은 삭제하고 특히 첨부 링크는 실행하지 않아야 합니다.

 

넷째, 3-2-1 백업 규칙을 실천합니다. 클라우드와 같은 네트워크 연결형 백업만 유지할 경우, 랜섬웨어 감염 시 해당 드라이브까지 암호화해 버리는 최악의 상황까지 갈 수 있습니다. 이를 대비해 ‘3-2-1 백업’ 규칙을 적용해 적어도 3개 이상 복사본, 2개 이상 다른 형식으로, 1개의 오프라인 복사본을 저장하는 등 번거롭지만 자체적 노력을 기울여야 할 것입니다.

 

다섯째, PC 및 네트워크 ‘공유 폴더’를 철저히 관리합니다. 사내에서 개인 PC가 랜섬웨어가 감염되면, 공유 폴더를 통해 전사로 퍼질 위험이 있습니다. 사내 공유 폴더 운영 시에는 해당 공유 폴더는 ‘숨김 공유 설정’을 하거나 권한 정보를 획득한 사용자만 접근할 수 있도록 설정하는 것이 안전합니다. 더 좋은 방법은 공유 폴더 자체를 주기적으로 제거하는 것입니다.

 

여섯째, 백신 설치 OK, 중복 설치는 NO. 안전함에 너무 치중한 나머지 여러 개의 백신 프로그램을 설치하는 경우가 있는데, 백신 간 충돌로 악성코드를 탐지하지 못하는 결과를 초래할 수 있습니다. 따라서 한 개의 정품 백신 설치 후 제대로 관리하는 것이 중요합니다.

랜섬웨어에 감염된 후 복구 방법은 거의 0%에 가깝기 때문에 ’백업’과 ‘백신 설치’가 현재로선 가장 중요한 예방책입니다. 백업과 백신을 효과적으로 활용하면 실시간 대응이 부족하더라도 ‘사전 예방 단계’에서 랜섬웨어 감염을 최소화할 수 있고, 설사 감염되었다 해도 ‘사후 복구 단계’에서 백업된 파일을 복구하여 정상적인 업무를 유지할 수 있습니다.

 


랜섬웨어 대처법, 이것만 기억하자!

 

1. PC 종료하지 않기

랜섬웨어에 감염된 것을 인지하면 너무 당황한 나머지 급하게 PC 전원을 끌 수 있다. 이는 잘못된 대처법이다. 랜섬웨어 감염을 확인한 후, PC 전원을 끄지 않도록 주의해야 한다. 일부 랜섬웨어는 감염 알림 메시지창이 나타난 상태에서 사용자가 PC를 종료할 경우 PC의 파일들을 삭제해버리기도 한다. 따라서, 감염 알림창에 나타난 메시지를 주의 깊게 살펴보고 감염된 랜섬웨어가 무엇인지 파악한 후, 차분하게 피해를 최소화할 수 있는 방안을 찾아보는 것이 바람직하다.

 

2. 외부 저장장치와의 연결 해제하기

랜섬웨어 감염이 의심될 경우, 즉시 공유 폴더, USB나 외장하드 등 외부 저장장치와의 연결을 해제하는 것이 좋다. 아직 랜섬웨어가 암호화를 진행 중이라면 감염된 PC에 연결된 저장장치 및 공유폴더의 파일들도 암호화될 수 있기 때문이다. 이 경우 외장하드에 백업해둔 파일까지 암호화되어 무용지물이 될 수 있다.

 

3. 무료 복구 프로그램 검색하기

그 다음으로는 안랩 등 신뢰할 수 있는 보안 회사의 홈페이지 등을 통해 감염된 랜섬웨어에 대한 복구툴이 있는지 확인해본 후 빨리 조치해야 한다. 안랩을 비롯한 주요 보안 업체들은 악성코드 분석 및 암호화 기법 분석을 통해 일부 랜섬웨어의 암호를 풀 수 있는 열쇠를 찾아내 암호화된 파일을 복구할 수 있는 툴(프로그램)을 제작해 무료로 제공하고 있다. 안랩은 자사 홈페이지를 통해 나부커(Nabucur), 크립트XXX(CryptXXX) 2.x 등 일부 랜섬웨어에 대한 복구툴을 무료로 제공하고 있다. 또 암호화 기법이 교묘하게 바뀐 크립트XXX 3.x 버전의 경우, 일부 파일에 대한 부분 복구를 지원하는 복구툴을 제공하고 있다.​

반응형
반응형

코딩시 표기법 '명명법'

   코딩 시 변수명, 클래스명, 함수명, View ID명 등등 이름 명명법에 쓰이는 표기법.

     대표적으로 3가지 "카멜 (camelCase) / 파스칼 (PascalCase) / 스네이크 (snake_case)"

 

1) 카멜 표기법 "camelCase"

  • 첫 문자 첫글자는 소문자로 표기, 그 이후 연결된 문자들은 첫글자 대문자로 표기
  • "단봉낙타 표기법" 
  • 변수명, 함수명에 사용
ex) 'helloWorld'	- 첫 문자 hello, 그 이후 문자 World
ex) 'personAgeNumber' - 첫 문자 person, 그 이후 문자 Age, Numbr

 

2) 파스칼 표기법 "PascalCase"

  • 모든 문자의 첫글자 대문자로 표기
  • "쌍봉낙타 표기법" 
  • 클래스명에 사용, 가끔 함수에도 사용
ex) 'HelloWorld'	- 첫 문자 Hello, 그 이후 문자 World
ex) 'PersonAgeNumber' - 첫 문자 Person, 그 이후 문자 Age, Numbr

 

3) 스네이크 표기법 "snake_case"

  • 모든 문자의 첫글자 소문자로 표기, 각 문자들을 '_' (언더바)로 이어서 사용 
  • 변수명, 함수명, 데이터 타입, 네임스페이스 등에 사용
ex) 'hello_world'	- 첫 문자 hello, 그 이후 문자 world
ex) 'person_age_number' - 첫 문자 person, 그 이후 문자 age, numbr
 
 
 
.

 

 

 

반응형
반응형

https://www.itworld.co.kr/news/242939?page=0,1 

 

"이러려고 데이터 과학자 됐나" 데이터 관리의 11가지 어두운 비밀 - ITWorld Korea

누군가는 데이터를 새로운 석유라 부르고, 누군가는 새로운 금이라고도 부른다. 철학자와 경제학자들은 비유의 적절성 대해 논쟁할 수 있겠지만, 데이터 기반 의사 결정을 도모하는 기업에 데

www.itworld.co.kr

"이러려고 데이터 과학자 됐나" 데이터 관리의 11가지 어두운 비밀

누군가는 데이터를 새로운 석유라 부르고, 누군가는 새로운 금이라고도 부른다. 철학자와 경제학자들은 비유의 적절성 대해 논쟁할 수 있겠지만, 데이터 기반 의사 결정을 도모하는 기업에 데이터 구성 및 분석이 필수적이라는 점은 의심의 여지가 없다.

일단은 견고한 데이터 관리 전략이 핵심이다. 데이터 거버넌스, 데이터 운영, 데이터 웨어하우징, 데이터 엔지니어링, 데이터 분석, 데이터 과학 등을 포괄하는 데이터 관리는 올바르게 수행될 경우 각종 비즈니스에서 경쟁 우위를 가져다줄 수 있다.

좋은 소식은 데이터 관리의 많은 측면이 잘 정립돼 있으며, 수십 년 동안 발전해 온 원칙이 존재한다는 점이다. 예를 들어, 적용하기 어렵거나 이해하기에 간단하지 않을 수 있지만, 많은 과학자와 수학자 덕분에 기업은 이제 데이터를 분석하고 결론을 내리기 위한 다양한 프레임워크를 갖게 됐다. 분석 한계를 나타내는 오차 막대를 그리는 통계 모델도 있다.

그러나 데이터 과학과 이를 뒷받침하는 다양한 학문에 대한 연구에서 얻은 모든 장점에도 불구하고 우리는 머리를 긁적거릴 때가 있다. 현장에서 벽에 부딪히는 경우가 많기 때문이다. 때로는 너무 많은 데이터를 수집하고 구성하는 역설적인 문제도 있다. 일부는 철학적이며 우리의 추상적 역량을 시험한다. 그리고 처음 데이터를 수집하는 데서는 개인 정보 보호 문제가 대두되고 있다.

다음은 수많은 기업에서 데이터 관리를 어려운 과제로 만드는 몇 가지 어두운 비밀들이다.


애물단지 비정형 데이터
기업 아카이브에 저장되어 있는 데이터의 대부분은 구조화되어 있지 않다. 은행의 콜센터 직원이 작성한 문자 메모를 검색하기 위한 인공 지능(AI) 사용을 원하는 경우가 있다. 이 문장에는 은행의 대출 및 서비스를 개선하는 데 도움이 될 수 있는 통찰이 담겨 있을 수 있다. 그러나 메모 데이터는 기록할 내용에 관해 서로 다른 생각을 가진 수백 명의 사람들이 작성한 것이다. 또한, 직원들은 서로 다른 작문 스타일과 능력을 가지고 있고, 일부는 전혀 쓰지 않았다. 또 어떤 사람들은 주어진 전화에 대해 너무 많은 정보를 기록한다. 수십 년 동안 수백 명의 직원이 작성한 텍스트 더미가 있다면, 구조화 수준이 훨씬 더 약해질 수 있다.

정형 데이터라도 비정형인 경우
좋은 데이터 과학자와 데이터베이스 관리자는 각 분야의 유형과 구조를 명료하게 지정해 데이터베이스를 마련한다. 때로는 필드의 값을 특정 범위의 정수 또는 미리 정의된 선택으로 제한한다. 하지만 사람들은 데이터베이스가 주름과 결함을 추가하는 방법을 생각해낸다.

필드가 비어 있는 경우도 있다. 질문이 적용되지 않는다고 생각할 때 ‘n.a.’를 넣기도 하지만, 그저 대시 기호를 넣는 이들도 있다. 사람들은 심지어 이름을 해마다, 날마다 다르게 표시하기도 한다. 

우수한 개발자는 유효성 검사를 통해 이런 문제 중 일부를 파악한다. 훌륭한 데이터 과학자는 정리를 통해 이런 불확실성을 어느 정도 줄일 수도 있다. 그러나 탁월하게 구조화된 표에도 의심스러운 항목이 있고, 이런 의심스러운 항목에 알 수 없는 항목과 분석 오류가 발생할 수 있다. 좌절감을 느끼게 하는 현실이다.

너무 엄격하거나 느슨한 데이터 스키마
데이터팀이 스키마 제약 조건을 아무리 자세히 설명하려 해도 다양한 데이터 필드의 값을 정의하기 위한 스키마는 완벽하기 어렵다. 너무 엄격하거나 너무 느슨하다. 데이터팀에서 엄격한 제약 조건을 추가하면 사용자는 허용 가능한 값의 좁은 목록에서 답을 찾을 수 없다고 불평한다. 스키마가 너무 수용적이면 사용자는 일관성이 거의 없이 이상한 값을 추가할 수 있다. 스키마를 올바르게 조정하는 것은 거의 불가능할 지경이다.

매우 엄격한 데이터 법률
개인정보 보호 및 데이터 보호에 관한 법률은 이미 강력하며, 점점 더 강력해지고 있다. GDPR, HIPPA 및 각종 규제 사이에서 데이터를 수집하는 것은 매우 어려울 수 있으며, 해커의 침입에 대응하기란 훨씬 더 위험할 수 있다. 많은 경우에 프로그래머나 데이터 과학자보다 변호사에게 비용을 지출하는 것이 더 쉬울 수 있다. 이런 골칫거리로 인해 일부 기업은 데이터를 제거할 수 있는 즉시 데이터를 폐기한다.

엄청난 데이터 정리 비용
많은 데이터 과학자가 자신의 작업 중 90%가 데이터를 수집하고, 일관된 형식으로 만들고, 끝없는 구멍이나 실수를 처리하는 것이라고 본다. 데이터를 가지고 있는 사람은 항상 “CSV에 모든 것이 있다”라고 말할 것이다. 그러나 그들은 빈 필드나 잘못된 특성을 언급하지 않는다. 실제로 통계 분석을 수행하기 위해 R 또는 파이썬에서 루틴을 시작하는 것보다 데이터 과학 프로젝트에서 사용할 데이터를 정리하는 데 10배나 더 많은 시간을 소비하기 쉽다.

사용자의 의심 증가
최종 사용자와 고객이 기업의 데이터 관리 관행에 대해 점점 더 의심을 품고 있다. 일부 AI 알고리즘에 대한 불안감과 두려움이 증폭되고 있다. 일거수일투족을 감시하는 듯한 반응을 보이기도 한다. 이런 두려움은 규제를 조장하고 종종 기업과 선의의 데이터 과학자를 괴롭힌다. 사용자가 의도적으로 가짜 값이나 오답으로 데이터 수집을 방해하는 경향을 보이는 것이다. 때로는 작업의 절반이 악의적인 파트너 및 고객을 상대하는 업무가 될 수 있다.

 

외부 데이터와의 통합 위험성
공격적인 기업은 자사의 정보를 서드파티 데이터 및 인터넷에 떠도는 방대한 개인화된 정보와 통합하는 방법을 모색하고 있다. 실제로 일부 도구는 모든 고객에 대한 데이터를 흡수해 각 구매에 대해 개인화된 정보를 작성하겠다고 공개적으로 공언한다. 그렇다, 이들은 사용자의 패스트푸드 구매와 신용 점수를 추적하는 데 첩보기관이 테러리스트를 추적하는 데 사용하는 기술을 사용한다. 사람들이 불안해하는 것이 사실 당연하다.

데이터 사용을 단속하는 규제 당국
데이터 분석이 언제 어떤 선을 넘을지 알기 어렵지만, 일단 선을 넘으면 규제 당국이 나타난다. 캐나다의 최근 사례에서, 정부는 일부 도넛 가게가 어떻게 경쟁업체에서 쇼핑하는 고객들을 추적하고 있는지 조사했다. 

정부는 보도 자료를 통해 “조사 결과, 팀 호튼스가 미국의 서드파티 위치 서비스 업체와 맺은 계약에 너무 모호하고 허용적인 표현이 포함되어 있었다. 이로 인해 회사가 ‘비식별화된’ 위치 데이터를 판매할 소지를 남겼을 것”이라고 밝혔다. 도대체 무엇을 위해? 더 많은 도넛을 팔기 위해서? 규제기관은 개인정보와 관련된 모든 것에 점점 더 주의를 기울이고 있다.

도출한 결과가 무가치함
우리는 뛰어난 알고리즘이 모든 것을 더 효율적이고 수익성 있게 만들 수 있다고 상상한다. 그리고 때로는 그런 알고리즘을 실제로 구현할 수 있다. 그러나 비용이 문제이다.

실제로 소비자는 물론 심지어 기업까지도 정교한 데이터 관리 체계에서 나오는 표적 마케팅의 가치에 점점 더 의문을 제기하고 있다. 이미 구매한 아이템에 대한 광고가 노출되는 것을 자주 경험했을 것이다. 엄격한 데이터 분석을 통해 실적이 낮은 공장을 식별했더니, 회사가 건물에 30년 임대 계약을 체결했을 수도 있다. 기업은 데이터 과학이 비현실적인 답을 산출할 가능성에 대비해야 한다.

결국 인간의 직관에 따라 결정
숫자는 높은 정확도를 제공하지만, 사람이 숫자를 어떻게 해석하는지가 더 중요한 경우도 많다. 모든 데이터 분석과 AI 마법이 끝난 후에 대부분 알고리즘은 일부 값이 임계 값을 초과하는지 또는 미만 인지에 대한 결정을 내려야 한다. 

가령 경찰은 제한 속도의 20%를 초과하는 차량에 속도위반 고지서를 주려고 한다. 이런 임계값은 종종 임의의 값이다. 데이터에 적용할 수 있는 모든 과학 및 수학의 경우, ‘데이터 기반’ 프로세스에는 생각보다 더 많은 회색 지대가 있다. 기업이 데이터 관리 프랙티스에 투입한 방대한 자원에도 불구하고 결국 의사 결정에 영향을 미치는 최대 요인은 인간의 직관인 경우가 많다.

폭발적인 데이터 스토리지 비용
테라바이트당 가격은 계속 떨어지고 있지만 프로그래머는 더 빠르게 데이터 비트를 모으고 있다. 사물 인터넷 디바이스는 계속해서 데이터를 업로드하고, 사용자는 이런 바이트의 풍부한 컬렉션을 영원히 탐색할 것으로 기대한다.  동시에 컴플라이언스 담당자와 규제기관은 감사를 위해 계속해서 더 많은 데이터를 요구한다. 실제로 다시 액세스되는 데이터의 비율은 계속 낮아지고 있다. 그저 데이터가 하염없이 쌓여만 가는 것이다. 

반응형
반응형

How do we control web page caching, across all browsers?

조사 결과 모든 브라우저가 동일한 방식으로 HTTP 캐시 지시문을 준수하는 것은 아닙니다.

보안상의 이유로 우리는 웹 브라우저 에서 애플리케이션의 특정 페이지를 캐시하는 것을 절대 원하지 않습니다 . 이것은 최소한 다음 브라우저에서 작동해야 합니다.

  • 인터넷 익스플로러 6+
  • 파이어폭스 1.5 이상
  • 사파리 3+
  • 오페라 9+
  • 크롬

우리의 요구 사항은 보안 테스트에서 나왔습니다. 당사 웹사이트에서 로그아웃한 후 뒤로 버튼을 눌러 캐시된 페이지를 볼 수 있습니다.

PHP 사용:

header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.

Java 서블릿 또는 Node.js 사용:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("Expires", "0"); // Proxies.

ASP.NET-MVC 사용

Response.Cache.SetCacheability(HttpCacheability.NoCache);  // HTTP 1.1.
Response.Cache.AppendCacheExtension("no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.

ASP.NET 웹 API 사용:

// `response` is an instance of System.Net.Http.HttpResponseMessage
response.Headers.CacheControl = new CacheControlHeaderValue
{
    NoCache = true,
    NoStore = true,
    MustRevalidate = true
};
response.Headers.Pragma.ParseAdd("no-cache");
// We can't use `response.Content.Headers.Expires` directly
// since it allows only `DateTimeOffset?` values.
response.Content?.Headers.TryAddWithoutValidation("Expires", 0.ToString()); 

ASP.NET 사용:

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.

ASP.NET Core v3 사용

// using Microsoft.Net.Http.Headers
Response.Headers[HeaderNames.CacheControl] = "no-cache, no-store, must-revalidate";
Response.Headers[HeaderNames.Expires] = "0";
Response.Headers[HeaderNames.Pragma] = "no-cache";

ASP 사용:

Response.addHeader "Cache-Control", "no-cache, no-store, must-revalidate" ' HTTP 1.1.
Response.addHeader "Pragma", "no-cache" ' HTTP 1.0.
Response.addHeader "Expires", "0" ' Proxies.

Ruby on Rails 사용:

headers["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1.
headers["Pragma"] = "no-cache" # HTTP 1.0.
headers["Expires"] = "0" # Proxies.

파이썬/플라스크 사용:

response = make_response(render_template(...))
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1.
response.headers["Pragma"] = "no-cache" # HTTP 1.0.
response.headers["Expires"] = "0" # Proxies.

Python/Django 사용:

response["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1.
response["Pragma"] = "no-cache" # HTTP 1.0.
response["Expires"] = "0" # Proxies.

파이썬/피라미드 사용:

request.response.headerlist.extend(
    (
        ('Cache-Control', 'no-cache, no-store, must-revalidate'),
        ('Pragma', 'no-cache'),
        ('Expires', '0')
    )
)

이동 사용:

responseWriter.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") // HTTP 1.1.
responseWriter.Header().Set("Pragma", "no-cache") // HTTP 1.0.
responseWriter.Header().Set("Expires", "0") // Proxies.

Clojure 사용(Ring utils 필요):

(require '[ring.util.response :as r])
(-> response
  (r/header "Cache-Control" "no-cache, no-store, must-revalidate")
  (r/header "Pragma" "no-cache")
  (r/header "Expires" 0))

아파치 .htaccess파일 사용:

<IfModule mod_headers.c>
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
</IfModule>

HTML 사용:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

HTML 메타 태그 대 HTTP 응답 헤더

 

 

https://stackoverflow.com/questions/49547/how-do-we-control-web-page-caching-across-all-browsers

 

How do we control web page caching, across all browsers?

Our investigations have shown us that not all browsers respect the HTTP cache directives in a uniform manner. For security reasons we do not want certain pages in our application to be cached, eve...

stackoverflow.com

 

반응형
반응형

가상환경에  https://github.com/lovit/customized_konlpy  들어가서 내려받은 후에 잘 적용시켜야 한다. 

 

https://inspiringpeople.github.io/data%20analysis/ckonlpy/ 에서는 이미 가상환경을 잘 알고 있다는 가정하에 작성된거 같다.

 

1. 대상 폴더에 내려받고

2. python 가상환경 들어간 후에  "  activate main " 

   - 나는  main 이라는 가상환경을 따로 만들었다.

3. 내려받은 파일의  setup.py를 실행. 

4. python 실행 시킨후 예제 구문 실행해보면 되는 것을 확인 할 수 있다.

  - 2022-07-04 다시 확인해봤는데 잘 된다. 

 

한국어 자연어처리를 할 수 있는 파이썬 패키지, KoNLPy의 customized version입니다.

customized_KoNLPy는 확실히 알고 있는 단어들에 대해서는 라이브러리를 거치지 않고 주어진 어절을 아는 단어들로 토크나이징 / 품사판별을 하는 기능을 제공합니다. 이를 위해 template 기반 토크나이징을 수행합니다.

사전: {'아이오아이': 'Noun', '는': 'Josa'}
탬플릿: Noun + Josa

위와 같은 단어 리스트와 탬플릿이 있다면 '아이오아이는' 이라는 어절은 [('아이오아이', 'Noun'), ('는', 'Josa')]로 분리됩니다.

Install

$ git clone https://github.com/lovit/customized_konlpy.git

$ pip install customized_konlpy

Requires

  • JPype >= 0.6.1
  • KoNLPy >= 0.4.4

 

반응형

+ Recent posts