オープンカメラ(Open Camera)は、Android向けのFOSS(Free and Open Source Software)カメラアプリです。

2026/03/03 0:46

オープンカメラ(Open Camera)は、Android向けのFOSS(Free and Open Source Software)カメラアプリです。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Open Camera は、Google Play で入手できる無料のオープンソース Android 用写真アプリです。Camera2 API を介して広範なマニュアルコントロールを提供します。フォーカス、ISO、露出補正/固定、ホワイトバランス、HDR、RAW(DNG)、バーストモード、スローモーション動画、ログプロファイル動画、およびベンダー拡張機能に対応しています。また、自動レベリング、シーンモード、カラーエフェクト、自撮り用「スクリーンフラッシュ」、HD 動画、ノイズ除去/ナイトモード、ダイナミックレンジ最適化、およびグリッド/クロップガイド、オンスクリーンヒストグラム、ゼブラストライプ、フォーカスピーキング、ブレッケーティング(フォーカス・露出・パノラマ)などの各種オンスクリーン支援機能を備えています。

リモート撮影機能には、音声カウントダウン付きタイマー、自動リピート、サウンドトリガー撮影、設定可能なボリュームキー撮影、上下反転プレビュー、GPSジオタグ(コンパス方向付き)、日付/時間・位置座標・カスタムテキストを写真に追加する機能があります。動画字幕 (.SRT) の保存も可能で、デバイスの Exif メタデータは削除できます。

アプリは Android 5.0+(以前のビルドでは Android 4.0.3+ もサポート)上で動作し、完全に無料でアプリ内広告はありません。広告はウェブサイトのみ表示されます。GPL v3 以降でライセンスされ、SourceForge にホストされています。また、AndroidX/Jetpack ライブラリ(Apache 2.0)と Google Material Design アイコン(Apache 2.0)を使用しています。Mark Harman とコミュニティの貢献者によって開発された Open Camera は、プライバシーを尊重しつつ機能豊富な商用カメラアプリに代わる選択肢として示されています。

本文

指示へジャンプ


Open Camera

Android™ フォンとタブレット向けのオープンソースカメラアプリです。

主な機能

  • 自動レベル調整 – 画面の向きに関係なく、写真が常に水平に撮れます。
  • カメラを完全に制御:シーンモード、カラーエフェクト、ホワイトバランス、ISO、露出補正/ロック、セルフィー用「スクリーンフラッシュ」、HDビデオなど。
  • リモートコントロール – タイマー(音声カウントダウン可)、自動再生モード(遅延設定可能)。
  • 音を出すだけで遠隔撮影が可能です。
  • ボリュームキーと UI の設定変更ができます。
  • 付属レンズ用に上下逆さまのプレビュー表示。
  • グリッド&クロップガイドオーバーレイ。
  • GPSジオタグ(方位角付き)と日時スタンプをオプションで付与。
  • 位置座標、カスタムテキストを適用するか、ビデオ字幕 (.SRT) として保存。
  • デバイスの EXIF メタデータを写真から除去。
  • パノラマ(フロントカメラも含む)。
  • HDR(自動アラインメント&ゴースト除去)、露出ブレッキング。
  • Camera2 API – 手動コントロール(フォーカス補助オプション)、バーストモード、RAW (DNG) ファイル、ベンダー拡張機能、スローモーションビデオ、ログプロファイル映像。
  • 低照度/ナイトモードでのノイズ除去とダイナミックレンジ最適化。
  • スクリーン上にヒストグラム、ゼブラストリップ、フォーカスピーキングを表示。
  • フォーカスブレッキングモード。
  • 完全無料;アプリ内にはサードパーティ広告はありません(ウェブサイトのみで表示)。

一部機能はデバイスのハードウェア、カメラ対応、または Android バージョンに依存します。


必要条件

  • Android 5.0 以上(Android 4.0.3 以上はバージョン ≤ 1.53.1 でサポート)。
  • 一部機能はデバイスによって利用できない場合があります。使用前にテストしてください。

操作方法

(空欄 – Credits とその他のセクションをご覧ください。)


クレジット

Open Camera は Mark Harman 氏が主導し、追加の貢献者も含む(公式クレジットページ参照)。


プライバシーポリシー

詳細は プライバシーポリシー をご覧ください。


ライセンス & サービス利用規約

  • Open Camera は GPL v3 以降 の下で公開されています。
  • ソースコードは Open Camera の SourceForge ページにて入手可能です。
  • AndroidX/Jetpack ライブラリ(Apache 2.0)を使用しています。
  • アイコンは Google Material Design(Apache 2.0)と、以下のようなさまざまなサードパーティソースから取得されています。

アイコン・アセットのライセンス

アセット元のソースライセンス
baseline_add_a_photo_white_48.png
,
baseline_bedtime_white_48.png
, …
Google Material DesignアイコンApache 2.0
exposure_locked.png
,
focus_mode_locked.png
,
white_balance_locked.png
(変更済み)
IconFinder: antivirus_close_forbid_hide_lockCC BY 3.0
exposure_unlocked.png
,
white_balance_unlocked.png
(変更済み)
IconFinder: free_freedom_hack_lock_openCC BY 3.0
flash_off.png
,
flash_auto.png
,
flash_on.png
IconFinder: flash_iconCC BY‑SA 3.0
flash_red_eye.png
,
popup_flash_red_eye.png
Designmodo / Andrian ValeanuCC BY 3.0
flash_torch.png
,
popup_torch.png
IconFinderCC BY 3.0
focus_mode_macro.png
YankoaCC BY 3.0
gallery.png
Alessandro ReiGPL v3
settings.png
,
share.png
Designmodo / Andrian Valeanu, WPZOOMCC BY 3.0 / CC BY‑SA 3.0
switch_camera.png
,
switch_video.png
Valera Zvonko, FatCow Web HostingCC BY 3.0
take_video*
,
take_photo*
,
trash.png
Yankoa, Designmodo / Andrian ValeanuCC BY 3.0

変更済みアイコンはアプリ内および本ウェブサイトで使用されています。


歴史

  • Open Camera プライバシーポリシー – ポリシーページ参照。
  • ウェブサイトは SourceForge 上にホストされています。

備考: Android、Google Play、および Google Play ロゴは Google LLC の商標です。

同じ日のほかのニュース

一覧に戻る →

2026/03/07 6:52

「このCSSは、私が人間であることを証明します。」

## Japanese Translation: (以下に翻訳文を記載します) **著者は、選択的な大文字化、CSS を用いた対象的なケース変換(`text-transform: lowercase`)、慎重に使われる em ダッシュなどの微妙なタイポグラフィック・選択が、ファイルを `tr` でパイプするような鈍い自動化手法よりも優れていると主張しています。大文字化は「最初の傷」として描かれますが、実際には予想ほど痛みを伴わず、必要に応じて単語が大文字で流れ出します。著者は粗末な `cat post.md | tr A‑Z a‑z | sponge post.md` の手法を却下し、よりクリーンな効果を持つ CSS を推奨しています。 em ダッシュは貴重とされますが、作家の真実の自分を露呈させないように隠したままである必要があります。モノスペースフォントはテキストの美学を損なうため拒否されています。小さなスクリプト(`uv run rewrite_font.py`)は文字形態を微調整するための取るべき手段として強調され、意図的に単語を誤字すること(例: “their/there”、 “its/it’s”)がスタイルの一部であると述べられていますが、“Definately?” のような問題のあるペアは避けるとしています。 作家はノーリグ・コーパスを参照し、単語選択を導くとともに、ターゲットとなる単語から「u」を迅速に除去することで手法の精密さを示しています。全体的なトーンは、書くことが外見だけでなく思考・推論・関与を反映するものであると強調しています。 以前の拒否(“No. Not today.”)はスタイリスティックオーバーホールへの抵抗を示しています。次に計画されている変更は、作家自身の自我感覚を変える唯一の真に重要なステップとして描かれています。 技術的読者――特に文書スタイリング、フォント操作、編集ワークフローに関わる人々――に対して、このメッセージは自動変換から離れ、意図的なタイポグラフィック決定へ移行することを奨励し、デザイン標準や編集実務の再構築につながり得ると述べています。

2026/03/07 7:55

**C# の文字列が Dapper で SQL Server インデックスを静かに破壊する理由** Dapper を使って SQL Server データベースへクエリを投げる際、文字列結合や文字列補間(string interpolation)でクエリを作成することはよくあります。 しかし、この一見無害な手法がインデックスの性能を黙って破壊してしまうケースがあります。 --- ## なぜ起きるのか 1. **暗黙の型変換** `string` と `int`・`bool` など非文字列型を結合すると、SQL Server は列値を `nvarchar` に変換せざるを得ません。 2. **インデックス回避** この暗黙変換により最適化器は既存の数値や日付インデックスを利用できず、フルテーブルスキャンが発生します。 --- ## 問題を引き起こす典型的なパターン | パターン | 何をしているか | インデックスへの影響 | |---------|-----------------|----------------------| | `WHERE Id = " + id`(文字列結合) | `Id` 列を `nvarchar` に変換 | フルスキャン | | `$"SELECT * FROM Users WHERE IsActive = {isActive}"`(補間) | ブール値も同様に `nvarchar` へ変換 | フルスキャン | | `WHERE CreatedDate >= @date.ToString()` | 日付を文字列へ変換 | インデックスが失われる | --- ## 修正方法 1. **インライン値ではなくパラメータを使用する** ```csharp var sql = "SELECT * FROM Users WHERE Id = @Id"; connection.Query<User>(sql, new { Id = id }); ``` 2. **型の一貫性を保つ** 列が期待する正確な型(`int`、`DateTime` など)で渡す。 3. **C# で暗黙変換を避ける** 必要なら明示的にキャストまたは変換し、安全かつ意図した変換のみ行う。 --- ## 簡易チェックリスト - [ ] Dapper に渡す値は文字列化せず、型付きである。 - [ ] 変数データと SQL フラグメントのインライン結合を行わない。 - [ ] すべてのクエリに `@ParameterName` プレースホルダーを使用する。 これらのガイドラインに従えば、インデックスの整合性を保ちつつクエリを高速かつ効率的に維持できます。

## Japanese Translation: **概要:** .NET/Dapper アプリケーションでは、C# の文字列を `nvarchar(4000)` として渡すと、SQL Server が `varchar` 列に対して暗黙の型変換(implicit conversions)を実行します。これにより、インデックス検索がスキャンに置き換わり、論理読み取り数が単桁から数万に膨らみ、CPU/I/O の使用率が急増します(例:`CONVERT_IMPLICIT(nvarchar(255), [Sales].[ProductCode], 0)`)。 正確性には影響しませんが、実行計画や Query Store の警告で明らかになります。特に `SQL_Latin1_General_CP1_CI_AS` などの照合順序では顕著です。 **修正:** パラメータを ANSI として明示的に宣言し、列サイズと一致させます。 ```csharp var p = new DynamicParameters(); p.Add("productCode", productCode, DbType.AnsiString, size: 100); await conn.QueryFirstOrDefaultAsync<Product>(sql, p); ``` または匿名オブジェクトを使用する場合: ```csharp new { productCode = new DbString { Value = productCode, IsAnsi = true, Length = 100 } } ``` スキーマ変更、インデックス更新、クエリ書き換えは不要です。パフォーマンスの改善は即座に実感できます。 **監査ヒント:** Query Store で `@nvarchar(4000)` を検索し、varchar 列へ文字列を渡す匿名オブジェクトをコード内でスキャンしてください。 **ベストプラクティス:** 将来のリグレッション防止のために、`DbType.AnsiString`(または `IsAnsi = true`)を使用した理由をコメントしておくことが推奨されます。 この簡単な調整でサーバー負荷を低減し、コスト削減とスケールアップが実現します。結果として開発者・ユーザー・広範な .NET/SQL Server コミュニティ全体に恩恵をもたらします。

2026/03/07 6:19

**IPリースの陰影ある世界**

## Japanese Translation: IPリースは、誰もがクリーンで匿名のIPv4アドレスを取得し、ジオロケーションデータを操作できる隠密レンタル市場を生み出しており、IPベースの評判システムの信頼性を損なっています。ブロックを保有し、標準的な地域インターネットレジストリ(RIR)手順外でサブリースすることで、これらのサービスはWHOISトレーサビリティとRIRアカウンタビリティチェーンを迂回します。リース会社は料金を払ってブラックリスト化された範囲を「クリーン」し、ドロップダウンまたはCSVアップロードで任意の住宅または商業ジオロケーションを割り当て、WHOIS国フィールドまで操作することができ、MaxMind、Cloudflare、Googleなどに偽情報を供給します。 主要なVPNおよびプロキシプロバイダー(例:NordVPN、ExpressVPN、CyberGhost、PIA)は、LogicWeb、IPXO、INIZ、IPFoxi、Heficed、AnyIP/IPv4Deals などのリース会社からIPを調達しています。これらのプラットフォームは多くの場合、同じサイトで生IPスペースと完全なプロキシサブスクリプションの両方を販売し、エンドツーエンドの匿名化パイプラインを構築します。一部のプロバイダーは住宅ISPと直接提携してトラフィックを実際の加入者ネットワーク経由でルーティングし、合法的なオペレーターとプロキシとの境界を曖昧にしています。 業界は法的グレイズゾーンで運営されており—IPリースやジオロケーション操作を明示的に禁じる法律がないため—実効性の低い執行とインセンティブの不整合が生じています。リースが拡大するにつれて、インターネットセキュリティの基盤であるIP評判リスト、WHOIS帰属、およびジオロケーションデータベースはさらに侵食され、大規模な位置・所有権・評判の偽装が可能になります。これはユーザー(ボット検出やレート制限での誤検知)とIPベースのセキュリティ決定に依存する企業を脅かし、最終的にはインターネット全体の説明責任と安全性を弱めます。