プログラミング

プロおよび熱狂的プログラマーのためのQ&A


17
バイト単位のファイルサイズを人間が読める文字列に変換する
この関数を使用して、バイト単位のファイルサイズを人間が読めるファイルサイズに変換しています。 function getReadableFileSizeString(fileSizeInBytes) { var i = -1; var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB']; do { fileSizeInBytes = fileSizeInBytes / 1024; i++; } while (fileSizeInBytes > 1024); return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i]; }; ただし、これは100%正確ではないようです。例えば: getReadableFileSizeString(1551859712); // output is "1.4 GB" これはいけません"1.5 …

14
アクティビティ間でデータを共有する最良の方法は何ですか?
アプリ全体で使用されるメインアクティビティである1つのアクティビティがあり、いくつかの変数があります。最初のアクティビティからのデータを使用できるようにしたい他の2つのアクティビティがあります。これで、次のようなことができることがわかりました。 GlobalState gs = (GlobalState) getApplication(); String s = gs.getTestMe(); しかし、私は多くの変数を共有したいので、いくつかはかなり大きいので、上記のようにそれらのコピーを作成したくありません。 getおよびsetメソッドを使用せずに変数を直接取得および変更する方法はありますか?これはAndroidでのパフォーマンスには推奨されないというGoogle開発サイトの記事を読んだことを覚えています。
239 java  android  sharing 

5
Java Streamsが一度オフになるのはなぜですか?
C#とは異なりIEnumerable、実行パイプラインは何度でも実行できますが、Javaではストリームを1回だけ「反復」できます。 端末操作を呼び出すと、ストリームが閉じて使用できなくなります。この「機能」は多くの力を奪います。 これの理由は技術的ではないと思います。この奇妙な制限の背後にある設計上の考慮事項は何でしたか? 編集:私が話していることを示すために、C#でのQuick-Sortの次の実装を検討してください。 IEnumerable<int> QuickSort(IEnumerable<int> ints) { if (!ints.Any()) { return Enumerable.Empty<int>(); } int pivot = ints.First(); IEnumerable<int> lt = ints.Where(i => i < pivot); IEnumerable<int> gt = ints.Where(i => i > pivot); return QuickSort(lt).Concat(new int[] { pivot }).Concat(QuickSort(gt)); } 確かに、これがクイックソートの適切な実装であることを私は主張していません。ただし、これは、ラムダ式とストリーム操作を組み合わせた表現力の優れた例です。 そして、それはJavaではできません!ストリームを使用不可にすることなく、ストリームが空かどうかを確認することもできません。

12
繰り返し処理中にstd :: listから要素を削除できますか?
次のようなコードがあります。 for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); 再びリストをたどらないようにするために、更新後すぐに非アクティブなアイテムを削除したいと思います。しかし、コメント化された行を追加すると、i++「List iterator not incrementable」にアクセスしたときにエラーが発生します。forステートメントで増加しない代替案をいくつか試しましたが、何も動作しませんでした。 std :: listを歩いているときにアイテムを削除する最良の方法は何ですか?
239 c++  list  std 

6
SSHリモートコマンドが手動で実行した場合よりも少ない環境変数を取得するのはなぜですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 7年前休業。 この質問を改善する マシンにsshして実行しても問題なく動作するコマンドがありますが、次のようなリモートsshコマンドを使用して実行しようとすると失敗します。 ssh user@IP <command> 異なる環境で両方の方法を使用して「env」の出力を比較します。手動でマシンにログインしてenvを実行すると、実行時よりもはるかに多くの環境変数が得られます。 ssh user@IP "env" なぜか?


20
SQLITEで列を削除または追加する方法
SQLiteデータベースの列を削除または追加したい 次のクエリを使用して列を削除しています。 ALTER TABLE TABLENAME DROP COLUMN COLUMNNAME しかし、それはエラーを与えます System.Data.SQLite.SQLiteException: SQLite error near "DROP": syntax error
239 sqlite 

30
TransactionTooLargeExceptionで何をするか
を手に入れましたTransactionTooLargeException。再現できません。ドキュメントでそれは言う バインダートランザクションが大きすぎるため、失敗しました。 リモートプロシージャコール中に、呼び出しの引数と戻り値は、バインダートランザクションバッファーに格納されたParcelオブジェクトとして転送されます。引数または戻り値が大きすぎてトランザクションバッファーに収まらない場合、呼び出しは失敗し、TransactionTooLargeExceptionがスローされます。 ... リモートプロシージャコールがTransactionTooLargeExceptionをスローする場合、2つの結果が考えられます。クライアントが要求をサービスに送信できなかったか(おそらく引数が大きすぎてトランザクションバッファーに収まらない場合)、またはサービスがクライアントに応答を送信できなかった(おそらく戻り値がトランザクションバッファーに収まらないほど大きい)。 ... だから、どこかで未知の制限を超える引数を渡したり受け取ったりしています。どこ? スタックトレースは有用なものを何も示していません: java.lang.RuntimeException: Adding window failed at android.view.ViewRootImpl.setView(ViewRootImpl.java:548) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320) at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152) at android.view.Window$LocalWindowManager.addView(Window.java:557) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$600(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: …
239 android  exception 

6
Railsのraw SQLの例
このコードを未加工のSQLに変換してRailsで使用するにはどうすればよいですか?このコードをherokuにデプロイすると、リクエストタイムアウトエラーが発生するため、生のSQLを使用した方が高速になると思います。 @payments = PaymentDetail.joins(:project).order('payment_details.created_at desc') @payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc') @all_payments = (@payments + @payment_errors)
239 sql  ruby-on-rails 

13
.NETの文字列からURLパラメータを取得する
.NETには実際にはURLである文字列があります。特定のパラメーターから値を取得する簡単な方法が必要です。 通常はを使用しますRequest.Params["theThingIWant"]が、この文字列はリクエストからのものではありません。次のUriような新しいアイテムを作成できます。 Uri myUri = new Uri(TheStringUrlIWantMyValueFrom); myUri.Queryクエリ文字列を取得するために使用できます...しかし、どうやらそれを分割するためのいくつかのregexy方法を見つける必要があります。 私は明らかなものを欠いていますか、それとも何かの正規表現を作成する以外にこれを行うための組み込みの方法はありませんか?
239 c#  .net  url  parsing  parameters 

8
Express 4.0でのファイルのアップロード:req.files undefined
私は、Express 4.0で単純なファイルのアップロード機構作業を取得しようとしていますが、私は得続けるundefinedためreq.filesにapp.postボディ。関連するコードは次のとおりです。 var bodyParser = require('body-parser'); var methodOverride = require('method-override'); //... app.use(bodyParser({ uploadDir: path.join(__dirname, 'files'), keepExtensions: true })); app.use(methodOverride()); //... app.post('/fileupload', function (req, res) { console.log(req.files); res.send('ok'); }); ..および付随するPugコード: form(name="uploader", action="/fileupload", method="post", enctype="multipart/form-data") input(type="file", name="file", id="file") input(type="submit", value="Upload") 解決策以下のmscdex による応答のおかげで、代わりにを使用するように切り替えました:busboybodyParser var fs = require('fs'); var busboy = require('connect-busboy'); //... app.use(busboy()); …
239 node.js  express 

22
ライブラリがロードされていません:/usr/local/opt/readline/lib/libreadline.6.2.dylib
Homebrewでposgresqlをインストールし、コマンドを入力すると psql 次のエラーが発生します。 dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib Referenced from: /usr/local/bin/psql Reason: image not found [1] 69711 trace trap psql 誰が何が悪いのかについて何か考えを持っていますか?

3
オペレーティングシステムなしでプログラムを実行する方法
オペレーティングシステムを実行せずに、プログラムを単独でどのように実行しますか?コンピュータを起動時にロードして実行できるアセンブリプログラムを作成できますか?たとえば、フラッシュドライブからコンピュータを起動し、CPU上のプログラムを実行しますか?

20
useNewUrlParserをtrueに設定することにより、「現在のURL文字列パーサーは非推奨です」という警告を回避
MongoDBインスタンスへの接続を確立するデータベースラッパークラスがあります。 async connect(connectionString: string): Promise<void> { this.client = await MongoClient.connect(connectionString) this.db = this.client.db() } これは私に警告を与えました: (ノード:4833)DeprecationWarning:現在のURL文字列パーサーは非推奨であり、将来のバージョンでは削除される予定です。新しいパーサーを使用するには、オプション{useNewUrlParser:true}をMongoClient.connectに渡します。 このconnect()メソッドは、MongoClientOptions2番目の引数としてインスタンスを受け入れます。ただし、というプロパティはありませんuseNewUrlParser。また、これらのプロパティを接続文字列に次のように設定しようとしましたが、mongodb://127.0.0.1/my-db?useNewUrlParser=true警告には影響しません。 ではuseNewUrlParser、これらの警告を削除するように設定するにはどうすればよいですか?スクリプトはcronとして実行する必要があり、これらの警告はゴミメールのスパムにつながるため、これは私にとって重要です。 対応するmongodbバージョンのドライバを使用しています3.1.0-beta4@types/mongodbパッケージのしてい3.0.18ます。どちらも最新のを使用して使用できnpm installます。 回避策 古いバージョンのmongodbドライバーを使用する: "mongodb": "~3.0.8", "@types/mongodb": "~3.0.18"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.