サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
参議院選挙2025
qiita.com/opengl-8080
package sample.javaparser; import com.github.javaparser.JavaParser; import com.github.javaparser.ast.CompilationUnit; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; public class Main { public static void main(String[] args) { Path source = Paths.get("src/main/java/sample/javaparser/Main.java"); try { CompilationUnit unit = JavaParser.parse(source); System.out.pr
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
CREATE TABLE ACL_SID ( ID BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, PRINCIPAL BOOLEAN NOT NULL, SID VARCHAR_IGNORECASE(100) NOT NULL, CONSTRAINT UNIQUE_UK_1 UNIQUE(SID,PRINCIPAL) ); CREATE TABLE ACL_CLASS( ID BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, CLASS VARCHAR_IGNORECASE(100) NOT NULL, CONSTRAINT UNIQUE_UK_2 UNIQUE(CLASS) ); CREATE TABLE ACL_OBJECT_IDENTITY( ID BIGINT NOT NULL AUTO_INCREME
※Strict-Transport-Security は HTTPS のときのみ追加。 キャッシュに関するヘッダー Cache-Control, Pragma, Expires は、どれもブラウザにキャッシュをさせないように設定されている。 ログインしなければ見れないページをキャッシュされていると、ログアウト後であっても悪意あるユーザはローカルに残されたキャッシュを見ることで保護すべき情報を見れてしまう可能性がある。 そのため、このようにキャッシュを許可しない設定になっている。 X-Content-Type-Options: nosniff Web ブラウザのなかには、 Content-Type ではなくファイルの中身を見て、そのファイルの種類を判別しようとするものがある。 これを Content Sniffing と言うっぽい。 これが有効になっていると、ファイルに仕込まれた悪意のあるコ
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 今日お話しすること Spring Security が保護してくれること、してくれないこと Spring Security を導入すれば、この攻撃は守ってくれる この攻撃は Spring Security の守備範囲外なので別途対処が必要 仕様や機能の話をメインにして、実装の細かい話は無し デモ用アプリ 起動方法 GitHub からプロジェクトをダウンロードし、プロジェクトのルートで gradlew start を実行 ※初回は Payara (60MB)などのダウンロードが行われるので注意 動作確認 AP サーバーが起動したら、以下の URL にアクセスする。 https://localhost:8443/secure Spring Security を使用したアプリケーション https:
基礎・仕組み的な話 認証・認可の話 Remember-Me の話 CSRF の話 セッション管理の話 レスポンスヘッダーの話 メソッドセキュリティの話 Run-As の話 ACL の話 テストの話 MVC, Boot との連携の話 番外編 Spring Security にできること・できないこと CORS とは @tomoyukilabs さんの CORSまとめ - Qiita が勉強になりました。 雑にまとめると、 ブラウザは、あるオリジンから読み込まれたリソースから別のオリジンにアクセスできないようになっている 同一オリジンポリシーというらしい サーバー側で、「このオリジンからのリクエストなら別オリジンであっても許可する」みたいな設定をすることで、クライアントはオリジンを超えてリクエストを送信できるようになる それが CORS (Cross-Origin Resource Shari
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</fil
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!doctype html> <html> <head> <meta charset="utf-8" /> <title>Hello Spring Security!!</title> </head> <body> <h1>Hello Spring Security!!</h1> <c:url var="logoutUrl" value="/logout" /> <form action="${logoutUrl}" method="post"> <input type="submit" value="logout" /> <input type="hi
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:sec="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.s
基礎・仕組み的な話 Remember-Me の話 CSRF の話 セッション管理の話 レスポンスヘッダーの話 メソッドセキュリティの話 CORS の話 Run-As の話 ACL の話 テストの話 MVC, Boot との連携の話 番外編 Spring Security にできること・できないこと 認証 UserDetailsService:ユーザー情報を検索する ユーザーの情報を検索する役割は、 UserDetailsService が担っている。 Spring Security には UserDetailsService を実装したクラスがいくつか用意されている。 インメモリ ユーザー情報をメモリ上に保存しておく実装。 具体的なクラスは InMemoryUserDetailsManager になる。 namespace <?xml version="1.0" encoding="UTF
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 今日お話しすること 簡単な Hello World を通じて、 Spring Security の仕組みの基礎的な部分を説明 どのようなクラスが、どのように連携しあっているのか 設定ファイルがどのように関係しているのか 背景 個人的に Spring Security の勉強を開始 ちょっと Hello World を書こうとしたが手こずる この設定はなんで必要? ・・・と書くとなぜ~~~が有効に? この設定って最小限の Hello World で必要? 抽象化された設定 Spring Security の設定は高度に抽象化されている 設定が簡潔になる一方で、裏で何が行われているかが分かりづらい 仕組みの理解や、カスタマイズがしづらくなる ※個人の所感です 対象者 Hello World を通じ
package premium.friday; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; public class Main { public static void main(String[] args) { int[] years = {2017, 2018, 2019}; for (int year : years) { for (int month = 1; month < 13; month++) { if (year == 2017 && month == 1) { continu
Git のコミットグラフを簡単に作成できる Gitgraph.js を使っていて、「もっと楽に色とか調整できたらいいのになぁ」と思ったので作ってみた。 こちら を開けばすぐに使えます。 データはローカルストレージに保存されます(キー:gitgraph.storage)。 一応 Chrome, Firefox, Edge では動いているみたいです(IE は動かないです)。 ソースや細かい使い方はこちら(日本語は後半)
var gitGraph = new GitGraph({orientation: 'vertical-reverse'}); // master ブランチ作成 var master = gitGraph.branch({ name: 'master', color: 'red', commitDefaultOptions: { color: 'red' } }); master.commit().tag('v0.0.0'); // develop ブランチ作成 var develop = gitGraph.branch({ name: 'develop', color: 'deepskyblue', commitDefaultOptions: { color: 'deepskyblue' } }); develop.commit(); // topic1 ブランチ作成 var topic
この記事は、システムエンジニア Advent Calendar 2016 - Qiita の23日目の記事です。 昨日は @yy_yank さんの 気負わず普通にテストしよう でした。 明日は @koduki さんです。 はじめに 複数ユーザが触るアプリケーションを作る場合、同時にデータが更新された場合の制御は避けては通れません。 この制御はスレッドセーフとか同時更新とか色々な観点で考えないといけないのですが、いまいちそのあたり自分自身の中できれいに整理できていませんでした。 なので、この機会に同時に更新される場合の排他制御について、自分なりに整理してみました。 まえおき 説明に使用する言語は Java です。 説明のためにシーケンス図っぽいものを使っていますが、 UML の厳密な定義には従っていません。図が描きやすいからシーケンス図を利用している、ってだけなので厳密な記法ルールに従ってい
この記事は Java EE Advent Calendar 2016 - Qiita の3日目の記事です。 昨日は @n_agetsu さんの コネクションプールの挙動差分によるバグ顕在化 でした。 明日は @lbtc_xxx さんです。 以前 JPA のマッピングについて勉強したときのメモ を書いたことがあるのですが、これはマッピングの仕組みや意味を理解することが主目的でした。 そのため、後でマッピングの方法を探そうとしたときに、ノイズ(不要な情報)が多いなぁと思っていました。 そこで、今回は「あのマッピングどうするんだっけ」と思ったときに Java の実装と DB の構造がパッと分かるようにすることを目標にして、いろいろなマッピングを一覧にしてみました。 また、うまく動くものだけでなく、うまく動かないもの、実現できないものもまとめています。 できることだけでなく、できないことも早々に分
このスライドについて このスライドは、 JJUG CCC 2016 Fall でお話ししたときに使用したスライドです。 自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 今日話すこと JPA と DDD の関係について思っていること JPA で DDD のパターンを実装するとどうなるか JPAとDDDの関係で思っていること 最初は、 JPA に対してあまり良いイメージはなかった DDD を学ぶにつれて、徐々にイメージが変わっていった なぜ変わっていったのか、どう変わっていったのか JPAでDDDのパターンを実装 エンティティ・値オブジェクトなどを JPA で実装する 仕様上の限界、実装ごとの現実 JPAとDDDの関係で思っていること JPA へのイメージの変化 DB アクセスライブラリ1との出会い DB アクセスってこうやるのかぁ JPA と
4/2(土) Kotlin 1.0リリース記念勉強会 in 京都 - connpass に参加してきて、個人的に仕組みがかなり気になった Extensions について色々試してみた。 Extensions とは fun main(args : Array<String>) { "extensions".hoge() } fun String.hoge() { println("<$this>") }
MAIN START LD GR5,BEGINIDX CALL LOOP LOOP CPA GR5,ENDIDX ; 100 と比較 JPL FINISH ; GR5 > 100 なら終了 LD GR1,GR5 LD GR2,FIFTEEN CALL DIVIDE ; 15 で割る CPA GR4,ZERO ; あまりを 0 と比較 JZE PUTFZBZ ; 15 で割り切れたら fizzbuzz 出力 LD GR1,GR5 LD GR2,FIVE CALL DIVIDE ; 5 で割る CPA GR4,ZERO JZE PUTBUZZ ; 割り切れたら buzz 出力 LD GR1,GR5 LD GR2,THREE CALL DIVIDE ; 3 で割る CPA GR4,ZERO JZE PUTFIZZ ; 割り切れたら fizz 出力 CALL MSGHUND JUMP COUNTU
Kotlin のコレクションの使い方についてのメモ。 Kotlin のコレクション Kotlin には標準ライブラリが用意されており、その中にコレクションも存在する。 特徴 Kotlin のコレクションは、「読み取り専用」と「書き込み可」のインターフェースが明確に分かれている。 listOf(), mapOf() など、関数でインスタンスを生成する。 Stream API に用意されているような filter() などのメソッドが、 Iterable などに定義されている。 コレクションの種類 List Map Set インターフェースの関係 kotlin.collections パッケージの下にある各インターフェースがどのような関係になっているのか、クラス図で表現した。 基本は JDK のコレクションと同じ構成だが、 MutableIterable など書き込み可能かどうかを区別するため
FindBugs とは Java のソースコードを静的に解析して、バグとなりそうなコードを見つけるツール。 ビルドプロセスの中に組み込んで自動化させることで、ソースコードレビューの手間を減らしたり、そもそも人目では見つけづらいバグコードを事前に検出したりできるようになる。 環境 OS Windows 10 Java 1.8.0_102 FindBugs 3.0.1 Hello World インストール こちら から zip をダウンロードする。 任意の場所に解凍したら完了。 実装
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 趣味で Kotlin, Java 8, Java EE をさわり 仕事で Excel VBA, Java 6, Struts1 を使う関西の SE 関西(たまに東京)の勉強会に出没 Kotlin といえば? 便利な機能の話はよく聞くが... Nullable Non-Null Type 関数リテラル 拡張関数 演算子オーバーロード スマートキャスト クラス委譲 プロパティ委譲 データクラス etc... コレクションの話を あまり聞かない気がする 自分の調べ方が甘いだけかも... いざコレクションを 使おうとすると... Java の ArrayList を使えばいいの? Kotlin のコレクションがあるらしい どういうクラスがあるの? クラス間の関係は? Java のコレクションとの変換は? どうやってインスタン
Apache Archiva とは リポジトリ管理ソフトウェア。 Maven のリポジトリを簡単に構築することができる。 また、セントラルリポジトリなどのリモートリポジトリをプロキシしたり、ユーザー・権限管理、リポジトリのブラウズ、インデックス化することによる高速な検索など、様々な機能を提供している。 同種のソフトウェアとして Nexus Repository OSS や Artifactory というものが存在する。 Nexus などは npm のリポジトリにも対応していたりと、 Archiva より高機能なところがある。 環境 OS Windows 10 Java 1.8.0_92 Apache Archiva 2.2.1 Hello World インストール 公式サイト からダウンロードする。 zip(tar) と war が配布されている。 zip の方は、 Apache Arch
Checkstyle とは Java のソースコードがコーディング規約に即しているかどうか判定するための静的解析ツール。 インデントサイズや変数名のつけ方(キャメルケースかどうかとか)、空白スペースの入れ方など、コーディングスタイルに関するチェックを行うことができる。 ビルドプロセス内に組み込むことで、自動でコーディングスタイルをチェックできるようになり、規約違反があればビルドを失敗させることができるようになる。 機械的にチェックできる問題はツールに任せることで、「実装が仕様を満たしているか?」「致命的なバグはないか?」「もっと効率的な実装方法はないか?」など、より重要な観点に集中してソースコードレビューをすることができるようになる。 Hello World インストール sourceforge から、最新の zip を落としてくる。 zip を解凍したら、中に jar ファイルが入ってい
縁あって Eclipse Collections にコントリビュートすることができた。 Git は個人的な趣味プログラミングでしか使っておらず、 Pull Request を考慮した Git 操作というものについては全く知識も経験もなかった。 今回 Eclipse Collections に Pull Request を出すにあたって、様々な初めての Git 操作を経験することができ大変勉強になったので、忘れないようにメモする。 Eclipse Collections にコントリビュートするときのルール 適当に Pull Request を送れば良いわけではなく、いくつかルールがある。 具体的な話は eclipse-collections/CONTRIBUTING.md at master · eclipse/eclipse-collections に書いてある(英語)。 ざっと、以下のよ
次のページ
このページを最初にブックマークしてみませんか?
『@opengl-8080のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く