메뉴 건너뛰기

imp

[GS] ArrayFormula 함수 활용하기

lispro062017.04.07 08:38조회 수 2261댓글 0

    • 글자 크기

ArrayFormula 는 영역의 내용을 그대로 참조할 수 있다.


importrange 함수는 다른 파일(스프레드시트)의 영역을 참조하는데, limit 가 걸려있고, 느리므로 별로 안 좋아한다.


ArrayFormula 를 이용해 다른 view 를 구성하는 것이 필요한 경우 사용 가능하다.


A, B, C 컬럼 중 A, C 만 연속해서 활용해야할 때 좋다.


더더욱 좋은 것은 문자열의 가공이 가능하다는 것이다.


=ArrayFormula(if('sheet'!V3:X="",,left('sheet'!V3:X,19)))


V3 행부터 X 행 전체 내용을 가져오는데, 비어있지 않다면(내용이 있다면) LEFT 함수를 거쳐 출력하는 것이다.


원래 내용은 20자인데, 별로 안 예쁘게 출력될 때, 새로운 view를 구성하면서 문자열을 자르고 출력시킬 수 있다.



또다른 활용으로는 index 와 row 를 이용한 순서 바꾸기(reverse) 이다.


=INDEX(ArrayFormula('sheet'!B$2:B),COUNTA(ArrayFormula('sheet'!$B$2:$B))-ROW()+2,1)


해당 예제는 2행 부터 시작되는 경우이고, arrayformula를 사용하는 시트도 2행부터 시작하여 내용을 맞췄다.


C 컬럼의 경우 그대로 복사하면, 옆의 행을 참조하도록 상대 주소가 반영된다.


3행의 경우도 전체 참조내용에서 row 함수에 의해 index 가 반전되므로 역정렬된 데이터를 볼 수 있다.


구글 form의 고질적인 문제(아래로 쌓이면 내용 확인을 위해 스크롤)가 있어 찾아봤다.

lispro06 (비회원)
    • 글자 크기

댓글 달기

페르미 패러독스

[원문보기]
페르미 이름이 붙은 또 다른 유명한 에피소드가 '페르미 패러독스'다. 이것은 지구 외 문명(생물)의 존재유무에 대한 것으로 다음과 같다.

우주의 크기와 별의 수, 역사의 길이를 생각할 때 지구 외 문명(Extra Terrestrial Civilization, 이하 ETC)이 존재하지 않는 것은 이상하다. 그러나 지구상에서 이제껏 ETC는 목격되지 않았다.

페르미는 이 화제를 동료들에게 자주 던지면서 "다들 어디에 있는 거지?" 하고 물었다고 한다. 이 패러독스를 페르미 패러독스라고 한다. 이 ETC의 존재확률에 관해서는 전형적인 페르미 추정을 응용할 수 있는 과제다. 참고로 미국의 천문학자 프랭크 드레이크 공식'을 유도해냈다.
드레이크 방정식 : N = R X fp X ne X fl X fi Xfc X L
N: 은하계에서 통신할 수 있는 ETC의 수
R: 은하계에서 1년에 별이 탄생할 확률
fp : 행성을 가진 항성의 확률
ne : 행성을 가진 항성 가운데 생명이 유지할 수 있는 환경을 가진 행성의 수
fl : 생명을 유지할 수 있는 행성 가운데 실제로 생명이 있을 확률
fi : 그 행성 가운데 생명이 지적인 생명체로 발전(진화)할 확률
fc : 그 가운데 항성 간 통신을 할 수 있는 문화가 발달할 확률
L : 그런 문화가 통신을 할 기간의 길이

FLEX 개발환경 - J2EE, Tomcat, CS

[원문보기]

  J2EE는 웹기반의 엔터프라이즈 애플리케이션을 구축하기 위한 썬의 플랫폼이다. J2EE 서비스는 사용자의 브라우저와, 엔터프라이즈 데이터베이스 및 레거시 정보시스템 사이의 중간계층에서 수행된다. J2EE의 핵심요소는, JSP와 자바 서블릿, 그리고 기업내의 정보자원을 하나로 묶기 위한 다양한 인터페이스들의 뒤를 이은 EJB이다. J2EE 인터페이스는 데이터베이스를 위해 JDBC를, 디렉토리를 위해서는 JNDI를, 트랜잭션을 위해서는 JTA를, 메시징을 위해서는 JMS를, 전자우편시스템을 위해서는 JavaMail을, 그리고 CORBA와의 접속을 위해서는 JavaIDL을 각각 포함한다.


  1999년 12월에, 최초의 공식적인 버전으로는 최초로 J2EE 버전 1.2가 발표되었다.


Tomcat : 아파치 소프트웨어 파운데이션(Apache Software Foundation)에서 서버인 자바(Java)를 움직이게 하기 위해 개발한 AP서버.
톰캣은 서블릿 컨테이너이며, 자바 서블릿 Java Servlet과 자바서버 페이지JavaServer Pages 기술에 대한 공식적인 참조 구현체입니다. 자바 서블릿과 자바서버 페이지 스펙은 Java Community Process 주도하에 썬에 의해서 개발됩니다. 톰캣은 아파치 소프트웨어 라이센스 아래 공개적이고 함께 하는 환경에서 개발되고 배포됩니다. 톰캣은 전세계의 베스트 개발자들의 합작으로 의도된 것입니다.

 CS는 creative suite의 약자인데, Adobe사에서 릴리즈한 프로그램들은 다 cs가 붙는다. 마케팅 전략이기도 하고, MS처럼 studio에 여러 언어를 컴파일할 수 있는 컴파일러 및 에디터를 묶어 내놓는 것으로 보이기도 한다. 이럴 수록 사이즈가 커져서 관리하기는 더 어려워질 듯 하다.

20대 CEO - 박이빛

[원문보기]





파코메리 여성CEO 초청 강연
'대한민국 20대의 꿈과 성공' 주제로 최연소 월스트리트 진출 여성CEO 박이빛씨 강연

㈜파코메리(대표 박형미)는 지난 10일, 교육계 최연소 여성 CEO이자 교육 컨텐츠 분야 여성 CEO 최초로 미국 월스트리트에 진출한 박이빛 씨를 초청 '대한민국 20대의 꿈과 성공'이라는 주제로 강연회를 가졌다.

전국 주요지역 31개 직영점장 및 사원 5백여명을 대상으로 열린 이번 강연회에서 박이빛 씨는 현 시대를 속도, 지식, 신뢰의 시대로 규정하면서 “내 분야가 아니더라도, 나는 내가 내 몸을 투자했을 때 승리를 맛보는 그 쾌락에 승부수를 던진다"며 "경영자는 반드시 자신이 무엇을 원하고 무엇을 원하지 않는가를 정당화할 필요는 없다. 그러나 강하게 원하게 될 때가 있다, 그 때 시작을 해야 뭐든 이뤄낼 수 있다”고 강조했다. 또한 “강하게 신념을 가지는 그것, 그것을 책임질 수 있다면 지금 당장 시작하라”고 주문했다.

또 사람을 다루고 사람을 경영하는 자신만의 생각에 대해 박이빛 씨는 그것을 ‘안전거리’라고 규정했다.

박 CEO는 “우리는 사람이기 때문에 누구나 실패를 할 수 있다고 생각하며 살아야 한다. 그래서 필요한 것이 맨 마지막에 물러설 수 있는 공간, 즉 안전거리를 꼭 확보해 놓아야 한다는 것이다. 맨 마지막에 정말 남는 것은 내 주변의 ‘사람’이다. 돈도 아니고 명예도 아니고 바로 사람이다. 진정한 사람을 곁에 두는 사람은, 돈과 명예가 탐나지 않는다. 그럴 때 비로소 성공 이란 것이 찾아온다.”고 역설했다.

박형미 사장은 박이빛 씨에 대해 “공정한 원칙과 룰 속에서 승부욕이 강하고 진정한 자신만의 투자 방법을 체득한 박이빛 씨야말로 파코메리가 추구하는 미래지향적 투명한 파코메리 시스템과 일치한다”고 소감을 밝혔다.

박이빛 씨는 연봉 2천4백만원의 학원 강사로 시작한 지 5년 만에 10억원의 연봉을 받는 교육분야 최초의 여성 CEO로서 자신의 이름을 건 이빛에듀 뉴욕지사를 지난 7월 7일 월스트리트 중심가에 오픈해 세간의 화제가 됐다

[FACEBOOK] 앱 만들기1

[원문보기]
https://developers.facebook.com/apps

위 사이트에 가서 새 앱 만들기를 누른다.

F1.jpg

이름을 입력하면, 위와 같이 Basic 설정으로 넘어간다.

앱 네임스페이스는 앱의 이름이라고 할 수 있다. 영어로 쓴다.

이메일은 자신의 이메일을 쓰면 된다.

F2.jpg

아래에 웹사이트, 캔버스 URL, MObile Web URL은 http://주소/facebook/ 로 모두 동일하게 적어도 된다.
캔버스 페이지는 http://apps.facebook.com/네임스페이스


변경내용을 저장하고,
이제 facebook 디렉터리의 index.php를 작성한다.


위 사이트에서 sdk를 다운로드 하고 아래와 같이 기본 코드를 작성한다.

require "./php-sdk/src/facebook.php";

$facebook = new Facebook(array(
  'appId'  => '', //어플리케이션 생성시 발급된 'Application ID'를 넣어주자.
  'secret' => '', //어플리케이션 생성시 발급된 'Application Secret' 을 넣어주자.
  'cookie' => true,
));

// Get User ID
$user = $facebook->getUser();

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}
$session=$facebook->getUser();
if ($session==null) {
사용자가 승인하는 부분 // 다음 게시글에서 다룬다.
}

errordlg의 활용 matlab alert의 기능 수행

[원문보기]
errordlg

Create and display an error dialog box


Syntax


  • errordlg
    errordlg('errorstring')
    errordlg('errorstring','dlgname')
    errordlg('errorstring','dlgname','on')
    h = errordlg(...)

Description
Matlab의 alert이다. 찾느라 약간 시간이 걸렸다. 월......
on을 쓰면, 기존에 box가 있는 것을 체크하여 새로 띄우지 않는다.
h에는 handle을 저장하게 된다.

창업일지 - 무소득사실확인서 제출

[원문보기]
국민연금관리공단에서 보험에 가입하고 보험료를 내라는 독촉 편지가 와서 전화로 확인해 보았다. 인터넷에는 없는게 없다. '무소득사실확인서' 양식이 있는데, 이것을 제출하면, 국민연금 가입을 연기할 수 있다. 법으로 연금에 가입시켜서 보험료를 받아 먹다니.. OTL.

[awesome table] CSS 적용하기

[원문보기]

구글 awesome table 기본 css 는 처음에 깔끔하긴 하지만, 역시 동일하게 적용하면 기술적으로 복사해서만 구현한 것 같다.


이를테면, XE 기본 템플릿, 전자정부프레임워크의 기본 스타일로 적용된 페이지는 노력이 덜 들어간 느낌이다.


구글도 이를 인지했는지, 어렵지만, CSS 를 적용하는 방법을 지원한다.


개인적으로 사용한 것은 필터 부분의 버튼 색을 흰색으로 바꾸고 크기를 줄인 것이다.


기본 테이블 헤더의 정렬과, 내용(td) 부분 정렬 방식을 지정하여, 조금 더 출력이 일괄 가운데 정렬보다는 심혈을 기울인 듯한 모습을 보인다.


* awesome table gadget 의 4번째 탭(Advenced Parameter)의 templates range 에서 영역을 설정하고, 1행은 <style> 이라고 하면 된다.(해당 내용은 여기서 다루지 않음)


.awt-vis-controls-csvFilter .awt-csvFilter-button {background:#ffffff;}

.google-visualization-table-table th {text-align:center;}

.google-visualization-table-table td {padding-left:12pt;text-align:justify;max-width:150px;}

.awt-vis-controls-csvFilter .awt-csvFilter-dropdown-menu {min-width:100px;}

.awt-vis-controls-csvFilter .awt-csvFilter {min-width:100px;}


추가적으로 전체 헤더 색을 지정하는 부분이다. 원래는 회색인데, 푸른색 계열로 적용하면 hover 색이랑 약간 비슷하긴 하지만, 통일감도 있고, 흑백 느낌을 줄여준다.

.google-visualization-table-table .gradient,

.google-visualization-table-div-page .gradient {

        background: #82b6f7 !important;

}

travelling salesman problem

[원문보기]
http://webscripts.softpedia.com/script/Miscellaneous/Traveling-Salesman-Problem-34479.html

배열의 사용
1. (:,1) 하면, 1열의 정보를 출력한다.
2. (1,:) 하면, 1행의 정보를 출력한다.
3. [mat mat(1)]하면, 첫행의 정보를 뒤에 덧붙인다.
4. zeros(2,4) 하면, 2x4의 0행렬을 만든다.
5. randperm(x)하면, 1~x까지의 랜덤한 자연수 배열을 만든다.
6. plot은 x,y의 2차 그래프를 그린다.
7. plot3는 x,y,z의 3차 그래프를 그린다.
8. text 함수는 임의의 위치에 문자를 출력한다.
9. colormap sets the current figure's colormap to MAP.
10. flipud함수는 아래와 같이 바꾼다.
  X = 1 4               3 6
        2 5               2 5
        3 6               1 4

[Webdav] pearl로 취약성 테스트 하기

[원문보기]

위 사이트에서 파일을 다운로드 받아 대상 사이트(< IIS 5)에 테스트 본다.

vmware에서 win 2000 iis5, win 2003 iis6 에서 해봤는데 둘 다 잘 안된다.

기본적으로 prohibit이고, 거의 쓰는데가 없으므로 체크리스트로의 가치가 점점 줄어든다고 할 수 있다.

error가 발생되면서 실행되지 않으면,

# cpan -i HTTP::DAV

를 하여 필요한 내용을 설치해 준다.

11.JPG

[AIR] 클립보드 내용 보기

[원문보기]
TEXT와 IMAGE를 다 가능하게 했습니다.
http://www.flexets.com/show-image-from-clipboard 를 참고 했습니다. * 박영식님에 의해서 게시물 이동되었습니다 (2008-07-06 16:40)

smali <-> java

[원문보기]

http://blog.indiandragon.in/2012/10/ultimate-android-reverse-engineeringdecompiling-guide-part-1-softwares-and-procedure.html


위 사이트를 참고 하면 된다.


https://code.google.com/p/smali/downloads/detail?name=baksmali-1.4.0.jar&can=4&q=


baksmali 를 받고,


> java -jar baksmali-1.4.0.jar classes.dex


하면, out 디렉터리에 smali 코드가 나온다.


다시 dex로 만들 땐 아래와 같이 한다.


> java -jar smali-1.4.0.jar out


음.

모니터에서 연기가 나면서 타는 냄새가....

[원문보기]

모든 전자제품에서 타는 냄새는 탄탈 캐패시터(Taltal Capacitor)가 파손되어


타기 때문에 생깁니다.


아마 노트북 분해하고 속을 보면 까맣게 탄 자국이 있을 것입니다.


 


탄탈이 타는 이유는 허용할 수 있는 전압치(내압이라고 합니다)가 있는데 이보다 과한 전압이 들어오는 경우


내부에 있는 전해용액이 증발하여 타게 됩니다.


 


처음 사용시엔 이상이 없어 보일 수 있어도, 시간이 지남에 따라 조금씩 조금씩 증발하여 없어지기 때문에 어느 날 갑자기 냄새가 나면서 타게 됩니다.


 


탄탈이 타게되면 전원(Power)과 접지(Ground)가 붙어서 단락(Short)이 발생하여 과전류가 흐르기 때문에 노트북 내부 회로가 보호를 위해 꺼진 것입니다.


 


따라서, 잠깐 켜진다고 다시 사용하면 파손된 탄탈외에 다른 부품들도 파손될 수 있으므로 수리전엔 사용하지 마세요.


 


아마 수리센터로 가면 메인보드를 갈아야 한다고 할 수도 있습니다.


하지만, 이것은 분명히 메인보드 설계오류이기 때문에 따질 필요는 있습니다.


 


최근에는 이러한 탄탈 불량현상 때문에 탄탈은 사용하지 않고 설계하는 추세입니다.

C#으로 만든 웹브라우저

[원문보기]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace IEBrowser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            object o = null;
            // 홈 사이트로 이동
            //axWebBrowser1.GoHome();
            axWebBrowser1.Navigate("http://suritam9.woweb.net/www/seminar/ajax/map2level.htm", ref o, ref o, ref o, ref o);
        }


        private void btnGoBack_Click(object sender, EventArgs e)
        {
            // 뒤로 이동
            axWebBrowser1.GoBack();
        }


        private void btnGoFoward_Click(object sender, EventArgs e)
        {
            // 앞으로 이동
            axWebBrowser1.GoForward();
        }


        private void url_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                // 입력받은 url로 이동
                object o = null;
                axWebBrowser1.Navigate(url.Text, ref o, ref o, ref o, ref o);
            }
        }


        private void btnGo_Click(object sender, EventArgs e)
        {
            object o = null;


            // 입력받은 url로 이동
            axWebBrowser1.Navigate(url.Text, ref o, ref o, ref o, ref o);
        }
    }
}

[MAC LION] launchpad 아이콘 삭제

[원문보기]
# Clear applications listed in Launchpad
sqlite3 ~/Library/Application Support/Dock/*.db "DELETE from apps;
  DELETE from groups WHERE title<>''; DELETE from items WHERE rowid>2;"
  && killall Dock

위 명령어를 사용하면 된다.
http://verified-fool.tistory.com/55

또다른 방법으로는 launchpad control를 설치해 필요 없는 것을 제거하는 방법이다.

http://chaosspace.de/launchpad-control/

위 사이트에서 받으면 된다.

첨부도 있으니, sh Kill_all_apps_on_Lauchpad.sh 를 실행해 아이콘을 삭제할 수 있고,

Launchpad-Control.prefPane 를 실행해 환경설정에 등록한 후, 보이길 원하지 않는 아이콘을 체크 해제해 적용할 수 있다.

2008년 7월 16일 - 부가세 확정신고

[원문보기]
예정신고를 했기 때문에, 4~6월분만 했다.

img 파일의 저장

[원문보기]
http://blog.jidolstar.com/web_example/317/

위의 글을 참고하여, img 파일을 캡쳐 후, 저장하였다.

데모 페이지 : http://suritam9.woweb.net/webhard/flex/image.html

원리는 읽어온 image를 base64로 변환해, php파일로 보내서, php에서는 base64 code를 디코드해서 .jpg로 저장한다. * 박영식님에 의해서 게시물 이동되었습니다 (2008-07-06 16:40)

[다음View] 외부게시글 이용해 등록하기

[원문보기]
이미, 블로그가 다음View 에 가입되어 있는데, 외부 게시판에서 등록하고 싶다면, 새로운 아이디를 만들어야 한다.

그래야 가입하기 버튼이 잘 나온다.

xe의 경우 http://주소/xe/?mid=test1&act=rss 로 rss경로를 바꿔줘야 하는데, 이부분은 MY다음view에서 새글보내기를 누르고 설정할 수 있다. 이런 건 설명이 제대로 안 되어 있어서, 날 여러날 괴롭혔다. T.T;;;;

[XML] Dublin Core(DC)

[원문보기]
개념
 1995년 OCLC(Online Computer Library Center)와 NCSA(National Centre for Supercomputer Application)가 더블린(Dublin)에서 개최한 워크숍에서 합의된 메타 데이타
 데이타의 호환성을 유지
 네트웍크 자원의 기술에 필요한 일련의 데이타 요소를 규정
 자원의 신속한 검색 지원
목적
 데이타의 형식/구조 단순화
 원문의 저자나 발행자
 메타 데이타를 직접 작성
 네트웍크 출판을 위한 저작도구의 개발자
 메타 데이타에 대한 템플릿을 직접 소프트웨어에 포함할 수 있도록 
 작성된 데이타를 기초로 특정 분야에서 요구되는 상세한 수준으로 확장 사용  

 Dublin Core 15개 데이터 요소  
 콘텐츠 기술(내용) 요소지적속성요소 물리적 기술(구현)요소 
 Title(표제)
Subject(주제)
Description(설명)
Source(출전)
Language(언어)
Relation(관련자료)
Coverage(내용범위)
Creator(제작자)
Publisher(발행처)
Contributor(기타제작자)
Right(이용조건)
 Date(발행일자)
Type(자료유형)
Format(형식)
Identifier(식별자)

활용한 함수

[원문보기]
set(handles.in_play,'enable','on');

속성을 변경한다.

if (strcmp(fs_ampl,' ') || str2num(fs_ampl)<=50)
    msgbox('50보다 큰 값을 입력하세요');

if의 여러 값을 체크하는 연산자


axes(handles.axes4);
plot(0,0);

plot을 0,0으로 하여, 초기화 효과를...
첨부 (0)
위로