반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

엑셀 프로그래밍에서 다른 함수를 호출할 때는 아래와 같이 하면 됩니다.


Call function01


호출시 파라미터를 전달하려면 아래와 같이 하구요.


Call function01("test",1)


function01은 아래와 같이 선언되어 있어야 겠죠.


Sub TotalFuel(text As String, firstNum As Integer)


......


End Sub



함수에서 값을 return 할 경우 아래와 같이 합니다.


Public Function test() As Integer
    test=1
End Function

값을 return 할 때는 Sub 대신에 Function을 사용해야 하나 봅니다.

아직 값을 return 하는 것은 사용해 보지 않았는데 한번 다양하게 사용해 봐야겠네요.


반응형

San Diego 에서 열리는 강연회 소식

2014. 2. 4. 11:02 | Posted by 솔웅


반응형

샌디에고에 있을 때 참여했던 '사람사는 세상 샌디에고' 에서 이번에 강연회 행사를 준비하네요.


혹시 이 기간에 샌디에고에 방문하실 분들이나 샌디에고에 사시는 분들은 꼭 참석해 주세요.




<<<<UCSD 유종성 교수님 강연회>>>>>
UCSD Prof. Jong-sung You's Talk for Korean Community as well as UCSD Students,
co-hosted by '사사세 샌디에고 (Sa-sa-se San Diego)’, IR/PS 'Mannam' and 'Kommon Society'

1부 한국 발전국가의 기원: 박정희 신화의 재검토
(The Origin of the Developmental State in South Korea:
A Reexamination of Park Chung-Hee Myth)

2부 한국 민주주의와 표현의 자유
(Korean Democracy and Freedom of Expression)

<1부> 7:00~7:30 강연, 7:30~7:50 질의응답
<휴식> 7:50~8:10
<2부> 8:10~8:40 강연, 8:40~9:00 질의응답

초대강사 유종성 교수
● 미국 캘리포니아대학교 샌디에고 대학
국제대학원 교수
● 하버드 대학교 케네디 행정대학원
● 미국 하버드대학교 한국학연구소 객원연구원
● 경제정의실천시민연합 정책실장, 조직국장,
기획조정실장
● 시민의 신문 편집국 국장
● 국회 광주특별위원회 문동환 위원장 보좌관
● 대한YMCA연맹 간사
● 서울대학교 사회복지학과

일시: 2014년 2월 20일 목요일 저녁 7:00시
장소: UCSD, Robinson Building Complex #3201
(http://irps.ucsd.edu/experience/our-campus/driving-directions.htm)
사용언어: 한국어
문의: danchung811@gmail.com
* UCSD 지도와 유료 주차장 안내 *
http://irps.ucsd.edu/.../our-campus/driving-directions.htm
(주차장의 자판기에서 주차 권을 구입하신 후,
차 밖에서도 확인이 쉬운 곳에 놓아두셔야 합니다.)




반응형


반응형

지난 번 Selenium 관련 글에서 두개의 웹 어플리케이션에서 진행되는 flow를 하나의 테스트 케이스로 만드는 방법을 살펴 봤습니다.


아래와 같이 Selenium WebDriver의 Suite xml 파일에 <test> 라는 태그를 사용해서 진행할 수 있는 방법을 정리해 뒀었습니다.



<suite name="suite 이름">

     <listeners>
        <listener class-name=".........." />
    </listeners>
    <!-- GLOBAL PARAMETERS -->
    <parameter name="waitTime" value="40" />
    <parameter name="thinkTime" value="2" />

    <parameter name="app_url" value="웹 어플리케이션 URL" />
    <parameter name="username" value="아이디" />
    <parameter name="password" value="비밀번호" />
   
   
    <test verbose="10" name="이름 1" annotations="JDK" preserve-order="true">
        <classes>
            <class name="실행할 클래스 1" />
            <class name="실행할 클래스 2" />
            <class name="실행할 클래스 3" />
        </classes>
    </test>
   
    <test verbose="10" name="이름 2" annotations="JDK" preserve-order="true">
        <parameter name="browser" value="ie" />
        <parameter name="app_url1" value="웹 앱 URL 2" />
        <parameter name="username" value="아이디"" />
        <parameter name="password" value="비밀번호" />
       
        <classes>
            <class name="실행할 클래스 1" />
            <class name="실행할 클래스 2" />           
            <class name="실행할 클래스 3" />
        </classes>
    </test>
</suite>

첫번째 <test> 에서 사용하는 것은 일반 유저가 사용하는 웹 어플리케이션 이고 두번째 <test> 에서 사용하는 웹 어플리케이션은 관리자가 사용하는 것일 수 있는데요.


이 때 유저가 입력한 정보가 관리자 모드에서 제대로 표현 되는 지 여부를 테스트 해야 될 때가 있습니다.


예를 들어 첫번째 <test> 의 '실행할 클래스 3' 에서 유저가 물건을 주문했고 그 주문 번호가 1111111 일 경우.

두번째 <test> 에서는 이 주문번호가 제대로 입력이 됐는지. 그리고 그 주문번호에 따른 정보들이 제대로 들어가 있는지를 테스트 해야 될 수 있습니다.


이럴 경우 유저가 입력한 정보를 관리자모드에서 확인하도록 하는 방법은 여러 방법이 있겠습니다.


DB를 사용해서 정보를 가져와서 웹 페이지의 정보를 비교할 수 있겠고. 아니면 유저가 정보를 입력할 때 text나 다른 physical 한 파일 형태로 저장하고 관리자 모드에서 그 파일 안의 정보를 가져와서 테스트를 할 수 도 있구요.


그런데 단지 주문 번호 하나만 테스트를 해야 되는데 이렇게 DB 연결이나 물리적인 파일형태로 데이터를 저장하고 가져오는 것은 너무 복잡한 해결방법이 될 겁니다.


이 경우에는 User 모드에서 변수를 public static으로 저장하고 관리자 모드에서 그 정보를 가져와서 사용할 수 있습니다. (이것은 Selenium Webdriver에 대한 정보라기 보다는 자바 기초 정보입니다.)



예를 들어 위 코드내의 첫번째 <text>에 있는 '실행할 클래스 3' 에 아래와 같이 선언된 변수가 있습니다.


public static String orderNumber = null;

public static String userName = null;


그리고 유저가 이 정보를 입력하는 테스트 케이스에서 아래와 같이 이 변수에 그 정보를 담습니다.


@Test(alwaysRun = true)

public void inputOrderNumber() {

orderNumber = InputForm.getOrderNumber();

userName = InputForm.getUsername();

}


이 정보를 두번째 <test> 의 '실행할 클래스 3'에서 가져와서 해당 관리자모드 웹 페이지에 표시된 정보와 비교롤 합니다.


public static String orderNumber = null;

public static String userName = null;


@Test(alwaysRun = true)

public void checkOrderNumber() {

orderNumber = inputForm.orderNumber; (inputForm 은 첫번째 <test>의 '실행할 클래스3' 의 클래스 명)

}


오늘은 자바 기초 문법을 하나 정리 했네요.

반응형


반응형

Obama punch pizza from City Pages on Vimeo.



오바마 대통령이 이번 신년 연설에서 미네아폴리스에 있는 한 피자가게를 언급했습니다.

저는 아래 링크에 연결된 싸이트에서 그 부분을 봤는데요.


http://www.startribune.com/video/242552511.html?chan=video&pn=1


거기 비디오는 여기로 가져올 방법이 없네요.

그래서 비메오에 있는 50초 짜리를 위에 넣었습니다.


위 링크에 있는 비디오는 2분 30초 짜리인데요.

미국의 최저 임금을 인상해 달라는 대통령의 연설입니다.

그 연설 중에 미네아 폴리스테 있는 Punch Pizza 의 모범사례가 언급된겁니다.


그 내용을 번역해 봤습니다.


Now, women hold a majority of lower-wage jobs, but they're not the only ones stifled by stagnant wages. Americans understand that some people will earn more money than others, and we don't resent those who, by virtue of their efforts, achieve incredible success. That's what America's all about. But Americans overwhelmingly agree that no one who works full-time should ever have to raise a family in poverty. (Applause.)


현재 많은 여성들이 저임금을 받는 직업에 종사하고 있습니다. 그들만 정체된 임금에 힘들어하는 사람들이 아닙니다. 미국인들은 어떤 사람들은 다른 사람들보다 더 돈을 벌거라는 것을 이해하고 있습니다. 우리들은 열심히 일한 사람들이 큰 성공을 거두는 것에 대해 불만을 갖지도 않습니다. 하지만 그것만이 미국의 전부는 아닙니다. 미국인들은 full-time으로 일하면서 가족을 가난하게 부양하는 사람들이 하나도 없어야 된다는 것에 대해 압도적으로 동의합니다.



In the year since I asked this Congress to raise the minimum wage, five states have passed laws to raise theirs.


제가 의회에 최저 임근 인상을 요청한 그 해에 5개의 주에서 최저임금 인상안을 통과시켰습니다.



Many businesses have done it on their own. Nick Chute is here today with his boss, John Soranno. John's an owner of Punch Pizza in Minneapolis, and Nick helps make the dough. (Laughter.) Only now he makes more of it. (Laughter.) John just gave his employees a raise to 10 bucks an hour, and that's a decision that has eased their financial stress and boosted their morale.


많은 기업인들이 스스로 최저 임금을 높이고 있습니다. Nick Chute이 지금 여기에 그의 고용주 John Soranno와 함께 있습니다. John은 미네아폴리스의 Punch Pizza 사장입니다. 그리고 Nick은 반죽 만드는 걸 돕고 있죠. (웃음) John은 종업원들에게 시간당 10불로 임금을 인상했습니다. 그것은 재정상황에 안 좋은 영향을 줄 수 있는 결정이었습니다.하지만 그들의 기업 도덕성은 크게 향상시키는 결정이기도 했습니다. 


Tonight I ask more of America's business leaders to follow John's lead. Do what you can to raise your employees' wages. (Applause.) It's good for the economy; it's good for America. (Sustained applause.)


오늘 미국의 더 많은 기업인들이 John을 따르기를 부탁드립니다. 여러분 고용인의 임금을 올릴 수 있을 만큼 올려 주십시오. (박수) 그것이 경제에 도움이 됩니다. 그것이 미국에 도움이 됩니다. (박수)



To every mayor, governor, state legislator in America, I say, you don't have to wait for Congress to act; Americans will support you if you take this on. And as a chief executive, I intend to lead by example. Profitable corporations like Costco see higher wages as the smart way to boost productivity and reduce turnover. We should too. In the coming weeks I will issue an executive order requiring federal contractors to pay their federally-funded employees a fair wage of at least $10.10 an hour because if you cook -- (cheers, applause) -- our troops' meals or wash their dishes, you should not have to live in poverty. (Sustained applause.)


미국의 모든 시장, 주지사, 입법권자들에게 말씀드립니다. 국회가 행동할 때까지 기다릴 필요가 없습니다. 당신이 최저임금 인상을 선택한다면 미국인들이 그것을 지지할 것입니다. 수익을 창출해야하는 코스트코 같은 기업들도 임금 인상을 통해 생산성을 향상시키고 직원 이직율을 줄이는 방법을 택하고 있습니다. 우리도 그렇게 해야 합니다. 행정부의 수반으로서 저부터 선례를 보이겠습니다. 다음 주에 정부에서 계약직으로 일하는 직원들에게 시급 10.10불의 최저임금을 주는 법안을 제안할 계획입니다. (환호, 박수) 우리 군인들의 음식을 만들거나 그 접시를 닦는 당신들은 가난하게 살면 안됩니다. (박수 계속됨)



"당신들은 가난하게 살면 안됩니다."


이런말을 해 주는 대통령.. 좀 멋있다는 생각이 드는데요.


이번에 대통령 신년 연설회장에 초청되서 모범사례로 소개도 받고 기립박수까지 받은 Punch Pizza 사장이 운영하는 피자가게는 미네아폴리스 지역에 8군데가 있습니다.


훌륭한 사장의 행동에 지지를 표하는 의미에서 오늘 저희집 근처에 있는 Eden Prairie 지점 Punch Pizza 가게에 가서 점심을 먹었습니다.







장작을 때는 화덕에서 직접 피자를 구워서 주는 나폴리식 피자 가게인데요.

화덕 안의 온도가 화씨로 800도나 된대요. 섭씨로는 426도라고 하네요.

이 뜨거운 화덕에서 90초 동안 구워서 나온대요.


시키자 마자 곧바로 나오더라구요.


사진에는 잘 안 나왔는데 빈자리가 없을 정도로 손님들이 꽉 차 있었어요.




저희는 가장 기본 메뉴인 마가리따랑 나폴리 피자를 시켜 먹었어요.

저 위에 식물 잎이 위에 얹혀진게 나폴리 피자인것 같은데요.



저한테는 그 위에 두른 토마토 소스가 아주신선하고 맛있었어요.


먹다가 보니까 옆 테이블로 배달하는 다른 피자들이 푸짐하고 맛있어 보이는 것들이 아주 많더라구요.


다음에 다른것들도 먹어 볼 생각입니다.


Punch Pizza 완전 맛있었어요.


외식을 하고 나면 감미료나 소금을 많이 넣어서 그런지 집에 오면 속이 깨끗하지 못한 느낌이고 물도 많이 먹히고 그랬는데요.

여기 피자는 그런게 하나도 없었어요.

몸에도 아주 좋은거 같아요.


오바마 대통령 신년연설에서도 모범사례로 언급된 Punch Pizza 맛도 대박인 우리 지역 업체...


앞으로 자주 이용해야 겠어요.


Punch Pizza 화이팅!!!!!


반응형


반응형

ERP 웹 작업을 하다보면 일반 유저가 어떤 정보를 입력하고 관리자가 그 입력한 정보를 처리하는 프로세스들이 있습니다.


이 때 일반 유저가 입력할 때 사용하는 웹사이트와 관리자가 사용하는 웹사이트 즉 어플리케이션이 서로 다른 경우가 있습니다.


제가 참여하는 프로젝트에도 이런 경우가 있는데요.

거기에다가 일반 유저가 사용하는 웹어플리케이션은 아무 브라우저에서나 작동이 되는데 관리자가 사용하는 웹어플리케이션은 IE에서만 제대로 작동 됩니다.


그런데 테스트 케이스는 유저가 로그인해서 입력 완료하고 다시 관리자가 이를 처리하는 것 까지로 돼 있습니다.


이럴 경우 한개의 suite 에서 이 모든 일들을 처리할 수 있도록 해야 되는데요.


그럴 경우 아래와 같이 하면 됩니다.



<suite name="suite 이름">

     <listeners>
        <listener class-name=".........." />
    </listeners>
    <!-- GLOBAL PARAMETERS -->
    <parameter name="waitTime" value="40" />
    <parameter name="thinkTime" value="2" />

    <parameter name="app_url" value="웹 어플리케이션 URL" />
    <parameter name="username" value="아이디" />
    <parameter name="password" value="비밀번호" />
   
   
    <test verbose="10" name="이름 1" annotations="JDK" preserve-order="true">
        <classes>
            <class name="실행할 클래스 1" />
            <class name="실행할 클래스 2" />
            <class name="실행할 클래스 3" />
        </classes>
    </test>
   
    <test verbose="10" name="이름 2" annotations="JDK" preserve-order="true">
        <parameter name="browser" value="ie" />
        <parameter name="app_url1" value="웹 앱 URL 2" />
        <parameter name="username" value="아이디"" />
        <parameter name="password" value="비밀번호" />
       
        <classes>
            <class name="실행할 클래스 1" />
            <class name="실행할 클래스 2" />           
            <class name="실행할 클래스 3" />
        </classes>
    </test>
</suite>


이 테스트 suite 은 <suite>로 시작해서 </suite>으로 끝납니다.

listener를 작동해야 할 필요가 있으면 <listeners> 태그 안에 선언 합니다.


그 다음에 Parameter들을 선언하는 부분이 있습니다.

웹 URL이나 아이디 비밀번호 그 밖에 웹 페이지를 테스트할 때 필요한 파라미터들을 선언합니다.



이제 실제 실행될 테스트 케이스 클래스들을 선언할 차례인데요.

<test> 태그 안에 실행될 테스트 케이스 클래스들을 선언하시면 됩니다.


위에 보시면 두개의 <test> 태그가 있는데요.

첫번째 테스트에는 따로 파라미터가 선언돼 있지 않기 때문에 이 경우에는 Global Parameter를 사용합니다.


그리고 두번째는 따로 파라미터들을 선언했죠?

여기에 필요한 관리자용 어플리케이션 정보들을 선언해 주면 됩니다.


그리고 첫번째 테스트는 크롬 브라우저를 사용하고 두번째 브라우저는 IE 브라우저를 사용합니다.





이렇게 하나의 테스트 케이스에 여러 어플리케이션이나 여러 브라우저로 테스트 하도록 하는 방법은 <test> 태그를 여러개 사용해서 구현할 수 있습니다.



반응형
이전 1 2 다음