ওয়েবের সাথে একটি ইন্টারফেস সি ++ কীভাবে হয় (উদাহরণস্বরূপ গুগলে)?


12

গুগল বেশ কয়েক বছর ধরে তারা যে কোডগুলি হাস্যকর করেছে তার জন্য হাস্যকর পরিমাণ well আমি ভুল হলে আমাকে সংশোধন করুন, তবে গুগলের মূল অনুসন্ধান ইঞ্জিনের একটি বড় অংশ সি ++ তে লেখা আছে, তাই না? কীভাবে কেউ সি ++ তে লেখা একটি প্রোগ্রাম গ্রহণ করে এবং এটি একটি ওয়েবসাইটের সাথে ইন্টারফেস করে?

দ্রষ্টব্য: বিশেষত গুগল কীভাবে এটি করে, কেবল কীভাবে এটি সাধারণভাবে করা যেতে পারে তা আমি অনুসন্ধান করছি না।


ঠিক আছে, গুগল তাদের বেশিরভাগ অ্যাপ্লিকেশনটি পাইথনে তৈরি করেছে এবং এখন জাভাও ব্যবহার করতে দেখা যায়। গুগল ভাষা ব্যবহারে সীমাবদ্ধ করবে না। ওয়েব ইন্টারফেসিংয়ের জন্য, সকেট ব্যবহার করা হয়। সি ++ এর কিছুই নয়, সি এপিএসের। সি ++ এর নিজস্ব নেই !!
ব্যবহারকারী1708086

উত্তর:


16

যে কোনও ওয়েব সফ্টওয়্যার কেবল সকেটের মাধ্যমে বার্তা প্রেরণ এবং গ্রহণ করবে, এটাই যথেষ্ট। আপনি এটি করতে কোনও ভাষা ব্যবহার করতে পারেন, এটি ভাষার সাথে নির্দিষ্ট নয়।

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

+তিহাসিকভাবে সি ++ এর সাম্প্রতিক অবধি কোনও সদৃশ কাঠামো ছিল না:

  • একটি আধুনিক-সি ++ করার উপায় হ'ল সিপিপিসিএমএস এর মতো কিছু ব্যবহার করা ;
  • ওয়েব দেবের জন্য একটি স্ট্যান্ডার্ড লাইব্রেরি সেটআপ করার চেষ্টাও রয়েছে। সি ++ এ, তাদের মধ্যে একজন সিপিপি-নেটলিব ;
  • সম্প্রতি মাইক্রোসফ্ট থেকে ক্যাসাব্ল্যাঙ্কা নামে সি ++ 11 এর জন্য একটি ক্রস-প্ল্যাটফর্ম আরএসটি এপিআই লাইব্রেরি প্রকাশিত হয়েছে যা সহায়তা করে;

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

সিপিপিসিএমএস এবং সিপিপি-নেটলিব ওপেন সোর্স হ'ল আপনি যদি সি ++ ব্যবহার করে কোনও ওয়েব অ্যাপ্লিকেশন হিসাবে অ্যাপ্লিকেশনকে কীভাবে কাজ করতে চান তা জানতে চাইলে আপনি সেগুলি অধ্যয়ন করতে পারেন। এটি বলেছিল যে কোনও অ্যাপ্লিকেশন যা পোর্টগুলি শুনতে এবং বন্দরে ডেটা প্রেরণ করতে পারে এটি সম্ভাব্যভাবে এটি করতে পারে, এটি প্রোটোকলগুলির (টিসিপি / আইপি, এইচটিটিপি, ইত্যাদি) কোড সম্পর্কিত নয়।


এখনও নিঃশব্দে উঠতে পারে না, তবে আমি আপনার উত্তরটি গ্রহণ করেছি। আমি সিপিপিসিএমএস এর মতো কিছু জানতাম না তবে এটি জেনে রাখা ভাল। ধন্যবাদ!
পাগল বিজ্ঞান

1
আমি বুঝতে পারি, অন্যের তুলনায় এটি বেশ নতুন। অন্যান্য দরিদ্র (আমার নিজের পরামর্শ অনুসারে) সমাধানগুলি আগে বিদ্যমান ছিল তবে আমি মনে করি এটি ভাষা এবং সমস্যার পক্ষে আরও উপযুক্ত।
ক্লাইম

1
সি ++ তে এই জাতীয় ফ্রেমওয়ার্ক ছিল - ওয়েবটি পুরোপুরি সিজি অ্যাপ্লিকেশন, বা এমএসের আইএসপিআই ডেলস, এমনকি মাইক্রোসফ্টের এটিএল সার্ভার দিয়ে চলত। আজকাল, আমাদের বেশ কয়েকটি সি ++ ওয়েব ফ্রেমওয়ার্ক রয়েছে এবং মাইক্রোসফ্ট ক্যাসাব্ল্যাঙ্কায় কাজ করছে, যা আপনাকে ক্লাউড পরিষেবা হিসাবে সি ++ দেয়।
gbjbaanb

এটি উল্লেখ করা উচিত যে বেশিরভাগ ওয়েব অ্যাপ্লিকেশনগুলি ফ্রন্ট এন্ড সার্ভারের পিছনে থাকে এবং সিজিআই এর সাথে কথা বলে, যা পরিবেশ, স্টিডিন এবং স্টডআউট বা এফসিজিআইতে ডেটা পাস করে, যা এইচটিটিপি এর চেয়ে সকেট এবং কিছুটা সহজ প্রোটোকল ব্যবহার করে।
জান হুডেক

3

অন্য যে কোন ভাষার মতো ....

একটি টিসিপি সকেট খুলুন, পোস্ট বার্তা প্রেরণ এবং গ্রহণ করুন। তাদের পার্স করুন এবং সামগ্রীর উপর ভিত্তি করে স্টাফ করুন।

সি ++ ফ্রেমওয়ার্কে উদাহরণের জন্য কিউটি দেখুন যা কিছু বেসিক HTTP কার্যকারিতা সমর্থন করে।

সি ++ এর জন্য নিবেদিত ওয়েব ফ্রেমওয়ার্কও রয়েছে। বহু বা ব্যাপকভাবে ব্যবহৃত হয় না, এএফাইক। সম্ভবত কারণ আপনি যদি সি ++ এর মাধ্যমে ওয়েব করেন তবে আপনি যে কোনও উপায়ে খুব বিশেষায়িত কিছু করছেন এবং সবকিছুর উপর সম্পূর্ণ নিয়ন্ত্রণ চান।


আমার সম্ভবত এটি নিজের পক্ষে নির্ধারণ করা উচিত ছিল। আমি একমাত্র ওয়েব প্রোগ্রামিং করেছি জ্যাঙ্গোর মাধ্যমে, সুতরাং এটি সমস্ত বিমূর্ত ছিল।
পাগল বিজ্ঞান

আমি প্রকাশিত করেছি. জ্যাঙ্গো দুর্দান্ত, তবে আপনি এটি খনন করলে দেখতে পাবেন যে মূল অংশটি খুব জটিল নয়। এখন, সি ++ তে জাজানো সমতুল্য লেখা, একটি মজাদার চ্যালেঞ্জ। ;)
ম্যাক 6'12

@ ম্যাক ওয়েল আমার ধারণা সিপিপিসিএমএস একটি মজাদার চ্যালেঞ্জ, যদিও নিশ্চিত নয় sure সি ++ তে স্ট্যান্ডার্ড নেটওয়ার্কিংয়ের অভাব সাহায্য করে না তবে এর সাথে কাজ করার জন্য অনেকগুলি সমাধান রয়েছে। আমার ধারণা সি ++ এর মূল সমস্যাটি হ'ল বাস্তবায়নযোগ্য পুনরায় চালু না করে আপডেট করা শক্ত এবং এটি কখনও কখনও সংকলন করতেও এত দীর্ঘ। সিপিপিসিএমএস যদিও এটিতে সহায়তা করে।
ক্লাইম

বিটিডব্লিউ, একটি আধুনিক, ভাল অ্যাসিঙ্ক নেটওয়ার্কিং সি ++ লাইব্রেরির জন্য, আমি এএসআইও গ্রন্থাগারটি সুপারিশ করি, এটি দুর্দান্ত বুস্ট প্যাকেজের অংশ হিসাবে উপলব্ধ। আমি এতে কিছু সাধারণ টিসিপি / ইউডিপি ক্লায়েন্ট / সার্ভার অ্যাপ্লিকেশন লিখেছি এবং এটি বেশ সুন্দর।
ম্যাক 6'12

2

ক্লায়েন্টের দৃষ্টিকোণ থেকে, যদি আপনার কাছে সি / সি ++ প্রোগ্রাম থাকে এবং আপনি এটি লাইবকার্ল ব্যবহার করতে চান এমন ইন্টারনেটের সাথে কথা বলতে ব্যবহার করতে চান। এটি ডেটা প্রেরণ এবং গ্রহণের জন্য HTTP url এর সাথে সংযোগ স্থাপনের জন্য এটি বেশ মানক (এবং বিস্তৃত) লাইব্রেরি। আরও কয়েকটি গ্রন্থাগার রয়েছে - মাইক্রোসফ্টের কয়েকটি রয়েছে, বেশ কয়েকটি মুক্ত উত্স রয়েছে।

এখন এটি HTTP (বা এসএমটিপি, বা এফটিপি, বা গোফার, বা .. লাইবকার্ল খুব বিস্তৃত!) এর উপরের সরল পুরানো ইউআরএলগুলির জন্য যদি আপনি এসওএপি-র মাধ্যমে ওয়েব পরিষেবাদি ব্যবহার করার চেষ্টা করছেন তবে আপনি অন্য অনেকগুলি লাইব্রেরির মধ্যে যেমন ব্যবহার করতে পারেন যেমন gsoap।

সার্ভার সাইডের জন্য আপনার একটি ওয়েবসভার বা ফ্রেমওয়ার্ক দরকার যা আপনার সি ++ কোড প্রকাশ করে। আবার এটি করার অনেকগুলি উপায় রয়েছে - প্রারম্ভিক ওয়েব প্রোগ্রামগুলি সমস্ত সি / সি ++ ছিল, সিজিআই প্রোগ্রাম হিসাবে লিখিত ছিল যেখানে ওয়েবসারক আইপিসির একটি ফর্ম ব্যবহার করে আপনার অ্যাপটিকে কল করেছিল called তার পর থেকে, আমাদের কাছে ডাব্লুটি, কিউটি, সিপিসিএমএস, ফেফেইড এবং মাইক্রোসফ্টের সমস্তগুলি রয়েছে (আইএসএপিআই, এটিএল সার্ভার, এবং এখন ক্যাসাব্ল্যাঙ্কা)।

আমি মনে করি যে অন-ওন তাদের ওয়েব প্রগ্রেমিংয়ের জন্য সত্যিকার অর্থে সি ++ ব্যবহার করে কারণ অন্য ভাষাগুলি এই লাইব্রেরিতে প্রাক-প্যাকেজড রয়েছে। সি ++ (সর্বদা হিসাবে) আপনাকে ব্যবহারের জন্য একটি লাইব্রেরি খুঁজতে হবে, যখন পিএইচপি কেবল ওয়েবে যাওয়ার জন্য প্রস্তুত।


-4

ক্লায়েন্ট-সার্ভার আর্কিটেকচারটি এটি হতে দেয়।

সি ++ সার্ভারটি বিকাশের জন্য ব্যবহার করা যেতে পারে।

ক্লায়েন্ট পক্ষ থেকে, ওয়েব প্রযুক্তিগুলি সার্ভারের সাথে যোগাযোগের জন্য ব্যবহৃত হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.