আপনি কখন একটি সাধারণ পূর্ণসংখ্যার পরিবর্তে দীর্ঘ, স্ট্রিং আইডি ব্যবহার করবেন? [বন্ধ]


54

আমি উদাহরণ হিসাবে ইউটিউব ব্যবহার করতে চাই: তারা আকারে আইডি ব্যবহার করে PEckzwggd78

কেন তারা সাধারণ পূর্ণসংখ্যা ব্যবহার করে না?

অথবা imgur.com - তারা 9b6tMZSচিত্র এবং গ্যালারীগুলির মতো আইডিও ব্যবহার করে । অনুক্রমিক পূর্ণসংখ্যা নয়।

  • কেন তারা পূর্ণসংখ্যা ব্যবহার করে না (বিশেষত ক্রমযুক্ত)?

  • কোন ক্ষেত্রে পূর্ণসংখ্যার পরিবর্তে এই জাতীয় স্ট্রিং আইডি ব্যবহার করা বুদ্ধিমানের সিদ্ধান্ত?


47
আইডিগুলি কেবল সাধারণ পূর্ণসংখ্যা নয় এমনটি কী বিশ্বাস করে? আমি অনেকগুলি ওয়েব পরিষেবা জানি যা ডিবিতে পূর্ণসংখ্যার ব্যবহার করে তবে কিছু বেস 64 এনকোডিংয়ে এগুলি প্রদর্শন করে যাতে URL গুলি আরও সুন্দর দেখায় look মজার বিষয় হল, ইউটিউব আইডিগুলি প্রায় 64 মাপের পূর্ণসংখ্যার মানচিত্র করে।
জোসেফ

2
@ রওয়ং তবে ওপিএস প্রশ্ন হ'ল তারা সংখ্যাসূচক আইডি কেন ব্যবহার করবেন না এবং উত্তরটি হতে পারে: তারা সংখ্যাসূচক আইডি ব্যবহার করেন, তারা কেবল বেস 10 বা বেস 2 এর পরিবর্তে বেস 64 এ প্রদর্শিত হয়। যদিও আমি নিশ্চিত তা জানি না, তাই আমি ওপিকে জিজ্ঞাসা করছি যা বিশেষত তাদের মনে করে যে আইডিগুলি বেস 64 এ সাধারণ 64 বিট পূর্ণসংখ্যক নয়।
জোসেফ


3
এই হিসাবে একই হয় না ?
the_lotus

উত্তর:


101

ইউটিউব দুটি কারণে ক্রমযুক্ত আইডি ব্যবহার করতে পারে না:

  1. এর ডেটাবেসগুলি প্রায় অবশ্যই বিতরণ করা হয়েছে, ক্রমক্রমিক সংখ্যা জটিল করে তোলে।

  2. এটিতে একটি গোপনীয়তা বিকল্প রয়েছে "তালিকাভুক্ত ভিডিওগুলি": যা অনুসন্ধান ফলাফলগুলিতে প্রদর্শিত হয় না, তবে আইডিটি জানা থাকলে উপলব্ধ।

সুতরাং, ভিডিও আইডিগুলি যুক্তিসঙ্গতভাবে এলোমেলো এবং অনির্দেশ্য হওয়া উচিত। আইডিটি কেবলমাত্র অঙ্কগুলি দ্বারা বা চিঠি এবং অঙ্কগুলির সংমিশ্রণ দ্বারা প্রতিনিধিত্ব করা হোক না কেন এটি অপ্রাসঙ্গিক: একটি উপস্থাপনা থেকে অন্যটিতে একটি তুচ্ছ ম্যাপিং রয়েছে।


11
সংখ্যাসূচক আইডিগুলি অনুক্রমিক হতে হবে না
সোপেল

28
@ সোপেল আমি মনে করি আইমিলের বক্তব্য হ'ল ইউটিউবকে এমন আইডি তৈরি করতে হবে যা অপ্রয়োজনীয়। অন্য কথায়, যদি এটি অনুমান করা হয় যে আপনার কেবল কখনও 2^40আইটেম সংরক্ষণ করতে হবে তবে কিছু স্থাপত্যে বিট 2^80বা 2^120বিটগুলির স্থান বাছাই করার বৈধ কারণ রয়েছে । কারণগুলির উদাহরণগুলি: প্রযুক্তিগতভাবে সংঘর্ষের জন্য পরীক্ষা না করে সংঘর্ষ হ্রাস করা; গোপনীয়তাগুলি ("তালিকাভুক্ত ভিডিও") ইত্যাদি খুঁজে পাওয়া শক্ত করার পক্ষে
কীগুলির বিচ্ছিন্নতা ব্যবহার করে

13
@ সোপেলের প্রশ্নটি ছিল "তারা পূর্ণসংখ্যা কেন ব্যবহার করে না (বিশেষত ক্রমযুক্ত)?" আমি বুঝিয়েছি: 1) অনুক্রমিক আইডিগুলি অনাকাঙ্ক্ষিত; 2) পূর্ণসংখ্যা এবং স্ট্রিংগুলি মূলত একই জিনিস
IMil

3
"সুতরাং" ধারাটি যৌক্তিকভাবে অনুসরণ করে না তবে দুটি সংখ্যাযুক্ত পয়েন্ট সঠিক। কেন এলোমেলোতা প্রয়োজনীয় ফলস্বরূপ নয়: উদাহরণ হিসাবে অভিন্ন ফাঁকগুলির সাথে ক্রমযুক্ত নম্বরগুলি একাধিক স্বতন্ত্র ডাটাবেসে অনন্য আইড সরবরাহ করতে কাজ করবে যে ফলস্বরূপ একটি ডেটাওয়ারহাউসে সংযুক্ত করা যায় - এটি শারডিংয়ের একটি রূপ। এটি হ'ল ধরুন আপনি 10000 এর চেয়ে বেশি আঞ্চলিক ডাটাবেসগুলি প্রত্যাশা করছেন (সম্ভবত আপনার কাছে এখন 10 টি রয়েছে তাই 10000 যথেষ্ট)। তারপরে প্রতিটি ডিবিতে অনন্য সর্বশেষ 4 টি সংখ্যা সহ 10000 দ্বারা একটি পরিচয় কলাম গণনা করা যেতে পারে, সংযুক্তিতে কোনও সংঘর্ষ হবে না।
ডেভিডবাক

2
@ ডেভিডবাক এলোমেলো হওয়ার প্রয়োজনীয়তা অনুসরণ করে (২)। স্বতন্ত্রতা প্রকৃতপক্ষে বিভিন্ন ডাটাবেস দৃষ্টান্তে অ-ওভারল্যাপিং রেঞ্জগুলি নির্ধারণের মাধ্যমে অর্জন করা যেতে পারে, তবে এটি আইডিগুলিকে পূর্বাভাসযোগ্য রাখে।
আইভিল

75
  • ID- র আকারে অন: তারা করুন Base64- ব্যবহার করছেন (অক্ষর ব্যবহার করে a- z, A- Z, 0- 9, -এবং _)। এটি তাদের চরিত্র অনুযায়ী তথ্য 6 বিট থাকতে দেয়। ইউটিউব 11-অক্ষরের ভিডিও আইডি ব্যবহার করে যার অর্থ তারা 2 6 * 11 বা 7 * 10 19 টিরও বেশি আইডি উত্পন্ন করতে পারে । টম স্কট যেমন বলেছিলেন, "গ্রহ পৃথিবীর প্রতিটি মানুষের পক্ষে প্রতি মিনিটে প্রায় 18,000 বছর ধরে একটি ভিডিও আপলোড করা যথেষ্ট" " বেস 64 এর সাথে কাজ করাও সহজ, কারণ 64 হল 2 এর শক্তি, যার অর্থ প্রতিটি অক্ষর বিটগুলির সঠিক সংখ্যা উপস্থাপন করে। আমরা একই কারণে হেক্সাডেসিমাল (বেস 16) ব্যবহার করি।

  • আইডিগুলির অ-অনুক্রমিক প্রকৃতিতে: এর অর্থ হ'ল ভিডিওগুলিতে আইডি নির্ধারণ করে এমন সমস্ত সার্ভারের মধ্যে তাদের একটি সিঙ্ক্রোনাইজড কাউন্টারের দরকার নেই। তারা কেবল একটি এলোমেলো সংখ্যা তৈরি করতে পারে, এটি ইতিমধ্যে ব্যবহারে রয়েছে কিনা তা পরীক্ষা করে দেখতে পারেন এবং সেখান থেকে যেতে পারেন। এমনকি ডুপ্লিকেশন চেকিং থেকে বাছাই করতে এবং অপসারণ করতে তারা প্রতিটি সার্ভারকে আইডির একটি ব্লক নির্ধারণ করতে পারে। আমি জানি না তারা এটি করছে কিনা তবে তারা পারত।

  • অ-অনুক্রমিক আইডিগুলির আরেকটি কারণ হ'ল "তালিকাভুক্ত" ভিডিওগুলিকে কাজ করে। এগুলি এমন ভিডিও যা অনুসন্ধান ফলাফল বা পরামর্শ হিসাবে দেখাবে না, তবে লিঙ্কটি পেয়ে গেলে সেগুলি অ্যাক্সেসযোগ্য। আপনি যদি ক্রমানুসারে গণনা ব্যবহার করছেন, আপনি কেবল একটি ভিডিওতে যেতে পারেন, আইডি একের সাথে বাড়িয়ে দিতে পারেন এবং তালিকাভুক্ত ভিডিওগুলির ধারণাটি এখন ভেঙে গেছে।

  • অ-অনুক্রমিক আইডিগুলি প্রতিযোগীদের কাছ থেকে তথ্য গোপন করতে সহায়তা করে যেমন ভিডিওগুলির মোট পরিমাণ, বা টাইমফ্রেমে আপলোড করা ভিডিওর সংখ্যা।

আমি টম স্কট এর ভিডিওটি উচ্চ প্রস্তাব দিতে পারি । তাঁর তথ্য প্রায় সবসময়ই আকর্ষণীয় এবং সঠিক।


6
আসুন এটিও চিহ্নিত করুন যে একটি বেস 64 এনকোডিংয়ের 11 টি অক্ষর b 66 বিট তথ্য সঞ্চয় করে যার অর্থ তারা সহজেই এই জাতীয় স্ট্রিংটিতে একটি bit৪ বিট পূর্ণসংখ্যার মানচিত্র তৈরি করতে পারে। অর্থাত্ অভ্যন্তরীণভাবে, তারা যাইহোক একটি 64 বিট ইনট ব্যবহার করতে পারে (তবে এটি করার দরকার নেই)।
বার্নহার্ড হিলার

1
তুলনার জন্য, প্রচলিত দশমিক উপস্থাপনার জন্য বেস 64 এর তুলনায় 9 টি অক্ষর পর্যন্ত "নষ্ট" হতে পারে 20 টির মতো অক্ষর প্রয়োজন হতে পারে।
dan04

টম স্কট ভিডিওটি এটি পুরোপুরি ব্যাখ্যা করে।
এজিবি

13
  • পূর্ণসংখ্যাগুলি এতটা ভালভাবে স্কেল করে না, একটি "সাধারণ" 32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার পরিমাণটি 4 বিলিয়নের বেশি হবে।

  • তারা আপনাকে চায় না যে তাদের কয়টি আইটেম লাইনে রয়েছে তা জানতে বা তারা যে হারটি বাড়ছে তার উপর নজর রাখতে পারে না।

  • বর্ণগুলি সংখ্যাগুলির চেয়ে বেশি তথ্য ধরে রাখতে পারে, একই "সংখ্যা" প্রকাশ করার জন্য আপনার কম অক্ষরের প্রয়োজন। একটি বড় সূচক ডাটাবেসের জন্য এটি যুক্ত হতে পারে।


7
1) একজন
IN

4
2) কেন? ........... এগুলি যাইহোক সর্বজনীন। যেগুলি সর্বজনীন নয় - অ্যাক্সেসযোগ্য নয়। এটি
রাকোরি

3
3) আপনি বিস্তারিত বলতে পারেন? কি তথ্য প্রকাশ?
রকোরি

2
1 এর জন্য: একই 32 এবং int64 এর জন্য যায়। যদিও int64 সম্ভাব্য দিক থেকে আরও বড়, এটি যথেষ্ট পরিমাণে বড় হতে পারে না।
নেফো

3
ডাটাবেসে আপনি একটি সংখ্যা হিসাবে একটি সংখ্যা সঞ্চয় করতে হবে। সুতরাং একটি 32 বিট int 32 বিট নিতে হবে। পাঠ্যের কম ঘনত্ব হবে (কতটা দরিদ্র পাঠ্য এনকোডিংয়ের উপর নির্ভর করবে)
Taemyr

8

1) কিছু ওয়েবসাইট কেন তাদের আইডিতে চিঠি ব্যবহার করে? তারা স্ট্রিং হয়?

আমরা জানি না যে সেই ওয়েবসাইটগুলি তাদের ডাটাবেসে স্ট্রিং হিসাবে আইডি সঞ্চয় করে কিনা। নম্বর এবং স্ট্রিং কম্পিউটারের মতোই একই। একটি স্ট্রিং কেবল একটি সংখ্যা, কেবল একটি ভিন্ন বেসের সাথে দেখানো হয়। 'A' = 0x41 = 65 = 0b1000001কম্পিউটারে, এটি সব একই। তবে আপনি যদি এটি প্রদর্শন করেন তবে বড় আকারটি, সংক্ষিপ্ত উপস্থাপনা এবং সংক্ষিপ্ত ইউআরএলগুলি পড়া এবং ভাগ করে নেওয়া মানুষের পক্ষে সহজ। ইউটিউব এবং ইমগুর মতো সাইটগুলি বেস 62 ব্যবহার করে (অক্ষর, বড় এবং ছোট ক্ষেত্রে, আরও বেশি অঙ্ক) বা আরও বড় (কোনও ড্যাশ বা অন্যান্য বৈধ URL অক্ষর যুক্ত করুন), যা বড় সংখ্যার জন্য তুলনামূলকভাবে সংক্ষিপ্ত। আপনি কি ব্যবহার করতে পছন্দ করবেন, youtu.be/23489234892348234933বা youtu.be/B9k6KMrv8vh?

2) অ-অনুক্রমিক আইডি কেন ব্যবহার করা হয়?

আইমিলের উত্তর এটি ভালভাবে ব্যাখ্যা করেছে:

ইউটিউব দুটি কারণে ক্রমযুক্ত আইডি ব্যবহার করতে পারে না:

  • এর ডেটাবেসগুলি প্রায় অবশ্যই বিতরণ করা হয়েছে, ক্রমক্রমিক সংখ্যা জটিল করে তোলে।

  • এটিতে একটি গোপনীয়তা বিকল্প রয়েছে "তালিকাভুক্ত ভিডিওগুলি": যা অনুসন্ধান ফলাফলগুলিতে প্রদর্শিত হয় না, তবে আইডিটি জানা থাকলে উপলব্ধ।

আইডিগুলি এত বড় কেন তা এগুলিও ব্যাখ্যা করে: (ইউটিউব অবশ্যই 23,489,234,892,348,234,933 টি ভিন্ন ভিডিও হোস্ট করে না)

  • আইডি তৈরি করার সময়, সমস্যাটি যদি আপনি ঘটনাক্রমে দু'বার একই আইডি তৈরি করেন তবে জন্মদিনের সমস্যাটি রোধ করতে আপনার একটি বড় আইডি স্পেস প্রয়োজন

  • লোকেরা কেবল তালিকাভুক্ত ভিডিওর URL টি অনুমান করতে পারে যদি কোনও ভিডিওর জন্য কোনও প্রদত্ত বৈধ আইডি ব্যবহারের সুযোগটি খুব সামান্য না হয়।


3
> "ইউটিউব 23,489,234,892,348,234,933 বিভিন্ন ভিডিও হোস্ট করে না, স্পষ্টতই" আমি এটি নিশ্চিত কিনা তা নিশ্চিত না;)
unPress325680

People can just guess the URL of unlisted videos if the chance of any given valid ID being used for a video isn't very, very small.- তালিকাভুক্ত ভিডিওটি যদি এর লেখক ব্যতীত সবার জন্য অ্যাক্সেসযোগ্য না থাকে তবে আপনি কীভাবে জানবেন? এমনকি অন্য কেউ যদি তার আইডি
অনুমানও করে থাকে


2
@ প্রোগো বলতে আমি বোঝাতে চাইছি যদি বিশ্বের প্রতিটি ব্যক্তি ইউটিউবে গড়ে ৩.৩ বিলিয়ন ভিডিও আপলোড করে থাকে ...;)
জেসমিজন

5

কেন কেবল পূর্ণসংখ্যক, বিশেষত ক্রমযুক্ত নয়? এবং কখন, কোন ক্ষেত্রে পূর্ণসংখ্যার পরিবর্তে এই জাতীয় স্ট্রিং আইডি বুদ্ধিমানের সিদ্ধান্ত?

  • ভাল ইউটিএফ -8 স্থান - আপনি যখন কোনও সংখ্যাকে একটি স্ট্রিংয়ে পরিণত করেন আপনি প্রতি চরিত্রের জন্য সর্বাধিক 10 টি সংমিশ্রণ পান (0-9), কিন্তু আপনি যখন কোনও আলফা সংখ্যক অক্ষরকে অনুমতি দেন তখন আপনি অক্ষর প্রতি 62 সংমিশ্রণ পান (অ্যাজ, এজেড, 0-9 ), সুতরাং আপনি আলফানিউমেরিক স্ট্রিং ব্যবহার করে সংখ্যার স্ট্রিং ব্যবহার না করে সংক্ষিপ্ত url উত্পাদন করতে পারেন। ইউটিউব এবং ইমগুরের মতো ব্যবহারকারীরা ইউআরএল ভাগ করছে এমন সাইটের জন্য এটি গুরুত্বপূর্ণ।
  • অনুক্রমিক পূর্ণসংখ্যা উত্পাদন করা আরও কঠিন। ক্রমবর্ধমান পূর্ণসংখ্যার উত্পাদন করতে আপনার অবশ্যই একটি থ্রেডের সংখ্যা তৈরি করতে হবে, বা বিতরণ করা সিস্টেমে অনেক হোস্টকে সমন্বিত করতে হবে এবং আপনি যখন ইউটিউব বা ইমগারের মতো উচ্চতর ভলিউম অ্যাপ্লিকেশন চালান যা এলোমেলোভাবে উত্পন্ন স্ট্রিংয়ের মতো সুন্দরভাবে স্কেল করে না when (তারা এলোমেলোভাবে উত্পন্ন করছে তা বলার অপেক্ষা রাখে না )

একটি সরাইয়া হিসাবে, এটা অগত্যা কেস না যে অভ্যন্তরীণ উপস্থাপনা হয় একটি স্ট্রিং। তারা খুব সম্ভবত সংক্ষিপ্ত url এর জন্য একটি বর্ণচিহ্ন হিসাবে একটি সংখ্যক সনাক্তকারীকে এনকোডিং করতে পারে।


1
২) স্ট্রিং আইডির ক্ষেত্রে, তবে আপনাকে কোনও ডিবিতে নতুন রেকর্ড সন্নিবেশ করার আগে একটি স্ট্রিং আইডি ইতিমধ্যে উত্পন্ন হয়েছে তা যাচাই করতে হবে। তখন কোন আইটি দিয়ে পার্থক্য কী?
রাকোরি

@ রাকরিন এমনকি ইউআইইউডিভি 4 এর মতো সহজ কিছু ব্যবহার করার সময় সংঘর্ষের সম্ভাবনাও ক্ষুদ্র। পর্যাপ্ত এলোমেলো ব্যবহার করুন এবং সুযোগটি বেশ অস্তিত্বহীন, যাতে সদৃশটি সত্যায়িত করার প্রয়োজন হয় না।
অ্যান্ডি

1
@ ডেভিডপ্যাকার এবং লম্বা পূর্ণসংখ্যার উত্পাদন থেকে এটি কীভাবে আলাদা?
সোপেল

@ সপুয়েল যেমন শ্যামুয়েল উল্লেখ করেছেন, পূর্ণসংখ্যাগুলি স্ট্রিংয়ের চেয়ে বেশি স্থান গ্রহণ করবে, অর্থাৎ দীর্ঘতর হবে। অন্যথায়, আসলে কোন পার্থক্য নেই।
অ্যান্ডি

1
@ ডেভিডপ্যাকার কেবল তখনই মুদ্রিত হয়
সোপেল

2

আপনি নির্দিষ্ট করেছি যে কারণ ফণা সবকিছু অধীনে একটি বিশ্বজনীনভাবে অনন্য আইডি শুধু সংখ্যার ব্যবহার ব্যবহার করা সহজ হবে ঠিক 0এবং 1এবং আপনি আরো স্পষ্টতা 128 বিট বা তার বেশি ঊর্ধ্বগামী নম্বর প্রসারিত করতে পারে।

আমি মনে করি যে মূল কারণটি হ'ল কিছু স্বেচ্ছাসেবী স্থির পরিসীমা যেমন uint32(কেবলমাত্র উদাহরণের জন্য), যদি আপনি চিঠিগুলিও ব্যবহার করেন তবে আপনার মোট সংক্ষিপ্ত আইডি থাকতে পারে।

আমি ধারণা করি এটি ইউআরএলটির একটি সৌন্দর্যের কারণ। 4,129,873,773চিঠিগুলি রাখার পরিবর্তে এটি আরও খাটো Fu837t(কেবল আমার দ্বারা নির্মিত) এমনকি কোনও ব্যবহারকারী এটি কোনও বন্ধুর কাছে দেওয়ার জন্য URL টি মনে রাখতে সক্ষম হতে পারে। ইউটিউবের মতো প্ল্যাটফর্মগুলিতে সাধারণত 32 বিটের চেয়ে দীর্ঘ ইউআইডি থাকে কারণ এগুলি দ্রুত স্থানের বাইরে চলে যায়।


3
এই আমি উত্তর মনে করি। স্ট্রিং ব্যবহার করা স্বতন্ত্রতা বজায় রাখার পক্ষে আরও দক্ষ বা সহজ নয়। কারণটি হ'ল এটি ইউআরএল হিসাবে উপস্থাপন করা সহজ
সোপেল

যদি কোনও ব্যবহারকারী Fu837t মনে রাখতে সক্ষম হয় তবে তিনি 2390 মনে রাখতে পারবেন না?
রাকোরি

4
@ রাকোরি: Fu837t 2223955238 এর সাথে তুলনা করবে, তাই হ্যাঁ। 2390 "ভিজি" হিসাবে এনকোড হবে, তাই: হ্যাঁ।
মাকিং হাঁস

@ মুভিংডাক, না আপনি কীভাবে জানবেন যে স্ট্রিং আইডি তৈরির জন্য অ্যালগরিদম কী?
রাকোরি

3
@ রাকোরি এটি একটি অ্যালগরিদম নয়, এটি একটি এনকোডিং। বিভিন্ন এনকোডিংয়ের মধ্যে নম্বর স্থানান্তর করার জন্য অ্যালগরিদম রয়েছে তবে এনকোডিংটি যথাযথভাবে সংজ্ঞায়িত না হওয়াতে কোনটি ব্যবহৃত হয় তা বিবেচ্য নয়। ইউআরএল নিরাপদ করুন Base64- এনকোডিং সুপরিচিত এবং হয় প্রমিত
জোসেফ

2

সংযুক্তি ভাগ করে নেওয়া এবং ভাগ করে নেওয়া সহজ করার কারণে একটি সংক্ষিপ্ত ইউআরএল আকাঙ্ক্ষিত (যেমন আপনি কোনও এসএমএসে একটি লিঙ্ক ভাগ করতে পারেন, এটি টাইপ করা আরও দ্রুত এবং এ জাতীয়)। ইউটিউব বা ইগুর্লের মতো পরিষেবাগুলি আপনি ইউআরএলগুলি আকস্মিকভাবে ভাগ করে নিতে চান, সুতরাং এটি একটি গুরুত্বপূর্ণ বিবেচনা।

সংখ্যার চেয়ে বর্ণানুক্রমিক আইডি ব্যবহার করা মানে একই বিট-আকারের একটি আইডি প্রকাশ করতে আপনার কম অক্ষর প্রয়োজন। উদাহরণস্বরূপ 6 টি সংখ্যা আপনাকে মিলিয়ন ইউনিক আইডি দেয় তবে 6 বর্ণমালা (বেস 64 সেট ব্যবহার করে) আপনাকে 68 বিলিয়ন ইউনিক আইডেন্টিফায়ার দেয়।

আমরা জানি সকলের জন্য, বর্ণমালা শনাক্তকারীগুলি অনুক্রমিক সংখ্যা হতে পারে, কেবলমাত্র বেস 64 এর মতো একটি বর্ণমালায় বিন্যাসে এনকোড করা হয়েছে। তবে প্রায়শই বাণিজ্যিক পরিষেবাগুলি আইডির অনুমান থেকে মানুষকে রোধ করতে এবং গ্রাহকদের পরিমাণের মতো ব্যবসায়িক তথ্য প্রকাশ এড়াতে ক্রমবর্ধমান কোডগুলি সিক্যু করে।


1

আপনি অ-সংখ্যাসূচক আইডির ব্যবহার করার বিভিন্ন কারণ রয়েছে তবে এটিও বুঝতে পারেন যে বর্ণমালা অক্ষরযুক্ত সমস্ত মান সত্যই স্ট্রিং নয়। YouTube ভিডিও অবিশ্বাস্য সংখ্যা খ্যাতি আছে, 300 ঘন্টার ভিডিও ক্রম প্রতি মিনিট (আপলোড সুত্র )। এই ভিডিওগুলিকে উপস্থাপন করে অনন্য পূর্ণসংখ্যা বেশ দীর্ঘ পেতে পারে, তাই বেস 64 ইউআরএল এনকোডড নম্বর ( রেফ ) এর মতো ব্যবহার করুন ।

সনাক্তকারী উপস্থাপনের প্রকারগুলি:

  • সাধারণ পূর্ণসংখ্যা: (12345, 981027489382493)
  • বেস 16 পূর্ণসংখ্যা: 123456789abcdef - যা হেক্স হিসাবেও পরিচিত
  • বেস 64 পূর্ণসংখ্যা: 9b6tMZS
  • পঠনযোগ্য স্ট্রিং: 12032017-আমার-দুর্দান্ত-নিবন্ধ -১০ পড়ুন

তাদের সকলেরই শক্তি এবং দুর্বলতা রয়েছে। আপনার শনাক্তকারীদের জন্য আপনি আরও অনন্য অক্ষর ব্যবহার করতে পারেন এমন সংখ্যার কম সংখ্যক চরিত্র যা আপনাকে একটি সংখ্যা উপস্থাপন করতে হবে। বেস numbers৪ নম্বরগুলি বেশ ভাল সমঝোতা কারণ সেখানে একটি প্রতিষ্ঠিত বৈকল্পিক রয়েছে যা ইউআরএলগুলির জন্য কাজ করে এবং to থেকে ৮ নম্বর (অর্থাৎ 3/4 মাপের আকার) উপস্থাপনের জন্য প্রয়োজনীয় অক্ষরের সংখ্যাকে সংকুচিত করে।

পঠনযোগ্য স্ট্রিংগুলি ব্লগের জন্য কাজ করে কারণ তারা অনুসন্ধানযোগ্যতা বাড়াতে পারে এবং রেকর্ডের সংখ্যা কম হলে অনন্য শিরোনাম তৈরি করা অনেক সহজ।


1

সামগ্রী হ্যাশ

"হ্যাশ" শব্দটি বিদ্যমান, দুর্দান্ত, উত্তরগুলিতে পাওয়া যায় না, সুতরাং আমরা এখানে যাচ্ছি:

প্রায়শই ডেটা স্বতন্ত্র, কৃত্রিম আইডির পরিবর্তে এর সামগ্রী হ্যাশ দ্বারা চিহ্নিত করা যায়। এটি gitজেডএফএসের মতো ফাইল সিস্টেমগুলিতে বা বিশেষত সফ্টওয়্যারগুলিতে স্পষ্টভাবে প্রমাণিত হয়েছে যেখানে সামগ্রী হ্যাশগুলি ব্যবহারের এই বিশেষ সম্পত্তিটি কেবল জিনিসকে সহজ করে না (উদাহরণস্বরূপ ডি-সদৃশ), তবে তুচ্ছ ক্যাচিং, একটি সুরক্ষিত ইতিহাস, বিট রট সনাক্তকরণের মতো অন্যান্য দুর্দান্ত বৈশিষ্ট্যও রয়েছে প্রভৃতি

হ্যাশগুলি সাধারণত হেক্স সংখ্যা হিসাবে আসে (বা তার চেয়েও বড় অক্ষরের স্থান), সুতরাং এজন্য আপনি পূর্ণসংখ্যার আইডি দেখতে পাচ্ছেন না। সেখানে কেবল হয় কোন পূর্ণসংখ্যার (যাদের ক্ষেত্রে)।

হ্যাশগুলি ভাল যদি আপনার ডেটা অবজেক্টগুলি অপরিবর্তনীয় হয় (যেমন জেডএফএসে বা git); তারা বড় আকারের সিডিএনগুলিতে চিত্রগুলি সঞ্চয় করতে দুর্দান্ত হবে। আমি জানি না কিনা সেই বিশেষ ID- র আসলে হয় হ্যাশ, কিন্তু এটা অবশ্যই জানার জন্য হবে (এবং মাইকেল Kjörling মন্তব্য, সংক্ষিপ্ত ID- র সম্ভবত সুস্পষ্ট কারণে হ্যাশ হয় না - তুলনা হিসেবে Git রয়েছে SHA-1 মান যা 20 বাইট বা 40 হয় ব্যবহার হেক্স ডিজিট)।


1
কমপক্ষে ইউটিউব ভিডিও আইডি হ্যাশ হতে খুব ছোট। জন্মদিনের প্যারাডক্স প্রযোজ্য; সংক্ষেপে, গড় হিসাবে এন বিটের একটি হ্যাশ স্পেস সহ, আপনি 2 ^ (এন / 2) ইনপুট ব্লবগুলি দেখার পরে সংঘর্ষগুলি দেখতে শুরু করবেন। আইডিতে-60-70 বিট সহ, স্বতন্ত্রতার 30-35 বিট বা কয়েক বিলিয়ন এন্ট্রি। আমি নিশ্চিত যে তারা এই মুহূর্তে এর চেয়ে বেশি ভিডিও হোস্ট করে। এবং, অবশ্যই, বেশিরভাগ হ্যাশগুলি ঠিক ঠিক পূর্ণসংখ্যা হয়; যেগুলি সাধারণত দশমিক আকারে মুদ্রিত হয় না সেগুলির পূর্ণসংখ্যা হয় কিনা তা নিয়ে কোনও ফল হয় না। স্বীকৃত, একই ডেটা সম্ভবত ভাসমান পয়েন্ট বাইনারি ডেটা হিসাবে ব্যাখ্যা করা যেতে পারে ...
একটি সিভিএন

3
@ মাইকেলকার্জলিং: আচ্ছা, ইউটিউব ভিডিও আইডিগুলি ক্রিপ্টোগ্রাফিক হ্যাশগুলির তুলনায় খুব কম , তবে প্রচুর হ্যাশ ফাংশন রয়েছে যার 64৪ বিট বা তার কম আউট রয়েছে - সিআরসি -১ / / ৩২ / 64৪, জাভা hashCode()ইত্যাদি অবশ্যই, সংক্ষিপ্ত হ্যাশ, এলোমেলো সংঘর্ষের সম্ভাবনা বেশি।
dan04

আপনি যদি চান যে লোকেরা ইউআরএলটি মনে রাখে তবে আপনি এটিকে কেস-তাৎপর্যপূর্ণ করে তুলবেন না। এবং প্রতিটি বর্ণের সামনে "উপরের" বা "নিম্ন" বলতে কেবল সংখ্যা বলার চেয়ে অনেক কম দক্ষ।
লেন

0

ঠিক আছে এর একটি কারণ হ'ল চরিত্রগুলি অক্ষর হিসাবে প্রেরণ করা হয়, কোনওভাবে পূর্ণসংখ্যার হিসাবে নয়। এটি এইচটিটিপি কীভাবে কাজ করে তার কারণ is

আপনি যখন বলেন, "কেন পূর্ণসংখ্যা ব্যবহার করবেন না?" ঠিক আছে, এর পরে পূর্ণসংখ্যা কেটে নেওয়া হয় এবং প্রতিটি অঙ্ককে একটি চরিত্র হিসাবে প্রেরণ করা হয় এবং আপনি কোনওভাবেই অক্ষরের স্ট্রিং দিয়ে শেষ করেন। তাহলে কেন কোনও চরিত্রের জন্য সমস্ত বিকল্প ব্যবহার করবেন না?

মানুষের ফ্যাক্টরটিও রয়েছে:

উদাহরণস্বরূপ ইমগর নিন: https://imgur.com/ ***** / s6UqP

s6UqP,

প্রতিটি চরিত্রের ব্যাপ্তি হ'ল: জেড মূলধনির মাধ্যমে, জেড উপ-মূলধনের মাধ্যমে এবং স্ট্রিংয়ের প্রতিটি পজিশনের জন্য 0 থেকে 9 = 26+ 26+ 10 = 62 বিকল্প। পাঁচটি অবস্থানের সাথে এটি 916132832 সম্ভাব্য সংমিশ্রণ। আপনি যদি কেবল সংখ্যা ব্যবহার করেন তবে আপনার 9 টি সংখ্যা প্রয়োজন।

লোকেরা স্মৃতিতে মোটামুটি 7 টি বস্তু ধরে রাখতে পারে, 9 টি সংখ্যা খুব বেশি, 5 টি অক্ষর অক্ষম।

যাদু 7 নম্বর


এটি গিফেক্যাটকে স্মরণ করে: এগুলি তিনটি শব্দ, দুটি বিশেষণ এবং একটি প্রাণীর নাম ব্যবহার করে। কারণ অনেকগুলি সম্ভাবনা রয়েছে ( 1502 অ্যাডেজিটিভ এবং 1751 প্রাণী ) তাদের কেবল তিনটি অবজেক্ট ব্যবহার করে 3 বিলিয়নেরও বেশি সংমিশ্রণ রয়েছে।
গুস্তাভো রডরিগস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.