• Как перенести ключи от Github на новый комп?

    martin74ua
    @martin74ua
    Linux administrator
    Можно скопировать .ssh на новый комп.
    Ответ написан
    Комментировать
  • Как выполнит одним запросом несколько действий MYSQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как выполнит одним запросом несколько действий MYSQL?
    Никак, это разные запросы с разными таблицами и разными задачами.

    для снижения нагрузки на базу данных.
    Неужели у вас уже более 1000 запросов в секунду и необходима срочная оптимизация?

    $db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
    $db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
    во первых - не хватает запятых между присваиваниями, во вторых SET score = score + $klik*2, push = push + 2 вот вам минус 1 запрос. В третьих - вроде используете pdo, а переменные вставляете без prepared statements...

    Все это можно:
    1) обернуть в транзакцию - профит от этого - целостность выполнения операций(на скорости особо не отразится).
    2) Запустить одним скриптом, разделив запросы семиколоном ";" (профита практически никакого)
    Ответ написан
    5 комментариев
  • Как выполнит одним запросом несколько действий MYSQL?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вот ты и подрос, наконец, чтобы узнать главное правило программирования:

    Преждевременная оптимизация - корень всех зол.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Конкретно методу не скажу, но направление дам. Нужно постоянно быть рядом с людьми и взаимодействовать с ними, которые умнее вас и успешнее вас. Книги от таких людей тоже считаются (т.е. быть буквально рядом и знать лично не обязательно), но есть большой минус - вы не сможете задавать интересующие вас вопросы, а это как раз и даёт кратный рост. Однако именно такие люди, я бы даже сказал только такие, смогут ответить по существу дела, когда вопрос не гуглится.

    Например, я заметил, что в вашем вопросе (версия #3, старая) беда с запятыми. Зная, где и как их расставить, я могу также сказать, как изменится моё мнение о вас, а также мнение других людей в среднем. В учебнике по русскому этого нет. И даже если я прямо не скажу вам, насколько вы сможете вырасти, вы это поймёте из общения со мной и другими людьми до того, как повысите грамотность.

    P.S. Вспомнилось:
    Единственный способ стать умнее - играть с более умным противником.
    (с) угадайте, откуда.
    Ответ написан
    1 комментарий
  • Надо ли применять вежливость на проектах Хабра?

    Moskus
    @Moskus
    На Тостере - точно не нужно, это часть правил.
    Интересно, где вы на Хабре это писать собрались, в комментариях?

    Такое правило существует не потому что тут кто-то "против вежливости". Есть несколько причин, почему такие формы вежливости здесь теряют смысл.
    - Они всё равно теряются на фоне основного смысла вопроса, когда читаешь несколько десятков вопросов.
    - Их чтение точно также отнимает время, как чтение бессмысленных вводных фраз вроде "у меня возник вопрос" или заключений вроде "помогите, кто сможет" - умножьте это на десяток-другой, и получите украденное у отвечающих время.
    - Не секрет, что многие авторы вопросов с огромным трудом могут выдать внятное описание проблемы и что они действительно хотят. Если они ещё и над приветствиями думать должны будут, то растратят последние остатки сил.
    - Вежливость, не формальная, а настоящая - не в том, чтобы повторить слова, которые все знают, а в том, чтобы понятно и конкретно описать то, что автор вопроса хочет узнать. Чтобы отвечающим не надо было гадать, переспрашивать, тянуть детали клещами. Также - в том, чтобы на уточняющие вопросы отвечать то, что спрашивают, или "я не знаю", а не копипастить вопрос. И в том, чтобы быть готовым воспринимать ответ, как оно есть в реальности, даже если факт, на который вам указывают, вам неприятен. И не вести себя, как идиот, который ничего не знает, пришёл с проблемой, а получив бескорыстную помощь - фыркает, что будто ему все должны сделать всё за него.

    Вот это всё - вежливость, настоящая. А написать "добрый день" может любой дурак.
    Ответ написан
    2 комментария
  • Надо ли применять вежливость на проектах Хабра?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Правила Тостера п.3.4:
    Вопрос и его описание не должны содержать приветствий и прочих «лирических отступлений».
    Ответ написан
    Комментировать
  • Возможно ли содержать сервер дома?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    //COPY01 EXEC PGM=IEBGENER
    Что-то последнее время стало много вопросов на эту тему...

    Ну ладно, еще раз, как человек, уже больше года держащий дома самый настоящий серверный сервер (а не рабочую станцию, работающую сервером) выскажу свое мнение.

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

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

    К сожалению, плюсов не бывает без минусов :) Хотелось бы о них тоже поподробнее - не чтобы отговорить, а чтобы предупредить.

    - Цена, комплекутха, ЗиП. Новое серверное железо очень дорогое. Сервак за пол-лимона - это как здрассьте. "Для себя" обычно берут бу железо. Это довольно распространенный метод, так что существуют специальные конторы, торгующие бу серверным железом. Насколько оно старое? Обычно не моложе пяти лет. Почему пяти? В крупных конторах есть регламенты, по которым железо списывается по истечении определенного срока, обычно он пять лет. Списывается, независимо от состояния, даже если оно идеальное. Бу сервер можно прикупить за вполне приемлемые деньги (разумеется имея в виду, что винты нужно брать новые и не десктопные, а именно рейдовые). Комплектуху и ЗиП покупать можно в тех же конторах.

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

    - Шум. такого понятия как
    тихий серверный шкаф

    не существует. От слова совсем. Потому что шкаф - для серверной. Даже самый тихий сервер (а я подбирал именно по "тихости") даже при самых низких оборотах кулера (в BIOS - 4500 об/мин) - довольно заметно шумит. Кроме того, если температура повышается, сервер автоматически кладет на настройки BIOS и повышает скорость вращения кулеров - в итоге у меня сервер в людбое время устойчиво негромко гудит и периодически взвывает - потому что перегревается.

    - Комфортная температура. Для сервера и человека - она разная и поэтому запросто получится, что Вам придется выделить серверу отдельную комнату :D

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

    - Изнашиваемые части. Про ЗиП было уже сказано - так вот, не забывайте, что сервер содержит части, которые ломаются :) Кулеры, винты - все это нужно будет покупать :)

    - Интернет-канал. Для физиков как правило flat-rate не предоставляют (ну либо заломят, как с юрика), поэтому держать там нагруженный сайт Вы не сможете - он будет адово тормозить. Хотя обычный сайт работать будет (если пров дает белые IP).

    - Анти-вирус, анти-ддос, анти-спам, анти-все-остальное. Все это придется делать самому либо просто забить. Разумеется, профессиональному админу это сделать несложно.

    - Настройка, резервное копирование. Фактически повторение предыдущего пункта - спихнуть нее на кого, сами, все сами...

    - Изменить IP практически невозможно, уж не говоря о его регулярной смене.
    Ответ написан
    12 комментариев
  • Что означает "$arr[] = +$var"?

    Stalker_RED
    @Stalker_RED
    Это правильно называется унарный плюс (1, 2)
    Пытается конвертировать значение в int или float.

    Похожая штука есть и в js, и похоже, что оба они унаследовали эту фичу из C.
    Ответ написан
    Комментировать
  • Что означает "$arr[] = +$var"?

    hack504
    @hack504
    +$a Идентичность. Конвертация $a в int или float, что более подходит.

    https://www.php.net/manual/ru/language.operators.a...
    Ответ написан
    7 комментариев
  • Надо ли зацикливаться на непонятном или можно идти дальше?

    Moskus
    @Moskus
    Когда картина выглядит так:
    - повторял упражнения по книге, все было просто,
    - начал что-то делать сам - ничего не понятно
    ... это означает, что вам вообще ничего не понятно. Чтобы переписывать код из книжки, понимание не требуется. И от переписывания оно не образуется.
    Чтобы действительно изучать язык, нужно самостоятельно писать что-то свое с самого начала, как только вы будете в состоянии написать пять осмысленных строчек кода.
    Чтобы изучать программирование, нужно не только запомнить синтаксис языка, но и научиться создавать и комбинировать алгоритмы, логику. Это делается путем, опять же, самостоятельного написания простых программ и последующего их усложнения и совершенствования.

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

    Stalker_RED
    @Stalker_RED
    Куки хранятся в браузере если не указать ssl?
    Куки храняться в браузере, что-бы вы не указывали.

    Сессии на сервере ну почему у меня PHPSESSID в браузере?
    Сессии храняться на стороне сервера. PHPSESSID - Эту кука, в которой записан идентификатор сессии SESSion IDentifier (кстати, ее можно переименовать как угодно).

    Время жизни пока не закрыт браузер
    Если включена опция "при запуске восстанавливать вкладки", то кука не удалится. И плагины некоторые это умеют.

    Может ли сес ид передаваться по url?
    Может.

    Советы в целом норм, кроме совета про ip. Пришел домой, подключился к wi-fi, ip сменился, и пора логиниться заново?

    Помогите плиз 2 год бьюсь(
    Удивительно, что за два года вы даже не прочитали что такое сессии и как хранить пароли.

    А sodium - это вообще криптография, а не хеширование.
    Ответ написан
    Комментировать
  • Зачем использовать callback функции?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Крайне хорошее описание по таким вещам есть в Википедии. А теперь к примерам:

    1. Передача параметром
    Такие функции удобно передавать параметром/возвращать из других функций. Тут лучше углубиться в тему: Функция высшего порядка

    Например для удобной передачи асбтрактной функциональности, которая будет применяться например к каждому члену итератора/массива. Это используется например в таких стандартных функциях array_{map/filter/reduce}. В коллбеке то, что будет применяться к каждому члену массива.

    Вообще функции высшего порядка не просто "пример использовани", а даже целая концепция программирования.

    2. Отложенный/ленивый вызов
    Например в PHP приложениях используется в роутерах/контейнере/логере, да много где. Суть в том, что в соллбеке спрятана функциональность, иногда очень большая. Элементов и этих фукцниональности тоже может быть много, а нужно все зарегистрировать. Чтобы не плодить тысячи объектов при регистрации — каждый кусочек функциональности заворачивают в коллбек, и только при вызове (например роута), вызывается коллбек и соответственно все, что в нем начинает работать.

    class Container
    {
         private $callableServices;
    
         public function add(string $serviceName, callable $service)
         {
              $this->callableServices[$serviceName] = $service;
         }
    
         public function get(string $serviceName)
         {
              $service = $this->callableServices[$serviceName];
    
              return $service();
         }
    }
    
    $container = new Container();
    // объект тут не создается, тк он внутри функции, которая не вызывается
    $container->add('a', function() {
         return new FirstBigService();
    });
    // объект тут не создается, тк он внутри функции, которая не вызывается
    $container->add('b', function() {
         return new SecondBigService();
    });
    
    // Внутри метода get() идет не просто доставание нужного элемента, 
    // а еще и его вызов (тк лежат функции), то есть именно сейчас 
    // произойдет new FirstBigService()
    $service = $container->get('a');


    3. Изоляция контекста
    // тут левый код
    ...
    
    // Код ниже работает изолировано и на него ничего не может подействоват,
    // т.к. внутри свой контекст
    (function() {
        $app = new Application();
        $app->run();
    });
    Ответ написан
    Комментировать
  • Php5.6-cli запуск php из консоли?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    В скрипте-то походу short_open_tag используете <?, вместо полных тегов здорового человека <?php
    Ответ написан
    3 комментария
  • Как можно укоротить этот код?

    ScriptKiddo
    @ScriptKiddo
    funcs = {
        '20': messages,
        '21': contin,
        ...
    }
    ...
        try:
            await funcs[payload](vk, peer_id)
        except Exception as e:
            print(str(e))
    Ответ написан
    Комментировать
  • Переход из web-разработки в SAP?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Насколько выгодным будет трансфер в SAP

    3639946.jpg

    будет очень тяжело выйти с него в случае какого нибудь форсмажора.

    Никто из моих знакомых SAP'истов не сидит без работы и дня. Правда, никто из них свою работу не любит.
    Ответ написан
    23 комментария
  • Переход из web-разработки в SAP?

    sim3x
    @sim3x
    SAP окажется слишком узкопрофильным
    зависит от того в какой интегратор вас занесет.
    Одна крайность - вам доверят один модуль, другая - вам придется лазить по цехам и железо ремонтировать
    Потому банально допросите товарища об сути работы фирмы и куда именно вас отправят после стажировки
    Также уточните какой бонус ему пообещали за вас

    будет очень тяжело выйти с него в случае какого нибудь форсмажора
    если сап накроется, то вам будет не до ИТ впринципе
    Ответ написан
    8 комментариев
  • Дают ли банки своим программистам ипотеку по льготным условиям?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Есть ли там какие-то специальные программы для льготной ипотеки?

    Да.

    И если ты условно через 3-5 лет оттуда увольняешься, нужно ли "возвращать" льготы?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вы путаете причину и следствие. Фронты очень востребованы рынком, поэтому и вакансий много, и зарплаты высокие, а порог входа при этом очень низкий. Из-за сочетания этих факторов соискателей огромное количество, но 99.9% из них - профаны. Для их отсеивания как раз и выставляется требование к подтверждённому опыту. То есть работодатель в среднем случае не ждёт от фронта особых знаний, но хочет ещё до собеседования иметь уверенность, что эти знания точно есть.
    Ответ написан
    10 комментариев
  • Зачем администрация/модераторы/пользователи отмечают решением ответ, который вовсе не является решением?

    Moskus
    @Moskus
    Потому что Тостер задуман не столько для того, чтобы конкретный автор вопроса получил ответ на вопрос, который удовлетворяет лично его, а для того, чтобы другие люди в аналогичной ситуации знали, как к ней подступиться.
    Если, например, конкретно вы не поняли, как воспользоваться ответом, это не значит, что в общем случае, это не решение. Или если вы забили на то, чтобы отметить решением то, что им, в реальности, является.
    Ну и, тем более, Тостер - не для личного развлечения авторов вопросов в духе "кого хочу, того награжу, а кто мне не нравится - идет лесом".
    Ответ написан
  • Автоматическая установка веб-сервера?

    @neol
    Ansible, salt, puppet, etc.
    Если нужна автоматизация установки ОС, а не только настройки, то помогут preseed (для deb)/ kickstart (для rpm).

    Но это не волшебные кнопки "сделать хорошо" и чтобы за 10 минут развернуть все 30 хостов придётся сначала недельку покурить маны, пописать конфиги/скрипты и потестировать эту радость.
    Ответ написан
    1 комментарий