• Как может заработать чистый математик?

    alexfilus
    @alexfilus
    Senior backend developer
    Мат моделирование может очень неплохие деньги приносить. Например физических процессов. В авиа- корабле- и автостроении математики очень востребованы, так как искать оптимальную форму кузова, или рисунок протектора шины при помощи компьютерных расчётов в разы дешевле чем производить несколько вариантов на заводе и тестировать их в живую.
    У нас препод по теории упругости любил хвастаться что его бывший ученик сейчас работает в Германии, на заводе BMW и именно он придумал знаменитые конические пружины амортизаторов.
    Ответ написан
    Комментировать
  • Почему не так часто используют JS фреймворки?

    petermzg
    @petermzg
    Самый лучший программист
    По поводу Polymer:
    Не все браузеры в должной мере поддерживают используемые им технологии. И смысл писать сайт который не будет в некоторых браузерах отображаться.

    По Angular:
    80% этого фреймворка мне не нужны, а ради 20% тащить его в свой проект смысла нет.
    Ответ написан
    Комментировать
  • Почему не так часто используют JS фреймворки?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    очему так мало сайтов в рунете используют данные фреймворки?


    потому что это сайты. Потому что поисковики должны индексировать контент. Потому что это рунет. Потому что 90% разработчиков не достаточно квалифицированы что бы эффективно делать Single page Application-ы. Потому что 80% рунета сделано на wordpress/joomla/dle/etc. Ну как-то так.

    По поводу поисковиков и конверсии отдельно скажу. Если ваш сайт загружается несколько секунд - вы будете терять конверсию. Так же поисковики банально не умеют (с оговорками) индексировать динамические сайты.

    Для всего этого есть решение - серверсайд пререндеринг. Делают его обычно либо при помощи сторонних решений в клауде (что обходится обычному блогеру/интернет магазинчику не дешево или тупо много рисков), которые так же не всегда безболезненно юзаются, так и на сервере средствами node.js. Причем популярность этот подход начал набирать в 2013-ом году с появлением react и концепцией виртуального дома (использовали и раньше, тот же твиттер). Причем в том же react это все еще не самая тривиальная задача сделать все так что бы небыло боли. Пока лидером в плане безболезненной реализации является Angular2, которому помогает dependency injection и километры абстракций. Но только он еще не вышел даже в релиз (хотя все уже фигачат на бете). Ну и опять же на "шаред хостинге" это не взлетит (с оговорками опять же, я встречал те где это можно провернуть без боли).

    С каждым же годом количество SPA увеличивается. Со временем большая часть людей перейдут на похожие подходы. Опять же есть еще здравый смысл. Например пилить лэндинг на всяких там реактах или ангулярах или vue - это оверхэд. Тут и ванильного джаваскрипта хватит.
    Ответ написан
    2 комментария
  • Верстка в пикселях или процентах лучше?

    AndrewHaze
    @AndrewHaze
    Умею гуглить яндексом
    В пикселях вы указываете статичные размеры, в процентах относительные - вот и вся разница. В CSS3 еще и vw с vh
    появились :)
    Ответ написан
    Комментировать
  • Как добавить фиксированный относительно экрана элемент в Android?

    SolidlSnake
    @SolidlSnake
    Ваш дружелюбный сосед
    Как вариант, используя вертикальный LinearLayout как родителя, расположить два элемента в нем:
    *) Тело\контент, который имеет высоту в 0dp и вес (layout_weight) 1
    *) Ваш тулбар, фиксированной высоты.
    После этого он должен прижаться к нижней границе.
    Ответ написан
    2 комментария
  • Каким образом лучше всего генерировать представления из JSON для Android?

    Ewintory
    @Ewintory
    Java / Android developer
    Вот например. А вообще читайте про AdapterViews, и как их грамотно заполнять данными через адаптер.
    UPD: Как работает AdapterView
    Ответ написан
    4 комментария
  • Как найти записи соответствующие элементам массива не прибегая к циклу, и используя лямбда выражение?

    @mayorovp
    Используйте методы расширения Linq Where и Contains. Также для поиска элемента в массиве можно использовать метод IndexOf.
    Ответ написан
    Комментировать
  • Кто он, "полноценный фронтендер"?

    y0u
    @y0u
    dev
    Что обязательно должен знать:
    • HTML5, CSS3
    • JavaScript (jQuery)

    Что ещё:
    • Кроссбраузерная, валидная и адаптивная вёрстка.
    • Знать основные моменты работы в графических программах (Photoshop/Illustrator etc.)

    Всё остальное - это Ваше личное желание. Дизаном должен заниматься дизайнер, но какие-то основы, макет нарезать или что-то в этом роде, нужно знать. Так же и дизайнеру хотя бы малость понимать основы HTML/CSS.
    Ответ написан
    Комментировать
  • Почему в yii не удаляется модель через обычный пункт удалить?

    DevMan
    @DevMan
    Вам же написало ошибку: "Невозможно определить CSRF".
    Какие еще тут могут быть вопросы?

    Удаление данных методом GET - дурной тон.
    Ну и по теме www.yiiframework.com/doc/guide/1.1/ru/topics.secur...
    Ответ написан
    Комментировать
  • Зачем вы пошли в разработчики?

    @iliyaisd
    Мда, вспомнилось, как в 3 классе друг сказал, что хочет быть программистом, спросил, не хочу ли я тоже. Я в ужасе ответил: нет! Теперь я программист, а он ин яз окончил)
    В 9 классе пара друзей ходили на программирование. Показали мини-код на Паскале, который складывает два числа, и меня попёрло. Это власть! Ведь тогда я ещё не знал, что придётся пилить код сутками напролёт))
    Ответ написан
    Комментировать
  • Зачем вы пошли в разработчики?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    1)Мне купили комп.
    2)Нет.
    3)Нет.
    4)В результате военных действий к весне 2016 года на территории РФ останется живыми миллионов 50 человек. Не думаю, что повезет оказаться в их числе.
    5)Нет.
    Ответ написан
    2 комментария
  • Зачем вы пошли в разработчики?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    1) Так получилось. Оказалось, что самому программировать проще, чем объяснять алгоритмы другим.
    2) Вполне.
    3) Пусть выбирают что хотят. Хоть разработчиком, хоть ветеринаром, хоть пилотом истребителя. Лишь бы им нравилось.
    4) Совершенно неважно. Лишь бы можно было вдоволь заниматься интересными делами.
    5) Собираюсь, после технологической сингулярности. При первых возможностях аплоадинга пойду осваивать виртуальный мир.
    Ответ написан
    Комментировать
  • Зачем вы пошли в разработчики?

    kumaxim
    @kumaxim
    Web-программист
    Сейчас наше общество можно разделить на две категории:
    1.Тех, кто управляет машинами
    2.Тех, кем управляют машины

    Управляя машинами, я управляю обществом. Вопрос лишь в том, как "высоко" находится моя машина...
    Ответ написан
    3 комментария
  • Рефакторинг кода контроллера MVC модели?

    @anitspam
    Использовать модель?
    <?php
    //вывод запрашиваемой статьи из базы
        function getAction()
        {
            $fc=FrontController::get();
            $url=$fc->getParams();
            $model = new ArticleModel();
            $model->setParams($fc->getParams());
            $model->validate();
            $view=new View();
            //возваращаем запрашиваемую статью из базы в виде ассоциативного массива
            $view->content=$model->getContent();
            //выборка комментариев к статье
            $view->comments=$model->getComments();
            
            $view->title=$model->getTitle();
    ...
            
            $result=$view->render('../views/article.php');
            $fc->setBody($result);
        }
    

    ПС. Почему-то не включилась подсветка кода.
    Ответ написан
    3 комментария
  • Рефакторинг кода контроллера MVC модели?

    markoffko
    @markoffko
    Зачем принимать id статьи при добавлении комментария если статья уже выбирается и id есть в любом случае?
    Почему один экшен обрабатывает выбор статьи и добавление комментариев?
    Валидировать данные лучше в отдельном классе формы.
    Ответ написан
    4 комментария
  • Рефакторинг кода контроллера MVC модели?

    blo
    @blo
    инженер-программист
    Как один из вариантов
    <?php
    function getAction()
    {
        $fc   = FrontController::get();
        $url  = $fc->getParams();
        $view = new View();
        //возваращаем запрашиваемую статью из базы в виде ассоциативного массива
        $view->content = Articles::get()->getArticle((int)$url['id']);
        //выборка комментариев к статье
        $view->comments = Articles::get()->getComments((int)$url['id']);
    
        if ($_SERVER['REQUEST_METHOD'] != 'POST' || !isset($_POST['addcomment'])) {
            $view->comments == false ? $view->comments = 'Комментариев к статье еще нет!' : $view->comments;
    
            return _renderView($view);
        }
    
        if ($_SESSION['captcha'] != crypt($_POST['captcha'], 'x)p_q1')) {
            $view->comments = 'Вы ввели символы с картинки некорректно!';
    
            return _renderView($view);
        }
    
        if (empty($_POST['comment_txt']) || empty($_POST['name'])) {
            $view->comments = 'Поля не должны содержать пустых значений!';
    
            return _renderView($view);
        }
    
        if ($_POST['article_id'] != (int)$url['id']) {
            $view->comments = 'Вы пытаетесь вставить комментарий не в ту статью!';
    
            return _renderView($view);
        }
    
        $check = Articles::get()->checkComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
    
        if ($check != '0') {
            $view->comments = 'Данный комментарий уже добавлен!';
    
            return _renderView($view);
        }
    
        $view->comments = Articles::get()->addComment($_POST['article_id'], $_POST['comment_txt'], $_POST['name']);
        $view->comments ? $view->comments = 'Ваш комментарий успешно добавлен!' : $view->comments = 'Ошибка при вставке комментария!';
    
        return _renderView($view);
    }
    
    function _renderView($view)
    {
        $fc = FrontController::get();
    
        (empty($view->content['title'])) ? $view->title = 'Такой статьи нет' : $view->title = $view->content['title'];
        (empty($view->content['meta_key'])) ? $view->keywords = '' : $view->keywords = $view->content['meta_key'];
        (empty($view->content['meta_description'])) ? $view->description = '' : $view->description = $view->content['meta_description'];
    
        $result = $view->render('../views/article.php');
        $fc->setBody($result);
    }
    

    правда с дополнительным методом для удобства.
    Ответ написан
    1 комментарий