• В чем отличие процедурного от функционального программирования?

    rockon404
    @rockon404
    Frontend Developer
    Пример в контексте JavaScript:

    Процедурный стиль:
    const array = ['first', 'second'];
    
    let output;
    
    function allOdd(words) {
      let result = true;
    
      for (let i = 0; i < words.length; ++i) {
        const len = words[i].length;
    
        if (len % 2 !== 0) {
          result = false;
          break;
        }
      }
    
      return result;
    }
    
    output = allOdd(array);
    
    alert(output);

    Функциональный стиль:
    function length(string) {
      return prop('length', string);
    }
    
    function odd(number) {
      return equals(modulus(number, 2), 0); 
    }
    
    function allOdd(...words) {
      return every(compose(odd, length), words);
    }
    
    alert(allOdd('first', 'second'));

    Реализации prop, modulus, equals, every и compose оставлены за кадром. Думаю, из их названия легко понять какой результат они возвращают.
    Ответ написан
    3 комментария
  • Почему не могу найти работу Junior'ом C#?

    @kttotto
    пофиг на чем писать
    Это не резюме, это набор слов, ничем Вас не выделяет из общей массы и даже делает низовым в списке общей массы.

    1. Такой кучи тегов даже у меня нет)) Если Вы знаете названия технологий, не говорит о том, что Вы знаете сами технологии. С Вашим опытом никто не поверит, что Вы имели реальный опыт со всем этим, а не просто hello world написали. Выберите те, в которых по Вашему мнению Вы лучше всего разбираетесь.

    2.
    Отличное знание WinForms, ASP.NET, LINQ и WPF. Паттерны: MVVM, MVP, Repository, IoC.

    Для третьекурсника звучит самонадеяно. При такой формулировке на техническом собеседовании будут проверять "отличное" знание и я почти уверен, что Вы его провалите. Лучше сказать что-то подобие: имел опыт работы с, для реализации использовал технологии, имею <начальные> навыки работы с и т.д.

    3.
    Занимался исправлением мелких багов, написанием небольших SQL-запросов и unit-тестов, решал небольшие задачи.

    Этим занимаются все разработчики, даже мидлы с сеньорами. Из Вашей фразы не понятно, какого уровня проект, какой стек, какие конкретно задачи Вы решали, как успешно Вы их решали. Работодателю нужно понимать Ваш реальный опыт и Ваши реальные возможности, а не нечто эфемерное "решал небольшие задачи".

    4.
    Если вспомнить css и html

    Вот такое никогда не пишите. Лучше соврать или преувеличить, или даже написать "Отличное знание", но не так как Вы здесь сформулировали.

    5. Не нужно оставлять ссылки на каждый проект в репозитории. Либо один, самый интересный на Ваш взгялд, либо одна ссылка на сам репозиторий. Работодатель пойдет туда только, если Вы заинтересуете его, не раньше. И ему пары файлов хватит оценить ваш уровень. Он не будет делать ревью всех Ваших проектов.

    6. Опыта одного проекта мало. Где опенсерс проекты, где участия в хакатонах, где амбиции стартапов, посещение конференций? Работодатель хочет понимать как Вы заинтересованы развиваться, какие у Вас планы для дальнейшего роста. Он берет вас нулевым не из альтруистических побуждений, а с надеждой, что Вы быстро вырастите и вернете ему прибылью затраченное на Вас время. Из Вашего резюме видно только одно: я студент - дайте работу. А почему Вам, за какие такие заслуги и что с этого будет иметь работодатель - не понятно.

    7. Я посмотрел Ваш код. Я бы не хотел, чтобы так писали у меня в проекте, начиная от именований и заканчивая некоторой логикой. Вас надо очень осторожно подпускать к реальным задачам и контролить, что Вы там напишете, просто чувствуется маленький опыт и до "отличных знаний" там далеко.

    В общем, вывод. Пока у Вас за плечами нет списка реальных проектов, чтобы Вас пригласили, надо себя выпячивать, хвастаться достижениями, демонстрировать амбиции, свою уникальность. Нужно убеждать работодателя, что Вы именно тот, кто ему нужен. В резюме этого нет. Когда у Вас будет пяток законченных проектов, будет наоборот, работодатель будет за Вами бегать и убеждать, что Вам у него будет лучше всего. И на hh студентов практикантов не ищут, поэтому только Вы должны делать отклики на вакансии, обязательно с сопроводительным письмом, в котором парой фраз Вы сможете заинтересовать работодателя.
    Ответ написан
    Комментировать
  • Какие есть программы для учёта времени работы удалённого программиста?

    @hatman
    Работаю в компании, где порядка 50 сотрудников удаленщики. Учет времени идет по Jira - время ставит сам программист. Учет идет так:

    Приходит готовая таска
    Идет код ревью
    Ревьювер чекает адекватность оценки времени
    Если есть вопросы, то уточняется, в чем была сложность

    За 3 года уволили только одного разраба, который "попал в пустыню печали и скорби", и просто две недели ничего не делал.
    __

    Лучше иметь одного лида(сеньора), который будет чекать адекватность оценок времени и принимаь задачи, нежели устраивать себе дрочильни со скринкастами, тайп-таймерами и прочее (на проверку всего этого тоже ведь время надо тратить). Вам же надо, чтобы задачи были сделаны, а не измерить то, сколько программист работал, сколько обедал, сколько фоточки тян смотрел, а сколько посрать ходил.
    Ответ написан
    Комментировать
  • Как демонстрировать вёрстку заказчику?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Показывайте билд версию, где все минимизировано/склеено/изуродованно с тестовыми картинками и текстом например. Я бы посмотрел как кто-то стал бы такое воровать и пытаться модифицировать под себя :)
    Ответ написан
    Комментировать
  • Возможно ли купить исходники софта на codecanyon.net, немного дополнить и использовать в коммерческих целях?

    Возможно ли купить исходники любой программы представленной на codecanyon.net с изначально такой лицензией, что бы было возможно немного дополнить софт и получать коммерческую выгоду? (изъяснился "криво", но знатоки поймут)

    На первый взгляд, то для Ваших нужд необходима их Extended license. Можно модифицировать, использовать в коммерческих целях, но там License-per-product. Надо смотреть более подробно.

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

    Нет, далеко не любой софт, даже если он с открытым кодом, вы можете модифицировать, использовать для получения выгоды и т.д. Эти вопросы прописываются в лицензии под которой распространяется ПО.
    Чтобы облегчить (да и обезопасить) нашу с вами жизнь имеется целый набор лицензий для свободного ПО (GNU GPL, Apache, MIT и т.д). Хотя всегда есть возможность распространять и под своей собственной лицензией с "мелким шрифтом и откатами".

    Где вообще можно почитать информацию про использование чужого кода в коммерческих целях?

    Various Licenses and Comments about Them
    TLDRLegal
    Choose a license
    Википедия
    Ответ написан
    Комментировать
  • Как грамотно составить договор о передаче дизайне и при этом оставить за собой право на размещение дизайна в портфолио?

    Jump
    @Jump
    Системный администратор со стажем.
    Ну вот так в этом договоре и напишите - что оставляете за собой право размещать данный дизайн в портфолио.
    Ответ написан
    1 комментарий
  • ArrayIterator - что такое и зачем нужен?

    mhthnz
    @mhthnz
    PHP, YII2, Golang, Linux
    Любой объект можно представить в виде массива, элементами в нем будут публичные свойства.
    Мы можем обращаться к объекту как к массиву.
    <?php
    class a {
        public $a = 1;
        public $b = 2;
    }
    $obj = new a();
    foreach ($obj as $value) {
        echo $value.'|';
    }
    //1|2
    ?>

    Итераторы позволяют подсунуть вместо свойств объекта, свой массив и проводить итерации по нему. Тут уже мы итерируем приватное свойство класса, которое представляет из себя массив.
    <?php
    class MyIterator implements Iterator
    {
        private $var = array();
    
        public function __construct($array)
        {
            if (is_array($array)) {
                $this->var = $array;
            }
        }
    
        public function rewind()
        {
            echo "перемотка в начало\n";
            reset($this->var);
        }
      
        public function current()
        {
            $var = current($this->var);
            echo "текущий: $var\n";
            return $var;
        }
      
        public function key() 
        {
            $var = key($this->var);
            echo "ключ: $var\n";
            return $var;
        }
      
        public function next() 
        {
            $var = next($this->var);
            echo "следующий: $var\n";
            return $var;
        }
      
        public function valid()
        {
            $key = key($this->var);
            $var = ($key !== NULL && $key !== FALSE);
            echo "верный: $var\n";
            return $var;
        }
    
    }
    
    $values = array(1,2,3);
    $it = new MyIterator($values);
    
    foreach ($it as $a => $b) {
        print "$a: $b\n";
    }
    ?>

    php.net/manual/ru/language.oop5.iterations.php
    Ответ написан
  • Как на Yii2 грамотно закрыть сайт?

    qonand
    @qonand
    Software Engineer
    Используйте для этого свойство приложения catchAll
    более подробно почитать можно здесь https://github.com/yiisoft/yii2/blob/master/docs/g...
    Ответ написан
    2 комментария
  • Зачем в PHP нужна рефлексия?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Мок объекты классов при тестировании. В случае белого ящика без рефлексии тяжко.
    Ответ написан
    Комментировать
  • Зачем в PHP нужна рефлексия?

    Tyranron
    @Tyranron
    Еще с помощью нее делают удобние IoC-контейнеры, например, в Laravel.
    А еще она позволяет тестировать private методы классов напрямую.
    В общем-то, дальше дело фантазии, рефлексия всего лишь позволяет программе отслеживать свою структуру и поведение во время выполнения.
    Ответ написан
    2 комментария
  • Зачем в PHP нужна рефлексия?

    fornit1917
    @fornit1917
    Например для аннотаций (получения данных из phpdoc) php.net/manual/ru/reflectionclass.getdoccomment.php
    Ответ написан
    2 комментария
  • Зачем в PHP нужна рефлексия?

    @Nc_Soft
    <?php
    
    class Stp008 {
       /**
        * Вытащи этот текст проще, че это сделал я
        */
    	public function get() {
    
    	}
    }
    
    $reflection = new ReflectionClass('Stp008');
    $method = $reflection->getMethod('get');
    echo $method->getDocComment();
    Ответ написан
    Комментировать
  • Как работать на Upwork в Украине в белую?

    ZERGE
    @ZERGE
    Как объяснить налоговой про Upwork?

    Никак. В этом нет необходимости.

    С какими банками и как работаете?

    Приват. Все просто и легко.
    Вот презенташка для работы с Пейониром, но с Апворком аналогично.

    Можно ли себе оставить валюту или всё нужно продавать?

    Нельзя. 50% автоматом продается, остальные по желанию.
    Есть какие-то схемы через оформление командировки, но там как-то геморно и мутно, как по мне.

    Какую документацию нужно вести?

    Я все веду через Таксер, 10 минут раз в квартал потратить отправить отчеты и добавить записи в Книгу доходов.
    Ответ написан
    4 комментария
  • Как заблокировать jivosite?

    @Bobson8
    Системный администратор
    Везде советуют лочить jivosite adblock-ом, фильтр свой создаете с таким параметром *jivosite.com* должно работать. Обратите внимание на домен! Именно .com! Можно и .ru запихать туда, заодно.
    Ну и в хостс тоже с .com пропишите, как вариант.
    Ответ написан
    2 комментария
  • Как правильно реализовать вариантивность регистрации по email или номеру телефона?

    riky
    @riky
    Laravel
    unique index нужно делать на пару полей (phone, email).
    в будущем возможно захочется чтобы один юзер мог логинится и по мылу и по емеилу. либо использовать второе на случай восстановления.

    если юзер не будет долго пользоваться симкой, то номер оператор отберет навсегда, и залогиниться уже никак не получится, если нет емеила.
    Ответ написан
    Комментировать
  • Как сделать валидацию для формата телефона?

    Добрый день!
    Уже в нескольких проектах использую https://github.com/udokmeci/yii2-phone-validator.
    Кроме валидации телефона, также может форматировать введенный номер под выбранный формат, таким образом чтоб все номер в БД хранились в одном виде.
    Ответ написан
    3 комментария
  • Как сделать валидацию для формата телефона?

    @hollanditkzn Автор вопроса
    Я немного по другому сделал. В базе данных сделал как строка и валидацию сделал сделал по регулярному выражение
    [['phone'], 'string'],
                ['phone', 'match', 'pattern' => '/^(8)[(](\d{3})[)](\d{3})[-](\d{2})[-](\d{2})/', 'message' => 'Телефона, должно быть в формате 8(XXX)XXX-XX-XX'],
    Ответ написан
    Комментировать
  • Какой язык программирования востребован в фрилансе?

    @JohnJon
    Самая востребованная задача на фрилансе это натягивание шаблонов на вордресс, индусы за день по пять тысяч долларов влёгкую делают.

    Можно ещё тут посмотреть.
    Язык программирования и фриланс?
    С чего начать обучение для фриланса?
    Какое перспективное направление в программировании для фриланса и иммиграции?
    Ответ написан
    1 комментарий
  • Как защититься от sql иньекции?

    Использовать PDO
    Ответ написан
    Комментировать