Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ここでいうおじさんSEとは、主にSIerに生息する、 ・30歳以上で ・モダンな技術を知らない ・レガシーな技術しか知らない ・主に設計書などのドキュメント類を弄っており、コーディングをしない ・現状から変わる気がない(キャリアアップに対し具体的なアクションがない) 人たちを指す。 決して単に妙齢のエンジニアを一括りにしているわけではない。 「おじさんSE」より良い呼び方があれば、ぜひご提案いただきたい。 第1章 おじさんSEの仕事内容 おじさんSEは、コードを書くことはほぼ無い。 これは現場にもよるので、全く無いというわけではないが、 多くのおじさんSEはコーディングはしない。 ではおじさんSEは何をやっているのかというと、 ・内部設計書、外部設計書、詳細設計書の記述 ・結合試験以降の試験項目票の作成 ・試験結果のレビュー 大抵はこの3つになる。 99.9%はウォーターフォール型である。
(この記事は 地平線に行く とのマルチポストです) よく Java の実行バージョンを上げるだけで速くなるという話を聞きます。 でも、本当にそうなのでしょうか。また、本当だとしたらどれぐらい速くなるのでしょうか。 そこで、簡単なプログラムで実験してみました。 実験概要 実験用に、数独を解く Java のプログラムを作成しました。 このプログラムは単純な演算を繰り返し行ってるだけなので、Webアプリケーションのような複雑なプログラムとはおそらく傾向が違いますが、参考程度にはなるかなと思います。 これをJava 1.1 でコンパイルし、Java 1.1 ~ 12 の各 Oracle JDK (32bit/64bit) で数独100万問のデータセットを読み込んで解き終わるまでの時間を測定しました。1 細かい測定条件は以下の通り。 実行環境 Windwos 10 Home 1809 (64bit)
まえがき sedで環境に依存しないワンライナーを書きたかったけど、BSDとGNUの実装で微妙に挙動が違うせいで難しかった。で、いっそのことperlで書いた方がいいのでは、という結論になった。ぐぐったらperlのワンライナーの書き方出てくるけど何でそう動くのか分からなかったのでそれも調べた。そこらへんについてまとめる。 GNU sedとBSD sedの違い、perlからsedへの乗り換え方簡易版、その詳細、という感じでまとめたので知りたいところからどうぞ。 sedにはGNU sedとBSD sedがある sedで とかしようとすると実行する環境によって失敗する。 sedにはBSDの実装とGNUの実装があるからだ。-EはBSD sedで拡張正規表現を使うオプションで、GNU sedで拡張正規表現を使いたければ-rを使う必要がある。 じゃあ拡張正規表現を使わずにデフォルトの正規表現を使えばいいの
Google Apps Scriptというと以前はWebのエディター上でしかコードを書けなかった。 手に馴染んだエディタが使えないし、バージョン管理はしにくかった。 Googleからclaspが登場し開発環境は大幅に改善された。 利用バージョン: clasp v1.1.5 インストール npm コマンドでインストールできる。 npm i clasp でインストールすると以前は別モノがインストールされたが、今は An alias for @google/claspと書かれており単にclasp のみでも良さそう。 ログイン Webエディタ側から取るにも、Webエディタ側にアップするにもユーザ認証が必要ということで、まずはログインする必要がある。 ログインする前には Google Apps Script API を有効にしておく必要もある。 https://script.google.com/h
GraalVMをご存知ですか? Oracleの作成した、多言語ランタイムです。Javaを各OS向けにネイティブコンパイルすることができます。 フットプリントの軽さや、起動の速さなどを目指しており、Dockerなど、コンテナ技術との組み合わせが期待される技術です。 というわけで、速さを確認してみます。 2019/03/17 修正: dotnetコマンドでDebugビルドで計測していたので、Releaseビルドで計測し直しました。 2019/03/19 修正: GraalじゃなくてGraalVMのほうが正しくね?とコメントいただきました。そのとおりだと思ったので修正しました。 フィボナッチで対戦 随分前に、Node.jsをつかう → はやい という記事を書きました。 そのプログラムを使用して、Node.js、Java、GraalVMを対決させてみます。 (Graal以外のランタイムがちょっと古
前回の記事で、変数の再宣言についてコメントを頂いたので調べてみました。今回取り扱うテーマは変数(など)の再宣言とシャドウイングです。 はじめに:シャドウイングとは? fn main() { let x: i64 = 1; println!("{}", x); // 1 { let x: i64 = 2; println!("{}", x); // 2 } println!("{}", x); // 1 } シャドウイングとは、ある特定のスコープにおける変数名とその外側のスコープにおける変数名が同名であった時に、その2つを別の変数として扱う挙動です。 上記のrustのコードでは、中括弧で囲われたブロック内のxとその外側のxは別の変数として扱われます。 ここまでは最近の言語だとよくある話です。今回問題にしたいのは以下の場合です。 問題: rustにおける同一スコープ同名変数の再宣言
結論(2021-07-06更新) 個人的なスタンス 個人的な意見として、原則 nullableのためにletを使うのみに留めたいところです。 そもそも、このような記事を書いて、それなりに閲覧されている程度には、スコープ関数は難しいからです。 JavaのAPIを使う場合、alsoやapplyが便利な場面があって、これは例外的に使ってもいいかもしれません。 が、スコープ関数を使わない素直なコードの選択肢を常に持っておくべきでしょう。 一応 スコープ関数の図解 --------以下、詳しく知りたい人向け-------- Kotlinの標準ライブラリには「スコープ関数」と呼ばれる4つの関数があります。 let、with、run、applyです。 それぞれ似ているので使い分けが難しいと思い、私なりの考えをまとめておきます。 (2017-01-26 追記) ver1.1で追加されるalsoについて解説
iTerm2を使っている人は結構多いと思うのですが、意外とHotkeyを使っている人が少ない気がしたので、書いておきます。 HotKeyを設定するメリット 早い Hotkeyの設定をすると、複数のデスクトップを開いていてもこのように上からターミナルが降りてきてすぐにコマンドが叩けるようになります。 写経が楽 若干透明度を設定しておくことで、ターミナル越しにブラウザを見ながらコマンドを打つこともできて大変便利です。コピーペーストする際の無駄なトラックパッド操作が省けます かっこいい にょろーん!っといきなり黒い画面が降ってくると、親戚一同の前ではあなたはヒーローになります。 設定方法 Hotkeyを有効にする iTerm2の設定に、 keys -> Create a Dedicated Hotkey Window... というのがあるのでそれを押します。 ここでHotkeyを設定するわけです
Slack を使っていると「少しチャンネルの一覧性が低いかな」と感じていました。 なので TweetDeck 的に複数のチャンネルを同時に見られるツールをプロトタイピングしてみました! 本体は GitHub/slackdeck-proto に置いてあります。 2019/08/14追記: Windows版アプリ配布 2019/08/10編集: 設定ファイルについての記載を変更 2019/07/15追記: Mac版アプリ配布 2019/06/26追記: 複数ワークスペース対応 どんなツール? Slack の TweetDeck 的なビューワです。 MacOS, Windows版は こちら から入手できます。 特徴 マルチカラム対応 ボタン操作でカラムを増減可能 初回起動時のカラム数、チャンネル等を設定ファイルでカスタムできる 複数ワークスペース対応 アプリ版の配布 前準備 以下を用意します。E
シェルスクリプトを書くのなら shellcheck という lint ツールでチェックしましょう、というお話です。 (@znz blog の shellcheck を使おうと同じ内容です。) 題材 先月Shell Script Advent Calendar 2016 8日目のプログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話がいいね数ランキングで上位にきていたこともあり、piroor/tweet.sh を例に使いたいと思います。 shellcheck の準備 macOS なら brew install shellcheck とか、 Debian や Ubuntu なら sudo apt install shellcheck とかでインストールできます。 ちょっと試すだけなら https://www.shellcheck.net/ でもできるようです。 ソ
PySpa統合思念体です。 某チャットで、「今時のOSSのプロジェクト管理とかのベストプラクティスが書いてある本ないかな、陳腐化早そうだしないか」みたいな話題が投入されました。その中で、エキスパートPythonプログラミングとか、Pythonプロフェッショナルプログラミングとかは思い出して紹介したけど、他の人からはShip It、Manage It、Release It三部作とか、達人プログラマーとかも出てきました。 このあたりの源流を辿ると、そういえば今流行ってる開発の源流としてはエクストリームプログラミングの開発系のプラクティスの遺伝子を受け継いでいるのが多いよな、そういえば当時から見て今ってどう変わっているのかな、という話題に。せっかくなので20年前を思い出しつつ、当時と今でどういう風に変わってきたのか適当にまとめてみます。 20年前の状況 XP白本こと、eXtreme Progra
みなさんターミナルは使ってますか? Terminal.app? iTerm2? Hyper? それとも他の何か? それではフォントは何を使っていますか? Menlo? Consolas? Ricty? 今日はそんなお話です。 対象とする読者 ターミナルやエディタでカコイイ等幅フォントが使いたい人。 既存のフォントを FontForge + Python で色々いじって遊びたい人。 プログラミング用フォント SF Mono Square ずっと Ricty を使っていたのですが、色々こだわる余り自分でフォント作ってしまいました。作ったものをそのまま配布するのはライセンス上できませんが、Homebrew で誰でも導入できるようにしています。 SF Mono Square には以下のような特徴があります。 レポジトリ: delphinus/homebrew-sfmono-square 半角フォン
この記事はOthloTech Advent Calendar 2016の20日目の記事です。昨日は_cheezさんの【css】transform:matrix3dのちょっとしたお話でした。 これは釣りタイトルみたいなものなんで、すごい人は怒らずブラウザバックしてください。 どうもこんにちは、エンジニアと名乗るのはおこがましいレベルにはレベルが低いキンチキです。OthloTechのAdvent Calendarの記事ということで、僕はOthloTech主催の勉強会は結構参加しています。もちろんその他の勉強会にも参加することがあります。 そういう場で隣を見ると学生のターミナルはイケてないことがマジで多いので、サクッとイケてるターミナルにしようって記事です。見た目、大事。 この記事は基本Macの話です。Windowsのコマンドラインのことなんか知りません。Linux使ってる人は自分で色々やってい
GNU Bourne Again Shell(bash) 背景 bash5.0が発表されたので早速使ってみました。 メジャーバージョンアップは4.0の2009年2月ぶりとの事で約10年 マイナーバージョンアップも4.4が2016年9月ぶりです。 後方互換性が多少無いようなのですぐに乗り換えることは出来ませんがとりあえず使ってみました。 4.4との違いはバグフィックスと新機能追加 関係ないですがbashのファーストリリースは1989年との事で今年は記念すべき30周年を向かえるんですね。 未だに第一線で大活躍しているのはすごいです。 使ってみる まずは下記サイトよりソースを入手します。 http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00063.html Gitでも公開されているのでそちらからでも入手可能です。 tarを入手したら展開
利用可能なディストリビューション OpenJDK 特徴: Javaの基本実装、広範囲のプラットフォーム対応 注意点: 限定的な長期サポート、定期的なアップデートとセキュリティ更新の必要性 商用利用: 可能 Eclipse Temurin 特徴: パフォーマンスとセキュリティに重点、多様なJavaバージョンサポート 注意点: コミュニティ主導で商用サポート限定、独自機能と互換性の潜在的問題 商用利用: 可能 Amazon Corretto 特徴: AWS最適化、長期サポート、セキュリティパッチ 注意点: AWS外環境でのパフォーマンス非保証、AWSに特化 商用利用: 可能 Oracle JDK 特徴: Oracleによる公式Java版、高パフォーマンスとセキュリティ 注意点: 有料ライセンスが必要、Oracleのサポートポリシー遵守 商用利用: 有料ライセンスを購入すれば可能 Azul Zu
2018/08/16 に Google Cloud Functions が Puppeteer をサポートしました Introducing headless Chrome support in Cloud Functions and App Engine Puppeteer が使えるようになったので、ヘッドレス Chrome を利用したスクレイピングが Cloud Functions でおこなえるようになりました。 Node v8 にも対応したので async/await も使えますよ! しかし Cloud Functions の単体利用は使い勝手がちょっと悪いです。 それを補うために Google Apps Script(GAS)と併用します。 GAS を利用することでスプレッドシートに書き込んでデータの保存場所としたり、メールを送ったりなどが簡単に行なえます。 この2つを使う最大のメリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く