Android アプリエンジニアがよく見るであろうサイトや、Android アプリ開発を勉強するときにどこから手をつければいいのか学習のチュートリアルを紹介しようと思います。 公式ドキュメント Android の公式ドキュメント 日本語のページは情報が古く更新されていない時がよくあるため、公式ドキュメントのページを見るときは ?hl=en をつけて極力英語のページを見るようにしましょう Kotlin の公式ドキュメント Material Design の公式ドキュメント 開発環境 Android Studio プレビュー版はこっち 情報収集 Android Code Search Jetpack や Android のコードを検索できるサイト 今後リリース予定のライブラリの実装やライブラリのコードを検索するときに使うことがある Jetpack に関しては GitHub にミラーが存在するの
パーサー変更に関する注意点や、変更を行った背景、今後についてはQiita Blogにまとめていますのでご確認お願いします。 新しいMarkdownパーサーについて これまでのQiitaでは、Redcarpetを拡張したGreenmatを用いてMarkdownのパースを行っていました。 今回のリリースでは、CommonMarkerを拡張したQiita Markerへ変更いたします。 これにより今までと記法が変わっている箇所があります。今まではGitHub Flavored Markdown (以下GFM)に準拠していない記法もありましたが、今回の変更で準拠されるようになりました。 新しい記法に関する注意点 パーサーの変更によって細かな違いはありますが、基本的なパース結果は今までと変わりありません。 しかし、過去執筆した記事を編集しようとしたときに、想定外の箇所で見た目の崩れが起きてしまう可能
はじめに 今年(2022年)1月から、久々に個人でスマホアプリ配信の副業を再開してみました。 脱税(違法)は絶対ダメですが節税(合法)は限界までしたい と思っているタイプなので、以前副業でやっていた時に税関連のこと(所得税法)をそこそこ調べておいたつもりですが、かなり久々なので現行ルールの確認がてら、主にスマホアプリで副業した際の確定申告の要点をまとめてみます。 ストーリー(ポエム?)として文章を書きたかったので、グダグダと長文を書いてますが、要点は最後の「まとめ」で簡潔に書いてあります。 エンジニアとして働いている私たちには少し縁遠い「経理」に関する話題ですが、 趣味でスマホアプリを出しつつ、ついでにマネタイズしているエンジニアは多いハズ サラリーマンはどうしても確定申告と縁遠い スマホアプリで確定申告が必要な水準まで収益を上げる事は困難である(個人の場合99%以上の人は確定申告不要で、
概要 本記事ではVSCodeにvscode-markdown-pdfを入れて設定をいじってWordをアンインストールするところまでを紹介します。 そして快適なMarkdownライフを謳歌しましょう! 対象者 Markdownがわかる VSCode導入済み 設定いじっても戻せるくらい理解してる なにが良いの? Wordといえば会議の議事録やレポート、メモの制作の際に使うことの多いツールだと思います。 重要なところは太くしたり、英語はitalicにしたりして各々見やすい資料を作っていることと思います。 ですが!! 太くするのにわざわざボタンを押す 斜体にするのにわざわざボタンを押す これって煩わしくないですか?? Markdownなら 太くするには**文字** 斜体にするには*文字* これだけで出来てしまいます。マウスいらないです。 さらに!!これだけでなく、Markdownはファイル自体も軽
はじめに モダンフロント開発に必須の知識であるES2015〜以降の記法と、実務でよく使用される高階関数について、自分の中で改めて復習、整理しておきたいと思います。 それぞれの項目に★~★★★の重要度も記述しています。 ★★★ => 必ず覚えておくべき ★★ => 覚えておくべきだが、使う場面が限られる ★ => 知識としては知っておいた方が良い 現在フロントエンドエンジニアの方やフロントエンジニアになりたての方、フロントエンドエンジニアを目指して勉強中の方に読んでいただけたら幸いです。 ES(ECMAScript)とは? JavaScriptの標準仕様。 現在ブラウザで使われているJavaScriptは、ECMAScriptの仕様に則って開発されています。 JavaScriptは他の言語のようにversionなどが存在せず、「ECMAScriptのversion~~に対応しているJavaS
<link href="https://fonts.googleapis.com">って書くと罰金取られます。 以下はGerman Court Rules Websites Embedding Google Fonts Violates GDPRというニュースの紹介です。 German Court Rules Websites Embedding Google Fonts Violates GDPR ドイツのミュンヘン地方裁判所は、あるWebサイトの運営者が、ユーザの個人情報を本人の同意なしにフォントライブラリを経由してGoogleに提供したとして、100ユーロの賠償を命じました。 Webサイトが原告のIPアドレスをGoogleに無断で提供したことは、ユーザのプライバシー権の侵害に当たると判断しました。 さらに、Webサイトの運営者は収集した情報をその他のデータと突き合わせることで『IPア
情報収集をどうするか、という話をしたのでメモ。 ここではトレンドを追うための日々の情報収集の話です。プロジェクトの準備のためとかトピックが決まってる場合はまたちょっと違うかも。 まず情報収集であまり話題にのらないけど一番大事なのは、情報収集の優先度です。 情報収集は無限に深堀して無限に時間をかけることができるので、どこまで情報収集が大切なのかというのを考える必要があります。 まず情報収集自体がどれだけ大切かということで、ぼくの場合は、情報収集して発信することがある程度の役割としてあるので毎日それなりに時間をかけているけど、普通にエンジニアをやる場合はそこまで時間をかけるものでもないと思います。 で、収集する情報にも当然に優先度があります。これは雑に3段階くらいに分けると次のような感じになります。 一般教養 専門分野 自分の強みになる分野 それぞれ情報の収集のしかたは変わるのだけど、そのまえ
blog.magnolia.tech 関数型プログラミングのデータ構造 ……続き foldLeft, foldRight, foldについて この先読み進めていくと延々とfoldRightと、foldRightと、foldが出てきます。’畳み込む’という操作を抜き出し、一つのパターンとして定義しているのは関数型のパラダイムで見られるやり方です。ただ、コードだけを見て頭の中で挙動を想像しながら追いかけるだけでは理解しづらいので、下記のブログエントリを参考にすると理解が捗るでしょう。 dev.classmethod.jp dev.classmethod.jp www.m3tech.blog map, flatMapについて mapメソッドは分かりやすいですよね、すべての要素に対して指定された関数を適用して変換していく……適用する前も後もデータ構造や要素の数は変わらない……要素数が10個のリスト
動的型付けプログラミング言語や、class を持つようなプログラミング言語を使う場合、そのフィールドメンバの定義順などを意識する事は少ないかもしれません。 Go は struct という、C言語が持っている構造体と同じ様にメモリ配置され、構造体そのものをレシーバとして、メソッドを定義しつつプログラミングを行います。struct はデータ構造そのものを示し、それが大きくなるにつれ、当然ながらメモリ使用量も多くなります。 さて、例えば以下のコードを実行すると、struct 100 個分のサイズは幾らになるでしょうか。 package main import ( "fmt" "unsafe" ) type Account struct { TimeZone struct { Name string `json:"name"` UtcOffset int `json:"utc_
ここで注意が必要なのは「型引数をとる全てのクラス(全ての総称型) ≠ 文脈付きの値」ということです。型引数をとり、文脈付きの値とはいえないクラスも存在します。 たとえば SeqFactory[A] は、 Seq のサブクラス A を生成するファクトリであり、 文脈付きの値ではありません。もっと身近な例を上げると、わたし達が普段よく目にしている(であろう) Provider[A] や Publisher[A] というインターフェイスも、それぞれ「Aを提供するもの」「Aを発行するもの」という意味であり、Aという値を修飾しているわけではないので文脈付きの値とは呼びません。 文脈付きの値を返す関数 親友検索を考える さて、文脈付きの値がどのようなものかわかってきたところで、実際に文脈付きの値を生成する関数を作ってみましょう。 …などと大げさに言ってみましたが、そんなもの、今までだってたくさん作って
blog.magnolia.tech 関数型プログラミングのデータ構造 ……続き foldLeft, foldRight, foldについて この先読み進めていくと延々とfoldRightと、foldRightと、foldが出てきます。’畳み込む’という操作を抜き出し、一つのパターンとして定義しているのは関数型のパラダイムで見られるやり方です。ただ、コードだけを見て頭の中で挙動を想像しながら追いかけるだけでは理解しづらいので、下記のブログエントリを参考にすると理解が捗るでしょう。 dev.classmethod.jp dev.classmethod.jp www.m3tech.blog map, flatMapについて mapメソッドは分かりやすいですよね、すべての要素に対して指定された関数を適用して変換していく……適用する前も後もデータ構造や要素の数は変わらない……要素数が10個のリスト
Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス オライリージャパンAmazon なかなかのボリュームが有って、年末に買ったものの、ちょっとずつ拾い読みしながら進めています。 実は「1章 ソフトウェアエンジニアリングとは何か」という章が一番大事で、後の章は「問題を正しく認識して、正しいやり方で取り組むこと、取り組める組織を作り上げること」がテーマ別に書かれているので、興味に応じて読めばいいかなと思いますが、この1章だけは全員読んだ方がいいと思います。 冒頭の3行だけ引用します。 我々の見るところ、プログラミングとソフトウェアエンジニアリングの決定的な違いは3ある。時間、スケール、そして作用しているトレードオフだ。ソフトウェアエンジニアリングのプロジェクトにおいてエンジニアは、時間の経過と、結果的に出てくる変更の必然性に、より配慮しなければな
みなさまは子供の人数どうやって決められましたか。 いま1人育てていて、個人的には、体力・時間的に限界だったり、たびたびノイローゼ気味になったりしていたので、これをもう1回やると言われると、どうしよう…となっている。 子供が1人なら、なんか大変な時期があったとしても、なんとか乗り切った!となるけど、これらが数年後に再度控えています、となると、どういうマインドで構えたらいいのか分からなくなる。 物理的な制約で子供を持てない人もいるので、2人育てる経験ができる可能性があるなら、やっておいたらよい、という考え方もあると思う。いまは並行していろいろやるのが苦手だけど、そのあたりコツがわかったら得意になれるかもしれない。 大変なのは数年だけだからやってみたら、と考えることもできるけど、育休中のことを思い出すと、子供が泣き止んでくれるまで家の周りを散歩に連れ出したりしながら、なんで今は子育てするだけの生
ちょっと体調崩し気味だったので軽いネタに逃げる感じでわかりやすい C# 11 候補を1つ。 トップ レベル ステートメント(が作る Main メソッド)に属性を付けたいという話があります。 もう、割かし以下の利用例1個で説明終わりな感じ。 [main: STAThread] using System.Windows; Clipboard.SetData(DataFormats.Text, Environment.OSVersion.ToString()); 今、これと同じことをしようと思ったら、これだけのために class Program { static void Main() { } } が必要です。 とはいえ、Main メソッドに付けたい属性って STAThread 以外に何かありますかね? という意味でニッチな需要ではあるんですけど、まあ、実装コストも低そうなので割かしやる気みたい
借金している間は大切にするけど、支払いが終わって自分のものになると急に扱いが雑になる、という現象がある気がする。 4月に中古車を買って、育休に入るタイミングなのでローンで毎月3万円くらいの支払いにしていた 車のローンを払っている最中に車をぶつけて廃車になったら、残り数年間は乗れない車に対してローンを払うことになる これはつらそうなので、車両保険をつけていた 育休終わったら現金が余ってたので一括で払い終えた そうすると、もう支払い終わってるんだから、ぶつけて廃車になっても、まあいいかと思えてきている 車両保険がなくても、通勤で使うわけでもないので、その分で浮いた車両保険代を積み立てておいて、次の車を買う費用にしたらいいんじゃないかと思ってきている 支払いを終えたものをいつまで使うかは自分で決めたらいいけど、借金して借りてるものは、支払いが終わるまでは使い続けないといけない、という期間的な制約
GitHub Advisory DatabaseのRSSフィードがなかったの作りました JSON FeedとAtomフィードを出力しています。 基本的にはJSON Feedをメインにしてますが、SlackがJSON FeedをサポートしてなかったのでAtomを追加しました。 RSS Feeds for GitHub Advisory Database GitHub Advisory Databaseは、脆弱性のデータベースでRubyとかGoとかnpmとかRustとか言語ごとの脆弱性が集まっています。また、GitHub自体がセキュリティアドバイザリーの仕組みを持っているので、外部の脆弱性データベースにないものとかもあります。 About GitHub Security Advisories - GitHub Docs JavaScriptだとnpm auditとかはこのデータベースを参照した
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 提案: gemに署名するメカニズム(Ruby Weeklyより) 元記事: rfcs/0000-introduce-a-new-signi
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は少し趣向を変えて、7.0.2に入った改修のうち直近かつ取り上げていなかったものを中心に見繕っ
JSer.info #579 - Parcel 2.3.0がリリースされました。 Release v2.3.0 · parcel-bundler/parcel ParcelでParcel自体のいくつかの依存関係を事前にbundleするように変更。 Node Core ModulesのpolyfillやBabel/PostCSSの依存関係をオンデマンドでインストールするように変更などの変更が含まれています。 Reduce the number of npm dependencies needed by parcel by devongovett · Pull Request #7576 · parcel-bundler/parcel Vite 2.8.0がリリースされています。 vite/CHANGELOG.md at main · vitejs/vite macOS Montereyで50
Perl Hackers Hub 第71回ISUCONの実装から最近のPerlを学ぶ ―わかりやすく変更しやすいコードを実現する考え方と方法(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは小林謙太さんで、テーマは「ISUCONの実装から最近のPerlを学ぶ」です。本稿のサンプルコードは、本誌サポートサイトから入手できます わかりやすく変更しやすいPerlコードを学ぶ 最初に、ISUCONについて紹介します。公式サイトによると、「ISUCONとは、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル」とあります。2021年のISUCONは11回目の開催だったので、ISUCON11と呼びます。ISUCONのお題であるWebサービスは、参加者が得意なプログラミング言語を使って参加できるように複数の言語による実装
オープンソースのライブストリーミングとスクリーン録画ソフトウェア「OBS Studio」開発チームは2月14日、最新版となる「OBS Studio 27.2.0」を公開した。 OBS Studioは動画コンテンツのキャプチャ、エンコード、録画、ストリーミングができるオープンソースのソフトウェア。OBSはOpen Broadcaster Softwareの頭文字をとったもので、高性能、多様な機能、プラグインによるカスタマイズなどの特徴を備える。ソフトウェアはLinux、macOS、Windowsに対応し、GPL v2の下で公開されている。The OBS ProjectはYou Tube(Google)、Facebook(米Meta)、米Twitch、米Logitechの4社がプレミアスポンサーとして出資している。 OBS Studio 27.2.0は、2021年6月に公開されたバージョン27
Google(米Alphabet)のセキュリティチームProject Zeroは2月10日、過去2年間のゼロディ脆弱性に関するデータを公開した。Linuxは脆弱性の報告から修正までの期間が短く、平均して25日という。 Project ZeroはGoogleが2014年に立ち上げたセキュリティチームで、ゼロデイ脆弱性を研究する研究者で構成される。インターネットの安全性とセキュリティの改善を目指し、モバイルOS、Webブラウザ、オープンソースライブラリなどの脆弱性を研究している。 今回、Project Zeroチームは2019年1月〜2021年12月間に報告されたバグを対象に動向をまとめた。データは自分達のProject Zero Bug Tracker、それにさまざまなオープンソースプロジェクトリポジトリで公開されているものを参照とした。なお、サンプル数が少ないことから、統計的にみて数字の違
GNU Binutils(GNU Binary Utilities)開発チームは2月9日、バイナリツールコレクションの最新安定版となる「GNU Binutils 2.38」を公開した。 GNU BinutilsはGNUリンカーのld、GNUアセンブラのasなど、バイナリツールを集めたコレクション。 GNU Binutils 2.38は2021年7月に公開したバージョン2.37に続く最新版。 アセンブラでは、マルチバイト文字を制御するオプションが加わった。インプットソースファイルやシンボル名に含まれているときに警告を出すことができる。また、アセンブラとリンカーでLoongArchアーキテクチャのサポートが加わった。 AArch64及びARMでは、システムレジスタのサポートを拡大したほか、Scalable Matrix Extensionにも対応した。v9.1-A/v9.2-A/v9.3-A、
アプリ/UIツールキット「Flutter」開発チームは2月4日、最新版となる「Flutter 2.10」を公開した。Windows対応が安定扱いとなるなどの強化が加わっている。 FlutterはGoogle(米Alphabet傘下)が開発し、オープンソースとして公開するUI、アプリ開発ツールキット。単一のコードからAndroid、iOS、Web、デスクトップなどに向けてネイティブにコンパイルされたアプリを開発、実装できる。 Flutter 2.10は2021年3月に公開された2系の最新版。 最大の特徴として、Windowsサポートが安定扱いとなった。これまでデスクトップはLinuxとmacOSをサポートしていたが、Windowsが加わることになる。安定扱いになることでフラグを立てる必要がなくなり、デフォルトで機能を利用できるようになった。テキスト処理、キーボードショートカットなどの操作性も
2022年、AWSを図解で学ぼう~最短1日で基礎が身に付く 第5回AWSでWeb構築をする1日~Webホスティングでチョチョチョイのチョイ。S3やLightsailで手軽にWebサイト構築 前回、前々回に引き続き、個別のサービスについて触れていきます。 AWSで、Amazon EC2に次ぐ有名なサービスといえば、Amazon S3 (Amazon Simple Storage Service)でしょう。S3(エススリー)は、ストレージサービス(ハードディスクのようなもの)ですが、それだけではない便利なWebホスティング機能もあります。 今回は、S3の解説をしながら、AWSでのWebサイト構築についてお話していきます。 Amazon S3とは Amazon S3は、インテリジェントなオブジェクトストレージサービスです。オブジェクトストレージとは、データをオブジェクト単位で管理する形式を指し
MySQLを運用していると、さまざまなファイルやテーブルが予想していたよりも大きくなり、ストレージ容量を逼迫する問題が起こることがあります。また、クエリの結果セットが大きいためにネットワーク帯域が逼迫され、問題になることもあると思います。これらの問題はスケールアップ、データベースシャーディング、または圧縮機能などを使って解決できます。 今回はその中から、MySQLが提供しているさまざまな圧縮機能についてまとめて紹介します。MySQLではデータ、テーブル、バイナリログやデータ転送に圧縮機能を提供しています。 関数によるデータ圧縮 はじめに、関数によるデータを圧縮する方法を紹介します。 データ圧縮を行うのはCOMPRESS関数です。指定した文字列をzlibで圧縮して、その結果をバイナリ文字列として返します。展開するにはUNCOMPRESS関数を使用します。 文字コードの変換など発生を防ぐために
週刊Webテク通信 2022年2月第3週号1位は、2022年のグラフィックデザインのトレンド10選、気になるネタは、Meta(旧Facebook)の「Messenger」に割り勘機能(まずは米国で) ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2022年2月7日~13日の間に見つけた記事のベスト5です。 1. Top 10 graphic design trends to inspire your work in 2022 | Dribbble Design Bloghttps://dribbble.com/stories/2022/02/10/graphic-design-trends-2022 2022年のグラフィックデザインのトレンドを10個まとめた記事です。 2Dと3Dの組み合わ
Android Weekly Topics 2022年2月第3週真打登場!日本でも発売してほしい「Galaxy Tab S8シリーズ」が発表 2月10日、SamsungはGalaxy Unpacked 2022イベントで、Galaxy Tab S8シリーズを発表しました。このイベントでは、Galaxy S22シリーズも発表されました。これには、Galaxy Noteシリーズを現役引退に導いた「Galaxy S22 Ultra」が含まれています。これも気になりますが、本連載ではGalaxy Tab S8シリーズの方を取り上げます。 Samsung Galaxy Tab S8 & S8+ & S8 Ultra | Samsung US 2年ぶりのフラッグシップ Galaxy Tab Sシリーズは、Samsungが脈々と開発を続けるAndroidタブレットです。 前作のGalaxy Tab S7
RustやElectron、denoに浮気しつつmrubyを使ってMacでクロスコンパイルしwindows用のexeを作るのに苦労した話RubyRustmrubyElectronDeno きっかけ SVGファイルをparseして中のxmlやCSSから色情報などを取り出す、これのローカル版を作りたいということでやりたいことは SVGをパースしてdom上の特定の要素を抽出 dom上だけではなくinlineのCSSや内のCSSから特定の要素を抜いてくる 汎用性を考えてjsonで結果を表示できるようにする たったこれだけ。 なのでxmlパーサー(XPathなら嬉しい)と正規表現は必須、cssパーサーは元々の状態で使ってなかったのであれば良しとする(jsonはいかようにでもなる)。 因みにチャレンジしたフレームワークや言語は Rust Crystal Language Electron deno r
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く