Showing posts with label tips and tricks. Show all posts
Showing posts with label tips and tricks. Show all posts

Tuesday, September 5, 2023

Efficient Variable Swapping: Swap Two Variables Without a Temporary

Variable Swap: How to swap two variables without a temporary variable

The following is a method of directly changing the values of variables 'a' and 'b' without using a temporary variable. This example is written in JAVA, but as most languages support bitwise operations, using this method can reduce unnecessary variable declarations and potentially improve performance.

/*How to swap 'a' and 'b' without a temporary variable.
※^ operator (exclusive - returns true only when different)*/
int a = 1; // 0000 0001
int b = 2; // 0000 0010 
a = a ^ b; // 0000 0001 ^ 0000 0010 =  	//Result : a=2, b=1;

However, for readability, it might be better to just use a temporary variable.

効率的な変数の交換:一時変数を使わずに二つの変数を交換する方法

変数のスワップ:一時変数を使わずに二つの変数の値を交換する方法

以下は、一時変数を使わずに'a'と'b'を直接交換する方法です。この例はJAVAで書かれていますが、ほとんどの言語がビット演算をサポートしているため、この方法を使用すると不要な変数宣言を減らし、パフォーマンス向上が期待できます。

/*一時変数を使わずに'a'と'b'を直接交換する方法。
※^演算子(排他的 - 異なる場合のみtrueを返す)*/
int a = 1; // 0000 0001
int b = 2; // 0000 0010 
a = a ^ b; //結果:a=2、b=1;

しかし、可読性を考えると、一時変数を使う方が良い選択かもしれません。

Friday, August 18, 2023

Solving Unique Issues with Apostrophes and Single Quotes in Web Development

Unique Issue and Resolution During Web Development

While working on web development, we encountered an unusual issue where the same code would not work correctly on different computers. The code in question was merely three lines long, making it easily analyzable. However, it worked properly on one computer but not on the other.

In an attempt to identify the problem, we discovered that one of the attribute values in the code was enclosed by an apostrophe (‘) instead of a single quote ('). (e.g., 'aa'‘aa') We presumed that this occurred automatically when the file was transferred between computers. All other attributes in the code were correctly enclosed with single quotes.

What was odd is that changing the apostrophe to a single quote resulted in an error, even though the opposite should cause an error in most cases. This confusing problem made finding a solution rather difficult.

Upon searching the internet, we found that some sources treated apostrophes and single quotes as the same character. Similarly, ASCII code considered them equal. However, Unicode treats them as distinct characters(Unicode Apostrophe).

Suddenly, it occurred to us that the character set might vary depending on the document editor used. Fortunately, once we matched both computers' character sets to UTF-8, the issue was resolved. However, the reason why only one particular attribute operated with an apostrophe remains an unsolved mystery.

ウェブ開発:アポストロフィとシングルクォートの注意点と解決策

ウェブ開発中に発生した特異な問題と解決策

ウェブ開発を行っている際に、同じコードであるにもかかわらず、異なるコンピュータで正しく動作しないという珍しい問題に遭遇しました。問題となっていたコードはわずか3行で、簡単に解析できるものでした。しかし、あるコンピュータでは正しく動作し、別のコンピュータでは動作しませんでした。

問題を特定するために試みたところ、コードの属性値の1つがシングルクォート(')ではなく、アポストロフィ(‘)で囲まれていることがわかりました。(例: 'aa'‘aa') コンピュータ間でファイルを転送する過程で自動的に置換されたと推定されます。他のすべての属性は正しくシングルクォートで囲まれていました。

奇妙な点は、アポストロフィをシングルクォートに変更するとエラーが発生したことです。しかし、通常はその逆のケースでエラーが発生すべきです。この混乱する問題のため、解決策を見つけるのは困難でした。

インターネットで検索してみると、一部の資料ではアポストロフィとシングルクォートを同じ文字として扱っていました。ASCIIコードでもこのように扱われていました。しかし、Unicodeでは、これらの文字を区別して扱います(Unicodeアポストロフィ)。

突然、ドキュメントエディタによってキャラクタセットが異なる可能性が浮かんできました。幸いにも、両方のコンピュータのキャラクタセットをUTF-8に合わせることで、この問題は解決しました。しかしながら、なぜ特定の属性だけがアポストロフィで動作したのか、未だ解決されていない謎のままです。

Friday, August 11, 2023

ツールバーの下の影を消去する(elevation="0dp"が機能しない場合)

Googleで検索すると、xml appBarLayoutにelevation="0dp"を追加するという答えがほとんど見つかります。しかし!(私を含め)いくつかの人々が、それが機能しないという話も聞くことができますが、解決方法は


android:elevation="0dp"の部分を


app:elevation="0dp"に変更するだけで簡単に解決されます。

Thursday, August 10, 2023

Fixing Apropos Terminal Window Issue with Cmd+Shift+A in Android Studio on Mac

While using Android Studio, I was able to quickly and easily access commands with the Cmd+Shift+A shortcut. However, suddenly one day and for no apparent reason, after doing a search once, an odd terminal window named "apropos" kept popping up from the second search onwards, making it impossible to use the shortcut properly.
apropos

The word "avd" after "apropos" was the last searched term. I would have used the mouse click to access this frequently used command, but this wasn't an option...

I tried searching Google for help but, as expected, no useful information was found.
The strange terminal window would only appear when using the "Find Action" shortcut in Android Studio. I thought about reinstalling Android Studio, but resetting the settings seemed too cumbersome, so I tried various ways to reset the issue.
I tried cleaning, invalidating caches, and restarting, but none of those methods worked.

While casually clicking through the menu with the mouse, I found that selecting "Help > Find Action.." from the menu worked just fine!
After that, typing in the command also worked correctly. It seems that using the mouse to execute the command once was the solution, although I'm uncertain if the issue was with Android Studio itself or a Mac-specific error. I hope this quick fix can help others who may be facing the same problem.

In conclusion, the solution is to click on "Help > Find Action.." once to fix the problem.
(just one click at 'Help > Find Action..')


Update: To resolve the issue fundamentally on a Mac, go to System Preferences > Keyboard > Shortcuts > Services, and disable the option corresponding to Cmd+Shift+A.

Mac環境のAndroid StudioでCmd+Shift+A(アクション検索)を使用する際にApropos Terminalウィンドウが表示される問題の解決策。

Android Studioを使用している間、Cmd+Shift+Aのショートカットでコマンドに素早く簡単にアクセスできました。しかし、突然ある日、理由もわからず、一度検索を行った後、2回目以降の検索から「apropos」という名前の奇妙なターミナルウィンドウが表示され続け、ショートカットを適切に使用できなくなりました。
apropos

「apropos」の後の「avd」は最後に検索した単語でした。私はマウスクリックでこの頻繁に使用するコマンドにアクセスしていましたが、これは選択肢ではありませんでした...

助けを求めるためにGoogleで検索してみましたが、予想通り、有用な情報は見つかりませんでした。
この奇妙なターミナルウィンドウは、Android Studioの「Find Action」ショートカットを使用するときにのみ表示されました。私はAndroid Studioを再インストールすることを検討しましたが、設定をリセットするのは面倒だと思ったので、問題をリセットするさまざまな方法を試しました。
クリーニングを試みたり、キャッシュを無効にして再起動したりしましたが、どの方法もうまくいきませんでした。

マウスでメニューをたどっていると、「Help > Find Action..」をメニューから選択すると正常に動作することがわかりました。
その後、コマンドを入力しても正常に動作しました。マウスで一度コマンドを実行することが解決策であるようですが、問題はAndroid Studio自体にあるのか、Mac特有のエラーにあるのかは不明です。この簡単な修正が同じ問題に直面している他の人々の助けになることを願っています。

結論として、問題を解決するためには、「Help > Find Action..」を一度クリックすることです。
('Help > Find Action..'を一度クリックするだけ)


追記:Macで問題を根本的に解決するには、システム環境設定 > キーボード > ショートカット > サービスに移動し、Cmd+Shift+Aに対応するオプションを無効にします。

Monday, July 17, 2023

MacBook ディスプレイの掃除方法を徹底解説!

第一章:MacBookディスプレイの掃除の基本的な指針

1.1 安全なクリーニング製品の選択

MacBookのディスプレイを掃除する際、ソフトなクロスと水を使用してください。化学的な洗浄剤を使うと、ディスプレイが損傷する可能性があります。

1.2 電源と接続機器の取り外し

ディスプレイの掃除を始める前に、電源を切り、充電器や周辺機器を取り外してください。これにより、安全に掃除を行うことができます。

1.3 適切なクリーニングツールの使用

マイクロファイバーのクロス、水、そしてアルコールフリーの洗浄液を使用すれば、ディスプレイを傷つけずに掃除を行うことができます。

ディスプレイを傷つけないためには、適切なクリーニングツールの使用が重要です。次のセクションでは、クリーニングプロセスのステップバイステップのガイドを紹介します。

第二章:MacBookディスプレイの掃除手順

2.1 掃除の準備

掃除ツールとして、マイクロファイバーのクロス、水、そしてアルコールフリーの洗浄液を用意します。クロスを湿らせるために十分な水と洗浄液があることを確認してください。

2.2 ディスプレイ表面の掃除

  1. マイクロファイバーのクロスに少量の水を含ませ、軽く湿らせます(滴るほどではない程度に)。
  2. 円を描くように優しくディスプレイを拭き、目立つ汚れや指紋を取り除きます。
  3. クロスに適量の洗浄液をつけて、ディスプレイの掃除を続け、全体的に均一に掃除を行います。

2.3 ディスプレイの乾燥

掃除が終わったら、マイクロファイバーのクロスでディスプレイから残った水分を拭き取ります。新しいクロスを使用するか、クロスの乾いた部分を使ってディスプレイを完全に乾燥させてください。

MacBookのディスプレイを汚れや指紋から効果的に保護するために、少量の水と洗浄液だけで掃除が可能です。次の章では、掃除プロセス中に注意すべき一般的なミスと注意点を紹介します。

第三章:MacBookディスプレイの掃除時の注意点

3.1 掃除中のダメージを防ぐ

MacBookのディスプレイを掃除する際、以下の行為を避けることでディスプレイの損傷を防ぐことができます。

  • ディスプレイに強い圧力を加えたり、強くこすりすぎたりしないでください。
  • 高湿度の環境では掃除を避けてください。
  • 水でびしょぬれにしたクロスではなく、最小限の水分を含んだクロスを使用してください。
  • 適切なツールがない場合、手の届かない埃を掃除しようとしないでください。

3.2 避けるべきツール

以下のような不適切な掃除ツールの使用は避けてください。

  • ディスプレイを傷つける可能性のあるプラスチック製やその他の研磨材料のクロス。
  • ディスプレイに直接洗浄液を吹きかけること。
  • アルコールを含む洗浄剤の使用。これによりディスプレイが損傷する可能性があります。
掃除材料の選択、掃除方法、掃除のタイミングなどに注意を払うことで、ディスプレイを損傷させずに清潔さを保つことができます。次の第四章では、定期的なディスプレイメンテナンス方法をご紹介します。

第四章:MacBookディスプレイの定期的なメンテナンス

4.1 ディスプレイケアの日常的な習慣

ディスプレイを長期間にわたり清潔に保つためには、以下のような日常的な習慣が役立ちます。

  • 鋭いものでディスプレイを傷つけないように注意してください。
  • 食べ物や飲み物、その他の液体をディスプレイから遠ざけて保管してください。
  • 手を清潔に保ち、それからディスプレイに触れるようにしてください。

4.2 定期的なディスプレイ掃除スケジュール

ディスプレイの定期的な掃除が必要です。次の掃除スケジュールを参考にしてみてください。

  • 1~3ヶ月ごとにディスプレイの掃除を行ってください。
  • ディスプレイに大量のホコリが溜まった場合は、すぐに掃除してください。
  • 手の届かないホコリには、専用のツールを使って対応してください。

4.3 ディスプレイメンテナンスの習慣

適切で一貫したディスプレイメンテナンスは重要です。以下の習慣を続けることで、より良い結果が得られます。

  • 洗浄液を使用する前に、それがMacBookディスプレイに対して推奨されているかを確認してください。
  • 掃除ツールや掃除プロセスに関するルールを遵守し、定期的にメンテナンスを行ってください。
  • アルコールベースの洗浄液を使用せず、常に優しくディスプレイを掃除してください。
MacBookディスプレイの定期的なメンテナンス方法に従うことで、ディスプレイが長期間、清潔で良好な状態を保つことができます。次の章では、ディスプレイの問題が発生したときの対処方法についてご紹介します。

第五章:ディスプレイの問題への対処法

5.1 小さなゴミの除去

ディスプレイに小さなゴミが残っている場合は、マイクロファイバーのクロスと水を使って優しく掃除してください。ディスプレイを傷つけないように、強くこすりすぎないように注意してください。

5.2 水分の除去

ディスプレイに水分がある場合は、乾いたマイクロファイバーのクロスで速やかに拭き取ってください。水分が多すぎる場合は、専門家に相談してください。

5.3 機能的な問題への対処

ディスプレイに機能的な問題が見つかった場合は、専門家の助けが必要になることがあります。問題を解決するためにサービスセンターにご連絡ください。

5.4 損傷したディスプレイの対処法

ディスプレイが損傷している場合は、以下の対策を行ってください。

  • 最寄りのAppleサービスセンターにご連絡し、修理の問い合わせを行ってください。
  • 信頼できる専門の修理サービスに、損傷したディスプレイの修理を依頼してください。
ディスプレイの問題に対する対処法を理解しておけば、どんな状況でも適切な対応が可能です。この知識を持っていれば、MacBookのディスプレイを長期間、清潔で最適な状態に保つことができます。

How to Clean Your MacBook Display Like a Pro

Essential Guidelines for Cleaning Your MacBook Display

Choosing the Right Cleaning Materials

For effective and safe MacBook display cleaning, opt for a soft cloth and water. Avoid using chemical-based products as they can cause damage to the screen.

Switch Off Power and Unplug Devices

Ensure the power is turned off and all peripherals, including the charger, are disconnected before beginning the cleaning process. This ensures safety during cleaning.

Selecting Appropriate Cleaning Tools

Use a microfiber cloth, water, and an alcohol-free cleaning solution to clean your display without causing any damage.

Choosing the right cleaning tools is crucial to prevent damage to your display. In the next section, we'll guide you through the cleaning process.

Step-by-Step Guide to Cleaning Your MacBook Display

Preparation for Cleaning

Gather your cleaning tools: a microfiber cloth, water, and an alcohol-free cleaning solution. Ensure that you have enough water and cleaner to dampen the cloth.

How to Clean the Display Surface

  1. First, wet the microfiber cloth slightly with water. It should be damp, but not soaking wet.
  2. Next, gently wipe the screen in a circular motion to remove visible dirt or smudges.
  3. Then, apply the cleaning solution to the cloth and continue wiping the screen for a thorough and even clean.

Drying the Screen

Following the cleaning, use the microfiber cloth to wipe off any remaining moisture. You can use a dry section of the cloth or switch to another cloth to dry the display completely.

With just a small amount of water and cleaning solution, you can effectively and safely clean your MacBook display. In the next chapter, we discuss some common mistakes and precautions during the cleaning process.

Precautions to Take When Cleaning Your MacBook Display

Avoiding Damage During Cleaning

Prevent potential damage to your MacBook display by avoiding the following actions during cleaning:

  • Avoid applying excessive pressure or scrubbing the screen too hard.
  • Do not clean in a high-humidity environment.
  • Use a cloth that is just damp, not soaked in water.
  • Do not attempt to clean hard-to-reach dust without the appropriate tools.

Cleaning Tools to Avoid

Avoid using improper cleaning tools, such as:

  • Cloths made of vinyl or other abrasive materials that can damage the display.
  • Never spray cleaning solution directly onto the screen.
  • Avoid cleaning products containing alcohol, which can harm the screen.

By considering the choice of materials, cleaning technique, and timing, you can clean your MacBook display without causing damage. Next, we'll discuss how to maintain your display regularly in Chapter 4.

Periodic Maintenance Tips for Your MacBook Display

Developing Daily Display Care Habits

Long-term display cleanliness can be maintained by cultivating daily habits such as:

  • Avoid scratching the screen with sharp objects.
  • Keep food, drinks, and other liquids away from the display.
  • Only touch the screen with clean hands.

Creating a Regular Display Cleaning Schedule

Regular cleaning of your display is necessary. Here's a cleaning schedule you might consider:

  • Clean your display every 1-3 months.
  • If the display gathers a significant amount of dust, clean it sooner.
  • Manage hard-to-reach dust using specialized tools.

Establishing Display Maintenance Habits

Consistent display maintenance is crucial. The following habits can lead to better results:

  • Always check if the cleaning solution is recommended for your MacBook display before use.
  • Follow the guidelines for cleaning tools and processes, and carry out regular maintenance.
  • Avoid alcohol-based cleaning solutions and always clean your display gently.

Regular maintenance of your MacBook display ensures that your screen stays clean and in good condition for a longer period. In the next chapter, we'll discuss how to handle display issues when they arise.

Handling Display Issues on Your MacBook

How to Remove Small Debris

If there's small debris on the display, gently clean the area using a microfiber cloth and water. Be mindful not to scrub too hard to prevent damage.

How to Remove Moisture

If moisture is present on the display, quickly wipe it off using a dry microfiber cloth. If the amount of moisture is excessive, it's recommended to seek professional help.

Addressing Display Functional Issues

If you're experiencing functional issues with your display, it may be necessary to seek professional assistance. Contact a service center to address the problem.

What to Do with a Damaged Display

If your display is damaged, consider the following measures:

  • Contact your nearest Apple service center to inquire about repair options.
  • Alternatively, seek help from a trusted professional repair service to fix the damaged display.

Knowing how to handle display issues prepares you to respond effectively in any situation. With these guidelines, you can maintain your MacBook's display in optimal condition for an extended period.

Thursday, July 13, 2023

JavaでLocalDateTime.now()のミリ秒を削除する方法

LocalDateTime.now()を使用する際、ミリ秒を削除する方法(remove milliseconds)

LocalDateTime.now()を使用して、日付と時間をyyyy-MM-dd HH:mm:ssの形式で処理すると、同じ時間であっても1秒のずれが生じることがあります。

調査の結果、0.xxxx秒のミリ秒が四捨五入されていることがわかりました。多くの人々はDateTimeFormatterを使用してフォーマットを調整することを推奨していますが、StringではなくLocalDateTimeオブジェクトが必要な場合は、面倒な作業になることがあります(例:変換して再変換)。

しかし、以下のようなコードを使用すれば、作成時からミリ秒を削除する簡単な方法があります。

LocalDateTime.now().withNano(0)

上記のように.withNano(0)オプションを使用すると、ミリ秒がない時間が生成されます。

さらなる詳細については、以下のリンクをご参照ください。

How to remove milliseconds from LocalDateTime.now()

How to Exclude Milliseconds from LocalDateTime.now()

When processing dates and times with LocalDateTime.now() in the yyyy-MM-dd HH:mm:ss pattern, you might experience a slight discrepancy of one second, even if the times seem identical.

This discrepancy happens due to the rounding of 0.xxxx second milliseconds. Some people suggest using DateTimeFormatter to modify the format. However, this could be an inconvenient process for those who need LocalDateTime objects, not Strings, as it involves converting and reconverting.

Fortunately, there's a straightforward way to omit milliseconds right from the start, as demonstrated in the code snippet below:

LocalDateTime.now().withNano(0)

By applying the .withNano(0) function as shown above, you can generate a time without milliseconds.

For more insights on handling LocalDateTime objects, you can visit the official Java documentation here:

Remember, understanding the intricacies of date and time handling in Java can help you develop more robust and reliable applications. So, keep exploring!

Wednesday, August 22, 2018

Wednesday, May 23, 2018

안드로이드 EditText에서 긴 힌트가 짤리는 문제 해결 방법

안드로이드 EditText에서 긴 힌트가 짤리는 문제 해결 방법

안드로이드에서 EditText를 사용할 때, 힌트가 길어지면 종종 짤리는 경우가 있습니다. 이런 문제를 해결하는 방법을 알아보겠습니다.

문제 상황

힌트가 긴 EditText의 예시입니다. 아래 이미지와 같이 힌트가 짤리는 현상을 볼 수 있습니다.

힌트가 짤린 EditText 화면

원인 파악 및 해결방법

원인을 알아보니 inputType="text" 속성 때문에 발생하는 문제였습니다. 이 속성을 제거하거나 inputType="textMultiLine"으로 변경해주면 원하는 형태로 개행됩니다.

문제 해결 후 상황

'inputType' 속성을 수정한 후의 결과입니다. 아래 이미지처럼 힌트가 온전히 보여집니다.

수정 후의 EditText 화면

Tuesday, March 27, 2018

안드로이드 스튜디오 3.1 (android studio 3.1) 업데이트 후 에러(error), 앱 실행 안될 때

인스턴스 런(instant run) enable체크 해제 해보고
그래도 안되면
그래들 스크립트에
android :{
  lintOption{
    abortOnError false
  }
//..
}
를 추가해준다!
폰이라 사진 첨부는 못함.
추가)
3.1.1 버전에서 대부분 해결 된듯
run config에 Gradle-aware 옵션이 없어서 나는 문제들이 많이 있었는데 패치 후 자동으로 추가 된다.

Sunday, December 10, 2017

안드로이드 스튜디오(android studio) 내가 사용중인 유용한 플러그인

1.CodeGlance
이 플러그인을 설치하면 우측에 코드 미니맵이 생성되어 코드를 더욱 편하게 볼 수 있게 해준다.

2.Parcelable code generator
귀찮은 parcelable 코드를 자동으로 생성해주어 생산성을 높여준다.

3.Presntation Assistant
어떤 기능을 사용 할 때 단축키를 시각적으로 보여준다.
key promoter라는 비슷한 플러그인이 있는데 클릭한 위치에서 오랜시간(?) 단축키를 알려주지만 개발에 방해가돼 개인적으로 깔끔한 이 플러그인을 선호한다.

4.ADB idea
자주 사용하는 몇몇 ADB 커맨드를 클릭으로 사용할 수 있게 해준다.

5.Android Drawable Impoter
drawable 리소스를 한사이즈만 제작하면 자동으로 여러 해상도 사이즈에 맞게 추가해준다.

Thursday, November 23, 2017

Spring Initializr 소개


바야흐로 대스프링시대(누가?) 스프링 부트란 것을 알게됐다.
서(버)알못인 나에게 첫느낌은 node.js의 그것(?)과 비슷한 느낌을 받았다. (그냥 설치-실행)
많이 알아보진 못했지만 내가 스프링 공부하던 시절에만해도(2.0 시절) 스프링은 하나였는데.. 지금은 스프링 부트며 시큐리티며 이것저것 모듈화가 되있는듯 하다.
그 중에서 스프링 부트는 뭔가 이름부터가 '부트스트랩'을 닮아서인지 쉽고 편하게 시작을 도와주는 느낌이다.
게다가! http://start.spring.io/ 라는 사이트에서 바로 초기 설정과 프로젝트를 만들어주니 매우 편리하다.
프로젝트 생성시 여러 옵션을 선택 가능한데 유독 눈에 띄는것이 Kotlin으로도 가능하다는것이다.!😲
Kotlin으로.. 안드로이드 앱 만들고..
Kotlin으로.. Rest서버도 만들고...
Kotlin으로.. 아이포..ㄴ..은 안되겠지
아무튼 열심히 배워서 Kotlin app + Kotlin server 조합으로 프로젝트 하나 해봐야 겠다!🙆

개발자 주간 뉴스레터 모음 (awesome developer weekly newsletters)

https://github.com/jondot/awesome-weekly

해당 사이트에 가면 개발자 주간 뉴스레터 모음이 있다.
난 여기서 말고 여기저기서 조각모음으로 찾아서 신청했는데.. 이곳에 다 모여있는듯하다.
내가 신청한 목록은
Golang Weekly (GO언어에 관심이 있어서 신청하고 언어를 공부하지 않아 읽지 않는건 함정🙈)
Android Weekly (각 섹션별 유용한 정보들이 많이 있는데 요즘엔 소스가 떨어졌는지 생생정x통처럼 조금 괜찮다 싶으면 이것저것 다 소개해주는듯 하다.)
Awesom Android (이것도 유용하긴한데 상위 절반정도는 볼만하고 절반정도는 그저그런듯하다.)
Kotlin Weekly (최신 코틀린 정보를 주간마다 보내줘서 좋다.)

이정도인데 더 신청하고 싶지만 Golang weakly처럼 쌓아만 둘거 같아 자제했다.ㅎㅎ
신청해두고 그냥 메일 정리하다가 적어도 제목만이라도 쑥 훑어보면 최신 정보와 유익한 내용을 얻을 수 있어 좋은거 같다.
단점은.. 전부 영어라는점?!😓(한국어 뉴스레터도 있는지 찾아봐야겠다.)