サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.confrage.jp
Stream APIで並列処理を実装する Java8以上の場合、stream apiでparallelメソッドで並列実行することが出来ます。 parallelメソッドは並列処理ですので非同期処理とは異なります。 以下ソースは、指定秒数かかるAPIを2回実行していますが、並列実行しているので指定秒数強で実行ができます。 /** * 指定秒数かかるAPI * * @param seconds * @return * @throws InterruptedException */ @RequestMapping(path = "/sleep/{seconds}", method = RequestMethod.GET) public ResponseEntity<String> sleep(@PathVariable String seconds) throws InterruptedExcep
今回は2つのデータベースともPostgreSQL9.6を使用しています。 複数データベースに接続する 1つ目のDB接続情報をprimary、もう一つのDB接続情報をsecondaryとします。 application.ymlには以下のように記述します。 spring: jpa: database: POSTGRESQL datasource: primary: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/mydb1 #mydb1というデータベース username: postgres password: xxxxxxxx secondary: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://loca
<input type=”text”>で数値のみ入力する方法 入力部品でtype=”number”とすると数値のみ入力することが出来ますがモダンブラウザでもmaxlength属性が効かなくなってしまいます。 type=”text”のままで数値のみにするにはpattern属性を使用して数値のみにすることが出来ますが、この数値チェックはsubmitのタイミングなので入力時チェックはpatternではできません。 oninputを使う oninputを使用して入力イベントを全てチェックして解決することが出来ます。 この場合、type=”text”のままなのでmaxlengthも効かせることができます。 具体的には正規表現で数値以外が入力されたら空文字に置換してあげたら数値のみ入力する事が出来るようになります。 <input type="text" maxlength="5" oninput="v
Spring BootでAOP(アスペクト指向)を使うとコードが奇麗になる(@Aspect,@Before,@Afterなど)
Eclipseを起動し、「ファイル」-「新規」-「その他」で以下ウィンドウを開き、Mavenプロジェクトを選択します。 「次へ」をクリックすると、以下ウィンドウが開きます。 「シンプルなプロジェクトの作成」にチェックを入れて「次へ」をクリックすると、以下ウィンドウが開きます。 グループID、アーティファクトID、バージョン、パッケージングを入力して「完了」をクリックします。 これでプロジェクトが作成されます。 最初はエラーが出ているので修正します。 まずプロジェクトを右クリックし、「プロパティー」を選択し、以下ウィンドウが開きます。 Java1.5を1.8に修正します。 次に「プロジェクト・ファセット」を選択し、以下のようにJavaServer Faces2.2にチェックをいれます。 次に「ランタイム」タブをクリックし、「GlassFish 4」にチェックをいれます。 次に「より詳しい構成
JavaのライブラリjacksonでJsonNodeクラスとreadTreeメソッドで深い階層のJSON形式を読み込む方法
Apache POIはこちらからダウンロードします。 Apache POIのバージョンが3.4くらい(確認したのは3.2)までだと2003以前のエクセルと2007のエクセルで、扱うライブラリが異なります。 2003(org.apache.poi.hssf.~) 2007(org.apache.poi.xssf.~) Apache POIのバージョンが3.5から、2003と2007の両方を扱えるライブラリが用意されています。 2003 or 2007(org.apache.poi.ss.~) org.apache.poi.ss.usermodel.Cellの定数 Cellクラスには以下のstatic定数があります。 CELL_TYPE_NUMERIC CELL_TYPE_STRING CELL_TYPE_FORMULA CELL_TYPE_BLANK CELL_TYPE_BOOLEAN CE
dist/js/jquery_wrapper.min.js dist/js/tabulator.min.js dist/css/tabulator.min.css テーブルを描画するだけならbody部は以下だけで良いです。 <body> <div id="example-table"></div> <!-- ここがレンダリング部分 --> </body> head部でjQueryとjQueryuiに依存しているみたいなので読み込む必要があります。ここではCDNで読み込んでいます。 <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <
これでローカル環境から、たとえばSNSのメッセージングをAWS上のトピックに送ることができるはずです。 が、しかし、実際はできません。以下参考サイトを見ればわかりますが、node.jsに限ってはconfigにprocess.env.HTTP_PROXYを設定してあげる必要がります。 以下、configの記述例です。 const proxy = require('proxy-agent');// このモジュールが必要 const config = { 'region': 'us-east-1', 'httpOptions': {agent: proxy(process.env.HTTP_PROXY)} }; 以下のコマンドでモジュールをインストールしておきます。 npm install proxy-agent --save-dev node.jsだけこの設定をする必要があるようです。 参考サ
LocalDate date = new LocalDate(2019,1,1); // コンストラクタがprivateなのでNG LocalDate date = LocalDate.of(2019,2,28); // staticメソッドのofを使用してインスタンス生成する LocalDate date = LocalDate.of(2019,Month.APRIL,1); // Monthも使える インスタンス生成方法はLocalDate.ofを使って生成します。 デフォルトはyyyy-MM-dd形式になります。ofメソッドでleap year(うるう年)の判定もしてくれるのでnew LocalDate(2019,2,29);なんてするとエラーが発生します。 今の時間でLocalDateを生成するにはnow()メソッドを使用します。 LocalDate date = LocalDat
STSのスタータープロジェクトで作成したプロジェクトはデフォルトでjarファイルを作成してくれますが、build.gradleとかいくつか修正することで、プロジェクト名\build\libs配下にwarファイルを作成することができます。 まず@SpringBootApplicationアノテーションのクラスはSpringBootServletInitializerを継承するようにします。configureメソッドを以下のようにオーバーライドします。 package jp.co.confrage; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.bo
ECMA Script6(JavaScript)のnew Date()をUTCからJSTに変換する方法(AWS Lambdaで注意)
C:\Users\takahashi-h5>where bash C:\Windows\System32\bash.exe C:\Program Files (x86)\Gow\bin\bash.exe コマンドプロンプトからbashとタイプするだけでbashが起動します。 c:\Users\takahashi-h5>C:\Windows\System32\bash.exe takahashi-h5@DESKTOP-DNSQQ62:/mnt/c/Users/takahashi-h5$ ubuntu.exe ubuntu.exeを実行すると/home/配下がカレントディレクトリとなります。 c:\Users\takahashi-h5>ubuntu takahashi-h5@DESKTOP-DNSQQ62:~$ pwd /home/takahashi-h5 WSLが入れられる環境であればGow
変数は$をつけます。$aと言うような感じです。 $a.GetType().FullNameとタイプすると方が表示されます。 以下、例です。 PS C:\work_ps> $a=1;$a.GetType().FullName; System.Int32 PS C:\work_ps> PowerShellでは数値はSystem.Int32型となるようです。 次に文字列を調べてみます。 PS C:\work_ps> $a='abc';$a.GetType().FullName; System.String PS C:\work_ps> 文字列型はSystem.Stringのようです。 数値と文字列を+で連結してみます。 PS C:\work_ps> $a='abc';$b=1;($a+$b) abc1 PS C:\work_ps> $a='abc';$b=1;($a+$b).GetType().
このブログではInsiders版しか対応していないけどもうすぐ安定板も対応しますとのことです。 VSCodeのアップデートの速さから考えるときっとすぐなんでしょう。 とりあえずInsiders版で試してみました。Remote – WSLをインストールします。 インストールしたら、ctrl + shift + pで「Remote WSL: New Window」を選択します。 新しいVSCodeが開いてWSLに接続されます。これでWSLを起動するのがVSCode上で簡単に実現できます。 Remote SSHとかの記事を見ても、やっぱりVSCodeはすごすぎます。 KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^ 得意技はJS(ES6),Java,AWSの大体のリソースです コメントはやさしくお願いいたします^^ 座右の銘は、
初めまして、北野です。 今回が初投稿となります。よろしくお願いします。 記念すべき第一回目は 「Windowsでbusyboxを用いてLinuxの基本的なコマンドを使用する」 です。 皆さんはコマンドプロンプト等で ls ↵ と実行し ‘ls’ は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と言われ、イラっとした経験はありませんか? 筆者はたびたび、やってしまいます。 そんなイライラを解消していきましょう。 準備編 以下のサイトからWindows用のbusyboxのバイナリをダウンロードする。 http://frippery.org/busybox/ ダウンロードしたバイナリ(busybox.exe)を専用のフォルダに移動 今回はC:\Tool\busyboxとしました。 (この手順は省略可ですが、やっておくことをお勧めします)
getterやsetter、コンストラクタなどのロジックと関係ないコードをボイラープレートコードと言います。Lombokはそれをアノテーション付加することにより生成してくれます。 Lombokはこちらからダウンロードします。 lombok.jarがダウンロードされるのでダブルクリックするとIDEを検出してくれます。 IDEにチェックを入れ、「Install / Update」をクリックします。 eclipse.iniやsts.iniが修正(追加)されます。 mavenを使用している場合、pom.xmlに以下を追加します。 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.14.0</version> <scope>provided</scope> </de
問題を切り分けないといけないので一旦Chromeブラウザで見てみると描画されています。 エミュレータだから表示されない、、と信じたいので実機で試してみました。 apkファイルを作成します。 cordova build --release Andoroid7.1.1で試したのですがリリース版だとエラーとなったためdebugでapkを作成したら正常にインストールすることができました。 cordova build android レーダーチャートも無事表示できました。ひょっとするとレーダーチャートがエミュレータ画面の範囲外に表示されていたのかな、という感じです。 やっぱり実機で試さないといけないと痛感しました。 Chart.jsのbar(棒グラフ)で縦線を引く bar(棒グラフ)で縦線(基準線)を引くにはプラグインを作成して実現しました。 プラグインの作成方法・登録方法は以下のようにします。 v
とりあえずデータベース作成して、テーブルをcreateしたかったのでliquibaseを使ってみました。 Spring Bootのスタータープロジェクトからliquibaseを選択します。 テーブルを作成するにはxml形式かyml形式でファイルを作成します。Spring Bootアプリケーション起動時に順次読み込んでテーブルを作成していってくれます。 前提として、ローカルPCにMySQLがインストールされていることとします。 build.gradleを以下のように修正します。これで起動時にliquibaseが実行されます。 buildscript { ext { springBootVersion = '2.1.1.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework
@Table(name="auto_increment") @Entity @Getter @Setter public class AutoIncrementtEntity { @Id @GeneratedValue(GenerationType.IDENTITY) private Integer id; @Column(name="name") private String name; } PostgreSQLの場合でSequenceオブジェクトを使用している場合は、@SequenceGeneratorのsequenceName属性でSequenceオブジェクト名を指定する必要があります。 /** ID. */ @Id @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "id_seq") @SequenceGe
否定形も使えて、その場合はnot.MatcherとすればOKです。 expect(xxx).not.ToEqual(yyy) サービスやパイプのテストは簡単ですが、コンポーネントのテストが大変です。 デフォルトで用意されているapp.component.spec.tsファイルを見るとよくわかると思います。 beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ AppComponent // ここにテストコンポーネントを追加する ], }).compileComponents(); })); beforeEachメソッドでTestBed.configureTestingModuleメソッドでテストコンポーネントを定義します。 TestBed.createComponentメソッド このメソッドでコン
AWS Route53で独自ドメインを購入する AWS Route53で取得した独自ドメインをSSL化する CloudFront + S3 + Cognitoでサインイン画面を作成する 上記の記事で独自ドメイン + SSL化が完了したら、Cognitoでユーザープールを作成してください。 S3にWebコンテンツを置いてCloudFrontで配信する Webコンテンツを配置するS3のバケットを作成します。 適当に「web」というバケットを作成してみます。すると「バケット名はすでに存在しています」と怒られます。 どうもバケット名はそのリージョン内ではなく全世界でユニークでないといけないようです。 バケット名なんて何でも良いので適当に命名して作成します。 CloudFrontで配信するので、S3のウェブサイトのホスティングは無効にしておいてください。 今回の大事な要件として、「複数オリジンを一つ
Visual Studio Codeのターミナルの日本語が文字化けします。(コマンドプロンプト、Git-Bashの場合) これを回避するには、「ファイル」-「基本設定」-「設定」を開き、以下設定をします。 これでVSCodeを再起動すれば文字化けは治ります。 { "terminal.integrated.shellArgs.windows": [ "/k", "chcp", "65001" ] }
Spring BootのRestControllerの@PathVariableと@RequestParamの使い方や@Validate,@Validでバリデーションチェックを行う方法
new Date()でJSTのDateオブジェクトを取得するメソッドはありません。 UTCから計算してJSTに変換します。といっても9時間足すだけです。 let date = new Date(); date.setTime(date.getTime() + 1000*60*60*9);// JSTに変換 console.log(date); これでdateの時間はJSTに変換されます。 取得するときに注意 UTCをJST時間に合わせただけなので、影響を受けるメソッドはgetUTCFullYear()やgetUTCDate()やgetUTCHours()などのUTCがつくメソッドのみとなります。 AWS Lambda上では全てUTCになる Lambda(node.js)で、getHours()の戻り値とgetUTCHours()の戻り値は同じになります。(その他のメソッド全て) どうもAW
このページを最初にブックマークしてみませんか?
『www.confrage.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く