대충 봤는데도 좋은거 같다.
정말로 궁금해 하던 부분을 긁어 주는거 같다.
대충 봤는데도 좋은거 같다.
정말로 궁금해 하던 부분을 긁어 주는거 같다.
#lang scheme
(define (even? n)
(= (remainder n 2) 0))
(define (double a )
(double-iter a 2 0))
(define (double-iter a counter product)
(if (= counter 0)
product
(double-iter a (- counter 1) (+ a product))))
(define (mod a div)
(- (/ a div) (/ 1 div)))
;; 1.18
(define (fast-multi-iter a counter product result )
(cond ((= counter 1) (+ product result ) )
(( even? counter) (fast-multi-iter a (/ counter 2) (double product) result ))
(else (fast-multi-iter a (mod counter 2) (double product) (+ result product ) ) )))
(define (* a b)
(fast-multi-iter a b a 0 )
)
;; 1.17
(define (fast-multi b n)
(cond ((= n 0) 0)
((even? n) (double (fast-multi b (/ n 2))))
(else (+ b (fast-multi b (- n 1))))))
ps. 1.18 을 답을 보니 나만 틀렸네 ㅡㅡ
잘못된 방법으로 풀었음 .
역시 난 ㅠㅠ
영어 어려워서 책 질렀음
;;; sicp 1.16
#lang scheme
(define (square x) (* x x))
(define (even? n)
(= (remainder n 2) 0))
(define (fast-expt-iter b counter product)
(if (= counter 0)
product
(if (even? counter)
(fast-expt-iter b
(/ counter 2)
(* b product product))
(fast-expt-iter b
(- counter 1)
(* b product))
)
))
(define (fast-expt b n)
(fast-expt-iter b n 1))
(fast-expt 2 16)
이것도 들렸다 ㅠㅠ
<?xml version="1.0" encoding="utf-8"?> <!-- http://blog.flexexamples.com/2010/02/19/setting-a-variable-row-height-on-an-mx-menubar-control-in-flex/ --> <mx:Application name="MenuBar_menuShow_menu_variableRowHeight_test" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundColor="white"> <mx:Script> <![CDATA[ import mx.events.MenuEvent; protected function mBar_menuShowHandler(evt:MenuEvent):void { evt.menu.variableRowHeight = ch.selected; evt.menu.invalidateSize(); } ]]> </mx:Script> <mx:ApplicationControlBar dock="true"> <mx:CheckBox id="ch" label="variableRowHeight" /> </mx:ApplicationControlBar> <mx:MenuBar id="mBar" labelField="@label" menuShow="mBar_menuShowHandler(event);"> <mx:dataProvider> <mx:XMLListCollection> <mx:XMLList xmlns=""> <menu label="File..."> <item label="New" /> <item label="Open" /> <item label="Save" /> <item label="Save As" /> <fake type="separator" /> <item label="Exit" /> </menu> <menu label="Edit..."> <item label="Cut" /> <item label="Copy" /> <item label="Paste" /> <fake type="separator" /> <item label="Undo" /> <item label="Redo" /> <fake type="separator" /> <item label="radio button" type="radio" toggled="true" /> <item label="check box" type="check" toggled="true" /> </menu> </mx:XMLList> </mx:XMLListCollection> </mx:dataProvider> </mx:MenuBar> </mx:Application>
현재 상황
처리 방법
[code]package custom
{
import mx.controls.Button; public class ExtendButton extends Button
{
private var _currentId:String; public function ExtendButton()
{
super();
}
public function get currentId():String {
return _currentId;
}
public function set currentId(currentId:String):void {
_currentId = currentId;
}
}
}[/code]
위 처러 만든 후에
[code]var button:ExtendButton = new ExtendButton();
for(var i:int=1;i<10;i++) {
button.currentId = "a"+i;
}
button.addEventListener(MouseEvent.CLICK,function(event:MouseEvent):void{
trace(event.currentTarget.currentId)
});[/code]
이렇게 만들었음
------------------------------------------------------------------------------
여기서 부터는 질문
http://blog.flashplatform.kr/tag/keep-generated-actionscript
위의 링크방식대로 한다고 하면
generated라고 옵션은 줘서 as 스크립트를 전부 만들어서 거기에서 추가적으로
처리를 해야지 처리가 가능한거지?? ㅡㅡ;;
아니면 안되는건지 알고 싶습니다.
The numbers at the edge of the triangle are all 1, and each number inside the triangle is the sum of the two numbers above it.35 Write a procedure that computes elements of Pascal's triangle by means of a recursive process.
#lang scheme
(define (pascal_triangle a b )
(cond
((= a b) 1)
((= a 2) 1)
((= b 1) 1)
(else (+ (pascal_triangle (- a 1) (- b 2))
(pascal_triangle (- a 1) (- b 1))))))
--------------------------------------------------------------------------------
;;; sicp 1.12
#lang scheme
(define (pascal_triangle a b )
(cond
((< a b) '틀렸음)
((= a b) 1)
((= b 1) 1)
(else (+ (pascal_triangle (- a 1) (- b 1))
(pascal_triangle (- a 1) b)))))
수정함
Exercise 1.10. The following procedure computes a mathematical function called Ackermann's function.
(define (A x y)
(cond ((= y 0) 0)
((= x 0) (* 2 y))
((= y 1) 2)
(else (A (- x 1)
(A x (- y 1))))))
What are the values of the following expressions?
(A 1 10)
(A 2 4)
(A 3 3)
Consider the following procedures, where A is the procedure defined above:
(define (f n) (A 0 n))
(define (g n) (A 1 n))
(define (h n) (A 2 n))
(define (k n) (* 5 n n))
Give concise mathematical definitions for the functions computed by the procedures f, g, and h for positive integer values of n. For example, (k n) computes 5n2.
(A 1 10 ) 풀이
( A 1 10 ) = > 1024
( A 1 ( A 1 9) ) = 512
( A 1 ( A 1 (A 1 8 ) ) = 256
( A 1 ( A 1 ( A 1 (A 1 7 ) ) ) = 128
( A 1 ( A 1 ( A 1 ( A 1 (A 1 6 ) ) ) ) )
....
( A 1 .... ( * 2 1 ) )
(A 2 4 ) 풀이
( A 2 1 ) = > 1
( A 2 2 ) = > 4 -> 2^2
( A 2 3 ) = > 16 -> 2^(2^2)
( A 2 4 ) = > 65536 -> (2^(2^(2^2)))
1. f => 2n
(define (f n) (A 0 n)) 일때 A 함수를 따르면
x = 0 이므로 ( * 2 y ) 이다.
답은 f(n) = 2n
2. g => 2^n
3. h => if n = 0 : f(x) = 0
if n = 1 : f(x) = 2^1
if n >= 2 : f(x) = 2^f(x-1)
나오는 순서도는 생략 ㅡㅡ 너무 쓰기 힘듬 ...
1. ContextMenuItem 추가시에 사용하는 이름이 동일하면 한개만 출력된다.
2. ContextMenuItem 추가시에 사용하는 이름이 "삭제","Del" 이런거 전부 안된다.
위의 내용들은 디버거 써도 에러도 잡히지도 않는다. ㅡㅡ
이걸로 며칠을 고생했는지 ㅠㅠ
슬프다.
struts2에서 excel를 출력할 경우가 있는데
인터넷 검색결과 내가 하고 싶은 방식으로 되어 있는 소스가 없었다.
그래서 spring mvc abstractExcelView를 참고해서 struts2용 AbstractView를 만들었다.
[code java]package pmis.common.excel; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.Result; import com.opensymphony.xwork2.util.ValueStack; public abstract class AbstractExcelResult implements Result { /** The content type for an Excel response */ private static final String CONTENT_TYPE = "application/vnd.ms-excel"; /** The extension to look for existing templates */ private static final String EXTENSION = ".xls"; private String url; public void setUrl(String url) { this.url = url; } @Override public void execute(ActionInvocation invocation) throws Exception { try { HSSFWorkbook workbook; HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); String requestURI = request.getRequestURI(); workbook = new HSSFWorkbook(); buildExcelDocument(invocation.getStack(), workbook, ServletActionContext.getRequest(), ServletActionContext.getResponse()); // Set the content type. response.setContentType(CONTENT_TYPE); response.setHeader("Content-disposition", "attachment;filename="+StringUtils.defaultIfEmpty(url, StringUtils.substring(requestURI,StringUtils.lastIndexOf(requestURI, "/"), StringUtils.indexOf(requestURI, ".")))+EXTENSION); ServletOutputStream out = response.getOutputStream(); workbook.write(out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } protected abstract void buildExcelDocument( ValueStack valueStack, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception; protected HSSFCell getCell(HSSFSheet sheet, int row, int col) { HSSFRow sheetRow = sheet.getRow(row); if (sheetRow == null) { sheetRow = sheet.createRow(row); } HSSFCell cell = sheetRow.getCell(col); if (cell == null) { cell = sheetRow.createCell(col); } return cell; } } [/code]
위의 소스를 확장해서 각각의 페이지별로 Excel를 만들때는
[code java]package pmis.system.loginstat; import java.math.BigDecimal; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import pmis.common.excel.AbstractExcelResult; import com.opensymphony.xwork2.util.ValueStack; public class LoginStatExcelResult extends AbstractExcelResult { @Override protected void buildExcelDocument(ValueStack valueStack, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { //여기에 구현 } } [/code]
그리고
xml 페이지에선
result type 선언
[code xml]
action 선언에선
[code xml]
1.9
첫번째 : iterative
a : counter
b : product
a가 1 감소할때마다 b는 1씩 증가해서 a가 0이 되면 b는 결과 출력
항상 thread safe 하지 않다는 내용이다.
Erlang부분까지는 기억이 안 나는데 연결된 링크까지 가서 보게 되면
scala에서 사용하는 Actor 모델은 결코 deadlock에 안전하지 않다는 내용이다.
정확하게 읽으신 분들이 태클 부탁드립니다.
private Cursor getItemsToSync() { |
ContentResolver r = getContentResolver(); |
String selection = String.format("%s > ? AND %s <> ?", |
SmsConsts.DATE, SmsConsts.TYPE); |
String[] selectionArgs = new String[] { |
String.valueOf(getMaxSyncedDate()), String.valueOf(SmsConsts.MESSAGE_TYPE_DRAFT) |
}; |
String sortOrder = SmsConsts.DATE; |
return r.query(Uri.parse("content://sms"), null, selection, selectionArgs, sortOrder); |
} |