[eBook] 왕초보를 위한 Python 2.7 https://wikidocs.net/book/2

 

점프 투 파이썬 https://wikidocs.net/book/1

파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)  https://wikidocs.net/book/110

파이썬 - 기본을 갈고 닦자! https://wikidocs.net/book/1553

파이썬 레시피 - 웹 활용 입문편  https://wikidocs.net/book/2965

초보자를 위한 파이썬 300제  https://wikidocs.net/book/922

 

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

Mac에서 콘텐츠 캐싱 로그 및 통계 보기

https://support.apple.com/ko-kr/guide/mac-help/mchl0d8533cd/mac

 

Mac에서 콘텐츠 캐싱 로그 및 통계 보기

Mac에서 콘솔을 사용하여 콘텐츠 캐싱 로그를 확인하거나 활성 상태 보기를 사용하여 콘텐츠 캐싱 통계를 확인할 수 있습니다.

support.apple.com

콘텐츠 캐싱 로그 보기

콘텐츠 캐싱은 하위 시스템인 com.apple.AssetCache로 로그 메시지를 전송합니다. 터미널 에서 로그 명령어를 사용하여 로그를 보거나 콘솔 앱을 사용하여 로그를 볼 수 있습니다.

Mac에서 다음 중 하나를 수행하십시오.

  • 터미널에서 로그 보기: Mac에서 터미널 앱

    을 열고 log 명령어를 입력하십시오. 예:

    $ log show --predicate 'subsystem == "com.apple.AssetCache"'

  • 콘솔에서 로그 보기: Mac용 콘솔 앱

    을 열고 검색 필드에 s:com.apple.AssetCache를 입력한 다음, return을 누르십시오.

콘텐츠 캐시에서 기록되는 로그 정보의 양을 늘릴 수 있습니다. Mac에서 고급 콘텐츠 캐싱 설정 구성하기에서 상세 키를 참조하십시오.

로그 명령어 사용하기에 관한 추가 정보를 보려면 log(1) man 페이지를 참조하십시오.

콘텐츠 캐싱 통계 보기

활성 상태 보기를 사용하여 콘텐츠 캐시로 업로드하거나 콘텐츠 캐시에 제공한 데이터 크기와 같은 콘텐츠 캐싱 통계를 볼 수 있습니다. 활성 상태 보기는 지난 1시간, 지난 24시간, 지난 7일 및 지난 30일 단위로 통계를 표시합니다.

  • Mac용 활성 상태 보기 앱

    을 연 다음, 캐시를 클릭하십시오.

캐시 옵션은 콘텐츠 캐싱이 한 번 실행된 다음에만 활성 상태 보기에 나타납니다. 캐시 옵션이 보이지 않는 경우, 활성 상태 보기를 다시 실행해보십시오.

사용 가능한 통계에 대한 설명은 활성 상태 보기 사용 설명서의 콘텐츠 캐시 활성 상태 보기를 참조하십시오.

통계 데이터를 사용하여 콘텐츠 캐시 성능을 평가할 수 있습니다. 예:

  • 콘텐츠 캐싱이 작동하는지 확인하기: 제공된 데이터 행의 값이 0보다 크면 콘텐츠 캐시가 작동하는 것입니다.

  • 콘텐츠 캐싱이 성능에 도움이 되는지 확인하기: 캐시에서 제공된 데이터의 값이 제공된 데이터의 값과 가까울수록 콘텐츠 캐싱이 성능에 도움이 됩니다.

  • 콘텐츠 캐시에 충분한 저장 공간이 있는지 확인하기: 최대 캐시 압력 행의 값이 50%를 넘는 경우, 콘텐츠 캐시에 더 많은 저장 공간을 할당해야 합니다. 캐시에 더 많은 공간을 할당하거나 캐시를 더 큰 볼륨으로 이동하거나 둘 다 가능합니다. 캐시 크기를 변경하는 방법에 관한 정보는 캐시 크기 설정하기를 참조하십시오. 캐시를 관리하는 방법에 관한 정보는 Mac에서 명령어 라인을 통해 콘텐츠 캐싱 관리하기를 참조하십시오.

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

물품을 구매한 경우 취소 를 클릭하여 중복 거래를 방지해야 합니다

opener.location.reload() 대신
window.opener.location.href = window.opener.location.href;  혹은
window.opener.location.href = window.opener.document.URL; 로 설정해준다.

 

 

 

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

리눅스 폴더 파일 날짜순 정렬 방법 ls -ltr


l 옵션은 자세히 표기

t 옵션은 파일과 디렉토리를 시간 순서대로 정렬

r 옵션은 정렬된 데이터의 순서를 내림차순

>ls -halt

>ls -lt

.

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

https://jsfiddle.net/

 

Create a new fiddle - JSFiddle

 

jsfiddle.net

웹의 프론트엔드 기술인 HTML, CSS, JavaScript를 웹에서 작성해서 바로 테스트 해볼 수 있고, 그 소스를 저장 공유할 수 있는 서비스이다.

 

https://jsfiddle.net/user/mill01/fiddles/

 

kim hongwan's Fiddles - JSFiddle - Code Playground

 

jsfiddle.net

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

JAVA excel - [POI] POI 엑셀 - Using newlines in cells ( 셀에서 줄바꿈 )

 CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

   Workbook wb = new XSSFWorkbook();   //or new HSSFWorkbook();
    Sheet sheet = wb.createSheet();

    Row row = sheet.createRow(2);
    Cell cell = row.createCell(2);
    cell.setCellValue("Use \n with word wrap on to create a new line");

    //to enable newlines you need set a cell styles with wrap=true
    CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

    //increase row height to accomodate two lines of text
    row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

    //adjust column width to fit the content
    sheet.autoSizeColumn((short)2);

    FileOutputStream fileOut = new FileOutputStream("ooxml-newlines.xlsx");
    wb.write(fileOut);
    fileOut.close(); 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

2020년 어떤 프로그래밍 기술을 주목해야 하는가

러스트, 그래프QL, 프로그레시브웹앱, 웹어셈블리, 리액트, 자바스크립트를 키워드로 놓고 자신의 생각을 공유했다. 개발자들을 위한 기술 트렌드로 의미가 있어 보여 정리해 본다.
https://techit.kr/view/?no=20191130103927

 

2020년 어떤 프로그래밍 기술을 주목해야 하는가 - 테크잇

인드렉 라슨이란 소프트웨어 엔지니어 겸 블로거가 얼마전, 미디엄 블로그인 베터 프로그래밍을 통해 2020년 프로그래밍 분야와 관련해 몇가지 시나리오를 담은 글을 올렸다. 러스트, 그래프QL, 프로그레시브웹앱, 웹어셈블리, 리액트, 자바스크립트를 키워드로 놓고 자신의 생각을 공유했다. 개발자들을 위한 기술 트렌드로 의미가 있어 보여 정리해 본다.우선 러스트에 대해 살펴보자.러스트는 안전, 특히, 안전한 동시 실행에 초점이 맟춰진 멀티 패러다임 시스템(mul

techit.kr

 


https://medium.com/better-programming/2020-programming-trend-predictions-a5d6b70bec26

 

2020 Programming Trend Predictions

Predicting what programming technologies will emerge in 2020

medium.com

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

[JEUS 8] response charset 변경하기 페이지 인코딩 변경

webApplication/WEB-INF/jeus-web-dd.xml 을 만듭니다.

 
<?xml version="1.0" encoding="UTF-8"?> 
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus"> 
<context-path>/euckr</context-path> 
<encoding> 
<response-encoding> 
<default>EUC-KR</default> 
</response-encoding> 
</encoding> 
</jeus-web-dd>
 

 

자 이렇게 되면
받는 쪽 body 로 제우스는 EUC-KR의 인코딩 형태로 html 을 던져 줍니다.

출처:https://ipex.tistory.com/entry/JEUS-8-response-charset-변경하기-페이지-인코딩-변경[깍돌이]

----------------------------------------------------------------------------------------------------------------------------
 http://blog.naver.com/hwanwhat81/221181267297 
ja 로 jeus admin(관리자 모드 접속)하여

applist 하면 container 정보들이 출력..
jeus 홈디렉토리 config 파일에 가보면 서비스 디렉토리 안에 container list 가 존재한다.
한글깨짐 현상이 발생하는 컨테이너로 가보면
WEBmain.xml 이 존재.

vi 로 들어가서 편집해 준다.  

<context-group>
        <group-name>MyGroup</group-name>
        <encoding>
            <request-url-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-url-encoding>
            <request-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-encoding>
            <response-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </response-encoding>
        </encoding>
생략 ....
</context-group> 



----------------------------------------------------------------------------------------------------------------------------
file.encoding ansi_x3.4-1968

분명히 utf-8로 셋팅 되었는데 Jeus는 가끔 미쳐서 파일 인코딩을 제대로 인지 못하는 경우가 있다.

String fileEncoding=System.getProperty("file.encoding");

이럴 경우 Jeus의 설정 파일에서( JEUSMain.xml ) 컨테이너 설정에 -Dfile.encoding=UTF-8 를 추가 해야 한다.

출처: https://lahuman.jabsiri.co.kr/57 [lahuman & jabsiri 노트]

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

https://waspro.tistory.com/183

 

[JEUS] Encoding 설정에 따른 출력 Test

본 포스팅은 Encoding 관련 우선순위 테스트입니다. Request Encoding, Response Encoding 각각 우선순위에 대한 테스트를 수행할 예정입니다. 먼저 Request Encoding 우선순위 테스트입니다. JEUS의 Encoding JEU..

waspro.tistory.com

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

패스워드 선택 및 이용안내서, 한국인터넷진흥원 2019

https://www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=32

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드 기술안내서 가이드 상세보기 제목 패스워드선택 및 이용 안내서 담당자 차세대암호인증팀  김도원  전화 061-820-1228 이메일 등록일 2016-02-25 조회수 15403 첨부파일 패스워드_선택_및_이용_안내서_2019.pdf    기술안내서 가이드 표 대분류 소분류 기술안내서 가이드 대상 수준 정보 보호 시스템 안전 신규 서비스 정보 보호 패스워드선택 및 이용 안내서 일반 초급

www.kisa.or.kr

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

12 Extremely Useful Hacks for JavaScript

https://github.com/maketroli/js-hacks/blob/master/README.md

 

maketroli/js-hacks

12 Extremely Useful Hacks for JavaScript. Contribute to maketroli/js-hacks development by creating an account on GitHub.

github.com

1) Converting to boolean using !! operator

function Account(cash) {
    this.cash = cash;
    this.hasMoney = !!cash;
}

var account = new Account(100.50);
console.log(account.cash); // 100.50
console.log(account.hasMoney); // true

var emptyAccount = new Account(0);
console.log(emptyAccount.cash); // 0
console.log(emptyAccount.hasMoney); // false

2) Converting to number using + operator

function toNumber(strNumber) {
    return +strNumber;
}

console.log(toNumber("1234")); // 1234
console.log(toNumber("ACB")); // NaN
This magic will work with Date too and, in this case, it will return the timestamp number:

console.log(+new Date()) // 1461288164385

3) Short-circuits conditionals

if (conected) {
    login();
}

conected && login();

user && user.login();

4) Default values using || operator

function User(name, age) {
    this.name = name || "Oliver Queen";
    this.age = age || 27;
}

var user1 = new User();
console.log(user1.name); // Oliver Queen
console.log(user1.age); // 27

var user2 = new User("Barry Allen", 25);
console.log(user2.name); // Barry Allen
console.log(user2.age); // 25

5) Caching the array.length in the loop

/*
This tip is very simple and causes a huge impact on the performance when 
processing large arrays during a loop. Basically, 
almost everybody writes this synchronous for to iterate an array:
*/
for(var i = 0; i < array.length; i++) {
    console.log(array[i]);
}

/*
If you work with smaller arrays – it’s fine, but if you process large arrays, 
this code will recalculate the size of array in every iteration of this loop and 
this will cause a bit of delays. 
To avoid it, you can cache the array.length in a variable to use it instead of invoking 
the array.length every time during the loop:
*/
var length = array.length;
for(var i = 0; i < length; i++) {
    console.log(array[i]);
}

//-- To make it smaller, just write this code:
for(var i = 0, length = array.length; i < length; i++) {
    console.log(array[i]);
}

; }

6) Detecting properties in an object

This trick is very useful when you need to check if some attribute exists and it avoids running undefined functions or attributes. If you are planning to write cross-browser code, probably you will use this technique too. For example, let’s imagine that you need to write code that is compatible with the old Internet Explorer 6 and you want to use the document.querySelector(), to get some elements by their ids. However, in this browser this function doesn’t exist, so to check the existence of this function you can use the in operator, see this example:

if ('querySelector' in document) {
    document.querySelector("#id");
} else {
    document.getElementById("id");
}

7) Getting the last item in the array

The Array.prototype.slice(begin, end) has the power to cut arrays when you set the begin and end arguments. But if you don’t set the end argument, this function will automatically set the max value for the array. I think that few people know that this function can accept negative values, and if you set a negative number as begin argument you will get the last elements from the array:

var array = [1,2,3,4,5,6];
console.log(array.slice(-1)); // [6]
console.log(array.slice(-2)); // [5,6]
console.log(array.slice(-3)); // [4,5,6]

8) Array truncation

var array = [1,2,3,4,5,6];
console.log(array.length); // 6
array.length = 3;
console.log(array.length); // 3
console.log(array); // [1,2,3]

9) Replace all

The String.replace() function allows using String and Regex to replace strings, natively this function only replaces the first occurrence. But you can simulate a replaceAll() function by using the /g at the end of a ​Regex:

var string = "john john";
console.log(string.replace(/hn/, "ana")); // "joana john"
console.log(string.replace(/hn/g, "ana")); // "joana joana"

10) Merging arrays

var array1 = [1,2,3];
var array2 = [4,5,6];
console.log(array1.concat(array2)); // [1,2,3,4,5,6];

/*
However, this function is not the most suitable to merge large arrays 
because it will consume a lot of memory by creating a new array. 
In this case, you can use Array.push.apply(arr1, arr2) which 
instead creates a new array – it will merge the second array in 
the first one reducing the memory usage:
*/
var array1 = [1,2,3];
var array2 = [4,5,6];
console.log(array1.push.apply(array1, array2)); // [1,2,3,4,5,6];

11) Converting NodeList to Arrays

If you run the document.querySelectorAll("p") function, it will probably return an array of DOM elements, the NodeList object. But this object doesn’t have all array’s functions, like: sort(), reduce(), map(), filter(). In order to enable these and many other native array’s functions you need to convert NodeList into Arrays. To run this technique just use this function: [].slice.call(elements):

var elements = document.querySelectorAll("p"); // NodeList
var arrayElements = [].slice.call(elements); // Now the NodeList is an array
var arrayElements = Array.from(elements); // This is another way of converting NodeList to Array

12) Shuffling array’s elements

var list = [1,2,3];
console.log(list.sort(function() { Math.random() - 0.5 })); // [2,1,3]

 

​#javascript

#!! #operator #+ #number

#Short-circuit

#array.length #loop

#detecting #properties #object

#item #array

#array_truncation

#replaceAll #replace

#merging #array #merging_array

#NodeList to #Array

#Shuffling #elements

Posted by 홍반장水 홍반장水

댓글을 달아 주세요