• PHP Development. Как осовременниться?

    @djay
    Композер - это всего лишь утилита, которая достаёт из чужого (или своего) репозитория какой-либо компонент. Затем:

    1) скачивает его
    2) ложит в папку с вендором
    3) автоматически регистрирует автолоадер (PSR-0/PSR-4)

    И делается это все одной командой. Можно конечно делать это всё вручную, но очень не удобно (а что если несколько библиотек / компонентов нужно подключить? - волокита и геморой). Причина популярности композера именно в этом. Например Laravel - он использует компоненты Symfony, следовательно при инсталляции он будет брать те самые компоненты с репозитория Симфони.

    Здесь главное уловить суть - это сведение подключения сторонних компонентов и библиотке к одной команде. И да, там всего лишь простых несколько команд для этого.

    Вдаватся в дополнительные подробности (например в синтаксис composer.json), здесь не имеет смысла, т.к это все есть на официальном сайте.
    Ответ написан
    7 комментариев
  • Объясните мне кто-нибудь, как вообще работать с фреймворками?

    Adamos
    @Adamos
    По-моему, правильное начало работы с фреймворками выглядит примерно так:
    - начинаешь работать с CMS, плюешься от того, как все через задницу
    - везде, где возможно, пишешь простые решения сам, игнорируя функционал CMS, потому что там кромешный оверхед
    - переходя к более комплексным задачам, начинаешь городить свои велосипеды для того, что требуется постоянно, начиная понимать, что типовые задачи примерно ложатся в одни и те же ходы и решения, а решение этих задач с прицелом на расширяемость, универсальность и безопасность требует достаточно сложных, но одних и тех же схем
    - начинаешь читать документацию по фреймворкам, где эти самые схемы воплощены без тех ошибок, которых ты нагородишь, пытаясь создать что-то свое
    - пользуешься тем фреймворком, который показался наиболее логичным и подходящим под задачи.
    Ответ написан
    Комментировать
  • Сложная валидация в Laravel?

    BbFlaMe
    @BbFlaMe
    Full stack web developer
    $rules = array(
        'url' => 'required|unique:products,url,{{$id}}',
    );

    public function validate($data, $id = null)
        {
            $rules = $this->rules;
            foreach($rules as $keys => $value) {
                $validations = explode('|', $value);
                foreach($validations as $key => $value) {
                    $validations[$key] = str_replace('{{$id}}', $id, $value);
                }
                $implode = implode("|", $validations);
                $rules[$keys] = $implode;
            }
            
            return \Validator::make($data, $rules);
        }
    Ответ написан
    1 комментарий
  • Стоит учить Django для Python 2 если учу Python 3?

    sim3x
    @sim3x
    Проблема в том что книги даже на англиском отстают на пару версий от текущей стабильной
    Так что забивай на переводы и переходи на документацию и SO

    Вцелом, глобальных различий мало
    Ответ написан
    Комментировать
  • Как передать значение в textarea?

    @DragorWW
    Front-end Developer
    $('.name').on('click.replayToComment',function(){
        var name = $(this).data('name');
        $('textarea').val(name);
    })

    <div class="name" data-name="Имя">Имя</div>
    <textarea></textarea>


    Вот на jQuery, код сами поправите как вам нужно, это же очень просто. Если нужно сохранять текст уже введеный там просто добавите логику вставки.
    Ответ написан
    Комментировать
  • Куда перейти геймдеву, чтобы начать получать деньги?

    @Elizavetta
    Matroid: gamedev/js-разработка
    1. Front-End (верстка + JS).
    + Легко устроиться
    - Неблагодарная, грязная и скучная работа


    Я тут уже устала писать, что frontend!== верстка. К сожалению, в последнее время у работодателей действительно тенденция совмещать интерфейсы, но в общем случае фронтендер - это не интерфейсщик.

    Если не любите php, зачем себя насиловать, нужно рассмотреть python/RoR/java.

    С опытом Unity стоит подумать о дальнейшем развитии в этом направлении, заказов хватает в данном направлении. Я думаю, эффективно будет заняться направлением unity + native (Android или iOS)
    Ответ написан
    Комментировать
  • Куда перейти геймдеву, чтобы начать получать деньги?

    besteto
    @besteto
    Release engineer at Zillion Whales
    Судя по основным сайтам поиска работы, спрос по Украине есть:
    hh.ua/search/vacancy?text=unity&area=5
    rabota.ua/jobsearch/vacancy_list?keywords=unity
    www.work.ua/jobs-unity
    , хотя там и требуется опыт, но ваши завершённые проекты - это весомо. Попробуйте откликнуться. Ещё вариант - прибиться к команде аутсорсной разработки, их по Украине достаточно (поспрашивайте в Unity-чатиках/сообществах).

    Далее, что именно вам нравится в геймдеве? По фразе
    Работал в среде Unity3d, писал на C#, делал дизайн всего UI и примитивные 3д модельки.

    можно предположить, что вам можно порекомендовать посмотреть на профессии UI/UX-дизайнера и 3D-моделлера. Программисты, безусловно, соль земли, но, возможно, в смежных областях вы быстрее найдёте работу. Так сделала я, когда почти не было опыта, но срочно нужна была работа - устроилась в большую IT-компанию на маленькую и скучную должность, параллельно училась, брала на себя всё более сложные обязанности.

    Ну и как выше написал Илья Андриенко , попробуйте фриланс. Тут вам открыты и небольшие Unity-проекты, и модельки + всё это можно попробовать продавать в Unity Asset Store.
    Ответ написан
    2 комментария
  • Куда перейти геймдеву, чтобы начать получать деньги?

    EvolMate
    @EvolMate
    Developer
    Фронтенд - это не и не столько верстка! JS восхитителен. Учитесь. В JS и геймдеву место будет и спрос.

    Ежели вам так не нравится фронтенд - вот вам путь PHP-шника. Не единственно верный, заметьте.

    - Почитайте www.phptherightway.com/.
    - Почитайте Зандстру. Не помешает.
    - Учите PSR - https://github.com/php-fig/fig-standards/tree/mast...
    - Учите Yii2, Symfony2 и Laravel.
    - Практикуйтесь. На фрилансе, что ли. С почасовой оплатой ищите. 7-8 евро это нормальная цена за час для начинающего.
    - Через полгода идите на собеседование в крупную компанию сразу мидлом. Скоро PHP7 выйдет, есть шанс, что через годик будут заходить проекты под него.

    Ай да, и зарплату сразу больше 600 баксов просите. 650 хотя бы :-D

    Там не всё так плохо как вам кажется. PHP не такое говно, как все (эти все - как правило некомпетентны и просто холиварят) говорят. Весьма и весьма "приятный ЯП".

    Оффтоп: боюсь, у вас в целом неверное представление о состоянии рынка. Вас консультировало какое-то днище. Все специалисты нужны. Если они хорошие специалисты. А если вам кажется что вас эксплуатируют - всегда можно сменить место работы. Или поговорить с начальством о прибавке - это, как правило, помогает.
    Ответ написан
    6 комментариев
  • Python/Django-кидди, SQL-мартышка, Web-негр — что перспективнее (Ага, «Pre-Junior»)?

    copist
    @copist
    Empower people to give
    Мне очень понравился твой вопрос. Это лучший вопрос новичка, который я видел на Тостере, я бы дал "Приз Года", честно, без сарказма. Ты уже сделал выбор, когда начал искать место, куда пристроиться. Мне кажется, у тебя получится пробиться дальше, даже если ты сейчас *нечаянно* выберешь не то место для старта.

    Просто никогда не забывай, чего же ты хочешь на самом деле, к какой технологии стремишься, какой язык интересен. Никто не помешает тебе на досуге изучить Лутца и Джангу, сваять пару десятков никому ненужных штук, а может быть и пару нужных.

    И меняй работу (ага) регулярно, скажем так через год-два. Не через месяц-три, а именно через год-два. Чем ты будешь заниматься эти два года - частично зависит от работодателя, а больше от тебя лично. А запись "2 года честно оттрубил от рассвета до заката" помогут тебе в будущем.

    P.S. В Краснодаре удалённо работает мой коллега по компании Icons8 - ничто не мешает ему жить в краю с тёплым климатом и получать хорошую зарплату. До этого мёрз на Дальнем Востоке.

    P.P.S. Кроме твоего вопроса меня также удивило то, кто именно тебе здесь отвечает. Сотрудники (бывшие?) тех организаций что ли здесь? Никогда с таким не сталкивался.
    Ответ написан
    1 комментарий
  • Существует ли книга для новичка, в которой показывают разработку реального проекта?

    @Kuzmichik
    Заправляю корабли и жду их возвращения...
    "Test-Driven Development with Python" by Harry Percival. С помощью TDD (разработка через тестирование) автор разрабатывает на Django веб-приложение To-Do lists (список дел).

    P.S. Harry Percival не имеет отношения к Гарри Поттеру.
    Ответ написан
    2 комментария
  • Какими средствами разрабатываются онлайн-опросники, как, например, typeform.com?

    copist
    @copist
    Empower people to give
    1. Очень импонируют онлайн-опросники вроде typeform.com, но хочется сделать похожее свое. Не совсем понимаю, какими средствами на backend и frontend это делается.

    Фронтенд typeform.com
    * underscore.js
    * jQuery
    * собирали и сжимали возможно через Gulp
    * CSS возможно скомпилирован их SCSS или LESS
    * CSS/JS фреймворков не вижу. Писали с нуля?

    Бакенд
    * ОС Ubuntu (по заголовкам ответа)
    * Apache 2.2 (по заголовкам ответа)
    * nginx 1.4.6 (по заголовкам ответа)
    * Язык программирования, возможно, PHP (по наличию куки PHPSESSID) но может быть что-то другое
    * Кэширование на уровне nginx и HTTP
    * Возможно кэширование в memcached/redis или иначе
    * Сжатие в gzip

    2. Где правильнее хранить полученные от опроса данные? Может имеет смысл сразу куда-то результаты отправлять (на мыло), а не хранить их?
    База данных реляционная (MySQL или PostgreSQL), но может быть смесь SQL + noSQL.
    На мыло можно посылать копию, но хранить где-то надо, чтобы посмотреть если мыло потеряется.

    3. Как это правильнее реализовать? ЦМС не нужна по сути?
    Я бы для такой одноразовой задачей вообще Google Forms воспользовался или вот же typeform.com

    На самом деле это проект включает просто уйму технологий.
    Вот их скрытое меню навигации: take.ms/sfRHZ (дурацкое скажу меню)
    Я только часть пометил стрелками. Эти стрелки выделяют части проекта, которые сделаны на разных технологиях или платформах.
    Есть какая-то система управления контентом (CMS) для публикации цен и других небольших страниц, а может быть это статические страницы.
    Блог на "тумблере" hellotypeform.tumblr.com
    Есть API для подключения сторонних сервисов + документация на API и консоль для тестирования docs.typeform.io/v0.3/page/sandbox написано на node.js + фреймфорк Express
    Есть какая-то внутренняя система биллинга, а платежи принимают через https://stripe.com/
    Подключена какая-то система работы с пользователями helpcenter.typeform.com (Zendesk?)

    Вот нашёл ещё информацию об их стеке технологий: stackshare.io/typeform
    Ого-го список!

    И ещё информацию о финансировании: https://www.crunchbase.com/organization/typeform
    Проект TYPEFORM.COM с 2012 года, в прошлом году получили $1.4 миллиона баксов и за это время они могли с любых костылей уже переписать всё с нуля.
    Ответ написан
    2 комментария
  • Стоит ли пробовать работать удаленно, не имея приличного опыта?

    Удаленка постоянка - это возможно. Невозможен фриланс на odesk.

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

    Сама работа построенна очень просто. Будут давать задания и регулярно делать код ревью. Тебе надо будет просто адекватно реагировать и быстро всему учиться, уметь общаться.

    В любом случае, несомненно, для этого надо уже уметь очень быстро и творчески соображать.

    Вообще я бы посоветовал тебе удаленно проходить разные хорошие курсы. Для того, чтобы получить опыт. Но это должны быть действительно - крутые курсы, нацеленные на это. Например, по rails - это thinknetica.com

    Удачи!

    upd:
    Еще должна быть для этого инженерная хватка. Те, чтобы ты умел взять и ... сотворить нечто, чего не было. Короче, про таких говорят - руки из нужного места растут.
    Ответ написан
    Комментировать
  • Как сделать удаление постов (flask)?

    @andreypaa
    Вот взял пример кода из своего проекта, не претендую на супер точность, но вроде все работает норм.
    Соответственно, некоторые вещи придется заменить, но в целом думаю понятно как сделать.

    @blueprint.route("/event/delete/<int:event_id>", methods=['GET'])
    @login_required
    def event_del(event_id):
        event = Event.query.filter_by(id=event_id, user_id=current_user.id).first()
        if event:
            event.delete()
            flash("Event is deleted", 'success')
        else:
            flash("Event can not deleted", 'error')
    
        return redirect(url_for('events_list'))
    Ответ написан
    1 комментарий
  • Как связать домен, nginx + uwsgi + django?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Удаляете все хосты из nginx:
    rm /etc/nginx/sites-enabled/*

    Добавляете хост в /etc/nginx/sites-available/<mydomain>:

    server {
        listen 80;
        server_name <mydomain>;
    
        location / {
            proxy_pass  http://localhost:8000;
            proxy_set_header    Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }


    Делаете симлинк на хост:
    ln -s /etc/nginx/sites-available/<mydomain> /etc/nginx/sites-enabled/


    Перезапускаете Nginx:
    /etc/init.d/nginx restart
    Ответ написан
    4 комментария
  • Что можно сделать на Tornado?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Для чего я использую tornado, точнее cyclone.io, порт tornado под twisted.

    - для системы miidleware ТВ-приставок. Приставка лезет за страничкой к серверу, а в остальное время общается с ним по json/REST/comet. Админка статистики этого дела работает на отдельном порту и содержит 10 страниц + json/comet/rest.
    - для системы доступа к кластеру с тонких клиентов, сервер отдает данные в json о доступных точках входа на сервера кластера и запоминает выбор пользователя. Всего 30 строк кода, Карл :-) С одной стороны сервер подключается в influxdb, с другой отдает данные пользователям.
    - для админок к разным устройствам
    - для вещей, когда просто нужен вебсервер и шаблоны, и не нужна база данных, ORM, и куча лишнего говна.
    - для вещей, когда web-интерфейс как небольшая часть остального функционала
    - для web, когда нужно быстро туда-сюда прогнать данные.

    Если посмотреть на отличия с django, то django умеют делать отличный фреймворк для web, а торнадо - отличный фреймворк для http!

    Дополнил
    А чего далеко ходить. Простая конфигурилка для линукса, интерфейсы, логин/пароль, просмотр и конфигурилка запущенных служб. Раньше я это делал на webmin, теперь cyclon + angularjs.

    А вот.. вот делаю дизайн html для битрикс (уж простите...). Как-то нужно смотреть html/css + картинки + javascript, причем, все с путями реального сайта - 10 минут и у меня всё готово. Ну не апач с nginx для этого разворачивать же?

    Ну и как-то была задача типа чата (для удаленных устройств), когда нужно было обеспечить около 10к подключений. Без танцев с бубном и минимум кода.

    В общем везде, где просто нужен быстрый и простой web-сервер с моторчиком из питона. Раньше я для этого использовал jetty (java) с моторчиком на яве соответственно. На питоне это проще в два/три раза только из-за того, что можно по ssh зайти и тупо поправить в коде без компиляции (maven) и среды разработки (eclipse).
    Ответ написан
    6 комментариев
  • Стоит ли пробовать работать удаленно, не имея приличного опыта?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Удаленка - привилегия опытных разработчиков. Без опыта вообще забудьте. Дела обстоят так, потому, что человека в своем офисе контролировать проще, можно походу разработки всегда видеть что происходит, а с удаленщиком всё по сложнее, требуется больше доверия.

    Так что на ближайшее 2-3 года забудьте и сосредоточьтесь на фрилансе и на поиске постоянной работы.
    Ответ написан
    8 комментариев
  • Работодатели - как вы высчитываете сроки? И что делаете если не успели?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    1. Опрашиваем сотрудников, на предмет времени, которое они затратят. Чем больше у человека опыта, и чем более понятное перед ним тех. задание, тем точнее будет оценка.
    2. Далее прикидываем, какие задачи могут быть выполнены параллельно и вычитаем эти часы из общей суммы.
    3. Прикидываем когда сотрудники освободятся (обычно когда приходит новый заказ, в работе еще находятся парочка старых). Добавляем эти часы к сроку.
    4. Накидываем сверху 20-30% времени, на непредвиденные обстоятельства.
    5. Указываем в договоре пеню за день просрочки.

    Всё, как то лучше защитится от несоблюдения сроков не выйдет. Разве что очень тщательно проверять своих людей и заранее отсеивать тех, кто постоянно не соблюдает сроки.
    Ответ написан
    Комментировать
  • Существует ли книга для новичка, в которой показывают разработку реального проекта?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Книга "Гибкая разработка веб-приложений на Rails 4" шаг за шагом проводит через весь процесс создания интернет-магазина.

    Туториал Хартла (русский перевод свежей версии) показывает создание клона Твиттера.

    Это из веб-проектов и конкретно на Ruby on Rails.
    Ответ написан
    1 комментарий
  • Как организовать проект на go?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Для зависимостей использую https://github.com/pote/gpm
    Локальные пакеты можно импортировать прямо из текущей директории (import "./mypackage")
    Ответ написан
    Комментировать
  • Как организовать проект на go?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как хранить зависимости?

    С зависимостями отлично справляется go get ./...
    Если нужны конкретные версии: http://gopkg.in

    В чем хранить сборочные скрипты? Makefile?

    Если сишные либы юзать не будешь хватит обычного go build. Если нет - Makefile

    Как разбить проект на подмодули (как я понял, текущая....

    Не используй относительные пути, вместо них подключай примерно так:
    import "github.com/index0h/my-project/sub/package"

    Читал, что рекомендуют сраз располагать приложение по пути...

    Лично я разрулил за счет символических ссылок в стиле:
    ln -s /path/to/my/project $GOPATH/src/github.com/index0h/my-project
    Ответ написан
    2 комментария