একক .exe ফাইলে আর স্ক্রিপ্টটি সংকলন করবেন?


87

ম্যাটল্যাব যেমন করে আমার Rস্ক্রিপ্টটি স্ট্যান্ডলোন .exeফাইলে সংকলন করার সহজ উপায় আছে কি?


15
খুব সংক্ষিপ্ত উত্তর: না। কখনও হয় নি।
ডার্ক এডেলবুয়েটেল

4
আসলে আমি এটিকে ঘৃণা করতে চাই তবে স্ক্রিপ্টগুলি এবং অ্যালগোরিদমকে গোপন রেখে, এই উদ্দেশ্যটি অর্জন করার জন্য সেই উপায়টি এনক্রিপ্ট করার কোনও উপায় বা অন্য কোনও উপায় আছে কি?
জয়েস

4
এ আলোচনা প্রচুর stackoverflow.com/questions/4707276/...
বেন Bolker

4
@ জয়েস, কোডটি আড়াল করার জন্য একটি স্ট্যান্ডার্ড সমাধান হ'ল একটি সার্ভারে অ্যাপ্লিকেশন বিতরণ করা। সুতরাং, আপনার ব্যবহারকারীরা সার্ভারের মাধ্যমে সংযোগ স্থাপন করবে। আপনি কেবল কোডটি আড়াল করতে সক্ষম হবেন না, তবে আপনার ব্যবহারকারীদের সর্বদা সর্বাধিক আপডেট হওয়া সংস্করণে অ্যাক্সেস থাকবে। তবে আপনাকে সার্ভার অবকাঠামো স্থাপন করতে হবে (একটি আর ক্লাউড সরবরাহকারী ব্যবহার করা সম্ভবত সেরা)।
ত্রিপরিটো

4
প্যাকেজ তৈরি করা সাধারণ কোড বিতরণে সহায়তা করবে। আমিও জাগতিক কাজগুলি / ক্রিয়াকলাপগুলির জন্য একটি এক্স তৈরি করার সন্ধান করছিলাম, যা বার বার পুনরাবৃত্তি করে। এবং কোডিং ব্যবহার করে না এমন কিছু / ইউআই ভিত্তিক অ্যাপ্লিকেশন পছন্দ করে না এমন কিছু লোকের সাথে একটি এক্সে শেয়ার করতে। দুর্ভাগ্যক্রমে এখনও উপায় খুঁজছেন।
bonCodigo

উত্তর:


28

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

এছাড়াও আমি আপনার মনোযোগ আকর্ষণ করতে চাই RGtk2 এর সাহায্যে আপনি RGtk2 ব্যবহার করে আপনার নিজের ইন্টারফেসটি আরে বিকাশের চেষ্টা করতে পারেন push একটি ইনস্টলারের মধ্যে নির্ভরতা এবং সেই থেকে অ্যাপ্লিকেশন তৈরি করে এবং এটি একক এক্স ফাইলের একটি মায়া তৈরি করে।

আপনার প্রশ্নে আপনি জিজ্ঞাসা করেছিলেন যে আর কোডের ব্যাখ্যা দিয়ে একটি পৃথক নির্বাহযোগ্য ফাইল বিকাশ করা সহজ কিনা easy আমি বলব না এটি সহজ। আপনার যদি কোনও অ্যাপ্লিকেশন থেকে আর কোড চালানোর প্রবল ইচ্ছা থাকে তবে আপনি জাভা বা আর.এনইটি- জন্য আরকলার ব্যবহার করে এটি সহজ পদ্ধতিতে করতে পারেন ।


4
আর এর সাথে নির্ধারিত ডেস্কটপ অ্যাপ্লিকেশনগুলির লিঙ্কযুক্ত নিবন্ধটি সত্যিই ভাল (পোর্টেবল অ্যাপস এবং চকচকে ব্যবহার করে!), থেক্স!
আর যোদা

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

জাভ্যাক্স.স্ক্রিপ্ট এপিআই জুড়ে আরকলার স্ক্রিপ্টিং ইঞ্জিন ব্যবহার করাও সম্ভব, দেখুন mhsatman.com/rcaller-3-0
jbytecode

11

আপনার মন্তব্যের জবাবে:

আসলে আমি এটিকে ঘৃণা করতে চাই তবে স্ক্রিপ্টগুলি এবং অ্যালগরিদমকে গোপন রেখে, এই উদ্দেশ্যটি অর্জন করার জন্য সেই উপায়টি এনক্রিপ্ট করার কোনও উপায় বা অন্য কোনও উপায় আছে কি?

আপনি (বাছাই) এর মাধ্যমে ফাংশনগুলি সংরক্ষণ করে এটি করতে পারেন save()। উদাহরণস্বরূপ, এখানে একটি ফাংশন f()যা আপনি গোপন রাখতে চান:

f <- function(x, y) {
  return(x + y)
}

এটি যেখানেই সংরক্ষণ করুন:

save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')

এবং আপনি যখন ফাংশনটি ব্যবহার করতে চান:

load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")

আমি আমার সমস্ত ফাংশন পৃথক ফাইলগুলিতে সংরক্ষণ করব, সেগুলি একটি ফোল্ডারে রেখেছি এবং একটি সাধারণ পুরানো রাখব R পুরো জিনিসটি জিপ করুন এবং যাকে এটি বিতরণ করুন। এমনকি এটি একটি প্যাকেজ মধ্যে সংকলন। কার্যকরভাবে পুরো জিনিসটি কেবল তখনই পঠনযোগ্য।

যদিও এই সমাধানটি এত দুর্দান্ত নয়। আপনি এখনও ফাংশনটির নাম টাইপ করে ফাংশনটি দেখতে পারেন যাতে এটি সেই অর্থে লুকানো থাকে না। আপনি যদি .rda ফাইলগুলি খুলেন তবে সেগুলির বিষয়বস্তুগুলি সমস্ত গার্ফড। আপনার কোডের প্রাপকরা আর এর সাথে কীভাবে অভিজ্ঞ তা নির্ভর করে all


এই পরামর্শের জন্য আপনাকে ধন্যবাদ, অন্যকে সরাসরি কোডগুলি দেখতে না দেওয়ার এক উপায় হতে পারে, আবারও ধন্যবাদ।
জয়স

4
আপনি টাইপ করার পরে এটি প্রদর্শিত হবে f
এমএপকে

4

petalsটিচিংডেমোস প্যাকেজে ফাংশনটিতে এনক্রিপ্ট করা কোডের একটি ফর্ম প্রয়োগ করা হয় ।

দ্রষ্টব্য যে এটি লুকানো কোডটি সন্ধানের জন্য কেবলমাত্র মধ্যবর্তী স্তরের প্রোগ্রামিং দক্ষতা নেবে, তবে এটি ইচ্ছাকৃত প্রচেষ্টা গ্রহণ করে এবং ব্যবহারকারী দুর্ঘটনাক্রমে কোডটি দেখে দাবি করতে সক্ষম হবে না। তারপরে কোনও উঁকি দেওয়া চুক্তি প্রয়োগ করার জন্য আপনাকে কিছু প্রকার লাইসেন্স চুক্তির প্রয়োজন হবে।


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

@ জয়েস, petalsফাংশনটি কোডটি গোপন করে না, কোডের একটি মূল অংশটি গোপন করার একটি উদাহরণ (কী কী অংশটি পড়তে পারেন?)। এনক্রিপ্টিং (ব্লিচিং) করার জন্য অন্যান্য সরঞ্জামগুলির প্রয়োজন। একটি সহজ পদ্ধতির উপর আলোচনা করা হয়েছে: stat.ethz.ch/pipermail/r-devel/2011- অক্টোবর/ 062236 . html । বাইট সংকলন পাশাপাশি সাহায্য করতে পারে, তবে আপনার সত্যিই কিছু ধরণের লাইসেন্স চুক্তি দরকার।
গ্রেগ স্নো

3

ঠিক আছে আপনি ডিপ্লোয়মেন্ট মেশিনে আর ইনস্টল করতে হবে। মৃত্যুদণ্ড কার্যকর করার ক্ষেত্রে, আমি নিশ্চিত যে এটি সম্ভব। তবে আপনি আর একটি প্রোগ্রাম তৈরি করতে পারেন যা আপনার আর স্ক্রিপ্টের জন্য আবেদন করে। আরবি একটি ব্যাখ্যামূলক ভাষা। এটা সম্ভব নয়.


4
আমাদের কাছে কোনও আর সংকলক সম্পর্কে কোনও সংবাদ আছে? আমি পাইথন ব্যবহার শুরু করেছি এবং এক্সপি ফাইলগুলি উত্পাদন করার সহজ উপায় রয়েছে (উদাহরণস্বরূপ পাইপেক্স এবং সিএক্স_ফ্রিজে)। শিগগিরই আর-তে এরকম কিছু দেখার কি কোনও সুযোগ আছে?
টনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.