반응형
반응형

[javascript] 자바스크립트를 사용하여 현재 페이지를 새로고침, 갱신하지 않으면서 다른 주소로 변경하는 방법

 

History: pushState()

https://developer.mozilla.org/en-US/docs/Web/API/History/pushState

 

History: pushState() method - Web APIs | MDN

In an HTML document, the history.pushState() method adds an entry to the browser's session history stack.

developer.mozilla.org

history.pushstate(state, title, url)

state = 상태 값을 나타내는 것으로 브라우저에서 앞/ 뒤로 갈 때, 넘겨줄 데이터

title = 변경할 브라우저 제목 (변경을 원하지 않으면 null

url = 변경할 브라우저 URL

 

const state = { page_id: 1, user_id: 5 };
const url = "hello-world.html";

history.pushState(state, "", url);



const url = new URL(location);
url.searchParams.set("foo", "bar");
history.pushState({}, "", url);

검색 페이지나 페이지네이션(pagination)을 가진 페이지에서 많이 사용됩니다. 즉 검색 조건이나 페이지 전환이 비동기식 ajax로 이루어질때 이를 반영하기 위해 페이지 주소를 함께 변경하는 것입니다. 페이지 주소를 변경해두면 만약 페이지를 리로드, 갱신하더라도 바뀐 주소나 쿼리 스트링 정보를 그대로 가져올 수 있기 때문이죠.

pushstate()의 장점은 페이지 주소만 변경하는 것이 아니라 url 주소를 바꾸면서 동시에 데이터(state)를 전달하거나 타이틀 변경도 가능하다는 점입니다.

  • 데이터 state 값 전달 가능
  • 페이지 타이틀 변경

 

window.onpopstate = function(event) {
    alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
}

브라우저에서 뒤/앞으로 가는 버튼 클릭 시 onpopstate 이벤트가 발생하며 이때, 콜백함수에서 event.state는 pushState 함수의 인자 값이였던 state 객체가 넘어온 것이다.

 

onhashchange를 이용할 수도 있다. 

반응형
반응형

캐나다, 페이스북과 인스타그램 광고 중단

캐나다 의회가 일정 규모 이상의 플랫폼이 뉴스를 게재할 때 광고 수익 일부를 언론사와 분배해야 한다는 법을 올해 5월 통과 시켰는데요, 메타와 구글이 이에 반발해 뉴스 제공을 중단하겠다고 선언하면서 캐나다 정부와 갈등을 빚어 왔어요. 구글은 정부와 협상에 나섰는데 메타는 진전이 없자 캐나다 정부가 광고를 중단하기로 했습니다. 

 

캐나다 연방정부는 페이스북과 인스타그램의 모든 광고를 중단하겠다고 밝혔습니다.

이는 의회가 기술 회사가 뉴스에 대해 미디어에 비용을 지불하도록 하는 법을 통과시킨 후 모회사인 Meta가 캐나다인을 위한 뉴스 콘텐츠를 제한하려는 움직임에 따른 것입니다.

캐나다 관리들은 수요일에 그들이 법을 준수하며 메타에 의해 "협박"되지 않을 것이라고 말했습니다.

그들은 비슷한 법을 통과시키려는 다른 나라들과 접촉해 왔다고 말했습니다.

광고
 

Google은 또한 약 6개월 후 발효되는 온라인 뉴스법(Bill C-18이라고도 함)에 대응하여 해당 국가에서 캐나다 뉴스를 차단할 계획을 발표했습니다.

그러나 캐나다 관리들은 블록이 진행되는 것을 막을 Google의 모회사인 알파벳과 성공적으로 협상할 수 있기를 희망한다고 말했습니다.

Pablo Rodriguez 유산 장관은 수요일 기자 회견에서 "Google의 우려는 (법률) 규정에서 우리가 할 계획으로 충족될 수 있습니다."라고 말했습니다.

한편, 로드리게즈 씨는 메타가 같은 방식으로 앞으로 나아갈 길에 정부와 관여하지 않았다고 말했습니다.

그는 "메타는 우리에게 말을 걸지 않는다"며 캐나다인들의 뉴스를 차단하기로 한 그들의 결정은 "불합리하고 무책임하다"고 덧붙였다.

Rodriguez 씨는 Meta의 플랫폼에서 모든 광고를 중단하기로 한 캐나다의 결정으로 인해 거대 기술 기업인 C$10m($7.54m; £5.93m)의 비즈니스 비용이 발생할 것으로 추정합니다.

그는 목요일에 트위터의 경쟁자로 데뷔할 예정인 메타의 새로운 플랫폼 스레드에 광고 풀이 적용될 것인지에 대해서는 언급하지 않았습니다. 그러나 Mr Rodriguez는 이론상 캐나다의 움직임이 모회사 아래의 모든 플랫폼에 적용될 것이라고 말했습니다.

정부 광고의 손실은 2022년 연간 매출이 1,160억 달러가 넘는 Meta의 양동이에 있는 한 방울입니다. 그러나 Mr Rodriguez는 캐나다가 위협받지 않을 것이라는 메시지를 보내기로 결심했다고 말했습니다.

그는 그것이 캐나다 회사를 포함한 다른 사람들에게도 같은 일을 하도록 영감을 주기를 희망한다고 덧붙였습니다. 퀘벡 주에 본사를 둔 미디어 회사인 Quebecor와 Cogeco는 Meta에서 광고도 가져올 것이라고 말했습니다.

BBC에 보낸 성명에서 Meta는 Bill C-18이 "플랫폼 작동 방식의 현실을 무시하는 결함 있는 법안"이라고 말했습니다.

회사 측은 "퍼블리셔는 페이스북과 인스타그램에 게시하는 것이 이익이 되기 때문에 적극적으로 선택한다"고 말했다.

연방 정부는 어려움을 겪고 있는 뉴스 조직이 기술 플랫폼에서 공유되는 뉴스와 링크에 대해 "공정한 보상을 확보"할 수 있도록 하기 위해 이 법안이 필요하다고 말했습니다.

Bill C-18과 유사한 법이 2021년 호주에서 통과되었지만 Meta가 해당 국가의 사용자가 플랫폼에서 뉴스를 공유하거나 보는 것을 잠시 차단한 후 수정되었습니다.

정전은 수정안이 만들어지면서 끝났고 Google과 Meta는 이후 호주 미디어 회사와 30개 이상의 거래를 협상했습니다.

수요일, Justin Trudeau 총리는 캐나다가 Bill C-18과 같은 법률에 대한 세계적인 시험 사례가 되었다고 생각한다고 말했습니다.

Meta와 같은 거대 기술 기업의 Mr Trudeau는 "이것이 그들이 원하는 것입니다. 우리의 모범을 보여주세요."라고 말했습니다.

그는 "페이스북은 캐나다가 우리의 요청을 거부할 수 있을 만큼 충분히 작은 나라라고 판단했다"고 말했다. "그들은 캐나다를 공격하기로 결정함으로써 잘못된 선택을 했습니다."

Rodriguez 씨는 캐나다가 영국, 인도네시아, 브라질과 같은 유사한 법안을 통과시키려는 다른 국가들과 법을 논의하고 있다고 말했습니다.

캐나다는 또한 일부 미국 상원의원과 전문가들의 지지를 받았습니다.

칼럼니스트 브라이언 머천트(Brian Merchant)는 수요일 로스엔젤레스 타임즈(Los Angeles Times)의 논평에서 "캐나다는 거대 기술 기업의 분노에 절대 굴복해서는 안 된다"고 말했다.

워싱턴 DC에서 유사한 법안 추진을 주도하고 있는 미국 민주당 상원의원 에이미 클로부샤(Amy Klobuchar)도 캐나다 법을 지지하는 목소리를 냈습니다.

Meta는 이미 테스트에서 소수의 캐나다인에 대한 뉴스 액세스를 제한하기 시작했으며 앞으로 몇 주 안에 전체 정전을 구현할 계획이라고 말했습니다.

반응형
반응형


error : Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type 

 

    발생하면  pandas를 업그레이드 하라. 

 

pip install numpy --upgrade
pip install pandas --upgrade
반응형
반응형

pip install matplotlib

matplotlib 3.7.2

https://pypi.org/project/matplotlib/

 

matplotlib

Python plotting package

pypi.org

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.

Check out our home page for more information.

Matplotlib produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, Python/IPython shells, web application servers, and various graphical user interface toolkits.

Install

See the install documentation, which is generated from /doc/users/installing/index.rst

Contribute

You've discovered a bug or something else you want to change - excellent!

You've worked out a way to fix it -- even better!

You want to tell us about it -- best of all!

Start at the contributing guide!

반응형
반응형

[VSCODE] 확장프로그램 - indent-rainbow

 

현재 편집기 창 탭 크기를 사용하고 혼합 탭 + 공백을 처리할 수 있습니다(권장하지 않음). 

 

또한 들여쓰기가 탭 크기의 배수가 아닌 줄을 눈에 띄게 표시합니다. 시각화는 일부 상황에서 들여쓰기 문제를 찾는 데 도움이 될 수 있습니다.

 

 

https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow 

 

indent-rainbow - Visual Studio Marketplace

Extension for Visual Studio Code - Makes indentation easier to read

marketplace.visualstudio.com

 

반응형
반응형

점프 투 파이썬

https://wikidocs.net/book/1

 

점프 투 파이썬

이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 …

wikidocs.net

반응형

+ Recent posts