1

Тема: PHP vs Pyton vs Ruby

Отже задача номер один. Почнем з простого.
Веб сервер з статичною сторінкою
PHP
1. Піднімаємо web server(Apache, nginx)
2. Прикручуємо туди PHP
3. index.php

<?
echo '<head><title>some title</title></head>';
echo '<body>some text</body>';
?>

2

Re: PHP vs Pyton vs Ruby

Для Pyton знайшов оце https://oinksoft.com/blog/view/3/
Чи це найлегший шлях? чи є легші?

3

Re: PHP vs Pyton vs Ruby

Те саме спроба на рубі

#!/usr/bin/ruby
require 'rubygems'
require 'socket'

webserver = TCPServer.new('127.0.0.1', 6789)

while (session = webserver.accept)
   session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n"
   request = session.gets
   session.print "<head><title>some title</title></head>"
   session.print "<body>some text</body>"
   session.close
 end

Ні Пайтон і Рубі не знаю, так що вибачаюсь якщо щось не то.

Подякували: leofun011

4 Востаннє редагувалося bunyk (14.03.2013 21:10:28)

Re: PHP vs Pyton vs Ruby

Можна використати вбудований http-сервер, не доведеться нічого зайвого ставити.

from wsgiref.simple_server import make_server

def web_app(environ, start_response):
    ''' Класичний WSGI application '''
    if environ['REQUEST_METHOD'] == 'GET':
        response_body = '''
<head><title>some title</title></head>
<body>some text</body>
        '''
        headers = [('Content-type', 'text/html'),
                   ('Content-Length', str(len(response_body)))]
        start_response('200 OK', headers)
        return [response_body]

    httpd = make_server("", 8080, web_app)
    httpd.serve_forever()

Хоча якщо ставити апач і настроїти CGI, то можна й просто

print '''HTTP/1.1 200/OK
Content-type:text/html

<head><title>some title</title></head>
<body>some text</body>
'''

5

Re: PHP vs Pyton vs Ruby

Наскільки я зрозумів це був Pyton?

6

Re: PHP vs Pyton vs Ruby

Vo_Vik написав:

Наскільки я зрозумів це був Pyton?

Я сподіваюсь що так, бо не тестував. :)

7

Re: PHP vs Pyton vs Ruby

Фактично все залежить від налаштувань сервера. так що я думаю тут функціонал подібний. Тільки в пітоні бачу що потрібно задавати хедери. Вірно?

8

Re: PHP vs Pyton vs Ruby

Python - універсальна мова програмування і не знає що ви пишете для веб, а не наприклад плагін для Blender, чи скрипт для якоїсь автоматизації в консолі. Тому заголовки не виводитиме, поки не попросять.

9

Re: PHP vs Pyton vs Ruby

funivan написав:

Фактично все залежить від налаштувань сервера. так що я думаю тут функціонал подібний. Тільки в пітоні бачу що потрібно задавати хедери. Вірно?

хедери має віддавати сервер)

10

Re: PHP vs Pyton vs Ruby

bunyk написав:

Хоча якщо ставити апач і настроїти CGI, то можна й просто

і там у відповіді ідуть хедери. мабуть bunyk не до кіцня розібрався.
Хто добре знає Python і рубі. Напишіть куски коду які є хорошим прикладом мови.

p.s. я покищо тільки по php можу щось написати ;)

11

Re: PHP vs Pyton vs Ruby

Наберіть в терміналі:

python -c 'import fractions; print open(fractions.__file__.replace(".pyc", ".py")).read()'

І воно надрукує вам хороший приклад мови.

12

Re: PHP vs Pyton vs Ruby

Мені довжини консолі не стало, треба в файл перенаправити)

Я так поняв, що якщо його правильно прикрутити до Апачу чи nginx, то воно html буде генерувати з такою ж легкістю як і php

13

Re: PHP vs Pyton vs Ruby

bunyk якась тема не серйозна починається. Я відкрив там 605 стрічок як на мене це занадто і 605 рядків коду ніяк не можуть характеризувати "хороший код" =) .

Якщо можна давайте дійсно розберемось по темі що є що, а не просто ось там є і все) Напишіть хтось приклад на пітоні, я напишу такий самий на PHP ще хтось напише на рубі і побачимо на якій мові красивіше, елегантніше і зрозуміліше =)

14

Re: PHP vs Pyton vs Ruby

Ок, я зрозумів. Не код який демонструє стиль загалом, а код який розв’язує практичні задачки. Сьогодні така попалась.

Є файл з будинками в такому форматі:

вул. Сергія Єфремова    1/2
вул. 100-Р.Червоного Хреста    1
вул. 100-Р.Червоного Хреста    2
вул. 100-Р.Червоного Хреста    3
вул. 100-Р.Червоного Хреста    2в
вул. 2000-Ліття Різдва Христового    4
вул. 24 Серпня    1

Треба його прочитати, будинки окремо, вулиці окремо. (Потім записати в дві таблички бази, але це вже задача з SQL).

15

Re: PHP vs Pyton vs Ruby

Щось я туплю, виявляється копіпаста з Gnumeric дає нам значення розділені табуляцією, а не пробілами як на перший погляд, тому задача простіша ніж я думав:

with open('buildings.txt') as f:
    for line in f:
        split = line.strip().split('\t') # Викинути зайве по краях і розділити через табуляцію.
        if len(split) == 2: # деякі рядки містять помилки
            building, street = split
            print(building, street)

:)

16

Re: PHP vs Pyton vs Ruby

3.4. В одній темі – одне питання. Не потрібно розміщювати декілька тем з однаковим питанням або в одній темі десяток запитань.

Давайте будемо створювати окрему тему під кожне питання, завдання, задачу і т.п. Так зручніше буде.

17

Re: PHP vs Pyton vs Ruby

Реплейс, створи будь-ласка розділ для "Holywarів", бо потім буде тяжко знайти теми.

18

Re: PHP vs Pyton vs Ruby

Не думаю що такий розділ потрібен :)
Алгоритми та структури даних, технології - чудово підходить для таких цілей.

19

Re: PHP vs Pyton vs Ruby

http://replace.org.ua/post/8527/
хто знає рубі напишіть =)
bunyk кинь вивід я докину в тему ;)
Replace можливо зроби дійсно гілку окрему  ;)

20

Re: PHP vs Pyton vs Ruby

Якщо буде тем 10 може й створю :) Думаю це тимчасово така активність :)