select: function (newEvent_start, newEvent_end, allDay) {
var okToAdd = true;
$('#calendar').fullCalendar('clientEvents', function (event) {
if ( (newEvent_start >= event.start && newEvent_end <= event.end) || // between
(newEvent_start <= event.start && newEvent_end >= event.start) || // starts before, ends during
(newEvent_start >= event.start && newEvent_start <= event.end && newEvent_end >= event.end) // starts during, ends after
)
okToAdd = false;
});
if (okToAdd) {
calendar.fullCalendar('renderEvent',
{
title: 'Title goes here',
start: newEvent_start,
end: newEvent_end,
allDay: allDay
},
true
);
}
calendar.fullCalendar('unselect');
}로그인 하는 페이지로 이동 해야 하는데 url에 jsessionid가 붙엇 url을 못찾는다는 오류가 생긴다.
간단하게
disable-url-rewriting="true"를 http 태그에 설정 해 주면 발생 하지 않는다.
근데 스프링 문서서도 위 내용은 찾을 수 없다.
http://stackoverflow.com/questions/2291236/how-can-i-prevent-spring-security-from-appending-jsessionidxxx-to-login-redirec
여기서 내용을 찾았는데... 뭐 갸내들이 바빠서 문서 업데이트를 못했나 보다 -_-;;
출처 : http://starplatina.tistory.com/entry/시큐리티에서-url-에jsessionid가-붙을-때 public static String getShortUrl()
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
UUID uuid = UUID.randomUUID();
String shortUrlKey = null;
try
{
dos.writeLong(uuid.getMostSignificantBits());
String encoded = new String(Base64.encodeBase64(baos.toByteArray()), "ISO-8859-1");
shortUrlKey = StringUtils.left(encoded, 5);
//특수문자가 생성되면 랜덤으로 알파벳 소문자를 생성하여 처리
String match = "[^\uAC00-\uD7A3xfe0-9a-zA-Z\\s]";
shortUrlKey =shortUrlKey.replaceAll(match, Character.toString(((char)((Math.random() * 26) + 97))) );
}
catch (IOException e) {
e.printStackTrace();
shortUrlKey = null;
}
return shortUrlKey;
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- //MySql -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${db.driverClassName}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="maxActive" value="20"/>
<property name="maxIdle" value="10"/>
<property name="validationQuery" value="select 1"/>
</bean>
<!--
#####################################################
# myBatis setting
#####################################################
-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:com/fcm/config/mybatis/mybatis-config.xml"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
<!-- 트랜젝션 사용시 필요함 -->
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="user" type="com.fcm.object.User" />
</typeAliases>
<mappers>
<mapper resource="com/fcm/config/mybatis/common.xml"/>
<mapper resource="com/fcm/config/mybatis/event.xml"/>
<mapper resource="com/fcm/config/mybatis/template.xml"/>
<mapper resource="com/fcm/config/mybatis/user.xml"/>
<mapper resource="com/fcm/config/mybatis/channel.xml"/>
<mapper resource="com/fcm/config/mybatis/article.xml"/>
<mapper resource="com/fcm/config/mybatis/magazine.xml"/>
</mappers>
</configuration>
{ "page":"1", "total":2, "records":"13", "user":[ {"id":"12345","name":"Desktop Computers","email":"josh@josh.com","item":{"price":"1000.72", "weight": "1.22" }, "note": "note", "stock": "0","ship": "1"}, {"id":"23456","name":"<var>laptop</var>","note":"Long text ","stock":"yes","item":{"price":"56.72", "weight":"1.22"},"ship": "2"}, {"id":"34567","name":"LCD Monitor","note":"note3","stock":"true","item":{"price":"99999.72", "weight":"1.22"},"ship":"3"}, {"id":"45678","name":"Speakers","note":"note","stock":"false","ship":"4"} ] }
리스트를 표출하는 소스에서는 다음과 같이 처리함
jQuery(
function()
{
jQuery("#list2").jqGrid({
url:'/admin/user/list/json',
datatype: "json",
jsonReader : {
page: "page",
total: "total",
root: "user",
records: function(obj){return obj.length;},
repeatitems: false,
id: "seq_user"
},
colNames:['seq_user','Date', 'Client', 'Amount','name','Total','Notes'],
colModel:[
{name:'seq_user',index:'seq_user', width:55},
{name:'invdate',index:'invdate', width:90},
{name:'name',index:'invdate', width:100},
{name:'amount',index:'amount', width:80, align:"right"},
{name:'name',index:'name123123', width:80, align:"right"},
{name:'total',index:'total', width:80,align:"right"},
{name:'note',index:'note', width:150, sortable:false}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'seq_user',
viewrecords: true,
sortorder: "desc",
caption:"JSON Example"
});
jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
}
);
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="/js/lib/jquery/jquery.cookie.js"></script>
<style type="text/css">
/* 팝업 CSS */
.popup { position: absolute; display: none; z-index: 1000; }
.popup_bottom { float: left; height: 25px; font-size: 12px; font-family: "돋움", "굴림"; background: #000; }
.popup_check { float: left; padding-top: 3px; padding-left: 10px; }
* html .popup_check { float: left; padding-top: 2px; padding-left: 10px; }
.popup_check_desc { float: left; padding-top: 6px; color: #ccc; padding-left: 5px; letter-spacing: 0; }
* html .popup_check_desc { float: left; padding-top: 7px; color: #ccc; padding-left: 5px; letter-spacing: 0; }
.popup_close { float: right; padding-top: 6px; color: #ccc; padding-right: 10px; cursor: pointer; letter-spacing: 0; }
* html .popup_close { float: right; padding-top: 7px; color: #ccc; padding-right: 10px; cursor: pointer; letter-spacing: 0; }
</style><script type="text/javascript"> jQuery(
function()
{
jQuery('.pchk').each(
function(i)
{
jQuery(this).click(function(){
var id = jQuery(this).parent().parent().parent().attr('id');
jQuery.cookie(id, 'Y',{ expires: 1});
jQuery('#'+id).fadeOut();
});
}
);
jQuery('.popup_close').each(
function(i)
{
jQuery(this).click(function(){
var id = jQuery(this).parent().parent().attr('id');
jQuery('#'+id).fadeOut();
});
}
);
}
);
</script>
<!-- 팝업 관리 시작 -->
<div id="popupid_1" class="popup" style="width:200px; background-color: black; padding: 1px;" left="20px" top="30px">
<div><img src="/images/main_theme3.jpg"></div>
<div class="popup_bottom" style="width: 200px;">
<div class="popup_check"><input type="checkbox" class="pchk" /></div>
<div class="popup_check_desc">하루동안 열지않기</div>
<div class="popup_close">닫기</div>
</div>
</div>
<!-- 팝업 관리 끝 -->
pom.xml 파일에 아래 plugin의 내용을 plugins 의 child로 넣어주면 끝~!
<build>
....
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
<tasks>
<ftp server="서버정보(hostname or ip)"
remotedir="서버의 파일이 위치할 디렉토리 경로"
password="비밀번호">
<fileset dir="로컬디렉토리경로">
<include name="*.war"/>
</ftp>
<ftp server="서버정보2"
remotedir="서버의 파일이 위치할 디렉토리 경로"
password="비밀번호">
<fileset dir="로컬디렉토리경로">
<include name="*.war"/>
</ftp>
</tasks>
</configuration>
<executions>
<execution>
<id>ftp</id>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<artifactId>ant-commons-net</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
출처 : http://blog.naver.com/PostView.nhn?blogId=dadagump&logNo=60089753372
출처 : http://cafe.naver.com/webappdev/3772
A list of useful HTML5 & CSS3 resources from my bookmarks. (You will probably need a modern browser).
HTML5 Basics & Introduction
- Everything you need to know about HTML5 video and audio
- The Only HTML5 Resources You Need for Getting Up to Speed
- Yes, You Can Use HTML 5 Today!
- Get Ready for HTML 5
- HTML 5 and CSS 3: The Techniques You’ll Soon Be Using
- HTML5: What You Should Be Using Right Now
- HTML5 Resources from Apple
- HTML5 Presentation
- Dive Into HTML5 – Video on the Web
- Dive Into HTML5 – What Does It All Mean?
- Dive Into HTML 5 – Let’s Take This Offline
- The state of WebGL and HTML 5 audio for creating JavaScript games
- Audio on the web (Mozilla summit)
Resources & Tools
- HTML5 Watch
- HTML5 Rocks
- HTML5 Playground
- HTML5 Doctor
- HTML5 Gallery
- HTML5 Infographic
- HTML5 Peeks, Pokes and Pointers
- The Ultimate HTML5 Toolbox
- Learn About HTML5 and IE9 from Giorgio Sardo from Microsoft
- HTML5 buzzwords in action
- HTML5 CSS3 Starting Template
- Sencha HTML5 Mobile App Framework
- HTML5 Boilerplate
- HTML5 and The Future of the Web
- This Summer in HTML 5
- HTML5 Trends
- Fallback options for HTML5 Video
- Degradable HTML5 Audio & Video WordPress Plugin
- HTML5 & CSS3 Support Tools
- HTML5 Cheat Sheet
- HTML5 Pocket Book
- HTML5 – A Vocabulary & Associated APIs for HTML & XHTML
- Compatibility tables for features in HTML5, CSS3, SVG & others
- Effect Games
- HTML5 Readiness Graph
- HTML5 Dreamweaver CS5 pack
Tutorials
- HTML5 for non web designers
- Introduction to HTML5 video – Scripting your own controls
- Making an iPad HTML5 App & making it really fast
- Taking Advantage of HTML5 and CSS3 with Modernizr
- Another way to create HTML5 Video player
- jQuery Visualize Plugin: Accessible Charts & Graphs from Table Elements using HTML 5 Canvas
- How to Build an HTML5 Video Player
- html5 canvas and the flying dots
- HTML5 Canvas with SVG sprites
- Drawing With JavaScript in HTML5 vs. ActionScript 3 in Flash
- Making and Moving Selectable Shapes on an HTML5 Canvas
- Introduction to the HTML5 audio tag javascript manipulation
- HTML5 Canvas – The Basics
- Canvas Tutorial
- Have a Field Day with HTML5 Forms
- Using CSS3 To Enhance Internal Page Links
- The Video Element
- HTML5 Tutorials
- 70 Must-Have CSS3 & HTML5 Tutorials & Resources
- Blowing up HTML5 video and mapping it into 3D space
- HTML5 Search input
- Flax HTML5 Game Engine Development Diary Part 1
- Flax HTML5 Game Engine Development Diary Part 2
- Flax HTML5 Game Engine Development Diary Part 3
- Using HTML5 Canvas to capture frames from a video
Demos & Inspiration
- HTML5 Zombo
- Impressive HTML5 Effects Roundup
- Keep an Open Eye Eye, Sir – Canvas Demo
- HTML5 Canvas – The Future of Graphics on the Web
- HTML5 Studio
- ChromeKit
- HTML5 & CSS3 Demos
- Canvas Demo – Tom Theisen
- Very cool uses of HTML 5 Canvas
- Ball Pool
- Pool Table on HTML Canvas
- Mel Gibson Soundboard Contains graphic language
- The HTML5 Experiments of Hakim El Hattab
- Canvas Clock
- HTML5 Canvas Clock
- CoolClock
- HTML5 Canvas & Audio Experiment
- Canvas Minimal Particle Animation Demo
- Making Waves
- Canvas Jigsaw Puzzle
- CanvasMol
- flickr Canvas Slideshow
- The View from Above
- Wave
- 100pxls
- Canvascape 3D Walker
- HTML5 Sticky Notes
- ContentEditable
- Canvas Nebula
- HTML5 Video Destruction
- Hubble Kaleidoscope
- Spacedebris
- Dragon Heart
- Starfield
- Ambilight for video tag
- 3D on 2K Canvas
- Normal Mapping with Javascript & Canvas
- HTML5 Forms Demo
- Chrome Experiments
- Canvas Demos
- Music Notation with HTML5 Canvas
- Connect the Dots with jquery & HTML5
- Arcade Fire
- Where Am I
Video Players
- All Player- Our product

- Flow Player
- Media Element
- Open Standard Media Player
- Sublime Video
- Video JS
- Advection
- Projekktor Zwei
- Brightcove
- Ooyala
- JW Player
- Kaltura
- Taran FX
- Flare Video
- Video for Everybody
Browsers that support HTML5
Sites That Play HTML5 compatible video (H264, ogg etc)
Not all sites play all the time. These offer some support.
- MeFeedia- Our site

- Youtube
- Vimeo
- Flickr
- Google Video
- Dailymotion
Audio Players
- Scott Andrew’s HTML 5 Audio Player
- jPlayer
- MooTools HTML5 Audio Player
- Bitspace
- PagePlayer
- jai
- Firefox HTML5 Audio
Games
- The Ultimate List of HTML5 Games
- Galactic Plunder
- Canvasout
- Torus
- Digg Attack
- Canvas Bike
- Fred Jones in Adventureland
- Canvas Invaders
- JS Wars
- WPilot
- Canvas TD
- Platform Game
- Sweper Cell
- Thrust
- Gartic
- Chain Reaction
- Burt’s Breakdown
- Twitch
- 3bored
- Freeciv.net
- Google Pacman
- Crystal Galaxy
- Absorb
Canvas Drawing & Sketchpad
- Multiuser Sketchpad
- Drawing Board
- Canvas App by Muro @DeviantART
- Harmony
- Sketchpad
- CanvasPaint
- Lines Go All Over the Place
- physicSketch
Designers & Developers
CSS3
- CSS Man
- Are We Taking CSS Too Far?
- CSS3 Transforms @font-face Experiment
- Using Mobile CSS3 Media Queries to Create a Mobile Version of Your Site
- iOS Icons Made in Pure CSS
- CSS3 decorations for IE
- Pure CSS3 AT-AT Walker
- CSS code structure for HTML: Some Useful Guidelines
- Build your own CSS Sprites with the canvas tag
- CSS3 Memory
- Card Pockets in CSS3
If you have a resource I haven’t included, then please feel free to mention it in the comments.
출처 : http://www.franksinton.com/html5-list/
일단 아이폰 어플개발하기전에 Objective-C 언어를 익혀야되는데요.
Mac이 개인에게 다 있는게 아니고 Objective-C 기초를 익히는 단계에선 아직 Mac보다는
Window 환경에서 Objective-C를 먼저 익히는게 좋을 겉 같아 자료를 조금 정리해 보았습니다..
1. 설치 파일 다운로드
GNUstep System 0.24.0
- http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-system-0.24.0-setup.exe
GNUstep Core 0.23.1
- http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-core-0.23.1-setup.exe
Dev c++
- http://www.appsnext.com/work_data/devcpp-4.9.9.2_nomingw_setup.exe
2. 파일 설치
GNUstep System ->GNUstep Core ->dev c++ 순서로 설치
3. Dev-Cpp 환경설정
objc 프레임워크(기본 Objective-C ) 뿐만아니라 Foundation 프레임워크(MAC 코코아 환경에서 쓰는 프레임워크)에서 돌아가는 예제로 설명하겠습니다.
- Dev-Cpp 실행
- 한국어 선택
- 도구 메뉴 > 컴파일러설정

- 컴파일러 설정
화면에 보시는대로 두개의 체크박스 체크후
첫번째에
-lobjc -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import
두번재에
-lobjc -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import

- 실행파일 설정
실행파일들에 C:GNUstepmingwbin, C:GNUstepbin

- 라이브러리 설정
라이브러리에 C:GNUstepmingwlib, C:GNUstepGNUstepSystemLibraryLibraries 추가

- 인클루드 설정
인클루드에 C:GNUstepmingwinclude, C:GNUstepGNUstepSystemLibraryHeaders

4. Dev-Cpp 에서 실제 예제 가지고 실행해보기
-
Dev-C++ 를 실행하고 새로만들기 > 프로젝트를 클릭

-
Empty Project 를 선택하고, 프로젝트명을 hello 로 입력하고 라디오버튼은 C를 선택

-
새로만들 프로젝트를 저장

-
생성된 hello 프로젝트를 선택하고 오른쪽버튼 클릭-> 유닛추가를 클릭

-
Objective-C 예제를 코딩

-
이제 저장인데요. Dev-Cpp 의 경우 기본적으로 C와 C++ 컴파일을 지원하기때문에 파일을 Objective-C 의 확장자인 m형식의 파일로 저장하기위해서는 파일형식을 All files 로 해놓고 저장해야합니다
저장한뒤 F9 버튼을 누릅니다.

