• Си или Go для приложения по обработке сетевого трафика до 1.5М пакетов/с?

    @CMHungry
    конечно, Си. Потому что придется всю обработку держать в kernel space, возможно, использовать DPDK. Переключения контекста kernel - user сожрут весь CPU на потоке 1.5 Мппс.

    А на других языках кернел-модули писать, вроде, не получается.
    Ответ написан
    Комментировать
  • Как провести операцию пересечения множеств (массивы) в golang?

    @lega
    Можно сделать map[string]int, и сделать по одному проходу для каждого массива где в каждой итерации будете увеличивать значение в map на 1 (где ключ = слово из массива).
    В итоге в map будут лежать ключи со значением 2 - это пересечения, а где 1 - наоборот "уникальные".
    Ответ написан
    3 комментария
  • Что за язык Go, и где его можно хостить?

    @Sintanial
    Почему все говорят что go как первый язык не подходит ?!

    По мне так очень даже подходит (я конечно не могу точно судить, потому что испробовал до него уже много языков), НО, есть много фактов из за которых стоит начать с него.

    1. Он очень прост для изучения, в отличии от того же js которые все советуют - но js не самый простой язык, по началу конечно да, он прост. Но когда начинаешь использовать замыкания и прототипы, у всех новичков да и не только начинаются проблемы и недопонимания. Про php и его кашу с версиями и стандартной либой вообще молчу. Java - это кромешный ад, от неё плеваться хочется, особенно от огромного кол-ва писанины :).
    2. Очень большая стандартная либа, поэтому по началу нет необходимости утопать в npm, maven, composer-ах всяких.
    3. Да, он компилируемый, да он со статической типизацией, но от этого есть и много плюсов, приучаешься работать с типами, меньше ошибок, компилятор сразу тебе говорит что так нельзя и почему + работаешь на низком уровне.
    4. В нём очень удобный ООП, отличный от классического :). Нет всяких ООПшных приблуд, которыми забита java, плюсы и к которому скоро придёт php. Из за этой "гадости" программист тонет в абстракции вместо того что бы решать конкретные проблемы ( сам таким был, сидел днями продумывал взаимодействия объектов, всякую абстракцию, наследования и т.д.), а go от этого отучает. Всё лаконично, коротко, и просто.
    5. Go приучает писать коротко, разделять систему на множества мелких методов, структур. В итоге всё это получается гибким, и ооочень читабельным :).
    6. Отличная система для работы с параллелизмом

    Короче лично я призываю к тому что бы учить go.
    Ответ написан
    1 комментарий
  • Что за язык Go, и где его можно хостить?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Хостить можно где угодно. Но чисто шаринг-хостинги полноценно не подойдут.
    1. на шаринг-хостингах почти никогда нельзя открыть порт для входящих соединений (веб-сервер на Golang уже не запустишь, точнее работать-то он будет, но порт не откроет)
    2. на шаринг-хостингах часто нельзя вызывать fork(), тобишь создавать процессы, что бы Golang самопроизвольно не падал - нужно в коде сознательно запретить вызов fork(), посмотрте описание библиотеки runtime
    3. на шаринг-хостингах Golang можно запустить как и любой другой бинарник, достаточно иметь доступ по консоли, возможность что-то запустить через cron или разрешённый вызов exec и его аналоги в PHP

    С другой стороны, стоимость отличного VPS с SSD на 22 гигабайта, полноценным ядром процессора и 512 мегабайтами оперативки стоит в DigitalOcean 5$...

    В качестве первого языка стоит посмотреть на школьную программу:
    1. Turbo/Borland Pascal
    2. Си/Си++
    3. Лого Миры
    4. Delphi
    5. Ничто не мешает в этот перечень добавить Golang, он отлично вписывается, ведь главные составляющие там есть.
    Плюс обучение программированию - это ещё и алгоритмы и подходы, а никак не фреймворки и hello world странички в интернете... Так что Yii, Drupal и прочие радости PHP мира тут явно не в тему.
    Ответ написан
    Комментировать
  • Что за язык Go, и где его можно хостить?

    shpaker
    @shpaker
    Вольный хлебопашец
    Мне всегда казалось что по нему холливаров просто тьма. Чего только стоит последний радио-т. Пишу не нём маленькие сервисы с web мордой для работы. Мне оч нравится. С детства испытываю недомогания при взгляде на пхп, теперь с радостью пишу на голанге.
    Ответ написан
    2 комментария
  • Как в golang запустить функцию в определённое время?

    @SilentFl
    можно обойтись стандартными средствами, через time.After. Пример
    Ответ написан
    Комментировать
  • Как настроить связку ubuntu+apache2+python?

    Andrbez
    @Andrbez
    Procrastination
    На примере Ubuntu 14.04 LTS, Python 3.4.0, Django 1.7.1 для машины разработчика.

    Устанавливаем Apache 2
    $ sudo apt-get install -y apache2

    Устанавливаем mod_wsgi для Python 3 (связка Apache 2 - Python 3)
    $ sudo apt-get install -y libapache2-mod-wsgi-py3

    Устанавливаем PIP для Python 3 (менеджер пакетов)
    $ sudo apt-get install -y python3-pip

    Устанавливаем Django
    $ sudo pip3 install django

    Создаем проект Django
    Создаем проект
    $ mkdir -p /home/user/site.ru/
    $ mkdir -p /home/user/site.ru/static/
    $ mkdir -p /home/user/site.ru/media/
    $ mkdir -p /home/user/site.ru/logs/
    $ cd /home/user/site.ru/
    $ django-admin.py startproject project


    Настраиваем Apache
    $ sudo nano /etc/apache2/sites-available/000-default.conf


    В нем пишем
    <VirtualHost *:80>
         ServerAdmin admin@site.ru
         ServerName site.ru
         ServerAlias www.site.ru
         ErrorLog /home/user/site.ru/logs/error.log
         CustomLog /home/user/site.ru/logs/access.log combined
         Alias /robots.txt /home/user/site.ru/static/robots.txt
         Alias /favicon.ico /home/user/user.ru/static/favicon.ico
         AliasMatch ^/([^/]*\.css) /home/user/site.ru/static/styles/$1
         Alias /media/ /home/user/site.ru/media/
         Alias /static/ /home/user/site.ru/static/
         <Directory /home/user/site.ru/static>
              Require all granted
         </Directory>
         <Directory /home/user/site.ru/media>
              Require all granted
         </Directory>
         WSGIScriptAlias / /home/user/site.ru/project/project/wsgi.py
         <Directory /home/user/site.ru/project/project>
             <Files wsgi.py>
                 Require all granted
             </Files>
         </Directory>
    </VirtualHost>


    Редактируем wsgi-файл проекта
    import os
    import sys
    sys.path.append('/home/user/site.ru/project/')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()


    Перезагружаем Apache
    $ sudo service apache2 reload

    Соответственно site.ru и user меняете на свои.

    UPD: Сейчас не вспомню: скорее всего для первого запуска потребуется создать суперпользователя Django.

    $ cd /home/user/site.ru/project
    $ python3 manage.py createsuperuser
    $ python3 manage.py migrate
    Ответ написан
    Комментировать
  • Как установить python 3.3 по умолчанию в ubuntu 13.10?

    Vintorez
    @Vintorez
    Чтобы установить python 3-ей версии по умолчанию в ubuntu есть 2 способа:

    1. добавляете вот такую строчку alias python=python3 в ваш ~/.bashrc или ~/.bash_aliases файл и обновляете сам файл source ~/.bashrc (этот вариант будет работать только для той учетной записи, под которой вы добавляете алиас ).

    2. выполнить sudo ln -sf python3 /usr/bin/python. эта команда обновит ссылку на питон в вашем /usr/bin каталоге (этот вариант будет работать для всех учетных записей).

    Естественно, оба варианта будут работать только если питон 3 уже установлен на машину :)

    Насчет sublime text 3 @brutal_lobster привел правильный конфиг. Единственное, что этот конфиг сработает, если в /usr/bin/ имеется файл python3.3. Если его там нет, путь нужно будет указать абсолютный. Например такой: "cmd": ["/usr/bin/python3", "-u", "$file"],
    Ответ написан
    2 комментария