タグ

slim3に関するnebokegaoのブックマーク (59)

  • 【入門編】Slim3で始める!GAE/Jでクラウド・アプリケーション開発(第3回) 4/8ページ | Casley Deep Innovations株式会社 技術ブログ

    【入門編】Slim3で始める!GAE/JでWebアプリケーション開発 (第3回) 残機能の開発 記事更新を行うControllerの実装 先ほど作成した<記事編集>で修正された記事を更新するControllerを実装します。 Antタスク gen-controller-without-view の実行gen-controller-without-view に /bbs/updateEntry と入力して以下のクラスを生成します。 simplebbs.controller.bbs.UpdateEntryController simplebbs.controller.bbs.UpdateEntryControllerTest テストケースの作成UpdateEntryController は既存の記事データへ変更内容を上書き更新しますが、その際の入力値のバリデーションは記事登録の PostEnt

    【入門編】Slim3で始める!GAE/Jでクラウド・アプリケーション開発(第3回) 4/8ページ | Casley Deep Innovations株式会社 技術ブログ
  • Scenic3 によるRESTサポート - やさしいデスマーチ

    Scenic3はSlim3のController層を薄くラップした拡張ライブラリです。Slim3では1アクション(URL)に対して1つのControllerを作成するシンプルなデザインですが、どうしてもControllerの数が多くなってしまいます。関連するアクションは1つのクラスにまとめ、アクションメソッドを複数定義する設計を好む人にとってはやや窮屈な仕様です。Scenic3ではそんな人達のために、複数のControllerクラスを1つのPageクラスに定義する手段を提供しています。 一方、REST風のAPIを設計する場合は同一URLに対して異なるHTTPメソッドを割り当てる事になります。例えば、あるモデルに対する取得と削除は次のような同じURLとなります。 http://yourdomain/item/{id} idにはモデルを識別する一意の値が指定されます。同一のモデルに対する操作は

    Scenic3 によるRESTサポート - やさしいデスマーチ
  • Slim3でDatastoreを使う

    モデルの定義 データのクラスに@Modelアノテーションを付ける。 永続化するプロパティには getter, setter が必要。 永続化しないフィールドには@Attribute(persistent = false) アノテーションを付ける。 フィールドの型 フィールドで使える型はDatastoreの基型、基型のコレクション、シリアライズ可能なオブジェクト。 フィールドで使える基型 → Core Value Types シリアライズ可能なオブジェクトはBlob型として格納される(@Attribute(lob = true)を付ける)。 500文字(byte[]は500バイト)を超えるフィールドには@Attribute(lob = true)を付ける。 配列はコレクションとして扱われない(シリアライズしてBlobになる?)。 インデックスに対応した型はデフォルトでインデックスが付く

  • Google グループ

    Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。

  • Google グループ

    Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。

  • Slim3 のルータを拡張するサンプル - snbhsmt_log

    Slim3 の AppRouter 周りは色々拡張できるなあとソースを読んでいて思ったので、 正規表現でルーティング指定できるものをちょっと書いてみました。 パスの変換自体は java.util.regex パッケージをそのまま使っているだけです。 AppRouter implements Router して、まったく独自のルーティングルールに する事もできるけど、RouterImpl#addRouting() もそのまま利用できる様に Routing の方を拡張する方法にしました。 オマケにすらならない様なテスト付き。 package com.example.regexrouter.controller; import javax.servlet.http.HttpServletRequest; import org.junit.After; import org.junit.Befor

  • Slim3における拡張子付きURIのマッピング - nakawai’s diary

    CoolなURIでJSONを返すURLはどう表現するか 内部的には「/user/get?id=12345&type=json」となるようなURI(idが12345のユーザ情報のJSON形式)を、Cool URIではどのように表現するのが適切か悩んでいた。「/user/json/12345」や「/user/12345/json」はなんか違う気がするし。 そしたら「Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)」にその答えが書いてあった。 例えば1つのリソースをHTMLとテキストとJSONで表現できる場合には、それぞれ「.html」「.txt」「.json」という拡張子を付けてここの表現を分けると良いでしょう。 「Webを支える技術」 p.062 先述の例で言えば、「/user/12345.json」となる。なるほど確かにこれはしっ

  • slim3用のModelViewer作ってみた - kilvistyleの日記

    ここのところ、slim3を使ってGAEのアプリを作っています。 その過程で、マスタデータの初期設定やテストデータの投入をもっと簡単に行いたいなーということで、超シンプル低機能なViewerを作ってみました^^; GAE標準のDatastore Viewerでは、特定の型のプロパティしか操作できなかったり閲覧できなかったり、何よりデータのダウンロード、アップロードができないので、その辺りを補完してみたつもりです。 せっかくなので公開してみようかと思います。。 (こういうこと初めてなので異様に緊張してますw) CNMV(シーエヌ・モデルビューアー) 概要 slim3で作成したGoogleAppengine(以下GAEと記述)プロジェクト用のシンプルなデータビューアです。 GAEデフォルトのDataViewerよりも便利な機能を搭載しています。 主な機能 ・基的なプロパティ型の参照、更新 ・C

    slim3用のModelViewer作ってみた - kilvistyleの日記
  • GitHub - Slim3/slim3

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Slim3/slim3
  • Slim3 + Velocity

    Google App Engine for Javaを使いたくなり、評判の良さそうなフレームワークとしてSlim3を導入し、独断と偏見でJSPをやめてVelocityをテンプレートエンジンとして利用することにしました。 今回の内容は、その際の開発環境セットアップの備忘録となります。 開発環境 それぞれ現時点での最新版を使います。 Eclipse Classic 4.2.1 Mac OS X 64bit Slim3 1.0.16 Velocity 1.6.2 + Velocity Tools 2.0 Slim3インストール 基的にここを参考にEclipseにGoogle PluginとSlim3 Pluginをインストールします。ダウンロード先のURLがEclipseのバージョンに一致しているか確認します。今回は以下を使います。 https://dl.google.com/eclipse/

  • きのふよりけふ、けふよりあした 【slim3】slim3とvelocityを連携【velocity】

    概要 個人的にjspが苦手だから、というのもありつつ、 デザイナからHTMLをもらってこれにタグを埋め込んでいくなら jspよりもvelocityのほうがやりやすいと思い、 slim3 jsp を使用せずにvtlを使用することにしました。 *.vmのアクセスでテンプレートのvmファイルをレンダリングして レスポンスするようにslim3のview部分に少し手を加えました。 java6 slim3 1.0.13 velocity 1.6.2 velocity-tools 2.0 slim3のクラスパスなど設定は下記サイトを参照して行って下さい。 https://sites.google.com/site/slim3documentja/ スタートガイドが完了できる状態まで進めておいて下さい。 velocityはtoolsを利用するので、下記のToolsよりvelocity-tools-2.0.

  • Slim3 シャーディングカウンタを改良した! - SiNBLOG

    Slim3 シャーディングカウンタ作ってみた。 - SinDiary 先日作成したシャーディングカウンタですが、あおうさ殿にご指南をいただきました! 修正したのはServiceでQueryを使っていたところです。 Queryではなく、Getを用いて取得するようにしました。 それに伴いKeyの生成方法も変更しています。 Google Code Archive - Long-term storage for Google Code Project Hosting. @Model(schemaVersion = 1) public class CounterShard implements Serializable { private static final long serialVersionUID = 1L; private static final int startKeyNumber

    Slim3 シャーディングカウンタを改良した! - SiNBLOG
  • Google Sites: Sign-in

    nebokegao
    nebokegao 2013/02/16
    metaクラスが生成されないとき
  • JSPでページをテンプレート化 - matsukaz's blog

    JSPでページをテンプレート化する方法として、の利用があります。Slim3: JSPでテンプレートを使う | 自転車で通勤しましょ♪ブログ で紹介されてる方法ですね。この方法を利用すれば、全体のレイアウトやヘッダー、フッターをテンプレート化することで、各ページはコンテンツ部分だけ作成すれば良い、という流れになります。 ただこの方法だとまずい問題が発生したので、今はを利用しています。ここではその問題と、どんな対応したかをご紹介。 Slim3の話ではないけど、Slim3のサンプルも問題のある書き方をしているので、タグは関連付けときます。 発生した問題 以下のようなlayout.jspを用意した場合、 <%@page pageEncoding="UTF-8" isELIgnored="false"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr

    JSPでページをテンプレート化 - matsukaz's blog
  • インプレスブックス - 本、雑誌と関連Webサービス

    個人でも達成できる実践ノウハウ、教えます 発売日: 2024/2/6 好評発売中 Web作成・マーケティング 詳細を見る

  • Google Groups

  • Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ

    Javaのコネクションプーリングがどのような仕組みになっているのか、知らない人は結構多いんじゃないかと思います。 Slim3のコネクションプーリングの実装を見ると、この辺が理解できるようになります。トランザクションとコネクションプーリングがどのように連携しているかを把握することは重要です。 http://svn.slim3.org/browse/trunk/slim3/slim3-datasource/src/main/java/org/slim3/datasource/ 登場人物は、4人しかいないから簡単ですね。 最初に見て欲しいのは、ConnectionWrapper。DataSource.getConnection()したときに戻されるコネクションの実態です。このコネクションを論理的なコネクションと呼ぶようにします。 主な役割は、コネクションがクローズされたときに、コネクションをプー

    Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ
  • ServletでThreadLocal<T>

    JavaサーブレットでThreadLocal<T>を使う時のメモ。実行環境は、GoogleAppEngineです。 そもそも使って大丈夫? tomcatやGoogleAppEngineでは、実行される際にプールされたスレッドに対して各リクエストを割り当てます。つまり、ThreadLocal<T>を利用しても、各リクエストに対して新しいスレッドが生成されるわけではないので、場合によっては古い内容をThreadLocal<T>が返す可能性があります。 しかし、考え方を変えると「各リクエストは割り当てられたスレッドで完結する」ということなので、新しいリクエストが発生し、サーブレットが起動した時にThreadLocal<T>に値をセットしなおすことで使用しても問題なさそうです。 ただし、スレッドをまたぐような処理を行うと途端にバグとなるので注意が必要です。 そもそもなぜこの疑問が沸いたのかというと

    ServletでThreadLocal<T>
  • [slim3] gwt な slim3 の Validators で悩む | you know something?

  • slim3(GAE/J)で検索条件で絞り込んだ結果に対してのページング - 雑感

    問題 gaeではページングをしようとしてoffsetに1000以上の値をセットすると、以下のようなエラーになってしまう。 java.lang.IllegalArgumentException: offset may not be above 1000当然gae上のフレームワークであるslim3で以下のように書いても同じこと。 Datastore.query(meta) .offset(1000) 以下のページでやり方を紹介しているが、この方法は全件検索の結果に対してしか有効ではない。 http://code.google.com/intl/ja/appengine/articles/paging.html また、カーソルを使ったやり方も紹介されているが、それって「次へ」っていうナビゲーションしかないページングでは使えるけど、それ以外のページングにも使えるのか? http://sites.g

    slim3(GAE/J)で検索条件で絞り込んだ結果に対してのページング - 雑感