タグ

ブックマーク / blog.beatdjam.com (16)

  • 【雑記】29歳になりました。 - B-Teck!

    前置き 近況報告 振り返りとか ぷれぜんとこ〜な〜 さて、まぁ掲題の通りなんですが、29歳になりました。 (この記事は予約投稿なので書いているときはまだ28ですが) ついに20代最後の歳ですね。 前置き 元号が令和に切り替わり、GWも折り返しを過ぎちゃいましたね。 私は連休中、Androidの勉強をしたり、普段できていない部屋の片付けをしたりしていました。 当は最近一番ハマっているストVもやりたいんですが、なかなかまとまった時間が取れてなくて… (IDはbeatbeat-djamです!フレンド募集してます!) 近況報告 近況ですが、 仕事とかプログラミングとか 500人未満くらいの規模の自社サービスの会社で、 アプリのサーバーサイドをメインにいくつかのサービスを持たせてもらってます。 毎日Kotlinが書けて楽しい! 今年は未経験領域への挑戦として、Android勉強してアプリリリースま

    【雑記】29歳になりました。 - B-Teck!
  • 【Kotlin】JerseyをKotlinで動かす その2 パラメータの取扱編 - B-Teck!

    前回の記事 beatdjam.hatenablog.com 準備 HTTPリクエストのクエリ クエリをdata classに対応させる Pathに含まれる値 リクエストパスからパターンに対応した値を取り出す リクエストパスから正規表現に対応した値を取り出す Formから送信されたリクエストを取得する ファイルアップロードに対応する ここまでの作業 前回はJerseyの環境づくりと起動方法、Kotlinへの変換について書きました。 今回は各種リクエストパラメータをどうやって取り扱うかを説明します。 準備 今回の記事の内容を扱うにあたり、新しいResouceクラスを作成しましょう。 下記の形でParametersResource.ktを作成します。 このクラスには @Path("parameters") アノテーションがついているので、 http://localhost:8080/myapp/

    【Kotlin】JerseyをKotlinで動かす その2 パラメータの取扱編 - B-Teck!
  • 【雑記】今年の目標 - B-Teck!

    1月もほぼ終わりになってしまいましたが、今年の目標をたてました。 明確な数字がないものも多いですが、なるべく達成したいですね。 ブログ 内容・ジャンルにかかわらずブログちゃんとかく 最低月1以上 年40以上 PV 15000/month 競技プログラミング 緑コーダーになる 月1回はRatedなContestに参加 頑張って社内の競プロ部に参加する時間を作る スキルアップ 個人でアプリリリースしたい 5月くらいまでにアプリ一通り勉強して設計して夏頃までにはリリースしたい ServerSideKotlinの啓蒙を進める ブログ・社内LTなど Jersey + Kotlinの導入記事を連載形式で書けたらと思ってます 社内外の人脈を広める 勉強会 ご飯 (できたら社外LTとか…?) セルフブランディングの強化 対外的に出せる職務経歴の用意 ポートフォリオになるものを作る サーバーサイド フロン

    【雑記】今年の目標 - B-Teck!
  • 【雑記】2018年お疲れ様でした - B-Teck!

    今年も一年お疲れ様でした。 去年もやっていたので今年も振り返りを書こうと思います。 beatdjam.hatenablog.com 結婚生活 結婚してそろそろ一年半が経過しました。 お互いぶつかったり喧嘩したりしながらも、なんだかんだで仲良く、楽しくやっています。 結婚一年の記念日に結婚式も行うことができ、お祝いいただいた方には感謝の気持ちでいっぱいです。 仕事 ちょうど今年の1月から新しい職場で働き始めたのもあり、激動の一年といった感じでした。 レガシーシステムのお守りから、突然今風の開発に飛び込んだのでキャッチアップが大変で…。 プライベートで勉強していてよかったなと思わされることが多々でした。 また、基的に常に多言語を扱うWeb・アプリを取り扱うことがほとんどだったので、 そういったケースでどのような懸念があるかも学べたと思います。 下記一年でやったこと一覧。 1〜2月 とあるサイ

    【雑記】2018年お疲れ様でした - B-Teck!
  • 【雑記】2018年末時点でのスキルセット棚卸し - B-Teck!

    今年までに業務で学んだ・触った知識をざっくり書き出してみた。 とりあえず並べて書いているので初学者レベルのものもあるものの、 目安として。 5000兆円いただける企業からのお声がけお待ちしています。 言語 JavaScript ES5 jQuery ES6~ (New!) Java/JavaEE 1.4 1.6 8 (New!) Jersey (New!) Kotlin 1.3 / Server Side (New!) PHP 5.3 CSS Sass (New!) SQL、ストアド Oracle SQLServer VBA(Office 2010) VB.NET 2008 BizBrowser ツールとか maven (New!) gulp (New!) npm (New!) Jenkins (New!) Git (業務ではNew!) 環境 apache tomcat ロール Web バ

    【雑記】2018年末時点でのスキルセット棚卸し - B-Teck!
    hal7pi
    hal7pi 2018/12/30
    やっぱりプロの方はすごいですね!
  • 【Kotlin】Sequenceを使おう - B-Teck!

    Sequenceとは? Sequenceを使うと何が嬉しいか ループ回数が少なくなる Sequenceを使わない場合 Sequenceを使った場合 不要な計算をスキップできる Sequenceを使わない場合 Sequenceを使った場合 まとめ 参考 Sequenceとは? Kotlinにおけるコレクション遅延操作の仕組み。 Java8で導入されたStreamに似ており、各要素を直列に評価したあと、最終的な結果を取得する。 こう書くと難しそうなので、実際のコードを見てもらったほうが早いと思います。 Sequenceを使うと何が嬉しいか ループ回数が少なくなる Sequenceを使わない場合 (1..3).map { it * 10 } .map { it * 10 } .map { it * 10 } このような処理の場合、通常のCollectionのまま操作を行うと、map毎にループが発

    【Kotlin】Sequenceを使おう - B-Teck!
  • 【Kotlin】Server Side Kotlin やってみた - B-Teck!

    tl;dr はじめに なぜKotlinを導入したのか? 実際にKotlinを導入してみた Server Side Kotlin導入のPros/Cons Pros Cons まとめ tl;dr Server Side Kotlinは特に特殊なことはないよ Kotlinの言語仕様は便利だよ Null安全の機構を導入することでアプリ側とのすり合わせがしやすくなるよ Kotlinかわいい はじめに Kotlinってかわいいですよね。 サーバーサイド開発者の皆さん、Android開発者がうれしそうにKotlinの話をしているときに、 嫉妬したことはありませんか? 私はあります 今年1月に転職してから、色々と新しい事をやらせてもらえる環境になったので、 思いつきでKotlin入れませんか?と言ってみたところ上長から快諾され、導入できました。 そんなこんなで2018年後半はずっとSever Side K

    【Kotlin】Server Side Kotlin やってみた - B-Teck!
  • 【JavaScript/jQuery】後から生成されたDOMからイベントを発火させる - B-Teck!

    jQueryの場合 jQueryの場合のサンプル pure JSの場合 JavaScriptの場合のサンプル jQueryの場合 昔こういう事するときはjQueryのlive()を利用していたんだけど、1.9で死んでた。 $("p").live("click", function(){ $(this).after("<p>これもクリックできる</p>"); }); 1.9以降で同じ挙動させるならonを使う $(document).on('click', 'p', function() { $(this).after("<p>これもクリックできる</p>"); }); documentの部分を別のjQueryオブジェクトにすると、 そのオブジェクト配下だけで動的にイベントが付与される。 // hoge配下にp要素ができたときだけイベントを付与 $("#hoge").on('click', '

    【JavaScript/jQuery】後から生成されたDOMからイベントを発火させる - B-Teck!
  • 【Java/Kotlin】URI Template(RFC6570)の仕様に則ってURL文字列に変数をセットする - B-Teck!

    "http://example.com/name/{name}/age/{age}"のような文字列に対して変数を割り当てたいとき、 javax.ws.rs.core.UriBuilderが利用できる。 URI文字列がqueryも含む場合は、 UriBuilder.fromUri() を利用すると良い。 Javaの場合 import javax.ws.rs.core.UriBuilder; import java.util.HashMap; import java.util.Map; class Demo { public static void main(String[] args) { String template = "http://example.com/name/{name}/age/{age}"; // mapで変数に対応するkey-valueを与えると置換できる // Uri

    【Java/Kotlin】URI Template(RFC6570)の仕様に則ってURL文字列に変数をセットする - B-Teck!
  • 【雑記】競技プログラミングを始めたら楽しかったのでおすすめします - B-Teck!

    ふとしたきっかけで会社で競技プログラミングを見せて貰う機会があり、 内容が面白かったので自分でも購入して読んだり、 解いているうちにズブズブとハマって行ってしまいました。 せっかくなので読者の方にもおすすめしてみたいと思います。 競技プログラミングって何? プログラミングを使って、出題された問題を解いていく競技です! 上級者の方でもうなるような問題もありますが、 プログラミング自体の初心者でも気軽に解いていける問題もたくさんあります! 例えば、こんな問題もあります。 119という文字列が入力されたときに991が出力されるように、9と1を置き換えてください。 このくらいなら解けそうだと感じませんか? 何が楽しいの? これは一度触ってみてもらったほうがわかりやすいと思うんですが、 競技プログラミングの問題を解くのは、パズルを解くような楽しさがあります。 解き方を考えて、答えが出たときの楽し

    【雑記】競技プログラミングを始めたら楽しかったのでおすすめします - B-Teck!
  • TwitterのUser Streams API廃止について - B-Teck!

    Twitterは、8/16をもってUser Streams APIの提供を終了します。 移行先として、Acount Activity APIが提示されていますが、 ヘビーユーザーからは不満の声が上がっています。 今回は、なぜこれだけ騒がれているかを、知らない人向けにまとめてみようと思います。 そもそもAPIって何? 皆さんのツイートやリプライ、いいねやフォロー/フォロワーのリストなどは、 Twitterが持っています。 アプリケーションからそれらを利用したい場合に、システムから情報を取り出したり、 書き込んだりする仕組みをAPIといいます。 あなたがツイートボタンを押すと、書き込みAPITwitterのシステム内にツイートを書き込みます。 アプリケーションが、ツイート読み込みAPIでシステムからそのツイートを取り出すことで、 ツイートを表示することができます。 User Streams

    TwitterのUser Streams API廃止について - B-Teck!
    hal7pi
    hal7pi 2018/08/19
    これは困るというケースたくさんありそうですね!
  • 【Java/Kotlin】BufferedReaderの今風な書き方を調べてみた - B-Teck!

    Javaで書かれたBufferedReaderの処理をKotlin化する中で、 イマドキのJavaでの扱い方と、Kotlinの場合どう書くかを調べてみました。 いにしえの書き方(Java) いまふうの書き方(Java) Kotlinで書くと…? サンプルはすべてsomeStream という入力を連結する場合の例です。 いにしえの書き方(Java) BufferedReaderで入力が取れなくなるまでループする。 StringBuilder sb = new StringBuilder(); String line; BufferedReader br = new BufferedReader(new InputStreamReader(someStream, "UTF-8")); while ( (line = br.readLine()) != null ) { sb.append(li

    【Java/Kotlin】BufferedReaderの今風な書き方を調べてみた - B-Teck!
  • 【Kotlin】KotlinでJava EEのBean Validationを使うときの注意点 - B-Teck!

    Kotlinの場合のBean Validationのアノテーションの書き方 Kotlinでdata classをbean paramとして利用してBean validationを行う際、 下記のように書くと正しくvalidationされない。 パラメータが欠けると500エラーで死ぬ (?=fuga や ?hoge= など) data class Test( @QueryParam("hoge") @NotNull val hoge: String? ) これは、アノテーションがコンストラクタに付与されたとみなされており、 フィールド自体がvalidationされていないことが原因。 なので、明示的に@field:(または@get:)等をつけて、 Bean validationを利用できるようにする必要がある。 こっちだとOK data class Test( @QueryParam("ho

    【Kotlin】KotlinでJava EEのBean Validationを使うときの注意点 - B-Teck!
  • 【Kotlin】Kotlinで複数の例外をキャッチする - B-Teck!

    Java7以降で対応されている複数例外のマルチキャッチ機能が、 Kotlinでは利用できなかったので調べた。 書き方 Java6以前の書き方 try { ... } catch(IOException e) { ... } catch(ClassNotFoundException e) { ... } Java7以降の書き方 try { ... } catch(IOException | ClassNotFoundException e) { ... } Java7以降の書き方に似た処理をKotlinで書く場合 try { ... } catch (e: Exception) { when(e) { is IOException, is ClassNotFoundException -> { ... } else -> throw e } } 説明 catchですべてのExceptionを

    【Kotlin】Kotlinで複数の例外をキャッチする - B-Teck!
  • 【雑記】金融系システムの現場から自社サービス系に転職して半年の雑感 - B-Teck!

    スキルセット 前職はSES業態の企業に所属しており、保険・金融等を扱う企業に常駐し、 5年ほど働いていました。 Java/PHPのWebシステム、VBAの業務ツール等の作成を中心に、 フロントからDBまで一通りやれることは何でもやるような立ち位置でした。 とはいえ、金融系の企業なので概して採用する技術は古く、 世間的な新し目の技術なんかはあまり触れていませんでした。 転職の理由 流れてくる業務にひたすら対応していくので、対応力はあがるものの、 作ったものを継続的に改善したり、育てていくという体験がなかったです。 自らが能動的に動き、モノを作り上げていくような仕事をしたいと思っていたので、 自社サービス系の企業に転職することを決意しました。 転職時の体験記はこっちに書いてますのでよかったら読んでください。 【雑記】退職します - B-Teck! 現職 現職では、特にグローバル向けのBtoCサ

    【雑記】金融系システムの現場から自社サービス系に転職して半年の雑感 - B-Teck!
  • 【JavaScript】クリップボードに文字列をコピーする - B-Teck!

    document.execCommand("copy") が選択した要素の文字列のみしかコピー出来ないので、 一時的に要素を作って、選択してコピーする。 const copyToClipboard = s => { const d = document; // copy用の一時要素を作成し、文字を入れる const t = d.createElement('pre'); t.textContent = s; // 表示されていないとコピー出来ないのでbodyに追加する d.body.appendChild(t); // 追加した要素を選択しコピーする // コピー後に追加した要素を消すので画面上はほぼ影響がない d.getSelection().selectAllChildren(t); d.execCommand('copy'); d.body.removeChild(t); } doc

    【JavaScript】クリップボードに文字列をコピーする - B-Teck!
  • 1