プログラミング

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


8
contentEditable <div>にカーソル位置を設定します
contentEditable = 'on' &lt;div&gt;にフォーカスが戻ったときに、カーソル/キャレットの位置を最後の既知の位置に設定するための、決定的なクロスブラウザーソリューションが必要です。コンテンツ編集可能なdivのデフォルトの機能は、クリックするたびにdiv内のテキストの先頭にキャレット/カーソルを移動することですが、これは望ましくありません。 divのフォーカスを離れるときに現在のカーソル位置を変数に格納し、フォーカスが再び入ったときにこれを再設定する必要があると思いますが、まとめたり、機能するものを見つけることができませんでした。コードサンプルはまだ。 誰かが何か考え、作業中のコードスニペットまたはサンプルを持っている場合は、それらを見ていただければ幸いです。 実際にはまだコードはありませんが、ここに私が持っているものがあります: &lt;script type="text/javascript"&gt; // jQuery $(document).ready(function() { $('#area').focus(function() { .. } // focus I would imagine I need. } &lt;/script&gt; &lt;div id="area" contentEditable="true"&gt;&lt;/div&gt; PS。このリソースを試しましたが、&lt;div&gt;では機能しないようです。おそらくtextareaの場合のみ(カーソルをcontenteditableエンティティの最後に移動する方法)

8
HTML要素なしでng-repeatを使用する方法
ng-repeat(AngularJSで)を使用して、配列内のすべての要素をリストする必要があります。 複雑なのは、配列の各要素がテーブルの1行、2行、または3行に変換されることです。 場合、私は、有効なHTMLを作成することはできませんng-repeat要素で使用されて繰り返し要素のないタイプが間で許可されていないとして、&lt;tbody&gt;そして&lt;tr&gt;。 たとえば、でng-repeatを使用すると&lt;span&gt;、次のようになります。 &lt;table&gt; &lt;tbody&gt; &lt;span&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;/span&gt; &lt;span&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;/span&gt; &lt;span&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;/span&gt; &lt;/tbody&gt; &lt;/table&gt; これは無効なhtmlです。 しかし、私が生成する必要があるのは: &lt;table&gt; &lt;tbody&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;tr&gt;...&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; 最初の行は最初の配列要素によって生成され、次の3行は2番目の配列要素によって生成され、5番目と6番目の行は最後の配列要素によって生成されています。 ng-repeatがバインドされているhtml要素がレンダリング中に「消える」ようにng-repeatを使用するにはどうすればよいですか? それとも別の解決策がありますか? 明確化:生成された構造は以下のようになります。各配列要素は、テーブルの1〜3行を生成できます。答えは、理想的には配列要素ごとに0-n行をサポートする必要があります。 &lt;table&gt; &lt;tbody&gt; &lt;!-- array element 0 --&gt; &lt;tr&gt; &lt;td&gt;One row item&lt;/td&gt; &lt;/tr&gt; &lt;!-- array …
142 angularjs 


6
ナビゲーションコントローラースタック、サブビュー、モーダルコントローラーを使用せずにビューコントローラーの変化をアニメーション化しますか?
NavigationControllerには、管理するViewControllerスタックがあり、アニメーションの遷移が制限されています。 既存のビューコントローラーにビューコントローラーをサブビューとして追加するには、イベントをサブビューコントローラーに渡す必要があります。これは、管理が面倒であり、煩わしさがほとんどなく、実装時に一般に悪いハックのように感じられます(Appleはまた、これを行う)。 モーダルビューコントローラーを再び表示すると、ビューコントローラーが別のビューコントローラーの上に配置され、上記のイベントパッシングの問題はありませんが、ビューコントローラーを実際に「スワップ」するのではなく、スタックします。 ストーリーボードはiOS 5に限定されており、ほぼ理想的ですが、すべてのプロジェクトで使用できるわけではありません。 誰かが上記の制限なしにView Controllerを変更する方法についてソリッドコード例を提示し、それらの間のアニメーション化された遷移を可能にすることができますか? 近い例ですが、アニメーションはありません: ナビゲーションコントローラーなしで複数のiOSカスタムビューコントローラーを使用する方法 編集:ナビゲーションコントローラーの使用は問題ありませんが、アニメーション化されたトランジションスタイル(単なるスライドエフェクトではない)が必要です。表示されているビューコントローラーは完全に(スタックではなく)交換する必要があります。2番目のビューコントローラーがスタックから別のビューコントローラーを削除する必要がある場合、十分にカプセル化されていません。 編集2:iOS 4がこの質問のベースOSである必要があります。ストーリーボード(上記)について言及するときは、それを明確にすべきでした。

5
マルチスレッドに代わるNode JSの把握
私が正しく理解していれば、Node JSは非ブロッキングです...データベースまたは他のプロセスからの応答を待つ代わりに、何か他のノードに移動し、後でチェックします。 また、シングルスレッドです。 つまり、これはすべて、特定のNode JSプロセスが単一のCPUコアを完全かつ効率的に利用できることを意味しますが、マシン上の他のコアを使用しないため、一度に複数のコアを使用することはありません。 もちろん、これは、他のCPUがSQLデータベースや他の意図的に分離されたCPU負荷の高いサブルーチンなどの他のプロセスによって、それらが別個のプロセスである限り、引き続き使用できることを意味します。 また、Node JSプロセスにエンドレスループまたは長時間実行機能がある場合、エンドレスループまたは長時間実行機能が停止する(またはプロセス全体が終了する)まで、そのプロセスはまったく役に立たなくなります。 大丈夫ですか?私の理解は正しいですか?

4
自動レイアウトですべてのサブビューに合うようにスーパービューのサイズを変更する方法は?
autolayoutについての私の理解は、それがスーパービューのサイズと制約に基づくサイズとサブビューの位置を計算する固有のサイズを取ることです。 このプロセスを逆にする方法はありますか?制約と固有のサイズに基づいてスーパービューのサイズを変更したい。これを達成する最も簡単な方法は何ですか? Xcodeで設計されたビューがあり、これをのヘッダーとして使用していUITableViewます。このビューには、ラベルとボタンが含まれています。ラベルのサイズはデータによって異なります。制約に応じて、ラベルはボタンを正常に押し下げます。または、ボタンとスーパービューの下部の間に制約がある場合、ラベルは圧縮されます。 同様の質問をいくつか見つけましたが、良い簡単な答えはありません。

4
実行されていない過剰なDockerコンテナーについて心配する必要がありますか?
すべてのdocker runコマンド、またはすべてRUN Dockerfile内のコマンドがコンテナーを作成します。コンテナがもう実行されていない場合でも、で確認できdocker ps -aます。 実行されていないコンテナの膨大なリストを心配する必要がありますか?発行する必要がありますdocker rm実行されていないコンテナするますか? これらの実行されていないコンテナがどのようなパフォーマンスまたはメモリ/ストレージのペナルティを被るかはわかりません。
142 docker 

4
drawRectを描画するかどうか(drawRect / Core Graphics vs subviews / imagesを使用する必要があるのはなぜですか?)
この質問の目的を明確にするために:サブビューとdrawRectの両方を使用して複雑なビューを作成する方法を知っています。私はいつ、なぜ、どちらを使用するのかを完全に理解しようとしています。 また、事前に最適化することはあまり意味がなく、プロファイリングを実行する前に、より困難な方法を実行することも理解しています。私は両方の方法に慣れていると考えて、今は本当にもっと深く理解したいと思っています。 私の混乱の多くは、テーブルビューのスクロールパフォーマンスを本当にスムーズかつ高速にする方法を学ぶことから生じます。もちろん、このメソッドの元のソースは、iPhoneのTwitter(以前のTweetie)の作成者によるものです。基本的に、表のスクロールをスムーズにするための秘訣は、サブビューを使用せず、すべての描画を1つのカスタムuiviewで行うことです。基本的に、多くのサブビューを使用するとオーバーヘッドが大きくなるため、レンダリングが遅くなり、親ビューを介して常に再合成されるようです。 公平を期すために、これは3GSがかなり新しいブランドスパンキンであったときに書かれ、それ以来iDevicesはより速くなりました。それでも、この方法はインターウェブや他の場所で定期的 に高パフォーマンスのテーブルとして推奨されています。実際、これはAppleのTable Sample Codeで推奨される方法であり、いくつかのWWDCビデオ(Practical Drawing for iOS Developers)、および多くのiOS プログラミングブックで推奨されています。 グラフィックをデザインし、それらのコアグラフィックスコードを生成するための素晴らしいツールもあります。 だから、最初は「Core Graphicsが存在する理由はある。それが速い!」と信じるようになった。 しかし、「可能な限りお気に入りのコアグラフィックス」というアイデアが浮かんだと思うとすぐに、drawRectがアプリの応答性の低下の原因であることが多く、メモリの消費が非常に高く、CPUに大きな負担がかかることがわかります。基本的に、「drawRectのオーバーライドを回避する」必要があります(WWDC 2012 iOSアプリのパフォーマンス:グラフィックとアニメーション)) だから、すべてのように、それは複雑だと思います。多分あなたは私と他の人がdrawRectを使用するときと理由を理解するのを助けることができますか? Core Graphicsを使用する明らかな状況がいくつかあります。 動的データがある(Appleの株価チャートの例) シンプルなサイズ変更可能な画像では実行できない柔軟なUI要素がある あなたは動的グラフィックを作成しており、一度レンダリングされると複数の場所で使用されます Core Graphicsを回避する状況が見られます。 ビューのプロパティは個別にアニメーション化する必要があります ビューの階層が比較的小さいので、CGを使用して知覚される余分な労力は利益に値しません すべてを再描画せずにビューの一部を更新したい サブビューのレイアウトは、親ビューのサイズが変更されたときに更新する必要があります だからあなたの知識を授けなさい。drawRect / Core Graphicsにはどのような状況で到達しますか(これはサブビューでも実行できます)?その決定にあなたを導く要因は何ですか?どのように/なぜバターのようなスムーズなテーブルセルスクロールに推奨される1つのカスタムビューで描画するのに、Appleは一般にパフォーマンス上の理由からdrawRectを推奨していませんか?シンプルな背景画像はどうですか(サイズ変更可能なpng画像を使用する場合と、CGを使用して作成する場合)。 価値のあるアプリを作成するためにこのテーマを深く理解する必要はないかもしれませんが、理由を説明できない限り、テクニックを選択するのは好きではありません。私の脳は私に腹を立てます。 質問の更新 情報ありがとうございます。ここにいくつかの明確化する質問: コアグラフィックスで何かを描画しているが、UIImageViewsと事前レンダリングされたpngで同じことを達成できる場合は、常にそのルートをたどりますか? 同様の質問:特にこのようなbadassツールではでは、コアグラフィックスにインターフェイス要素を描画することを検討する必要があるのはいつですか?(おそらく、要素の表示が可変である場合。たとえば、20の異なるカラーバリエーションがあるボタン。他のケースはありますか?) 以下の私の回答を理解しているとしたら、複雑なUIViewのレンダリング自体の後にセルのスナップショットビットマップを効果的にキャプチャし、複雑なビューをスクロールして非表示にしているときにそれを表示することで、テーブルセルと同じパフォーマンス向上が得られるでしょうか?明らかに、いくつかの作品は解決する必要があります。ただ面白いと思った。

7
Objective-CのJSONパーサーの比較(JSONフレームワーク、YAJL、TouchJSONなど)
私の知る限り、Objective-C用の3つのJSONパーサー、JSONフレームワーク、YAJL、およびタッチJSONがあります。そして、これら3つは独自の特徴を持っています。 例: YAJLはSAXスタイルのパーサーとして使用できます。 JSONフレームワークには比較的長い歴史があり、広く使用されています。 Touch JSONはNSStringではなくNSDataを解析します。 さらに、私がテストした限りでは、パフォーマンス比較の結果は次のとおりです: [高速] YAJL&gt; JSONフレームワーク&gt;タッチJSON [低速]。 これらのJSONパーサーの長所と短所を知っているなら、教えていただけますか? 最後に、他のJSONパーサーを知っている場合は教えてください。
142 iphone  objective-c  json 

10
MySQLの「between」節は含まれていませんか?
between句を使用してクエリを実行すると、終了値が除外されているようです。 例えば: select * from person where dob between '2011-01-01' and '2011-01-31' これによりdob、「2011-01-01」から「2011-01-30」までのすべての結果が取得されます。dob「2011-01-31」のレコードをスキップします。このクエリがこのように動作する理由、およびdob「2011-01-31」がどこにあるレコードを含めるように変更することができるかを誰かが説明できますか?(ユーザーが選択したため、終了日に1を追加しません。)
142 sql  mysql  between 

5
<script>タグはいつ表示する必要があり、なぜ表示できるのですか?
表示されるようにscriptスタイル設定された要素display:block。なぜそれが可能であり、それが望まれる実際のユースケースがあるのですか? td &gt; * { display: block; } &lt;table&gt; &lt;tr&gt; &lt;td&gt; &lt;script type="text/javascript"&gt; var test = 1; &lt;/script&gt;von 1 &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; コードスニペットを実行する結果を非表示スニペットを展開
142 html  css  script-tag 

13
C ++をコンパイルするために、WindowsをLinuxと同じ速さで実行するにはどうすればよいですか?
これはプログラミングの問題ではないことを知っていますが、関連があります。 私はかなり大きなクロスプラットフォームプロジェクトに取り組んでいます。WindowsではVC ++ 2008を使用します。Linuxではgccを使用します。プロジェクトには約40kのファイルがあります。Windowsは、同じプロジェクトをコンパイルおよびリンクする際に、Linuxよりも10倍から40倍遅いです。どうすれば修正できますか? Linuxでは20秒、Windowsでは3分を超える単一の変更増分ビルド。どうして?Linuxに「ゴールド」リンカーをインストールして、その時間を7秒まで短縮することもできます。 同様に、gitはWindowsよりもLinuxで10〜40倍高速です。 gitの場合、gitがWindowsを最適な方法で使用していない可能性がありますが、VC ++ですか?Microsoftは自社の開発者をできる限り生産的にしたいと考え、より高速なコンパイルはそのための長い道のりになると思います。たぶん彼らは開発者にC#を勧めようとしているのでしょうか? 簡単なテストとして、多数のサブフォルダーを含むフォルダーを見つけて、簡単なテストを行います dir /s &gt; c:\list.txt Windowsの場合。キャッシュから実行するように、2回実行して2回目の実行の時間を計ります。ファイルをLinuxにコピーし、同等の2回の実行を行い、2回目の実行の時間を計ります。 ls -R &gt; /tmp/list.txt まったく同じ仕様のワークステーションが2台あります。12gigのRAM、8コア、3.0GHzのHP Z600。〜400kファイルを含むフォルダーでは、Windowsは40秒かかり、Linuxは1秒未満かかります。 Windowsを高速化するために設定できるレジストリ設定はありますか?何ができますか? コンパイル時間に関連するいくつかのわずかに関連するリンク。必ずしもI / Oとは限りません。 どうやらWindows 10(Windows 7ではない)には、プロセスを閉じるとグローバルロックが保持されるという問題があるようです。複数のコア、したがって複数のプロセスでコンパイルすると、この問題が発生します。 この/analyseオプションはWebブラウザーをロードするため、パフォーマンスに悪影響を与える可能性があります。(ここでは関係ありませんが、知っておくと便利です)

10
ViewPagerの一部としてListFragmentのデータを更新する
Androidでv4互換のViewPagerを使用しています。私のFragmentActivityには、ViewPagerのさまざまなページにさまざまな方法で表示される一連のデータがあります。これまでのところ、同じListFragmentのインスタンスは3つしかありませんが、将来的には、異なるListFragmentのインスタンスが3つになる予定です。ViewPagerは垂直の電話画面上にあり、リストは並んでいません。 これで、ListFragmentのボタンが(FragmentActivityを介して)個別のフルページアクティビティを開始し、FragmentActivityがデータを変更して保存し、ViewPagerのすべてのビューを更新しようとします。私が行き詰まっているのはここです。 public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(mAdapter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... updateFragments(); ... } public void updateFragments() { //Attempt 1: //mAdapter.notifyDataSetChanged(); …

7
Objective-C:複数の引数を持つセレクターの呼び出し
MyClass.mで、私は定義しました - (void) myTest: (NSString *) withAString{ NSLog(@"hi, %@", withAString); } MyClass.hの適切な宣言。後で電話したい [self performSelector:@selector(mytest:withAString:) withObject: mystring]; MyClass.mでエラーが発生しますが、 *キャッチされない例外 'NSInvalidArgumentException'によりアプリを終了しています。理由: '* -[MyClass myTest:withAtring:]:認識されないセレクターがインスタンス0xe421f0に送信されました' 文字列をコンソールに出力する引数をとらず、うまく機能するセレクターを使用して、より簡単なケースを試しました。コードの何が問題になっていて、どうすれば修正できますか?ありがとう。

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