Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
Yakud

Леша Киселев

  • 75
    вклад
  • 9
    вопросов
  • 78
    ответов
  • 37%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • PHP7 и foreach. Коварное изменение?

    nelson @nelson
    Читайте официальную документацию по переезду, там всё написано.
    php.net/manual/en/migration70.incompatible.php

    А именно, по вашему вопросу про foreach:
    foreach by-value operates on a copy of the array
    When used in the default by-value mode, foreach will now operate on a copy of the array being iterated rather than the array itself. This means that changes to the array made during iteration will not affect the values that are iterated.

    Перевод: в режиме foreach($arr as $v) - движок сначала сделает копию массива и будет проводить итерацию по копии. Даже если во время цикла вы сделаете $arr = [], то цикл всё равно пробежит до конца исходного массива, по всем элементам.

    То есть код теперь эквивалентен такому:
    $arr_copy = $arr;
    foreach($arr_copy as $k=>$v) {
    ...
    }
    за тем исключением, что к переменной $arr_copy вы не имеете прямого доступа.

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

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

    Fesor
    Сергей Протько @Fesor
    Full-stack developer (Symfony, Angular)
    с одной стороны SEO-ник не прав, так как.. ну это очень глупое утверждение

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

    То есть притензия SEO-ника возможно была связана с тем что:

    - нет сайтмэпа и нет средств для генерации, а так как это не вордпресс просто поставить плагин не выйдет
    - возможно нет возможности задавать всю эту SEO лабуду вроде метаинформации и т.д.
    - все в таком духе. Любое "допиливание" клиенту теперь обойдется в солидную сумму.

    Мораль: эксперементы в свободное время, набирайтесь опыта. Старайтесь использовать готовые решения. Помимо wordpress есть масса небольших и удобных CMS с базовыми штуками которые нужны SEOникам и удобны в допиливании программистами.
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Стоит ли учить ассемблер для глубокого понимания архитектуры компьютера?

    alex-saratov
    Алексей @alex-saratov
    Вспомним фразу из книги "Шерлок Холмс" - " человеческий мозг — это пустой чердак, куда можно набить всё, что угодно. Дурак так и делает: тащит туда нужное и ненужное. И наконец наступает момент, когда самую необходимую вещь туда уже не запихнёшь. Или она запрятана так далеко, что её не достанешь."
    На цитаты не обижаемся.

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

    R0dger
    Андрей @R0dger
    Laravel/Yii/2 AngularJs PHP RESTful API
    habrahabr.ru/post/112960
    Данные в json и будет счастье
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как выполнить cURL запрос в PHP?

    Ivanq
    Ivanq @Ivanq
    Знаю php, js, html, css
    Как и положено отвечать на такие вопросы, Google все умеет
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как организовать код на Backbone.js и/или лучшие практики?

    k12th
    Константин Китманов @k12th
    console.log(`You're pulling my leg, right?`);
    1. Я кладу все вьюхи отдельно, модельки отдельно, коллекции отдельно и т.д. Некоторые складывают по бизнес-сущностям ("по экранам", "по страницам").
    2. Любой модульной системой (на данный момент времени SystemJS и ES6 модули), из расчета один класс -- один файл.
    3. Сразу начинайте использовать дата-байндинг: rivets.js, ractive, vue.js, сэкономите массу времени. Ознакомьтесь со списком расширений -- пригодится.

    P.S. Обратите внимание на всякие хорошие практики в ООП, типа S.O.L.I.D. Кстати, осваивать ember/angular и т.п. необязательно, но поглядеть стоит -- будет понятнее, какие недостатки есть в Backbone и как их обходить.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какое файловое хранилище с объемом 1ТБ и с хорошим API посоветуете?

    opium
    Пума Тайланд @opium
    Просто люблю качественно работать
    Амазон s3
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как сделать несколько ip в Digital Ocean дроплете?

    Gasoid
    Gasoid @Gasoid
    Еще просто можно без впн, настроить nginx на проксирование, указать backend дроплет и все
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Насколько уникален ID сессии?

    Дмитрий Ковальский @dmitryKovalskiy
    программист средней руки
    В теории - да, конечно. Если к вам в одну секунду зайдут 2^128 степени людей(устройств) - то вероятность возникновения дубляжа появится... однако стоит признать что в этот момент у вас будут другие проблемы. К примеру где взять ресурсы на обработку такого трафика
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как узнать имена переменных в функции?

    muhammad_97
    Muhammad @muhammad_97
    PHP-разработчик
    Если это метод класса, подойдет Reflection: php.net/manual/ru/book.reflection.php, метод getParameters(), если нет, можно воспользоваться этим: https://github.com/nikic/PHP-Parser
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как вы пишите тестируемый код?

    Fesor
    Сергей Протько @Fesor
    Full-stack developer (Symfony, Angular)
    соответственно при тестировании необходимо обернуть его в Mock

    Ну как бы это логично, при юнит тестировании все, кроме того что мы непосредственно тестим, должно быть заменено моком/стабом.

    Писать в каждой модели конструктор?

    Что вы понимаете под "модель"? Ваши бизнес-объекты? У них в конструкторе должно быть только то, что им нужно.

    а если источников будет много

    То это повод пересмотреть архитектуру, почитать про цепочки обязанностей, стратегии, про сегрегацию интерфейсов в конце концов.

    User::model()->prepareBuy(new Order, New Profile, $userId)


    Прочитайте эту строчку кода, и скажите что тут происходит, ибо я не могу этого понять.

    Ну и да, помимо внедрения зависимостей в конструктор, есть еще такая неплохая штука как double dispatch, когда нужные сервисы передаются как аргументы методов, которым они нужны. Так наш класс не зависит от непонятных вещей и таким образом мы все можем спокойно тестить.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как следует организовать базу и поиск по 1 000 000 000 000 (триллиону) записей на 100ТБ?

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

    IonDen
    Денис Инешин @IonDen
    JavaScript developer. IonDen.com
    Google Play Music
    Apple Music
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какие разделы английского стоит выучить для фриланса?

    opium
    Пума Тайланд @opium
    Просто люблю качественно работать
    уч ить сугубо разговорный английский
    если вы технарь то технические слова вы уже знаете так как они почти всегда не переводимы на русский
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какие разделы английского стоит выучить для фриланса?

    heartdevil @heartdevil
    плыву как воздушный шарик
    Учите сугубо ИТ английский.

    Открою секрет.

    Сидите часто на stackoverflow и читайте самые популярные вопросы и ответы от крутых разработчиков (владеющих отличным английским). Там легко понять уровень английского по ответам и вопросам. Это поможет не только "вариться" в своей среде, но и "вариться" по-английски. Запоминайте структуру сложных вопросов. И как они вообще подготавливаются. Далее смотрите, как на них отвечают. Зачастую, всегда просят описать задачу. Что, собственно, на самом деле и происходит на фрилансе. Далее, просят уточнить некоторые моменты. Затем постят свои решения с описаниями. Тут тоже нужно уделить внимание на подготовку ответа. Часто, конечно, это просто код)), но вам никто не запрещает, к примеру, спросить уточнения (не для понимания кода или алгоритма, а для понимания того, как разработчик будет разжевывать вам ответ на английском ;-)), если самолюбие позволяет)). Можете даже выписывать отдельные словосочетания, которые они применяют. К примеру, создал массив, присвоил значения переменной, пробежался циклом по массиву, создал класс, имплементировал интерфейс, перегрузил чего-то там и так далее.

    В таком ритме быстро научитесь понимать вопросы на английском и умело отвечать, но все это письменно. Разговорный вам может понадобиться, если клиент будет часто по скайпу вам названивать. Его освоить в разы сложнее. Поэтому можете честно заявлять клиенту, что уровень пока у вас не позволяет вести разговор. А там все от клиента будет зависеть.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Можно ли создавать динамические воркеры в Gearman?

    gephaest
    Валентин @gephaest
    PHP, Yii2, Laravel
    php.net/manual/ru/book.pcntl.php
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Подойдет ли ноутбук для программирования?

    FoxInSox @FoxInSox
    Толщина
    25.3 мм

    Толстоват. Не подойдет.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как анализировать вакансии front/-backend разработчиков?

    DevMan
    DevMan @DevMan
    не стоит удивляться: в таких вакансиях расставляют требования точно так же как и вы теги к своему вопросу.
    Ответ написан более трёх лет назад
    24 комментария
    24 комментария
  • А какие вы знаете сайты где бесплатно помогут написать код?

    Зелимхан Бельтоев @Beltoev
    Живу в своё удовольствие
    Здесь тоже помогают, если человек показывает свой нерабочий код и просит помочь найти ошибку/исправить, а не НАПИСАТЬ ВСЁ за него.

    Собственно, на любом сайте (будь то QA или форум), где обитают программисты, ситуация одинакова:
    • Нужна помощь и ты сделал порядка 50%-70% работы? Не вопрос, поможем!
    • Нужна помощь, но ты ленивая задница, которая хочет всё за просто так? Дуй на fl.ru/freelansim.ru/... (нужное подчеркнуть)


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

    Судя по вопросу, ищете легких путей?
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Следующие →
Самые активные сегодня
  • Drno
    • 15 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 8 ответов
    • 0 вопросов
  • GNUBack
    • 6 ответов
    • 0 вопросов
  • Алексей Гончаров
    • 6 ответов
    • 0 вопросов
  • an
    • 2 ответа
    • 3 вопроса
  • nedosekinstanislav
    Stanislav
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации