Showing posts with label developer. Show all posts
Showing posts with label developer. Show all posts

Friday, September 8, 2023

効果的な開発のための外部機能選択ガイド

効果的な開発のための外部機能選択ガイド

開発中には、単純なものから複雑なものまでさまざまな機能を実装する必要があります。それぞれの機能を完璧に作成することは難しいタスクです。したがって、高い確率で正確に動作する「車輪」を採用する方が効率的です。ただし、適切な車輪を選ぶことも難しい場合があります。ここでは、私が選択の基準として使用する要点を紹介します。

  1. 公式サポート

    使用しているプラットフォームやフレームワークがその機能を公式にサポートしているかどうかを確認することは重要です。このような機能は、提供業者(たとえばGoogle、Facebookなど)によって長い時間と膨大な資産をかけてテストおよび最適化され、特定の要件がない限り、安全で効率的な選択です。たとえば、ソートアルゴリズムをゼロから作成できますが、Dart、Java、またはKotlinなどの言語で提供される.sort()関数を使用する方がはるかに安全で効果的です。

  2. ユーザーと保守状態

    GitHubを例に挙げてみましょう。ウォッチ、フォーク、スターなどのメトリクスを通じて、人々がプロジェクトにどれだけ興味を持ち、好意的であるかを判断できますが、最近の更新も同様に重要です。開発の速い世界では、トレンドは頻繁に変わり、初めて多くのスターを獲得したプロジェクトでも、最近ではあまり注目されていないことが多いです。

  3. 不要な機能

    外部の機能は自分で作成したものではないため、完璧に自分のニーズに合うことはまずありません。ただし、必要な小さな機能を使用するために大量のソースコードを持ち込み、適用することは望ましくないと考えています。

個人的には、画像、通信などの機能に関連する場合、上記の基準に基づいて集合知力を頻繁に活用しています。

Tuesday, May 30, 2023

開発機能選択の基準

開発を行う際には、さまざまな機能を開発する必要があります。これらはシンプルなものから複雑なものまで多岐にわたり、一つ一つを「よく」作成することは容易なことではありません。したがって、確実に動作する「ホイール」を選んで取り付けることが重要です。しかし、確実に動作するホイールを選ぶことも容易ではありません。そのため、私が基準としている内容を共有します。

開発機能選択の基準

公式サポートの有無

使用しているプラットフォームやフレームワークが公式にサポートしている機能かどうかを確認することが重要です。これらの機能は、提供者(Google、Facebookなど)が長期間にわたり資本と資産を投入して検証し、優れたパフォーマンスでユーザーに提供されています。特に問題がなければ、希望の機能をそのまま利用できます。例えば、ソートアルゴリズムを自分で作成することもできますが、Dart、Java、Kotlinで提供されている.sort()関数を使用する方が安全かつ優れています。

ユーザーおよび管理の状態

GitHubの例を挙げてみましょう。watch、fork、starなどを使用して、人々がどれだけ関心を持ち、評価しているかを判断できますが、最近の更新も重要です。開発の特性上、トレンドが頻繁に変わり、初期に多くの星を獲得したプロジェクトでも最近は関心を集めていないプロジェクトが多数あります。

不要な追加機能の有無

自分が作成した機能ではないため、厳密に必要な機能だけが備わっていることは難しいです。ただし、必要な機能を使用するために、膨大なソースコードを取得して適用するのは望ましくありません

コミュニティの活用と開発

個人的には、画像や通信などの関連領域では、上記の基準をもとにコミュニティの力を積極的に活用しています。

Tuesday, May 16, 2023

A Guide to Selecting External Features

Effective Development: A Guide to Selecting External Features

Developing software often requires the implementation of a myriad of features, from the simple to the complex. Building each one from scratch to function flawlessly can be a daunting task. Thus, it's often more practical and efficient to incorporate well-tested "wheels" that are likely to perform reliably. However, determining which wheel fits best can be equally challenging. In this guide, we'll explore some key criteria for making that selection:

  1. Official Support

    The first factor to consider is whether the feature you're looking at is officially supported by your chosen platform or framework. Such features have undergone rigorous testing and optimization by their providers (like Google or Facebook), ensuring their reliability and efficiency. Unless you have specific requirements that these cannot meet, using them is generally a safe choice. For instance, instead of creating sorting algorithms from scratch, using built-in functions like .sort() provided in languages such as Dart, Java or Kotlin can prove much safer and more efficient.

  2. User Interest and Maintenance Status

    Let's use GitHub as an example here. Metrics like watches, forks and stars can give you an idea of how much interest there is in a project but don't overlook recent updates either. The fast-paced nature of development means trends change frequently; projects that initially gained many stars might not be getting as much attention now.

  3. Evaluating Unnecessary Features

    When integrating external features not built by you personally, it's rare they'll perfectly match your needs without including some unnecessary elements. However importing large amounts of source code just for a small feature isn't ideal either - so it’s important to evaluate if any unnecessary elements come along with what you need.

In my experience when dealing with areas such as image processing or network communication I find myself frequently leaning on collective intelligence based on these criteria above.

효율적인 개발을 위한 라이브러리 선택 기준

외부 기능 선택: 효율적인 개발을 위한 가이드라인

소프트웨어 개발은 다양한 기능의 구현을 필요로 합니다. 단순한 기능에서부터 복잡한 기능까지, 모든 것을 처음부터 '잘' 만드는 것은 쉽지 않습니다. 때문에 이미 검증된 외부 '바퀴'를 가져와 사용하는 것이 효율적인 방법일 수 있습니다. 그러나 어떤 바퀴를 선택해야 할지 결정하는 과정도 쉽지 않습니다. 이 글에서는 외부 기능 선택에 도움이 될만한 몇 가지 기준을 제시하고자 합니다.

  1. 공식 지원 여부

    사용하려는 외부 기능이 플랫폼 또는 프레임워크에서 공식적으로 지원되는 지 확인해보세요. 이런 종류의 함수나 라이브러리들은 대체로 Google, Facebook 등 큰 회사들의 많은 시간과 자본을 들여 검증된 결과물입니다. 따라서 별도의 문제가 없다면 안전하게 사용할 수 있습니다. 예를 들어, 정렬 알고리즘 같은 경우 직접 만들기 보다는 dart, Java 또는 Kotlin에서 제공하는 .sort() 함수를 사용하는 것이 더 안전하며 효율적일 수 있습니다.

  2. 사용자 및 관리 상태

    GitHub과 같은 오픈 소스 저장소에서 프로젝트의 watch, fork 및 star 숫자를 확인하여 해당 프로젝트가 얼마나 인기 있는지 판단할 수 있습니다. 하지만 최근 업데이트 날짜도 중요합니다. 소프트웨어 개발 분야에서 트렌드가 자주 바뀌므로 초기에 인기가 많았던 프로젝트라도 최근에 업데이트되거나 관심 받고 있는지 확인해야 합니다.

  3. 필요하지 않은 부가기능 여부

    외부에서 가져온 기능이 정확히 원하는 기능만을 가지고 있을 확률은 매우 낮습니다. 하지만, 작은 기능을 사용하기 위해 불필요하게 많은 소스 코드를 가져오는 것은 바람직하지 않습니다. 따라서 필요한 기능과 부가적인 기능의 비율을 고려하여 선택해야 합니다.

개인적으로 이미지 처리나 네트워크 통신 등과 같은 복잡한 기능들은 위의 기준에 따라 외부 라이브러리를 활용하는 것을 선호합니다. 이런 방식으로 개발 과정을 더 효율적이고 안정적으로 만들 수 있습니다.