Задать вопрос
  • Как скопировать определенные (не все) свойства объекта?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Если в новом объекте должны быть все указанные свойства, вне зависимости от их наличия в исходном объекте:

    // имена свойств можно передавать в виде массива
    const pick = (obj, keys) => Object.fromEntries(keys.map(n => [ n, obj[n] ]));
    const newObj = pick(obj, [ 'b', 'c' ]);
    
    // или как отдельные значения
    const pick = (obj, ...keys) => keys.reduce((acc, n) => (acc[n] = obj[n], acc), {});
    const newObj = pick(obj, 'b', 'c');

    Если отсутствующие свойства не нужны:

    const pickExisting = (obj, keys) =>
      Object.fromEntries(keys.filter(n => n in obj).map(n => [ n, obj[n] ]));

    Если нужны только собственные свойства:

    const pickOwn = (obj, keys) =>
      keys.reduce((acc, n) => (Object.hasOwn(obj, n) && (acc[n] = obj[n]), acc), {});

    Если хотим выбирать свойства не только по именам, но и по значениям:

    const pick = (obj, filterFn) => Object.fromEntries(Object.entries(obj).filter(filterFn));
    
    const obj1 = pick(obj, ([ k, v ]) => 'abc'.includes(k) && v % 2); // {a: 1, c: 3}
    const obj2 = pick(obj, n => n[1] > 2); // {c: 3, d: 5}
    Ответ написан
    Комментировать
  • Нужен совет опытных WEB разработчиков?

    @rPman
    Самый неправильный способ обучения - с конца. Это очень неэффективно если не бессмысленно, изучать программирование непоследовательно.

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

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

    Советую изучать с низов, самостоятельно, чтобы было понимание каждого шага, всего что происходит.
    * операционные системы, процессор и многопоточность, сети,...
    глубоко изучать это не требуется но базовые понимания нужны чтобы не получать медленное приложение только потому что не знал что каждый твой запрос в tcp это 'туда-сюда', и это медленно (десятки миллисекунд), что одновременно два человека пытающиеся что то изменить на сайте нужно разруливать чтобы не было конфликтов и т.п.
    * бакэнд и фронтэнд
    буквально что значит запрос и генерация ответа, какие бывают способы организации этого бакэнда (http rest и к примеру websocket), не понимание разницы между бакэндом и фронтэндом у новичков рождает абсурдные вопросы как из javascript изменить переменную php (и наоборот)... в чем разница между генерацией страницы на сервере и в браузере.
    * html, css,..
    верстка и дизайн, отдельный мир браузерных стандартов, исторических наслоений,. когда стоит применять фреймы, почему шрифты по разному выглядят, разные устройства и размеры экранов, разные способы взаимодействия (сенсорный экран, мышь, клавиатура)...
    * базы данных
    еще более огромный мир атомарных транзакций, индексов, нормальных форм и прочего
    * девопс
    без умения выбрать инструмент, настроить тулчейны, среду разработки, среду исполнения (веб сервер), настроить бакапы и прочее пытаться что то разрабатывать это как в слепую гулять по лесу, будешь постоянно на ветки натыкаться
    ...
    это я еще про системную аналитику не сказал, обычно прежде чем что то создавать, нужно продумать как это все делать, что такое технический долг и т.п., а еще есть тестирование, обслуживание, работа с отказами (сервер сдох, база упала, как все восстановить), обновление на живую и прочие веселья

    без понимания всего этого, даже поверхностного, будешь натыкаться на огромные дыры в разработке.
    Ответ написан
    7 комментариев
  • Как добить проект?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    90% проектов загибаются и умирают и это абсолютно нормально. Надо быть смелым, чтобы посмотреть правде в глаза и закрыть проект.
    Запускай ещё 10 проектов, 9 из которых тоже умрут, но один сможет выстрелить. Пока не закроешь этот, то до десятого не доберёшься
    Ответ написан
    Комментировать
  • Какой компьютер выбрать для программирования?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    В вопросе есть слово "программирование", а в тексте то и дело "игровой". Для программирования любой ноут подойдет, достаточно поставить ssd и будет летать, я так недавно оживил ноут которому уже 10 лет.
    А ты просто ищешь причину купить игровой комп.
    Ответ написан
  • Как начать заниматься "серьезной" разработкой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Владею стеком HTML/CSS/JS, Python+django/fastApi, java(для математики всякой)


    Также хоббийно занимаюсь микроэлектроникой(avr/nrf/stm)

    Выглядит как активность эникейщика. Первая предметная область, связанная с фронт-вебом - сегодня очень сложна. И чтобы по настоящему расти - надо отдаваться ей на 100%. Иначе эффекта не будет.

    Я не хочу говорить что ты распыляешся, но резюме выглядит как, как будто ты еще находишся в творческом поиске и давать тебе какие-то проекты еще рано. Может тебе имеет смысл еще погулять пару лет и после этого просто "зачистить" свою анкету от посторонних мешающих хеш-тегов.

    Я сам так сделал и не жалею. Всякие Photoshop/3DMax/радио-и-связь/игра на трубе/вязание крючком - заказчика не интересуют а вобщем даже и раздражают. Под позицию нужен профессионал а не разно-рабочий.

    UPD:
    Ответ написан
    Комментировать
  • Что делать, если просто потерял путь в обучении?

    Adamos
    @Adamos
    мини пет проекты есть, по типу формы авторизации, лендосов, чат бот и т.д

    Это выполненные уроки, а не проекты. Не путайте контрольную с дипломом.
    Если вы хотите стать программистом - вам должно быть интересно творить. Не тащиться за кем-то за ручку, а творить.
    И уж извольте сами высосать из своего пальца, какие фичи на каком сайте вам хочется повторить и превзойти.
    Ответ написан
    2 комментария
  • Где найти сенсея?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ни на каких. Незачем хорошо разбирающемуся в архитектуре бесплатно тратить своё время на того, кто даже не хочет становится программистом.
    Ответ написан
    9 комментариев
  • Очищать корзину после оплаты или нет?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Такое возможно. К сожалению когда конструктор уже создан и опубликован - этот сегмент обычно заполнен. И вы запрыгиваете в последний вагон. Кроме того конструктор предлагает ограниченный сет возможностей. Ну... меньше чем в языке программирования. И если заказчик попросит вас улучшить что-то или добавить фичу - вы оказываетесь полностью в заложниках от API конструктора.
    Ответ написан
    Комментировать
  • Чат-бот без программирования?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Начинайте брать заказы и зарабатывать!
    Ответ написан
    Комментировать
  • Не получается установить ssl через certbot. Почему?

    @Drno
    вопросы к настройкам веб сервера
    Вы веб серверу сказали работать через https ?
    Указали в конфиге нужный сертификат? ну и порт, раз он у Вас не стандартный...

    сертификат у Вас сгенерировался и лежит по указанному пути
    Ответ написан
    2 комментария
  • Не получается установить ssl через certbot. Почему?

    @AlexVWill
    Какой web-сервер используется? Похоже, что certbot создал тебе сертификат, но не настроил конфиг web сервера на его использование, т.к. в консоли видно, что ты использовал ключ certonly.
    Ответ написан
    6 комментариев
  • Какой стек технологий лучше выбрать для разработки чата?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Суть в том, что я не совсем понимаю работу вебсокетов, может быть кто-то писал что-то такое и может подсказать какую литературу или какие источники использовал.

    Я думаю автору имеет смысл пройти какой-то учебный курс (желательно платный) по JS+WebSockets.
    Это очень важная основа. Поэтому всякие yii2+vue+mongo не имеют никакого значение если ты не сможешь
    разбираться в простейших сетевых ошибках и состояниях протокола.

    Освоишь ws - делай любой чат. Ты его даже сделаешь без фреймворков.
    Ответ написан
    5 комментариев
  • Вопрос по развитию IT?

    Adamos
    @Adamos
    Пара учебников по Java, пара - по С++, один по азам веба. Ну, тут самому надо решить, за что браться - все три "в одну телегу впрячь не можно".
    Дальше, пара книг по алгоритмам. Вряд ли стоит их грызть до возможности применить - то есть до изучения хотя бы одного языка программирования (HTML и CSS - языки разметки).
    Мартин и Бек - после законченных самостоятельных проектов. Они хорошо объяснят вам, как уверенному в себе программисту, почему вы зря так уверены в себе.
    Практическое руководство по Git стоит взять, когда сможете поднять голову от кода и задуматься о том, как содержать его в порядке.
    Остальное можете использовать как подставку под горячее.
    Ответ написан
    3 комментария
  • Так ли проходит день стажера?

    У меня было что-то похожее.
    Так что предположу, что это норма.

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


    Ну думал что буду писать код и что-то полегче.А тут только читать код, разбираться недели -две

    Тогда это норма вдвойне.
    В 90% случаев ты попадаешь не в стартап, где нет кода, а уже в сложившуюся команду, особенно если ты новичок.
    Ответ написан
    2 комментария
  • Так ли проходит день стажера?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Когда меня взяли на работу сетевым админом - вовсе не джуном, а человеком с опытом в 9 лет работы с FreeBSD - я две недели сидел как приклеенный к стулу и изучал конфиги серверов. Никкуда не лез, хотя рута дали сразу, ничего не менял - только сидел, читал конфиги и разбирался, что тут к чему и почему так, а не иначе.

    Через две недели начальник вызвал и сказал - мы открываем магазин в г. N, вот телефон местного директора, звони, ищи провайдера, делай подключение к тырнету :)

    Я думаю, серьезный проект ты с месяцок только читать будешь, разбираться, что там как устроено, прежде чем что-то позволят закоммиттить, ломать-то - не строить :)
    Ответ написан
    Комментировать
  • Сколько ядер процессора хватит для программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Языки C# и Питон придумали тогда, когда процессор еще был одноядерным.
    Вопрос плохой, неправильный. Никто не знает что вы хотите делать и насколько для вас критично подождать компиляции секунду или 5 секунд.
    Берите удобный для работы. С приятным экраном, с приятной для ВАС клавиатурой.

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

    @ynblpb_spb
    дятел php
    При очень большом желании хватит и intel 486
    Поэтому если бюджет ограничен, то хватит и i3
    Ответ написан
    4 комментария
  • В Cheat Engine точно нету вирусов?

    Adler_lug
    @Adler_lug
    А сами то как думаете, программа которая умеет копаться в памяти других процессов с возможностью редактирования, с точки зрения антивирусов может считаться потенциально безвредной?
    Ответ написан
    1 комментарий
  • Допустимо ли сокращать названия переменных до 1 буквы или комбинации символа + буквы?

    Моё мнение - если тебе смысл переменной не очевиден, то нужно делать полноценное имя переменной.

    Короткое, например, имеет смысл для параметра в лямбде (array.filter(x => x % 2 === 0)) или в какой-нибудь функции наподобие
    function sum(a, b) {
     return a+b;
    }


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

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

    Экономить ресурс нажатий на кнопки клавиатуры не надо, как и не надо экономить буквы на экране.
    Ответ написан
    Комментировать