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

    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 комментария
  • Проект для начинающего изучение С++?

    Moskus
    @Moskus
    Вы - ещё одна жертва стремления к немедленной гратификации. Вам не поможет никакой особый проект, потому что изучение языка состоит из довольно монотонного "набивания руки" на решении простых и довольно неинтересных задач. Это проблема не касается программирования, она касается психологии вообще.
    Ответ написан
    3 комментария
  • Какие направления в IT существуют для медика?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Нужно понять первое.

    Новичок-айтишник-медик это не образование, а позиция. Найдете такую вакансию - почитайте что там хотят.

    Почему вы считаете, что образование автоматически дает вам рабочее место - непонятно. Учитесь самостоятельности.
    Ответ написан
    Комментировать
  • Нужно ли минимизировать node.js сервер для production?

    SagePtr
    @SagePtr
    Еда - это святое
    Минифицировать имеет смысл только те скрипты, которые загружаются клиентами, т.к. сэкономленные 100 килобайт при миллионе загрузках - это сэкономленные 100 гигабайт, да и не у всех интернет быстрый (пользователи медленного интернета не дождутся загрузки и уйдут). А вот скрипты сервера загружаются в память в одном экземпляре при запуске сервера, никуда по сети не передаются - экономить при этом крайне бессмысленно. Даже если сэкономите 10 мегабайт, при нынешних объёмах памяти это не объём.
    Ответ написан
    Комментировать
  • Какую школу по онлайн обучению языку JAVA с нуля вы можете посоветовать?

    Никакую. Могу посоветовать Эккеля и Блоха. И полезней и дешевле и быстрее.
    Ответ написан
    4 комментария
  • В какой области IT применение знаний - не самое важное?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вот идеальный рабочий день - полдня в чем-то разбираться, полдня это простым языком объяснять другим кому интересно.

    Перевожу: Хочу развлекаться за счёт работодателя.

    Работа - это не про развлечение, это продажа своего труда за деньги. И программирование - это не про развлечение. Программист 49% времени пишет скучный код, а иногда и переписывает чужой ужасный код, ещё 49% времени занудно ловит унылые баги. Остаётся радоваться оставшимся двум процентам интересного.
    5cdd8aaeef145978587602.png
    Ответ написан
    2 комментария
  • Как добавлять данные в разные таблицы SQLite?

    longclaps
    @longclaps
    Для каждого месяца создается отдельная таблица с данными.

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

    10 лет это 3 класс

    Отстаньте лучше от ребёнка. Ему всего лишь 10 лет - какое программирование? Пусть он сначала насладится детством. А уже после - сам начнёт ковыряться в том, что ему понравится
    Ответ написан
    7 комментариев
  • Как правильно изучать / конспектировать книги по программированию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не записываю. Просто читаю, попутно экспериментирую с примерами из книги. После прочтения пытаются набомбить пет-проект с использованием изученных технологий. Если где-то застреваю, перечитываю соответствующие главы, лезу в официальную документацию, гуглю.
    Ответ написан
    Комментировать
  • Почему не работает NODE_ENV?

    @dyus1
    // TODO
    Сначала нужно определить переменную окружения:
    NODE_ENV=development webpack --config webpack.config.js
    Ответ написан
    6 комментариев
  • Софт для визуального обучения управления и настройки серверами?

    fdroid
    @fdroid
    press any key
    1. Никакой волшебной кнопки "сделать хорошо" не существует.
    2. Разбейте процесс самообучения на этапы, не хватайтесь за всё сразу. Поставьте задачу - изучайте пути её решения.
    3. Linux хорош тем, что документирован "от и до", читайте документацию софта в оригинале. Подсказка: много полезного и систематизированного есть в Wiki Arch Linux.
    4. Документация - это английский язык, его можно не любить (я вот не люблю), но знать на уровне чтения мануалов и технической документации нужно обязательно. Никто не требует знаний на уровне чтения Шекспира в подлиннике.
    5. Освойте нехитрые приёмы работы с консолью, например, про тот же TAB и том как он помогает при вводе путей и команд знают не все.
    6. Осваивайте на уровне администрирования самые главные дистрибутивы - Debian, CentOS, Ubuntu Server. Не гоняйтесь за экзотикой с тремя разработчиками.
    7. Не нервничайте. В какой-то момент, вам может показаться, что всё это придумано садистами с мегамозгом, и что "вот это вот всё" в принципе невозможно понять и запомнить. На самом деле, решение 90% вопросов заключается в чтении логов, сообщений об ошибках, и документации.
    Ответ написан
    Комментировать
  • Софт для визуального обучения управления и настройки серверами?

    vaut
    @vaut
    Идеология работы с консолью намного более человеколюбивая чем гуи:
    1) Полнота документации. man и --help работают для почти всех утилит и без сторонних сервисов позволяют найти нужные опции.
    2) Простота передачи и хранения знаний. Простейший пример сборка OBS для линуха:
    spoiler
    git clone --recursive https://github.com/obsproject/obs-studio.git
    cd obs-studio
    mkdir build && cd build
    cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
    make -j4
    sudo checkinstall --default --pkgname=obs-studio --fstrans=no --backup=no \
             --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes

    Никаких тысяч скриншотов и заумных ссылок. Такие же инструкции есть для большинства популярных решений.
    3) Простота и скорость работы на удаленных серверах. ssh это быстро просто и надежно.
    Есть для всего: от смартфонов до мака.
    4) Обратная связь. 90% утилит пишут белым по черному что они делают, или какая ошибка возникла. Саму ошибку при необходимости легко загуглить.

    Если же больше нравится как обезьянка тыкать в кнопочки, с линухом лучше не связываться. Вас ожидает одна боль.
    Ответ написан
    Комментировать
  • Форма регистрации на java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую!
    1) идете сюда https://start.spring.io/
    и выбираете dev tools, web, mysql (или postgres), jpa, thymeleaf, security
    2) регистрация и авторизация реализуется при помощи spring security
    3) создаете файт конфигурации (@Configuration) и прописываете ваш конфиг для security
    4) создаете шаблон при помощи thymelеaf (по факту вам сперва нужны 2 формы - форма авторизации и форма регистрации). При необходимости можете добавить форму восстановления пароля и механизм подтверждения аккаунта
    5) реализуете метод, кототрый возвращает список всех пользователей со всеми зависимостями и при помощи шаблонизатора выводите на фротн-энд. Смотрите в сторону Model, model.addAttribute() th:each
    6) создаете форму редактирования профиля и метод в контроллере, который это все приниает и обрабатывает.

    А вот, видео - https://www.youtube.com/watch?v=WDlifgLS8iQ
    Кстати, там используется freemarker, можете выбрать любой понравившийся (mustache, thymeleaf, freemarker и др.)


    С бд проблема тк у меня MAC OS ,

    Я не знаток Маков, но насколько я знаю не должно быть проблем с БД. Так что берите mysql || postgres
    https://dev.mysql.com/doc/mysql-osx-excerpt/5.7/en...
    Ответ написан
    Комментировать
  • Почему я должен писать именно так, а не иначе?

    @MamaLuyba
    не, писать ты можешь, как угодно. но работать это не будет.
    почему ты написал "добрый день", а не "дываобыв валывн"? так же и тут.
    Ответ написан
    1 комментарий
  • Почему я должен писать именно так, а не иначе?

    Какой-то глупый вопрос. Такой синтаксис языка.
    Ответ написан
    Комментировать
  • Как перейти из инженера в программисты?

    fedorez
    @fedorez
    Хатуль мадан
    Интересно, вот почему все считают, что в программисты перейти из любой профессии - не то чтобы такое трудное дело? Реклама курсов работает - три месяца обучения и греби вайти бабло лопатой попивая корпоративный макиато в окружении симпатичных тестировщиц? А ведь это не вполне так. ))
    Чтобы представить масштаб стоящей перед вами проблемы, просто представьте, что к вам пришёл паренёк и сказал что-то вроде:
    "Я программист, мне 32 года, вот задумался о переходе в строительство, ну там я немного интернет полистал, понравилось, в выходные будку для собаки сколотил, раствор в корыте мешать умею, а прошлым летом мы с отцом сарай на даче вполкирпича сложили с односкатной крышей. Подскажите, как мне ворваться в строительный бизнес?"
    Можно, но не просто.
    Прислушайтесь к себе, мож у вас там просто в голове внутренний кризис шарашит, и надо его фиксить, а не профессию менять?
    Вы в своей профессии по вашему описанию уже кое-чего достигли, есть смысл рулить вверх и развиваться в этой сфере. В айти вам "вайти" можно, но вы готовы к существенной просадке по деньгам(потому что вы ничего не умеете и платить вам будут соответственно), к тому что надо будет очень много учиться, к сидячей работе с утра до вечера (без продыху первое время)? И свет в конце туннеля у вас забрезжит годика через полтора? (и не факт что это не будет летящий навстречу поезд. шутка)
    Если оно вам таки надо.
    1)Очень сильно советую рассмотреть карьерный путь менеджера. Это параллельная ветка.
    2)Тестирование. Ещё одна параллельная ветка с более простым порогом входа. Но тем не менее там развиваться есть куда и вверх и вширь и деньги там есть.
    3)Пробуйте вечерами писать под смартфон (тот что у вас уже есть). Те приложения что были бы вам интересны. Покачайтесь пол-года и попробуйте постучаться по конторам в качестве начинающего мобайл-разработчика. На любые деньги. Поработаете годик, оперитесь и уже пойдёте искать нормальную работу как нормальный разработчик.

    как-то так.
    Ответ написан
    Комментировать
  • Фронтенд и бекенд в разных репозиториях или в одном?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как хранить исходники вместе или раздельно по разным репозиториям? Какие плюсы и минусы каждого способа?
    Мне кажется тут вопрос не столько в "плюсах и минусах" сколько в здравом смысле. Мне не совсем понятно, что в конечном счёте означает "бекенд на python, фронтэнд на angular". Это два независимых проекта, способных работать автономно друг от друга и "общаться", например, через API, разработка которых происходит параллельно и независимо друг от друга, при этом какие-либо части проектов не пересекаются между собой (например, куски HTML/CSS/JS/etc кода не копируются в бекенд-часть)? Если так - то крайне логично разделить это на два отдельных репозитория, т.к. это по сути два разных проекта, связанных между собой весьма косвенно. Если же у Вас проекты имеют более прочную связь между собой или степень контаминации исходного кода выше той, что я описал ранее - то это один проект и дробить его на множество репозиториев, лично я смысла не вижу никакого (а то мы так дойдём до "давайте хранить HTML-код в одном репозитории, CSS в дургом, JS в третьем и т.д.).

    P.S. Обычно, такие вещи разъясняет штатный тимлид, а не коллеги по форуму :)
    Ответ написан
    5 комментариев
  • Стоит ли переходить с var на let и const?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно использовать и то, и другое одновременно, в зависимости от обстоятельств.

    Например, если вы используете Google Script, то var, потому что там что-то типа ES5.
    Если шлёте код другу, чтобы он проверил его через консоль браузера, то опять var, потому что если что-то поменяется и надо будет ещё раз проверить, то он запустится без ошибок (о том, что переменная уже объявлена).

    С другой стороны, в одном пространстве (например, внутри функции) вы можете использовать несколько одинаковых переменных с помощью let на разных уровнях, и не бояться конфликтов, в то время как через var будет одна и та же переменная. Пример:
    for(let i=0;i<2;i++)for(let i=0;i<2;i++)console.log(i); //покажет 4 раза
    for(var i=0;i<2;i++)for(var i=0;i<2;i++)console.log(i); //покажет 2 раза

    Каждое имеет свои особенности и удобно по-своему.
    Ответ написан
    9 комментариев
  • Стоит ли начинать с JavaScript?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Самая большая беда JS в том, что это слишком странный язык. Он во многом ведёт себя неочевидно, неинтуитивно и не так, как ведут себя другие языки. Соответственно, потом может быть сложнее с изучением других языков.
    Ответ написан
    3 комментария