PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (98): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец

> Найдено сообщений: 1459
ALEN Отправлено: 22 Сентября, 2011 - 20:12:20 • Тема: Три простенькие задачки на C++ • Форум: Программирование на C++

Ответов: 5
Просмотров: 4865
Kuroch
Хороший совет и ответ дал Champion. Заниматься азами времени нет, сильно много работы, а если действительно так нужно, то найдется 15 минут на прочтение пары страниц кода.

Kuroch пишет:
сами наверное понимаете что такое для программиста новый язык

Совершенно не понимаю, каждый уважаемый программист должен владеть хотя бы несколькими языками программирования и использовать их по задачам. Я не говорю про знания всех мелочей, но хотя бы знать азы и особенности необходимо. Почитайте статьи о том, как люди проходят собеседования на престижную работу в хорошую компанию - мало знать один язык.
Знания особенностей нескольких языков позволяют программисту даже мыслить совсем иначе.
ALEN Отправлено: 08 Августа, 2011 - 13:07:58 • Тема: IceCast + Ices + SAM Broadcaster • Форум: Администрирование *nix

Ответов: 1
Просмотров: 2052
Настроил все работает, но не совсем как нужно.
CODE (htmlphp):
скопировать код в буфер обмена
  1.     <mount>
  2.         <mount-name>/test</mount-name>
  3.         <password>hackme</password>
  4.         <fallback-mount>/testnonstop</fallback-mount>
  5.         <fallback-override>1</fallback-override>
  6.     </mount>
  7.  


test - работает от SAM Broadcaster
testnonstop - от ices

Проблема когда подключаю test, пользователей автоматически на него не возвращает, приходится ручками в проигрывателе отключатся и подключатся по новой, чтоб получить новый эффект. При отключении test, та же проблема, автоматом не перенаправляет на testnonstop - как это положено.

Проблема 2:
ices2 - отрубается после обработки первой песни в плей листе.
ALEN Отправлено: 11 Июля, 2011 - 19:25:57 • Тема: где можно скачать с++ • Форум: Программирование на C++

Ответов: 8
Просмотров: 4269
Егор Павлов
http://forum.php.su/topic.php?fo...m=84&topic=1 вот ту буду размещать ссылки на различные системы разработки. В данный момент это:
Visual Studio - Microsoft Visual Studio 2010 Ultimate - ISO
Если, что смогу немного проконсультировать по ней, где что находится и как пользоваться.
ALEN Отправлено: 11 Июля, 2011 - 12:51:47 • Тема: Наложение картинок • Форум: Вопросы новичков

Ответов: 2
Просмотров: 175
Чем не нравится:
http://forum.php.su/topic.php?fo...35&topic=736
ALEN Отправлено: 11 Июля, 2011 - 12:17:19 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
DlTA
1) Я не говорил, что нужно заменить PHP на другой язык, я упоминал, что для хорошей производительности необходимо использовать связки языков, технологий и т.д.
2) Разработка на С++ может занимать не больше кода чем использование PHP. Существует уже множество готовых наработок (библиотек) в С++ , которые делают программирование на С++ не сложнее и не больше чем на PHP - поэтому вывод о километрах сишного кода - это не правда. Следующий топик, который я опубликую, будет о взаимодействии С++ и MySQL - и все смогут удивится, что использование mysql в С++ за счет библиотеки mysql.h - такое же, как и в mysql - и вообще на этой части работы код будет отличатся с PHPшным в несколько строк.

Моя цель была, просто объяснить, что хороший программист не может упираться в знание одного лишь языка и для качественного решения задач необходимо использовать максимум возможностей и знаний, которые необходимо постоянно углублять и расширять.
ALEN Отправлено: 10 Июля, 2011 - 21:08:20 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
White пишет:
эти библиотеки в качестве модулей php

1) Можно написать и модуль
2) Но есть моменты, когда нет доступа к самому серверу, но есть возможность использовать CGI.
ALEN Отправлено: 10 Июля, 2011 - 16:51:04 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
Мелкий
Действительно это так, но не нужно забывать, что есть еще время затраченное на интерпретацию кода. В то время когда скомпилированный код сразу преобразуется в машинный и потому скорость работы выше.
Так же не буду спорить, что сравнительно недавно в PHP появилась возможность сразу интерпретировать код в машинный, но тем не менее С++ остается по факту более быстрым в частных решениях.
ALEN Отправлено: 10 Июля, 2011 - 14:31:37 • Тема: CGI - опасность для хостинга • Форум: Программирование на C++

Ответов: 0
Просмотров: 1518
Уже много раз упомянуто про плюсы CGI и о возможности создавать менее ресурсоемкие приложения нежели на PHP. Но существует некий минус.

Хоть хостеры зачастую запрещают выполнение таких функций, как exec, system и т.д. Но данный запрет распространяется только на выполнение на PHP, но ни каким образом не распространяется на другие языки например на С++.

Таким образом нужно не забывать про права доступа к файлам. Если у Вашего хостера включен CGI, то рекомендовано побеспокоится на тему прав доступа к файлам, исключить возможность создания файла в ваших файлах, путем использования файлов и папок с правами достаточными для злодеяний. Где нужно запретить любыми способами обращение ко всему кроме того, к чему можно. Например через .htaccess .

Как вариант можете проверить хостера следующим скриптом:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #include "iostream"
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.         cout<<"Content-type: text/html"<<endl<<endl;
  8.         cout<<"<html><body>"<<endl;
  9.         cout<<"system: " << system("ls / > file.txt");
  10.         cout<< "Read file.txt";
  11.         cout<<"</body></html>"<<endl;
  12.  
  13.         return 0;
  14. }


Будет создан файл file.txt с результатом работы команды ls.


Будьте бдительны и не забывайте о своей безопасности, иначе Ваши соседи по хостингу могут побеспокоится о Вас Улыбка
ALEN Отправлено: 10 Июля, 2011 - 14:22:29 • Тема: CGI noexec • Форум: Программирование на C++

Ответов: 0
Просмотров: 1264
Очень частой проблемой встречается невозможностью запустить скрипт С++ в CGI .
Данная проблема заключается в конфигурации серверов, в частности как правило монтирование раздела диска с отметкой noexec - что запрещает выполнение.

Хостеру в таком случае нужно перемонтировать диск без отметки noexec . Отмечу, не форматировать , а монтировать.
ALEN Отправлено: 10 Июля, 2011 - 14:17:59 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
White пишет:
в том что поток в процессе работы может получать новые данные и обрабатывать их(оставаясь в памяти), задача же выполняется над исходными данными один раз

Если такой подход, то поток может обеспечиваться только на стороне сервера. а не CGI. А С++ в данном случае может служить только инструментом для запуска этого потока.


White пишет:
вызванная один раз программа на c++ остается в памяти сервера, а не выгружается из нее после окончания обработки определенных данных, так как это делает любая php

Я не буду громко кричать но при изучении вопроса (не углубленно) я понял, что если мы запускаем параллельно множество запросов к программе, то они использую только один экземпляр библиотек и т.д. Другими словами посмотрите тему "Запуск нескольких экземпляров программы" - и как я понял (надеюсь правильно), то используемые библиотеки загружаеются единожды и используются всеми копиями программы.
Для лучшего усвоения запустить несколько копий одной игры и обратите внимание, что количество ресурсов затраченных на одну копию приложения не больше чем среднее значение потраченных ресурсов на большее количество программ.

ALEN пишет:
именно это я и хочу понять, в чем принципиальное отличие этих языков именно в веб-програмировании

C++ - не является шаблонизатором и на нем не так удобно делать вставки из того же html
PHP - идет как шаблонизатор и изначально задуман для создания web проектов.

Преимущество С++ перед PHP есть только при создании приложений требующих большую нагрузку на сервер. В простых сайтах не вижу смысла использования С++ вместо PHP.
ALEN Отправлено: 10 Июля, 2011 - 10:19:27 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
White
1) Что такое многозадачность? Многопоточность - это способность параллельно запускать несколько задач. Все упирается в большей степени в права запуска в CGI. Я не уверен, что вышеупомянутые функции можно запускать из под CGI - в будущем проведу эксперименты и если все выйдет, тогда опубликую отдельный топик.

2) ПО поводу чата, да действительно это более серьезный обработчик, поэтому использования С++ будет более уместно нежели PHP, попробую объяснить на пальцах.
При работе PHP:
При написании топика или проверки новых сообщений, PHP каждый раз загружает и интерпретирует все используемые библиотеки, классы, функции и т.д. Таким образом одни и теже элементы одновременно в системе занимают несколько пространств.
При использовании C++
Все библиотеки и т.д. остаются в памяти один раз, что дает возможность обращаться к ним быстрее чем из диска + код уже компилирован и не нуждается в обработке и интерпретации.

3) Если код большой, то первая компиляция проходит с небольшой задержкой. Дальше если просто править сам код и не добавлять библиотеки компиляция проходит значительно быстрей и ее бывает даже не замечаешь, т.е. выходит, что я жму Ctrl+F5 вместо Ctrl+S ,но весь плюс работы на C++ - его не скомпилируешь с ошибками, php ты заливаешь и уже по ходу дела находишь и исправляешь ошибки.
Итого при хорошем знании обеих языков время создания одного и того же приложения будет не сильно отличатся.

Еще раз хочу отметить, что идеальное решение это использовать связки языков, а не заменять PHP на тот же C++ .
ALEN Отправлено: 09 Июля, 2011 - 23:03:15 • Тема: Раздел С++ • Форум: Колонка администратора

Ответов: 15
Просмотров: 6051
DeepVarvar
Создал пару топиков в разделе, вступительных, почитай тогда поймешь почему выдвигаю идею в частности прочти C++ в сайтростроении - если мои "писательские"- авторские способности не равны нулю, то должно было стать ясным, что знание даже хотя бы С++ очень даже нужны при создании серьезных проектов.
ALEN Отправлено: 09 Июля, 2011 - 22:44:30 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
White
1) Если имелось в виду многопоточность, то в С++ она существует, я правда еще не задавался такой целью, но думаю в будущем решу вопрос и поведаю, что вышло. А вообще читал, что используется:
WIN - CreateThread и _beginthread(ex)
*nix - _beginthread(ex)
Но все это используется в визуальных приложениях точно, а вот под консолью (CGI) - я не уверен, потом попробую найти какую-то информацию (самому стало интересно).

2) Весь вопрос в том, какая цель и задача стоит перед разработчиком. Если мы пишем чат и каждую секунду к одним и тем же библиотекам и т.д. обращаются пользователи, то естественно С++ при правильном подходе даст желаемый результат, в отличии к примеру от PHP. Если у нас "цель" - простой сайт визитка с небольшой нагрузкой, то не вижу смысла использовать, что-то кроме PHP - под которым построить будет быстрее и удобней приложение.

3) Действительно код выходит закрытым в отличии даже от PERL. Я не слышал про компиляцию с помощью CGI. Да и сомневаюсь, что правильно весь проект засовывать в один cgi файл - лучше разбить модульно на части, что и облегчит разработку и в дальнейшем будут независимые модули, которые легче будет заменять и усовершенствовать чем целую программу сразу. Например система голосования в один файл, учет посещений в другой и т.д. - по времени вряд ли будет настолько огромный код, что будет "напрягать" при компиляции.
ALEN Отправлено: 09 Июля, 2011 - 21:35:22 • Тема: C++ в сайтростроении • Форум: Программирование на C++

Ответов: 15
Просмотров: 11594
Я не буду рассказывать значимость знаний С++ языка в настоящее время, а просто хочу сразу перейти к вопросу, чем хорош или плох в использовании С++ при создании интернет проектов. В основном буду прибегать в сравнении с PHP языком, который является основным лидером среди используемых языков в создании сайтов.

Решил начать с минусов:
1) Код необходимо компилировать для работы, в отличии от PHP. Данный минус не позволяет быстро править код программы.
2) C++ изначально не является шаблонизатором
3) Код программы занимает значительно больше места, чем аналогичная программа на PHP (Не всегда, но часто)
4) Генерация страницы иногда происходит дольше чем генерация страницы на PHP.

Плюсы:
1) Несмотря на то, что требуется компилировать код программы - это позволяет несколько обезопасить себя от внедрения вредоносных участков кода со стороны злоумышленниками.
2) -
3) -
4) Если ваш язык программирования интерпретатор(PHP) или компилятор для загрузки, каждый раз он выполняет соответственно компиляцию или интерпретацию кода, то при обращении к коду процедура будет занимать определенные ресурсы и время каждый раз. А при использовании С++ все накладные расходы на обработку, библиотеки и т.д. система может сохранять в кэш памяти, что значительно сократит нагрузку на ресурсы и скорость работы сценария.

Это основные моменты которые смог сразу для себя определить.

Хочу сделать небольшие выводы и рассказать, как я вообще пришел к использованию С++ в интернет проектах.


Совсем недавно ко мне обратились с просьбой создания хорошего и интересного проекта, который сможет выдерживать значительные нагрузки и легко справляться с ними. За помощью я обратился к братьям по цеху, которые занимаются разработкой в одних из крупных проектов. После длительных диалогов, тестов и фактов, я на личном опыте убедился, что хороший проект не может быть написан с использованием одного языка. Приходится учитывать многие особенности каждого языка, его плюсы и минусы. Выбирать для каждого модуля (части целой программы) отдельную технологию, которая может максимально подходить для реализации задачи. Таким образом я пришел к изучению С++ . Раньше даже смотрел примеры с написанием визуальных-прикладных программ написанных на PHP, но всему свое место.

Выводы:
- Если у вас простой сайт и он не требует больших нагрузок, то можно обойтись только PHP - тем более, что он специально разрабатывался для этих целей.
- Но не нужно забывать про другие языки программирования, таких как С++, C, PERL, Python, .NET и другие. С++ можно активно применять в создании: голосований, учетов различной статистики, чатах и других частях программ, которые требует частых обращений и могут значительно нагружать систему.

P.S. C++ выбрал за популярность, широту применения.

P.P.S. Думаю я более менее смог хоть на малую долю объяснить, что в web программировании языки отличные от PHP - не настолько бесполезны по сравнению с PHP. Буду рад, если кто поможет дополнить рассказ со своей колокольни.


Если кто еще не знает, что такое С++ или CGI :
CGI
C++

Хорошая статья: CGI для программиста

Полезные библиотеки для работы с CGI в С++:
http://www[dot]boutell[dot]com/cgic/ - тут еще много полезных библиотек, которые точно понадобятся, например GD - использование аналогично PHP.
http://eekim[dot]com/software/cgihtml/
(думаю есть еще аналоги, но такие вещи значительно облегчат работу)
ALEN Отправлено: 09 Июля, 2011 - 16:58:28 • Тема: CGI - Создание С++ программы для WEB • Форум: Программирование на C++

Ответов: 0
Просмотров: 2291
Итак напишем простенькую программу для CGI - которая сможет выводить нам глобальные переменные.

Создаем простой проект Win32 Console Application:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. #include <windows.h>
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.         char szName[1024];
  10.         cout<<"Content-Type: text/html\n\n";
  11.         cout<<"<HTML><HEAD><TITLE>С++ CGI</TITLE></HEAD>\n";
  12.         cout<<"<body bgcolor='black' text='#F2F2F2' link='#FF9900' vlink='#FF9900' alink='#FF9900'>\n";
  13.         cout<<"<meta http-equiv='content-type' content='text/html; charset=windows-1251'>\n";
  14.         cout<<"<p style='line-height:100%; margin-left:10%;' align='center'><span style='font-size:14pt;'>Cgi-скрипт на С++.</span></p>\n";
  15.         char comment[256];  
  16.         if(GetEnvironmentVariable("QUERY_STRING",comment,256))
  17.         {cout<<"<p style='line-height:100%; margin-left:10%;'>Вы ввели: "<<comment<<"</p>\n";}
  18.         cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#FF9933'>Данные о клиенте:</font></p>\n";
  19.         if(GetEnvironmentVariable("HTTP_USER_AGENT",szName,1024))
  20.         {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_USER_AGENT: </font>"<<szName<<"</p>\n";}
  21.         if(GetEnvironmentVariable("HTTP_ACCEPT",szName,1024))
  22.         {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_ACCEPT: </font>"<<szName<<"</p>\n";}
  23.         cout<<"</BODY></HTML>\n";
  24.         return 0;
  25. }


После чего компилируем его Ctrl+F5 и получившийся exe файл переименовываем в cgi, например вышел у нас после компиляции web.exe - переименуем его в web.cgi и поместим в директорию на сервере от куда возможен запуск CGI скриптов - после чего запустим и увидим работу скрипта.


Цитата:
Получает переменную окружения по имени:
DWORD GetEnvironmentVariable
(
LPCTSTR lpName, // имя переменной
LPTSTR lpBuffer, // буфер для полученных результатов
DWORD nSize // размер буфера
);

Страниц (98): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB