In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want. Read the overview → Methodology → Welcome to the 2023 Developer Survey! For 13 years, we've delivered industry-leading insights regarding the developer community. This is the voice of the developer. Analysts, IT leaders, reporters, and other deve
N予備校iOSアプリ開発チームのyoppieです。 筆者のN予備校での経歴は Androidアプリ開発チーム 2021年4月 - 2022年3月 iOSアプリ開発チーム 2022年4月 - 現在 です。iOSアプリ開発にチャレンジしたくなり、Androidアプリ開発からiOSアプリ開発に移りましたが、iOSアプリ開発とAndroidアプリ開発(以下I/A)でのさまざまな違いがあり、苦労しました。(iOSアプリ開発チームに移り10ヶ月経ちますが、今も苦労しています...) I/Aでのさまざまな違いがありますが、この記事では筆者が特に違いを感じた点をまとめています。 I/Aどちらかのエンジニアの方がもう一方に移りたて、もしくは移ろうか迷っている方に向けた記事となっています。 IDEに関連した各種バージョン 一般的にXcodeでiOSアプリ開発を行い、Android StudioでAndroid
「秀丸」という2文字を見て即座に反応できた人はかなりのベテラン PC ユーザーか、もしくは上級(?)クラスの PC ユーザーと言うことになるかと思う。 そう、「秀丸」とはインターネット全盛期の現在よりも前の「パソコン通信時代」(パソ通時代)から "痒いところに手が届く" 数々の名作シェアウェア(+フリーウェア)を世に送り出してきた、秀まるお氏のソフトウェアブランドのことだ。今回は Realforce のヘビーユーザーとして、あの伝説のシェアウェア(+フリーウェア)作家であられる秀まるお氏をお迎えして、「プログラマー目線からのキーボードへのこだわり」について伺った。 伝説のシェアウェア作家、秀まるお(斉藤秀夫)氏のプロフィール パソ通全盛期からインターネット全盛期を駆け抜けた自分のような人間からすると、秀まるおさんといえば「伝説のシェアウェア作家」というイメージが強く、私だけでなく読者の多く
去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。
このエントリはRust Advent Calendar (3) 22(-10)日目 の記事です。 5年前にxremapというLinux向けのキーリマッパーを作った (Linux向けの最強のキーリマッパーを作った - k0kubun's blog) のだが、X11のレイヤーで実装したため、GNOMEのActivitiesでリマップが効かなかったり、WaylandではXWayland内でしか動かないといった問題があった。 これらの問題を解決すべく、xkeysnailやwayremapといったツールが後に作られたのだが、xkeysnailはWaylandで動かずwayremapはX11で動かない方針なのと、やはり全てのキー入力を中継するようなツールはPythonのような遅い言語よりRustみたいな速い言語で書かれるべきだと思ったので、後発のツール*1の良いところ取りをしながら今回xremapを作
結論 type X = 'foo' | 'bar' | (string & {}); のように、文字列リテラル型の共用体型に | (string & {}) を付け足した型 X を定義します。X 型は任意の文字列を受け付けますが、IDE (Visual Studio Code など) で X 型の値を入力するときには 'foo' と 'bar' が自動補完の候補として提示されます。 解説 単純に type X = 'foo' | 'bar' | string; と書いてしまうと、共用体型の各要素がまとめられて、X は単なる string 型になってしまいます。{} 型は null と undefined を除く任意の値を受け付けるので、string & {} 型は実質的に string 型と同一なのですが、TypeScript 4.4 の時点では同一扱いされず、共用体型の各要素がまとめられ
κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム
JUCE6はCMakeに対応していますが、実はCMake対応の恩恵を受けられないプラットフォームが存在します。Androidです。 「は?」というのが多分一番正しいでしょう。何しろCMakeはだいぶ前からAndroid Studioでサポートされているわけで、むしろ一番恩恵を受けるべきプラットフォームです。Win/Mac/Linux/iOSのいずれもCMakeネイティブなビルド環境ではないのに、むしろCMakeがネイティブのビルド環境としてサポートされているAndroidがなぜかサポート外になっているのです。このままではいけない。 目次 Missions 分析編 一般的なAndroid C++サポートの実現方法 ProjucerのAndroidExporterで生成されるファイル build.gradle, local.properties, settings.gradle, gradle
Android Advent Calendar 2020の20日目はAndroid NDK方面で今開発が進んでいるPrefabパッケージ機構についていろいろまとめます。タイトルに書いている「ネイティブ」とはC/C++等のコンパイラが生成するCPUネイティブなコードの意味です*1。 目次 Prefabとは? AARパッケージの仕組みと、それだけでは足りない部分 Prefabツールによる状況の改善 prefabメタデータとprefabツールの役割 Prefabアーカイブの汎用性 モジュール Android StudioでPrefabパッケージを使う・作る PrefabとAGPのPrefabサポートの現在の課題 build.gradleでヘッダーディレクトリが1つしか指定できない Prefabパッケージとnon-Prefabパッケージの排他的関係 全てのネイティブライブラリで同一のlibc++_
本記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています
こんにちは、AIチーム所属の@shidoです。CRE (Customer Reliability Engineering) 領域でMLを扱っています。 みなさんはPythonで本番コードを書くことについてどうお考えでしょうか。「研究/分析以外には使いたくない」「遅い」「動的型付け言語を本番用に使いたくない」といった声が聞こえてきそうです。 しかしながら機械学習サービス(または機械学習サービスのためのサービスなど)を作りたい場合、「学習に利用したPython用のライブラリを使用したい」「Pythonでやっていた分析と同じことを本番環境内でもやりたい」など、Pythonでバックエンドを実装したくなることがあると思います。 この記事ではtype hintsを付けながらPythonを書くことで、GoやJavaのようなサーバーサイドでよく使われる言語と可読性や保守性、場合によっては型安全性も同じレベ
今回のエントリでは先日、僕が勤めているソニックガーデンで話題になったプログラミング関連の小ネタを書きます。 それは何かというと、「プログラミング初心者は変数名やメソッド名を略さない方がいい」という話です。 長い変数名やメソッド名はつい略したくなります。 実際、僕も長い名前を略すときはよくあります。 ですが、略称を使うのは長年の経験から「この略称は一般的だから誤解を招くことはきっと少ないだろう」とか「前後の文脈から、変数の中身は誰が見ても明らかだろう」という想像が付いた場合だけです。 一方、プログラミング初心者の人は経験が浅いため、「一般的かどうか」とか、「誤解が発生しないかどうか」といった判断ができません。 そのため、他の人が見たときに「え、何この変数名?」と思ってしまうような略称を付けてしまう恐れがあります。 たとえば、先日のコードレビューで、初心者の人がrev_noという名前の変数を定
Java IDEにもいろいろあるけど、それぞれの特性としてIDEがどれだけJavaを知っているかということで決まるということをTwitterに書いたので、ちょっと具体的に書いてみます。 IDEの使いやすさについて、そのIDEがどれだけちゃんと言語を知っているか依存するんだけど、IntelliJ IDEAが一番Java言語を知っていて、NetBeansはJavaのエコシステムを知っていて、EclipseはJavaビジネスを知っている・・・ VS Codeはまとめサイトで見たレベルでJavaを知ってる感— きしだൠ(K8S(Kishidades)) (@kis) 2020年10月30日 ちなみに、全体としてNetBeans推しです。 使い分けとしてはこんなこと書いてます。 Java IDEの選び方 機能いらんけど使いやすくて安定したのがいい→IntelliJ IDEA CE 機能多いのがいいけ
Visual Studio Codeの代替を狙う統合開発環境「Eclipse Theia 1.0」リリース。VS Codeの拡張機能を利用可能、デスクトップ版とWebブラウザ版に両対応 Eclipse Foundationは、オープンソースで開発されている統合開発環境「Eclipse Theia 1.0」のリリースを発表しました。 Eclipse Theiaは、「真のオープンソースによるVisual Studio Codeの代替」(a true open source alternative to Microsoft’s popular Visual Studio Code (VS Code) software)だとEclipse Foundationは紹介しており、デスクトップアプリケーションだけでなくWebブラウザからも同一機能が利用できるWebアプリケーション版も提供されています。
コンテキスト 私もGoとRustの比較記事書いてバズるやつやりたい — みょん (@myuon_myon) February 27, 2020 仕事でGoとRustを書いています。いずれもWebのサーバーサイドです。パフォーマンスとかほとほどって感じなので極限までチューニングしたりしません。という前提で読んでください。 Rust/Goはいずれも習得してから2年くらい書いています。書いてる量も多分そんなに変わりません。 Go なんと言っても習得難度が低いので人を選ばず書けるようになります。現状だと仕事で書くなら一番無難な選択肢だなと思っています。一方言語もエコシステムも何もかもかなりクセが強いので、Go Wayにちゃんと従うことが大事だなと思ったりします。 ジェネリクスがないことは高速なコンパイルなど利点もありますがmap,filter等を型ごとにfor文書きまくることになるのでとても手が疲
マイクロソフトは2月24日、オンラインイベント「Visual Studio for Mac: Refresh();」を開催し、Mac版のVisual Studioである「Visual Studio for Mac」のロードマップなどを解説しました。 「Visual Studio for Mac」はもともとWindows用のVisual Studioの移植ではなく、MacでiOSやAndroidなどのアプリケーションを開発するツール「Xamarin Studio」をベースにした製品です。 そのためIntelliSenseを備えたコードエディタやGit対応、ビルドツールにMSBuildを搭載するなど、Visual Studioの基本的な機能を踏襲してはいましたが、Windows版Visual Studioの機能とは開きがありました。 しかし現在ではVisual Studioと同等のコードエディ
エンジニアHub > 記事一覧 > IntelliJ IDEAをもっと便利で使いやすく! つまずきがちな設定や、便利な機能を細かに解説します。 IntelliJ IDEAをもっと便利で使いやすく! つまずきがちな設定や、便利な機能を細かに解説します。 Javaの統合開発環境であるIntelliJ IDEAの人気が高まっています。興味はある方や使い始めたばかりの方に向けて、つまずきがちなポイントや、地味だけど便利な機能などを、IntelliJ IDEA関連の著作も多い今井勝信さんが紹介します。 IntelliJ IDEA(インテリジェイ・アイデア)は、JetBrainsが開発・販売しているJavaの統合開発環境(IDE)です。最初に登場したのは2001年と古く、しばらくマイナーIDEとしてひっそり存在していましたが、ここ数年で知名度も上がってきました。 近年の人気も相まって、IntelliJ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く