2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Как послать другу программу на JavaScript?
Сообщение07.07.2018, 16:15 
Аватара пользователя


01/12/11

8634
Прошу прощения, но у меня снова идиотский вопрос по JavaScript.

Предположим, Вася написал какую-нибудь программу. Не имеет значения, какую именно. Игру какую-то, допустим. Или хотя бы вот это:

Используется синтаксис Javascript
var name = prompt("What's your name?");
console.log("Your name is: "+name);
 


Теперь этот Вася желает послать написанную им программу своему другу. Но друг не должен видеть код программы, он должен получить файл, открыв который он увидит окошко с надписью "What's your name?", напишет своё имя, нажмёт Enter и прочтёт: "Your name is: (своё имя)".

Как всё это осуществить технически? Или, говоря простым житейским языком, если Вася наконец-то научился чуть-чуть программировать и теперь доволен как слон после поноса, как ему разделить это удовольствие с окружающими?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:23 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Ktina в сообщении #1324986 писал(а):
Но друг не должен видеть код программы

Ktina в сообщении #1324986 писал(а):
Как всё это осуществить технически?

Никак. Только заставить его подписать (и соблюдать) лицензионное соглашение (впрочем, законы в некоторых странах явно разрешают "дизассемблирование" в отдельных случаях).

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:27 
Аватара пользователя


01/12/11

8634
Geen в сообщении #1324996 писал(а):
Никак. Только заставить его подписать (и соблюдать) лицензионное соглашение (впрочем, законы в некоторых странах явно разрешают "дизассемблирование" в отдельных случаях).

Тогда почему, когда я скачиваю из Интернета игру, я не вижу её код?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:33 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Ktina в сообщении #1324997 писал(а):
Geen в сообщении #1324996 писал(а):
Никак. Только заставить его подписать (и соблюдать) лицензионное соглашение (впрочем, законы в некоторых странах явно разрешают "дизассемблирование" в отдельных случаях).

Тогда почему, когда я скачиваю из Интернета игру, я не вижу её код?

Ну не знаю. У меня вот например, нет желания и/или лениво :mrgreen:

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:36 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Geen в сообщении #1324996 писал(а):
Никак.
Не совсем так. Кое-как можно, если очень хочется.

Ktina в сообщении #1324997 писал(а):
Тогда почему, когда я скачиваю из Интернета игру, я не вижу её код?
Зависит от того, какую игру и куда вы скачиваете. Многие онлайн-игры кроме клиентского кода имеют еще и серверный, который вы никуда не скачиваете. Javascipt-код в браузере вполне можно посмотреть, если знать, как.

Ktina в сообщении #1324986 писал(а):
Теперь этот Вася желает послать написанную им программу своему другу.
Javascipt выполняется в браузере. Чтобы послать другу, можно сделать веб-страницу и послать ссылку. А браузер обычно ничего не прячет.

Ktina в сообщении #1324986 писал(а):
Но друг не должен видеть код программы, он должен получить файл, открыв который он увидит окошко с надписью "What's your name?", напишет своё имя, нажмёт Enter и прочтёт: "Your name is: (своё имя)".
Возможно, вам нужен Node.js (гуглите). Объяснять, что это и зачем это, слишком долго. Если коротко - это возможность использовать Javascipt не только в браузере.
Кроме того, есть мягкий вариант - минификация Javascipt (тоже гуглите). Основное назначение минификации - сжатие кода, чтобы ускорить загрузку по сети. Бонусом идет то, что более-менее сложный код после минификации понять практически невозможно.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:37 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Единственный вариант спрятать код это разместить его на собственном сервере, а для взаимодействия с ним использовать очень тонкий клиент.
Но с JS этот вариант не работает, вообще говоря.

-- 07.07.2018, 17:41 --

rockclimber в сообщении #1325002 писал(а):
более-менее сложный код после минификации понять практически невозможно.

Более-менее сложный код можно понять только при очень большом желании и независимо от минификации/обфускации :D

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 17:42 
Заслуженный участник


20/08/14
11057
Россия, Москва
Ну если забыть о высококлассных хакерах, то чисто в принципе можно: создать iso образ с маленьким линуксом, который при загрузке запускает web сервер с единственной страничкой с желаемым js файлом. Все прочие инструменты отрубить, чтобы вот html страничка с js кодом и всё, никаких ни системных утилит, ни отладки в браузере. Получится типа презентации, только не ppt и не exe, а загрузочный образ.
Но это уже изврат.

-- 07.07.2018, 18:24 --

Не совсем по теме, но интересно: простой сайт можно уместить прямо в url ссылку.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 19:07 


21/05/16
4292
Аделаида
Ktina в сообщении #1324986 писал(а):
Как всё это осуществить технически?

Компилирование.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 19:43 


10/03/16
3855
Aeroport
kotenok gav в сообщении #1325017 писал(а):
Компилирование


Жаба-скрипта? 0__0

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение07.07.2018, 21:48 
Аватара пользователя


01/12/11

8634
Ну хорошо, а если потребность спрятать код не является столь жизненно важной, если просто хочется кому-нибудь показать в первую очередь именно работу программы, а не саму программу. Ведь когда мы скачиваем игру, мы, как правило, сразу начинаем в неё играть.

-- 07.07.2018, 22:22 --

Кажется, до меня дошло. Пишу в блокноте следующий код:
Используется синтаксис Javascript
<html>
 <body>
  <script type="text/javascript">
   
var name = prompt("What's your name?");
console.log("Your name is: "+name);

  </script>
 </body>
</html>
 

Затем сохраняю написанное в файле с расширением .html на рабочем столе.
И вот тут-то получается прямо по Жванецкому:
А включаешь - не работает!
:cry:

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение08.07.2018, 00:04 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Что-то это программирование методом тыка напоминает....

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение08.07.2018, 01:24 
Заслуженный участник


26/05/14
981
Общепринятый способ такой: сконфигурируйте HTTP сервер и разместите на нём вашу программу. Другу пошлите адрес сервера.
Чтобы это сработало вам нужен сервер и IP-адрес. Это довольно сложно, долго и не бесплатно.

Я сохранил ваш пример на диске и открыл его в браузере. Он работает. Вам надо попросить вашего друга открыть консоль чтобы увидеть результат. Или вы можете научиться выводить текст не в консоль, а прямо в тело документа. Например: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_prompt

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение08.07.2018, 15:28 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Ktina
Три вещи, которые нужно понять.
1. Что вообще происходит. Что вообще происходит между моментом, когда текст программы написан словами на экране, и моментом, когда пользователь окончательно удовлетворен результатами ее работы.
2. Что бывают языки общего назначения и специализированные (с достаточно узкой нишей применения). Тут, возможно, нет четкой границы, но тем не менее, изучить вопрос надо. Он, кстати, тесно связан с предыдущим.
3. Что нет такого слова "программа не работает". Выражение "программа не работает" означает "я блондинка (уборщица, бухгалтер, гендиректор), мне некогда заниматься этой ерундой, немедленно сделайте, чтобы все работало". Если вы программист, то это именно ваша задача сделать так, чтобы чтобы все заработало. Программа не работает? Отлично, вам есть, чем заняться! Начинайте.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение08.07.2018, 15:32 
Аватара пользователя


01/12/11

8634
rockclimber в сообщении #1325131 писал(а):
Что вообще происходит между моментом, когда текст программы написан словами на экране, и моментом, когда пользователь окончательно удовлетворен результатами ее работы.

Компиляция?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение08.07.2018, 15:37 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
И компиляция тоже, и выполнение, но кроме этих слов хорошо бы представлять в общих чертах, что за ними стоит. В связке с п. 2 там возможно очень много вариантов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group