블로그 이미지
이비그치면

태그목록

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

크롬 브라우저(chrome browser) 사용하여 여기 저기 구글/네이버 로 검색하다보면  크롬 탭바(Tabs/Tab Bar)에

사이트 탭(site tab)이 계속 추가되어(탭 사이즈 계속 작아짐) 탭 이동(사이트 옮겨 다닐때)에 

어려움을 겪을 때가 종종 있다 

그런데 언제부터인가 크롬 브라우저 탭바(Tabs/Tab Bar)에 탭검색(tab search)이 추가됐다

(좌측 혹은 우측에 아래 그림 모양)

 

 

그런데 가끔 크롬을 죽였다가 다시 기동시키면(relaunch) 이 탭 검색  창(아이콘) 방향이 바뀌는 경우가 있다

나는 좌측에 있는게 편해서 왼쪽에 위치시킬려고 할 때 사용할 수 있는 방법이다

 

주소 입력창에  chrome://flags

Enter 누르면 다음과 같이 나타난다

 

바로 아래 Search flags 창에

chrome refresh 2023

Enter를 누르면 다음과 같이 나타난다

두번째  노란색부분 Chrome Refresh 2023 오른쪽에 보이는 드롭다운을 누르면 

 

Enabled <--> Disabled  

 

아래쪽 오른편에 나타나는

Relaunch 클릭

 

 

여호와께서 가인의 범죄 후 가인에 이렇게 말씀하셨습니다. 네가 선을 행하면 어찌 낯을 들지 못하겠느냐 선을 행하지 아니하면 ()가 문에 엎드려 있느니라 ()가 너를 원하나 너는 ()를 다스릴지니라(4:7). 답:죄

여기에서 (4:7) 삭제하여

여호와께서 가인의 범죄 후 가인에 이렇게 말씀하셨습니다. 네가 선을 행하면 어찌 낯을 들지 못하겠느냐 선을 행하지 아니하면 ()가 문에 엎드려 있느니라 ()가 너를 원하나 너는 ()를 다스릴지니라. 답:죄

\(([^)]+)\)

 

 

제 블로그의 중국어(한어) word 문서에 병음붙이기 

찾아오신 분께서 혹시 자신이 워드로  만든 중국어 단어장 문서에도 병음달기 기능이 되느냐고 해서 

답을 해드린 내용이다

아래와 같이 중국어 단어장을 만들었는데 매 단어마다 단어지정(단어선택)을 하고 MS WORD의

윗주달기기능('내천川' 버튼이 윗주 달기 버튼)을 실행해야 하는 노가다를 해야(복수단어 지정시 키 활성화가

아예 안됨-비활성화되어있음)해서 인터넷 검색하다가 이비그치면님의 블로그를 찾게 되었는데

MS WORD에서 TABLE(표 그리기)로 만든 단어장 문서여서 혹시 WORD의 단축키(일련의 연속작업을 반복할 수

있도록 하는 hotkey 지정) 혹은 매크로가 가능하냐고 댓글로 문의해오신 내용이다

기존의 매크로를 약간 변경하여 아래와 같이 한 테이블에 17줄 * 2 = 34개의 단어를 병음달기를 하는데 

1분이 채 걸리지 않았다

혹시 워드(MS WORD)의 표기능을 이용하여 중국어 단어장을 만드시고 병음달기 노가다에 짜증이 나신(애를 먹고 계신)

분들께 도움이 되길 바란다

원하시는 분들께서는 댓글로 메일주소를 알려주시기 바랍니다

그렇게 대단한 매크로는 아니지만(실은 아주 간단하지만 많은 시행착오를 거침)

꼭 필요한 분들께만 드리기 위해서입니다

[[ 매크로 시행전 ]]

 

[[ 매크로 시행후 ]]

 

 

 

 

Sidewise

 

Tabs Outliner

 

Tab Tree

 

크롬에서 검색한 페이지가 많아져서 크롬을 멀티로 띄어놓고 사용하다가 그것도 넘 많아지다보니 나중에 몰 찾았는지도 모르겠고 등등 불편함이 가중되어 혹시 이런 불편함을 해소시켜주는 프로그램이 없나하여 여기저기 찾아보다가

그래도 약간 쓸만하다싶은 걸로 위의 세가지 크롬확장프로그램(chrome extension)을 골랐다.

셋다 Tree Style로 탭이동을 할수있게 해준다(Tree Style Tab)

현재는 Sidewise를 사용하는데 크게 불편함이 없다(상당히 편리하다)

추후에 나머지 두개도 사용해보려한다

 

 

 

 

 

 

 

 

 

 

크롬 단축키(chrome shortcut)

2020. 10. 22. 11:13 | Posted by 이비그치면

- Ctrl + W 탭 닫기

- Ctrl + Shift + T  탭 복원(잘못 탭을 닫았을 때)

 

- Ctrl + Shift + I  개발자 도구

- Ctrl + S 페이지 저장(save)

- Ctrl + O 페이지 열기(open)

- Ctrl + E 구글 검색

 

포토샵 레이어에 이미지 불러오기

- 레이어추가

- [ALT + F ] + L

오직 하루, 한 순간만 나의 아버지의 손 안에서 쉬는 모든 것들이 그 속에서 위안을 얻게 하소서.

내가 아이로서 무엇을 갈망할 수 있을까? 그는 내게 어머니의 마음을 갖게 하시고, 그는 매일 매일 자비로움과 부드러움을 주시네.

고통을 기쁨으로 만들어 주시네. 그는 항상 내게 가까이 계시네. 특별한 순간에는 특별한 사랑을 베푸시네. 일상의 근심을 대신 지시는, 힘과 도움이라는 두 이름의 그. 그의 모든 값진 재산을 지키시고, 모두를 보살피시네. 당신의 날처럼 힘과 물질들을 그가 약속하셨네.

편하고 고요하게 쉬게 하소서. 사랑하는 아버지의 약속 안에서, 값진 맘의 위안을 헛되게 하지 마시고, 내게 하셨던 약속대로,

도와주소서, 내게 일어나는 일들을. 당신의 믿음직한 아버지의 손으로. 단지 하루, 한 순간만이라도, 하늘 나라에 갈 때까지.

위와 같은 html 문에서

글의 내용(text)만을 추출하고 싶을때

BeautifulSoup을 사용하여 다음과같이 간단히 추출할수있다.

 

import re
from bs4 import BeautifulSoup

data =''' 
오직 하루, 한 순간만 나의 아버지의 손 안에서 쉬는 모든 것들이 그 속에서 위안을 얻게 하소서.

내가 아이로서 무엇을 갈망할 수 있을까? 그는 내게 어머니의 마음을 갖게 하시고, 그는 매일 매일 자비로움과 부드러움을 주시네.

고통을 기쁨으로 만들어 주시네. 그는 항상 내게 가까이 계시네. 특별한 순간에는 특별한 사랑을 베푸시네. 일상의 근심을 대신 지시는, 힘과 도움이라는 두 이름의 그. 그의 모든 값진 재산을 지키시고, 모두를 보살피시네. 당신의 날처럼 힘과 물질들을 그가 약속하셨네.

편하고 고요하게 쉬게 하소서. 사랑하는 아버지의 약속 안에서, 값진 맘의 위안을 헛되게 하지 마시고, 내게 하셨던 약속대로,

도와주소서, 내게 일어나는 일들을. 당신의 믿음직한 아버지의 손으로. 단지 하루, 한 순간만이라도, 하늘 나라에 갈 때까지.

''' soup = BeautifulSoup(data, 'html.parser') l = [(div.contents[0].strip(), span.text.strip()) for div in soup.select('div.test') for span in div.select('span')] for match, verse in l: print(match, verse)

실행결과는 아래와 같다

 오직 하루, 한 순간만
 나의 아버지의 손 안에서 쉬는 모든 것들이
 그 속에서 위안을 얻게 하소서.
 
 내가 아이로서 무엇을 갈망할 수 있을까?
 그는 내게 어머니의 마음을 갖게 하시고,
 그는 매일 매일 자비로움과 부드러움을 주시네.
 
 고통을 기쁨으로 만들어 주시네.
 그는 항상 내게 가까이 계시네.
 특별한 순간에는 특별한 사랑을 베푸시네.
 일상의 근심을 대신 지시는, 힘과 도움이라는 두 이름의 그.
 그의 모든 값진 재산을 지키시고, 모두를 보살피시네.
 당신의 날처럼 힘과 물질들을 그가 약속하셨네.
 
 편하고 고요하게 쉬게 하소서.
 사랑하는 아버지의 약속 안에서,
 값진 맘의 위안을 헛되게 하지 마시고,
 내게 하셨던 약속대로,
 
 도와주소서, 내게 일어나는 일들을.
 당신의 믿음직한 아버지의 손으로.
 단지 하루, 한 순간만이라도, 하늘 나라에 갈 때까지.

let str1 = '000111';
let str2 = str1.match(/.{1,1}/g);
console.log(str2);  ==> ["0", "0", "0", "1", "1", "1"]

let str3 = '111111';
let str4 = str3.match(/.{1,1}/g);
console.log(str4); ==> ["1", "1", "1", "1", "1", "1"]

function zip(arrays) {
    return Array.apply(null,Array(arrays[0].length)).map(function(_,i){
        return arrays.map(function(array){return array[i]})
    });
}
 
console.log(zip([str2, str4]));   ==> [["0", "1"], ["0", "1"], ["0", "1"], ["1", "1"], ["1", "1"], ["1", "1"]]

bb = zip([str2, str4]).map(function(obj){ return (obj[0] != obj[1]); })

console.log(bb);    ==> [true, true, true, false, false, false]

'{} {}'.format('one', 'two')  --> 'one two'

'{first} {last}'.format(first='아', last='무개')  --> '아 무개'

'{last} {first}'.format(first='아', last='무개')  --> '무개 아'

전 : '111000'   후 : '111111'

'0' 에서 '1'로 바뀐 문자열내 위치값(position값, index)을 알아야할때 

bef_str = '111000'

cur_str = '111111'

bef_val = [fld for fld in bef_str]  --> ['1', '1', '1', '0', '0', '0']

cur_val = [fld for fld in cur_str]  --> ['1', '1', '1', '1', '1', '1']

changed = [bef != cur for bef, cur in zip(bef_val, cur_val)]  --> [False, False, False, True, True, True]