• Какую CMS выбрать?

    @rsi
    software engineer
    Берите друпал, это без преувеличения самое лучшее решение что есть на рынке.
    - Wordpress имеет ужасную архитектуру и ничего хорошего в нем кроме популярности нет
    - Про Joomla ничего сказать не могу, знакомился поверхностно, архитектура вроде бы в порядке, но друпал имеет намного больше возможностей из коробки без всяких плагинов.
    - ModxRevolution Единственно преимущество этой cms простейшая интеграция готовой верстки в тему. По всему остальному Друпал в разы лучше нее. У создателя этой cms было какое то извращенное представление о cms, она имеет с одной стороны отличную архитектуру, с другой стороны у нее все излишне усложнено, даже в готовых плагинах зачастую разобраться сложнее чем написать самом нужное решение на фреймворке.

    У друпала же отличная шаблонизация, огромная расширяемость за счет плагинов, отличное API которое позволяет работать с ним почти как с фреймфоркром делеая все, что душе угодно без необходимости ломать мозг в дебрях внутренностей. Отличное комьюнити. Возможность создавать очень гибкие решения вообще без плагинов и программирования за счет views.
    Ответ написан
    Комментировать
  • Как лучше писать каркас сайта? Вставлять html-код в php-скрипт или наоборот php-скрипты в теги??

    @rsi
    software engineer
    Действительно, ваш вопрос очень поверхностный.
    Для начала вы должны понять, что ваше приложение (сайт) оперирует не только html и php, а логикой, отображением (шаблонами, страницами) и данными (пусть это будет база данных). Это конечно упрощенное описание, и все сложнее, но для вас сойдет.

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

    Что это означает на практике? Все ваши файлы должны быть разделены на три категории:
    1) Работа с данными (скорее всего это база данных)
    2) Логика (некие манипуляции с данными)
    3) Шаблоны (файлы где будет верстка)

    В первых двух категориях (данные, логика) у вас должно быть только php. В шаблонах вы уже используете в основном html и только в нужных местах используете php для вывода динамики.

    К примеру
    Файл работы с данными:
    //получили данные из базы
     $data = functionForDetDataFormDB();

    Файл логики:
    //К примеру нам потребовалось обрезать пробелы на концах строк взятых из базы
    array_map('trim', data);

    Файл шаблона:
    <body>
    ...
    <table>
    <?php foreach($data as $row):?>
    <tr>
    <td><?=$row['id']?></td>
    <td><?=$row['name']?></td>
    <td><?=$row['phone']?></td>
    </tr>
    <?php endforeach;?>
    </table>
    ...
    </body>


    Но следует понимать, что то что я описал это лишь простейший пример, вдля того что бы указать вам направление для дальнейшего развития. Все намного сложнее, так что учитесь, читайте книги, изучайте инструменты
    Ответ написан
    4 комментария
  • Проблемы с cap production deploy. Как решить?

    @rsi
    software engineer
    Во первых нужен конфиг. Без него сложно сказать, что не так пошло.
    Во вторых проверьте установлено ли у вас роль:
    set :stage, :production
    set :branch, 'master'
    set :deploy_to, '/srv/www/server.com/'
    role :all, %w{deploy@server.com}
    server 'server.com', user: 'deploy', roles: %w{web app}, my_property: :my_value
    fetch(:default_env).merge!(rails_env: :production)


    Здесь есть отличный мануал

    Еще можно попробовать выполнить
    cap production deploy:check
    Для проверки конфига
    Ответ написан
    1 комментарий
  • Ruby или Python или может Java?

    @rsi
    software engineer
    Выбирайте php.

    Это 6ой вопрос на эту тему за последние два дня, который только я здесь вижу! С таким умением находить нужную информацию боюсь вам нужно вообще с разработкой завязать!

    По делу дело не в языке, Php вполне подойдет. Не устраивает php пишите на руби, он сейчас менйстрим, не понравиться руби, пишите на питоне.

    Главное как писать, а не на чем!
    Ответ написан
    Комментировать
  • Актуален ли сейчас jQuery?

    @rsi
    software engineer
    Я так понимаю у ваc возник этот вопрос в свете большого количества дискуссий на тему AngularJs и других подобных фреймфорков.

    jQuery и AngularJs, это принципиально разные вещи и созданы они для разных целей, хотя область их применения и перекрывается, она не совпадает полностью. Очень часто возникает вопрос, что применение jQuery не оправдано в некоторых случаях, так вот применение Angular неоправданно в еще большем количестве случаев.

    В вашем случае нужно применять именно jQuery, оставив Angular и ему подобные для тех проектов где имеется очень много логики и данных именно на JS, в обычных сайтах как правило эти функции лежат на сервере.

    В любом случае, если вы хотите уметь не просто добавлять эффекты и готовые плагины на JS, но писать полноценные приложения, выбрать один из мощных фреймвороков и изучить его параллельно jQuery
    Ответ написан
    Комментировать
  • Какой язык/фреймворк выбрать для написания desktop-клиента сайта?

    @rsi
    software engineer
    Берите java, 100% кросплатформенно. Проще C++, куча удобных возможностей в ядре, сократит время разработки.

    Java профессиональна и серьезна, выбор серьезных компаний, не хипстеров.

    Создана для desctop и несет всю мощь для реализации настольных приложения в отличии от питон или руби.

    Java позволяет создавать отличный GUI из коробки.

    Jre установлено почти на всех ПК, если нет установить не проблема.

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

    @rsi
    software engineer
    Да боже мой, ваши муки выбора характерны для любой профессии. Серебряной пули нет, никто не спрогнозирует как выбор между пхп и питон изменит вашу жизнь. Нет такого, что выбрав пхп вы станете аутистом, а выбрав питон вы станете успешным. Программирование это не язык, язык всего лишь инструмент его можно менять.

    • Начните работать
    • Начните читать книги, статьи, следить за жизнью сообщеста
    • Делайте то что нравиться/приносит прибыль
    • Совершенствуйтесь
    • Работайте
    • Не бойтесь
    • Не ленитесь
    • Не задавайте глупых вопросов не проведя на тему самостоятельных изысканий

    Следуйте этим 8 пунктами и вы сможете купить виллу на карибах даже если выберете паскаль.
    Ответ написан
    Комментировать
  • Как работает sass?

    @rsi
    software engineer
    Про гугл вы лукавите, сам когда начинал, без проблем нашел необходимую информацию.

    Sass работает как вы и сказали, вы пишете Sass правила, компилятор превращает их в css файлы, то есть подключать к сайту Sass файлы не нужно, они только для вас, как для верстальщика.

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

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

    Сам я использую именно родной компилятор, то есть руби гем sass. Почему? Потому, что я использую в работе phpstorm и он умеет автоматически при изменении sass файлов генерировать css файлы и ему нужен именно руби гем.
    Ответ написан
    Комментировать
  • Куда двигаться в веб-разработке?

    @rsi
    software engineer
    Перво наперво определитесь, хотите ли вы стать профессионалом или просто хорошо делать сайты. Я бы предложил выбрать путь профессионала.

    Во вторых определитесь, каким именно профессионалом вы хотите стать:
    1. web - мастером
    2. Front end
    3. Back end
    4. Desktop
    5. Другого направления


    Как только вы определитесь с направлением, делайте основной упор на изучение тонкостей свойственных именного этого направления.

    Здесь вам советовали сменить язык, не слушайте этих советов. Да Ruby имеет некоторые преимущества перед php, но имеет и недостатки. Не думайте, что если вы выберите Ruby (python) ваша жизнь измениться, вы не получите ничего, что не может вам дать php и на оборот, эти увеличенные зп и прочее миф, язык не важен. Помните, ЯП это всего лишь инструмент, вы конечно должны иметь инструмент, и должны знать свой инструмент в совершенстве, но умение программировать заключается не в этом. Да, плотник алкоголик, который зарабатывает на жизнь забивая гвозди, может хвалить свой молоток и всем рассказать, что молоток его кормилец, но согласитесь настоящий строитель умеет не только гвозди мотком забивать, не говоря уже об архитекторе, который молоток и в руках мог вообще не держать.

    И так предположим, вы выбрали свой путь, вы выбрали направление и выбрали инструмент. Теперь вам нужно работать в этом направлении (как над собой, так и в буквальном смысле работать). Читайте статьи, читайте книги (я всегда рекомендую только одну книгу - "Совершенный код", ее без преувеличивания должен прочитать каждый программист), изучайте новые фреймворки, технологии, отрасль постоянно движется вперед, вам нужно двигаться вперед еще быстрее, что бы хотя бы не стоять на месте. В процессе работы над проектами вы будете чувствовать нехватку знаний (вы упоминали js, ООП), устраняйте эти пробелы книгами (не стоит бояться 900 страниц, книги вы ничем не замените, их необходимо читать), статьями и конечно практикой. Не переживайте по поводу отсутствия высшего образования, оно не дает глубокого знания, никто не расскажет вам ни каких трюков, если у вас не будет толкового преподавателя. Но толковый преподаватель, это не обязательно учитель в универе, это может быть автор книги (например Макконел), автор хорошего инструмента (например Taylor Otwell), большинство очень известных и авторитетных людей генерирует тонну информации, книги, статьи, записи в соц. сетях, код, все это можно читать и это даст вам куда больше чем ВО. И да, мы с вами живем в уникальное время, время интернета, где нет расстояний, и это дает намного больше возможностей, чем нагуглить очередной костыль для jquery от школьника, вы можете общаться лично например со Страуструпом или тем же Тейлором, ни в одном учебном заведении России у вас не будет возможности поговорить с такими людьми.

    Подведя итог:
    1. Определите путь (хотя бы примерно)
    2. Определите специализацию (хотя бы примерно)
    3. Выберите инструмент (один основной язык, один основной фреймоврк, одну основную cms и тд)
    4. Изучите свой инструмент в совершенстве
    5. Пробуйте другие инструменты (да я сказал один яп, один фреймворк, но один вы должны знать в совершенстве, остальные должны попробовать)
    6. Расширяйте кругозор
    7. Работайте над собой
    8. Работайте
    9. Выберите наставников и учитесь у них


    Следуя этим советам вы увеличите свой скилл, сможете сами отвечать на вопрос заданный в заголовке и станете профессионалом. И помните путь профессионала, это постоянная работа (как буквально работа, так и работа над собой, если просто писать сайты 24/7 вы тоже профессионалом не станете), гораздо больше чем 8 часов в день, 5 дней в неделю.
    Ответ написан
    Комментировать
  • Какую книгу порекомендуете для сдачи кандидатского минимума по английскому языку?

    @rsi
    software engineer
    Возьмите "совершенный код" не прогадаете
    Ответ написан
    Комментировать
  • Как передать переменную из js в php?

    @rsi
    software engineer
    А что именно вам не ясно, код отправки данных на сервер то верный.
    Ответ написан
    Комментировать
  • Почему в таблицу базы данных добавляются сразу 2 новых записи, а не одна?

    @rsi
    software engineer
    30 не срок, что бы вопросы создавать, откройте для себе xdebug, будет проще такие косяки искать. А вообще не ленитесь использовать фигурные скобки, тогда тоже будете замечать очевидные вещи.
    if (!$STH) return false;
           if (isset($params)) $STH->execute($params);
    else $STH->execute();


    Два раза execute вызываете
    Ответ написан
  • Почему событие jQuery .load срабатывает несколько раз подряд?

    @rsi
    software engineer
    Все очень просто, вы каждый раз нажимая на кнопку submit вызываете функцию send, которая в свою очередь каждый вызов вешает $('#frame').load.

    Это значит что при каждом клике на кнопку в создаете дополнительный обработчик load.

    Как вариант уничтожайте предыдущий обработчик перед тем как новый создать.
    Ответ написан
    4 комментария
  • Как вы (программисты) учились в ВУЗах?

    @rsi
    software engineer
    Отучился 5 лет, первый год парили всякие непрофильные предметы, остальные 4 года пошли как по маслу, немного подрабатывал, много бухал, совсем мало учился, ленты правда посещал почти 100%, поговорить с друзьями, книги почитать иногда и поспать. Учили нас плохо, в большинстве своем преподы знали меньше меня, хотя я тогда вообще ничего не знал, но на тех предметах где реально давали знания я слушал и мотал на ус. Ни к одному экзамену не готовился, закончил с красным дипломом. О учебе не капли не жалею, не столько потому что получил какие то особенные навыки по программирования (хотя и такие есть), столько потому что это были лучшие 5 лет в мой жизни.
    К слову сказать, у меня не раз спрашивали о моем дипломе, и на моей основной работе требовали диплом именно по IT специальности и на многих халтурах в моем городе если говорим лично всегда спрашивают профильное у меня образование или я повар самоучка. Так что не скажу, что диплом для меня какая то бесполезная картонка, не раз помогал, хотя конечно может это все случайности.
    Ответ написан
    Комментировать
  • Objective-C. Как вызвать метод из другого класса?

    @rsi
    software engineer
    habrahabr.ru/post/103221
    Если кратко то - className methodName и сделать импорт необходимого класса
    Ответ написан
  • Стоит ли перейти на linux

    @rsi
    software engineer
    Вы так спрашиваете, как будто для перехода нужно убить дракона и спасти принцессу. Забекапте данные и через 30 минут у вас будет linux на винте, а дальше уже сами поймете стоит оно того или нет. Если решите что не стоит, то достаточно отформатировать винт и поставить обратно винду востановив бекапы. Единственное, не рекомендую ставить две ОС рядом, так как вы будете часто переключаться в виндовс просто потому, что для какой то задачи lilux надо настраивать, а винда вот она, только нажми резет. И еще даже если вам изначально не понравиться, посидите месяцок на linux, что бы составить полную картину, ну если после месяца не понравиться, то велком обратно.
    Ответ написан
    Комментировать
  • Где найти статьи или книги по созданию простой галереи для IOS на русском?

    @rsi Автор вопроса
    software engineer
    На русском к сожалению я так и не нашел нужной информации, но нашел очень толковую статью на английском, она показывает как создать практически нужное мне приложение. Может кому пригодиться.
    Ответ написан
    Комментировать
  • Какие есть варианты работы c PSD для разработчика, кроме Photoshop'a?

    @rsi
    software engineer
    Не обязательно ломать фотошоп. У меня подписка на Adobe CC за 300р в месяц, в тариф включен только фотошоп. Думаю если вы квалифицированный разработчик приложений, то 300р в месяц за нужный вам инструмент это не дорого.
    Ответ написан
    Комментировать
  • В каких случаях стоит переписывать сайт с нуля?

    @rsi
    software engineer
    Не так давно делал правки на сайте с WP, там та же ситуация что и у вас, куча кастомизированных решений (плагинов, да и ядро пилили). Тоже делала куча кодеров.Что в итоге мы имеем:
    1) обновить нельзя ничего, так как нет гарантии что кастомный код не сломается, а найти его не просто
    2) Лезут проблемы с совместимостью (в основном это jQuery) старые плагины требуют старую версию библиотеки, новые требуют новую.
    3) Как разработчику мне действительно не удобно со всем этим работать.

    Но я не рекомендовал заказчику переписать все с 0, потому что:
    1) Рано или поздно ситуация повториться, и его новый проект обрастет кастомными правками.
    2) Легче переписать один новый плагин, что бы он работал со старыми библиотеками, чем весь проект.
    3) Зачем ломать то что работает.

    Я просто чинил все, что попадалось на глаза, непонятный код я комментировал или переписывал. В итоге я доволен, заказчик доволен, проекту лучше.
    Ответ написан
  • Как создать динамическую страницу на bitrix?

    @rsi
    software engineer
    Соберите мысли в кучу и спросите нормально, что конкретно надо, что делали, что не получилось
    Ответ написан