タグ

ブックマーク / news.mynavi.jp (86)

  • 世界のプログラミング言語(55) Pascalでデスクトップアプリを作るOSSの統合開発環境「Lazarus」

    クロスプラットフォームのGUI開発環境の一つに「Lazarus」があります。Lazarusは、Delphi7によく似たオープンソースの開発環境です。Pascal(Free Pascal Compiler)を利用してプログラムを開発します。長年継続して開発が続けられており、2024年5月に3.4がリリースされました。多くのコンポーネントを組み合わせてネイティブなGUIアプリを作成できます。今回は、WindowsmacOSで使う方法を紹介します。 Lazarusでデスクトップアプリを作ってみようs Lazarusとは? Lazarusは、Delphi7によく似た開発環境です。クロスプラットフォームの開発環境であり、Windows/macOS/Linuxなど幅広い環境で動作します。一般的なLinuxをはじめ、Raspberry Piなどで動作させることもできます。 そもそも、Lazarusの開

    世界のプログラミング言語(55) Pascalでデスクトップアプリを作るOSSの統合開発環境「Lazarus」
    fumokmm
    fumokmm 2024/09/04
  • 理科大など、ブラックホール近傍の数秒の変化を捉えることに成功

    東京理科大学(理科大)と立教大学は7月26日、地球から約7000光年にあるブラックホール連星の「はくちょう座X-1」に対する、X線偏光観測衛星「IXPE」(NASA/イタリア宇宙機関)の偏光観測データを用いて、1秒スケールの増光現象に付随して偏光の状態が変化することを発見したと共同で発表した。 同成果は、理科大 創域理工学研究科 先端物理学専攻の二之湯開登大学院生、同・内田悠介助教、同・幸村孝由教授、立教大 理学部物理学科の山田真也准教授らの共同研究チームによるもの。詳細は、日天文学会が刊行する欧文学術誌「Publications of the Astronomical Society of Japan」に掲載された。 史上初のブラックホール(を含む連星系)のはくちょう座X-1は地球から十分に遠く、またサイズが太陽質量の約20倍と小さいため、周囲の降着円盤やコロナが発するX線で観測しても

    理科大など、ブラックホール近傍の数秒の変化を捉えることに成功
    fumokmm
    fumokmm 2024/07/31
  • 世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか

    Zigは2015年に登場した新しいオープンソースのプログラミング言語です。Go言語やRust言語のように、C言語の置き換えを目標にしたコンパイラ言語です。その最大の特徴はシンプルであることです。確かに、マクロもプリプロセッサもありませんが、現代的な言語に仕上がっています。最近話題になることが増えてきたので試してみましょう。 ZigのWebサイト Zigとは Zigはアンドリュー・ケリー氏によって2015年に登場した新しいプログラミング言語です。コンパイラ基盤のLLVMを利用しており、幅広いOSに対応した実行ファイルを生成することができます。 Zigはシンプルをモットーとしています。Zigのマニュアルでは、C++Rust、D言語など多くの機能を持つ言語を挙げて、それらとは異なりシンプルであることを名言しています。 そして、その構文は、C言語と似ているのですが、遅延処理のdefer構文や型推

    世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか
    fumokmm
    fumokmm 2022/08/10
    ぱっと見、そんなにシンプルに見えないんだけど、きっとシンプルなのだろう。
  • 世界のプログラミング言語(21) Javaの良さにRubyの柔軟さを掛け合わせた言語「Groovy」

    Groovy(グルービー)は、Java仮想マシン上で動作するスクリプト言語です。コンパイル不要でプログラムを手軽に実行できます。その構文はRubyから大きな影響を受けており、柔軟なプログラムを作成することができます。今回はGroovyの使い方や簡単なプログラムを紹介します。 人気のスクリプト言語「Groovy」とは Groovyは、Java仮想マシン(JVM)上で動くオープンソースの言語です。オープンソースのプロジェクトを支援する団体であるApacheソフトウェア財団によって管理されています。元々は、James StrachanやBob McWhirterを中心にして、2003年に開発されました。とても人気があり、原稿執筆時点の2019年9月、TIOBEによるランキングでも11位以にランクインしています。 その人気の理由ですが、Java仮想マシン(JVM)上で動作する動的スクリプト言語であ

    世界のプログラミング言語(21) Javaの良さにRubyの柔軟さを掛け合わせた言語「Groovy」
  • エクスプレッシブライティングとは? 効果ややり方、書き方のポイントを解説

    エクスプレッシブライティングとは、「思ったことを紙に書く」という簡単な思考整理法です。たったそれだけなのに、悩みやストレスで発生する負の感情をコントロールして解消し、強いメンタルをつくる効果が期待できます。 記事ではエクスプレッシブライティングのメカニズムやメリット、具体的なやり方のポイントを紹介します。 エクスプレッシブライティングとは エクスプレッシブライティングとは? 意味ややり方、仕組みを解説 エクスプレッシブライティングとは、1980年代にアメリカの社会心理学者ジェームス・ペネベーカー博士によって生み出された方法です。エクスプレッシブライティングは「筆記開示」とも呼ばれ、思っていることを筆記により開示して解決するテクニックです。 思ったことを書くだけというシンプルなやり方と、認知行動療法でもよく使われているほど高い効果が期待できることが、エクスプレッシブライティングの特徴と言え

    エクスプレッシブライティングとは? 効果ややり方、書き方のポイントを解説
    fumokmm
    fumokmm 2021/09/09
  • PowerShell Core入門 - 基本コマンドの使い方(8) 文字列の一致検索 Select-String、Out-String

    シェルを使っていてもっとも頻繁に利用するコマンドのひとつがgrepだ。 macOSLinuxのPowerShell Coreであればアプリケーションとしてgrepを利用できる。しかし、Windowsではgrepは利用できない。 今回はSelect-StringとOut-Stringコマンドレットを使ってgrepのような処理を実現する方法を紹介する。この方法を知っておけばどの環境でも困らずに済むだろう。 Select-String/Out-Stringをgrepのように使う ファイルやディレクトリの一覧から、必要な行だけを抜き出して表示する例を考えよう。 まず、次のようなディレクトリがあったとする。 ファイルとディレクトリを一覧表示 PS /Users/daichi/Documents/powershell> Get-ChildItem Directory: /Users/daichi/D

    PowerShell Core入門 - 基本コマンドの使い方(8) 文字列の一致検索 Select-String、Out-String
  • 今が乗り換えどき!? ポスト「Evernote」に挙がる3サービスを試してみた

    かつては飛ぶ鳥を落とす勢いだったクラウドメモアプリ「Evernote」だが、近年はプランの制限も増え、不自由さを感じることも少なくない。9月には大規模なリニューアルも行われるなど、サービスとしてはまだまだ活発だが、動作が重いことに変わりはなく、別サービスへの移行を考えているユーザも多いと見られる。 今回はそんなEvernoteの受け皿となるノートサービス3つについて、Evernoteからの移行の方法、およびChromeを例とした、専用ウェブクリップツールの使用感について紹介する。格的な移行ではなく、ひとまずは併用を前提にツールを探している人にも、参考になれば幸いだ。 Evernoteには、自分用のメモだけでなく、画像や動画、PDF、Webサイトの記事などをクリップ(保存)できる。保存した情報を検索することも可能だ OneNoteOneNote」は、Microsoft社の多機能ノートア

    今が乗り換えどき!? ポスト「Evernote」に挙がる3サービスを試してみた
    fumokmm
    fumokmm 2020/11/08
  • 「表記」と「標記」の違いは? – 例文も紹介【ビジネス用語】 | マイナビニュース

    語には、同じ発音でありながら別の意味を持つ"同音異義語"というものが多数存在します。いざ漢字に変換しようとする際に、迷う人も多いのではないだろうか。そこで今回は、「表記」と「標記」という同音異義語についてご紹介したいと思います。 「表記」と「標記」の意味 「表記」の意味を調べてみると、「おもてに書き記すこと。また、その文字。おもて書き」「文字や記号で書き表すこと」とあります。 一方「標記」は、「目印としてしるすこと。また、その目印」「標題として書くこと。また、その題」と記載されています。 「表記」と「標記」の違い それぞれの意味を改めて見てみると、「表記」はおもて書きのことですから、はがきや封筒に宛て名などを書くことや、おもて書きの文字そのものを指します。また、「英語表記」「ローマ字表記」など文字や記号で書き表すことも「表記」と言います。 「標記」の方は、「標題」という言葉が記載されて

    「表記」と「標記」の違いは? – 例文も紹介【ビジネス用語】 | マイナビニュース
    fumokmm
    fumokmm 2018/11/01
  • 世界のプログラミング言語(1) Firefox高速化の立役者「Rust」

    どうして星の数ほどプログラミング言語があるのか? 今回から、世界中にあるいろいろなプログラミング言語をレビューする連載「世界のプログラミング言語」が始まります。世界中には星の数ほどたくさんのプログラミング言語があるので、それらを一つずつ紹介していきます。しかし、そもそも、なぜ、世の中にはたくさんのプログラミング言語があるのでしょうか。 平均的なプログラマーであれば10個以上の言語を使い分ける?! 質問について答える前に、筆者がいくつのプログラミング言語を使えるのかを紹介しましょう。まず、筆者自身もプログラミング言語を開発しており、日語プログラミング言語「なでしこ」(https://nadesi.com)を公開しています。これだけで、使える言語+1なのですが、毎年、2-3冊ずつプログラミング言語に関する書籍を執筆しています。それで、書籍で扱ったプログラミング言語には、JavaScript/

    世界のプログラミング言語(1) Firefox高速化の立役者「Rust」
  • 2017年に最もシェアを伸ばしたプログラミング言語は?

    TIOBE Softwareから、2018年1月のTIOBE Programming Community Index (PCI)および2017年に最もインデックス値を伸ばしたプログラミング言語アワードが発表された。2017年プログラミング言語・オブ・ザ・イヤーに輝いたのはC言語となった。 C言語は2017年も1.67%の増加を見せた。この値は決して大きくはないが、他のプログラミング言語の増加分がかなり小さかったため、今回の結果につながったという。 一方、TIOBE PCIは複数の検索エンジンの検索結果から対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。2018年1月におけるインデックスは次のとおり。

    2017年に最もシェアを伸ばしたプログラミング言語は?
    fumokmm
    fumokmm 2018/01/11
  • PythonがJavaに迫る勢い - 7月PYPL開発言語ランキング

    2017年7月の「PYPL PopularitY of Programming Language」が公開された。PYPLはGoogle検索エンジンにおいてプログラミング言語のチュートリアルが検索された回数から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。チュートリアルの検索回数を人気度と位置づけてランキングしている。 2017年7月におけるインデックスは次のとおり。

    PythonがJavaに迫る勢い - 7月PYPL開発言語ランキング
    fumokmm
    fumokmm 2017/07/07
  • Git 2.13登場

    Githubは5月10日(米国時間)、「Git 2.13 has been released · GitHub」において、GitプロジェクトからGitの最新版となる「Git 2.13.0」が公開されたことを伝えた。このバージョンにはいくつもの新機能が追加されているほか、脆弱性につながりかねないバグが修正されている。 「Git 2.13.0」では信用できないGitユーザーがリモートホストでシェルコマンドを実行できる可能性があるという脆弱性が修正されている。Gitホストサーバを自前で運用しており、かつ、ある設定でgit shellを使えるようにしている場合はこの脆弱性修正の影響を受ける可能性がある。なお、GitHub.comとGitHub Enterpriseはgit shellを使っていないため、今回の変更の影響は受けないとしている。 また「Git 2.13.0」ではSHA-1のコリジョン問

    Git 2.13登場
    fumokmm
    fumokmm 2017/05/11
  • JavaとCの減少続く - 5月プログラミング言語ランキング

    TIOBE Softwareから、2017年5月のTIOBE Programming Community Index (PCI)が公開された。TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。2017年5月におけるインデックスは次のとおり。 順位 プログラミング言語 インデックス値 推移

    JavaとCの減少続く - 5月プログラミング言語ランキング
    fumokmm
    fumokmm 2017/05/11
  • Macのちょい効き!ワザ - WindowsのAlt+Tabのようなウィンドウ切り替えをMacで行なうには

    ハウツー Macのちょい効き!ワザ - WindowsのAlt+Tabのようなウィンドウ切り替えをMacで行なうには Windowsユーザーにはおなじみの、開いているウィンドウを切り替えるための[Alt]+[Tab]キーの操作。Macでも似たようなショートカットキーが用意されているが、その機能は「アプリの切り替え」と「同一アプリ内のウィンドウ切り替え」であり、使い勝手がちょっと違う。そこで、ウィンドウ同様のウィンドウ切り替えを行なうワザをご紹介しよう。 command+tabはアプリの切り替え Windowsにおける[Alt]+[Tab]のショートカットキーを押すと、開いているウィンドウのサムネイル(Windows Vista以降のAero環境)またはアイコン(非Aero環境)が表示され、そこでウィンドウを切り替えられる。Windowsユーザーの間ではすっかり定着した操作だろう。

    Macのちょい効き!ワザ - WindowsのAlt+Tabのようなウィンドウ切り替えをMacで行なうには
    fumokmm
    fumokmm 2014/08/15
  • 大刷新リリース Java 8の新機能

    IDEやフレームワークのJava 8サポート状況 Java 8のリリースは目前だが、気になるのはIDEやフレームワークでの対応状況だ。Java 8がリリースされても主要なIDEやフレームワークでサポートされていなければ実際に利用することは難しいからだ。 まずIDEだが、NetBeansやIntelliJではすでに2013年の段階でJava 8をサポートしている。Eclipseはまだ正式にはJava 8をサポートしていないが、Java 8サポートを追加するためのプラグインがプレビュー版として公開されており、2014年6月にリリースされる予定の次期バージョンでは正式にサポートされるはずだ。 一方で著名なフレームワークでもJava 8対応が進められており、Spring FrameworkではすでにラムダやTime APIなどJava 8の新機能に対応したSpring 4.0が提供されている。 こ

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    Javaにとって、Java8は大きな意義のあるリリースとなるだろう。
  • 大刷新リリース Java 8の新機能

    新たなJavaScriptエンジン「Nashorn」 Java SEではこれまでRhinoというJavaScriptエンジンが同梱されていたが、Java 8からはNashornという新たなJavaScriptエンジンに変更されている。NashornはRhinoの後継と位置づけられているものの、Java 7から導入されたinvokeDynamic命令を駆使したまったく新しい実装となっており、Rhinoよりも軽量で高速に動作するとされている。 パーマネント領域の廃止 Java 7までクラス情報を格納するパーマネント領域は通常のヒープ領域とは別にサイズの指定を行う必要があった。そのため大量のクラスをロードするアプリケーションや動的にクラスのリロードが可能なフレームワークではPermGenの不足によるOutOfMemoryErrorを目にしたことのある方も多いのではないだろうか。 Java 8では

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    Nashorn ←なすほーん? メタスペース!
  • 大刷新リリース Java 8の新機能

    その他の新機能 ここまでに挙げたものの他にも既存のAPIに対して様々な機能追加が行われている。スペースの都合ですべては紹介できないが、簡単に紹介しよう。 便利なユーティリティの追加 Stringには配列やListなどに格納された文字列を指定したデリミタで結合するためのjoin()メソッドが追加されている。 List<String> list = Arrays.asList("Java", "Groovy", "Scala"); String str = String.join(", ", list); また、java.utilパッケージにはBase64エンコード/デコードを行うためのユーティリティが追加されている。 // エンコード String encoded = Base64.getEncoder().encodeToString(input); // デコード byte[] deco

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    みんな大好きjoinメソッド!
  • 大刷新リリース Java 8の新機能

    タイプアノテーション これまでアノテーションはクラスやメソッドの宣言に対してのみ付与することが可能だったが、Java 8からは変数の型やジェネリクスの型パラメータに対しても付与することができるようになった。この機能は「タイプアノテーション」と呼ばれる。 タイプアノテーションの利用例としてはChecker Frameworkがある。これはコードの様々な個所にアノテーションを付与しておくことでコンパイラだけでは不可能な高度な型チェックを行うことができるというものだ(コマンドラインからの実行に加え、EclipseやIntelliJ用のプラグインも用意されている)。 例えば以下のコードはgetObject()メソッドが常にnullを返すため、実行すると最後の行でNullPointerExceptionが発生する。 Object getObject() { return null; } @NotNu

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    変数の型とか、ジェネリック型パラメータにもアノテーションが付けられるようになった。
  • 大刷新リリース Java 8の新機能

    符号なし整数のサポート Java組み込みの整数型は符号付きしかサポートしておらず、その範囲を超える値を扱う場合、これまではBigDecimalを使用する必要があった。BigDecimalは内部的には文字列として値を保持しているため、プリミティブ型での処理と比べると効率が悪いという問題がある。 Java 8では従来の符号付きの整数型を符号なしの整数型とみなして扱うためのstaticメソッドがIntegerとLongに追加されている。これらを使用することで正負は表現できないものの、より広い範囲の値を表すことができるようになる。 // intの最大値(2147483647)に対して加算する int a = Integer.MAX_VALUE + 1; // そのまま表示すると桁あふれを起こし負の数として表示される System.out.println(a); // => -2147483648

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    符号なしサポートか。芸が細かい。
  • 大刷新リリース Java 8の新機能

    java.util.concurrentの強化 java.util.concurrentパッケージにも新たなクラスがいくつか追加されている。たとえば従来のJava SEでは複数スレッドからアトミックに更新可能なデータ型としてAtomicIntegerといったクラスが用意されていたが、Java 8では新たにLongAdderやDoubleAdderといったクラスが追加されている。これらのクラスは複数スレッドから頻繁に更新を行うようなケースで高いパフォーマンスを発揮する。 // LongAdderを生成(初期値は0) LongAdder longAdder = new LongAdder(); // 加算 longAdder.add(100); // インクリメント longAdder.increment(); // デクリメント longAdder.decrement(); // 値をlon

    大刷新リリース Java 8の新機能
    fumokmm
    fumokmm 2014/05/14
    コンカレントパッケージもう一回おさらいしないとな。