ホームページ >バックエンド開発 >PHPチュートリアル >2015 年に仕事で遭遇した問題: 21-30 (これら 10 の質問は非常に貴重です)
21. mysqlデータベースのデータ型は数値型と倍精度型で異なります。
numberic は、最大精度 65 桁の固定小数点数のみを表現できます
一方、double は、許可される値が -1.7976931348623157E+308 から -2.2250738585072014E-308、0、および 2.22507385850 であることを記述できます。 72014E-3 08 ~ 1.7976931348623157E+ 308
小数点以下の桁数はさらに長くなりますが、表現できる値の範囲は double よりもはるかに小さくなります。
これらが違いです。
精度だけでなく、値の範囲も考慮してください。
もう一方は固定小数点、もう一方は浮動小数点であり、計算時間効率も異なります。
ネチズンの回答を参照してください。
22. コード内でコードブロックを使用する必要がありますか。
メソッド a(){
可読性が低下しました。
Boos がいくつかの場所でコード ブロックを使用していることを確認してください。これにより、コードの可読性が向上します。
混乱しているのは、私はコード ブロックを使用したことがないことです。私は、コードのコア ロジックを簡単に説明するために、さまざまなコード ブロックの先頭にコメント行を追加することを好みます。
23. パスワードのセキュリティの問題。フォーム入力のパスワード暗号化、セキュリティ制御、https、送信プロセス中に対称暗号化が使用されます。
パスワードを検証するためのインターフェイスがプログラム内に追加されているため、「プログラマは実際のパスワードを知りません」。
単純に考えれば、初期段階では対処のしようがありません。
24. Double で資金や金利などを比較するとエラーがよく発生します。
私の個人的な考えは、資金はセントの次の「粒度」まで確保されるというもので、四捨五入するか四捨五入のみの場合、より正確です。
二重減算は0と直接比較するのではなく、絶対値を減算して0.001などの対象誤差と比較します。
25.VIMは行番号を設定します。
/etc/vimrc を変更し、設定「set nu」の行を追加します。
このように、ファイルを開くたびに行番号が表示されるようになります。
しかし、行番号に関しては、行番号を直接コピーすることにしましたが、貼り付けた後も手動で行番号を削除する必要があります。
26. 最近、P2P プラットフォームが多すぎて、政府機関やサードパーティの支払いについて懸念が高まっています。Alipay と Tenpay は、未知の P2P プラットフォームへのサードパーティの支払いサービスの提供を停止しました。
友人は、誰かが P2P システムの開発を手伝っています。彼は、サービスを提供するサードパーティの支払い会社しか見つけることができません。
そうしないと、お客様のために開発したシステムが売れず、お金も受け取れません。 国宝はまだ接続できると聞きましたが、それは悪くないですが、国宝レベルである可能性があり、顧客があまり多くありません。
これが良いことなのか悪いことなのかわかりません。
27.SpringMVC フォームの検証。Spring には spring-modules-validation.jar という検証コンポーネントのセットもあるとオンラインで言われていますが、私はそれを使用したことがありません。
同社のプロジェクトでは、Hibernate の Validator が使用されています。 Hibernate に対する私の個人的な印象は、比較的大きくてかさばるということです。
私は今でも Jodd の vtor 検証コンポーネントを好みます。 http://jodd.org/doc/vtor/index.html
jar パッケージは非常に小さいため、練習が必要です。
28.Mybatis設定ファイル。ChargeLogsummaryDao.xml
面倒なので、一部だけをコピーして修正しました。コンテンツは変更されましたが、名前空間は変更されませんでした。 その結果、プロジェクトが開始されると、常に ChargeLogDao.add が既に存在することを確認するメッセージが表示されます。
長い間探した結果、「ChargeLog」で検索して問題の原因を発見しました。
29. Nginx設定ファイルのテストが正しいかどうか。nginx -t
nginx: 設定ファイル /etc/nginx/nginx.conf の構文は問題ありません
nginx: 設定ファイル /etc/nginx/nginx.conf テストは成功しましたnginx -s reload, reload 構文プロセス中にエラーが発生する可能性があります。最初に確認してください。より信頼性があります~
30. キャッシュには 2 セットの実装があります。キャッシュは、キャッシュインターフェイスを定義します。これは、基礎となるテクノロジーの選択です。
ただし、同じ Redis 実装でもビジネスの側面が異なる場合があることに注意してください。
たとえば、ログインおよびセッション関連のビジネスの要件は、通常のオブジェクト データのバッファリングとは異なります。 ユーザーのログインデータはさらに重要です。
Boss の経験によれば、データ量が多すぎると、キャッシュされた最も古いデータが上書きされる可能性があります。
通常のビジネスデータの場合は、まったく問題ありません。
ただし、セッションデータの場合、これは不可能であり、ログインしているユーザーが突然切断されてしまいます。
上記は、2015 年に仕事で遭遇した問題 21 ~ 30 (この 10 個の質問は非常に貴重です) を内容の側面も含めて紹介したもので、PHP チュートリアルに興味のある友人の役に立てば幸いです。