• Почему не удаляется свойство объекта?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что this.name не то же самое, что Func.name или Func.prototype.name. Вы в конструкторе записываете свойство экземпляру объекта, а удалить пытаетесь из самого объекта.
    Вот так будет работать, как вы ожидаете:
    var func2 = new Func('hello');
    delete func2.name;
    func2.name // undefined


    Может, это поможет вам разобраться:
    function Func(name) {
      this.name = name;
    }
    
    Func.prototype.name = 'Foo';
    
    var f = new Func('Bar');
    
    console.log(f.name); // "Bar"
    delete f.name;
    console.log(f.name); // "Foo"
    delete f.name;
    console.log(f.name); // "Foo"
    Ответ написан
  • Как задать правильные и пропорциональные размеры заголовков (h1-h5)?

    @Ironimus42
    Есть вот такой вот калькулятор. И абстрагироваться лучше от размера основного текста, чем от максимально большого заголовка.
    Ответ написан
    2 комментария
  • Как получить GET-данные после решетки?

    1. Это не get-данные. Это называется "фрагмент"
    2. Браузеры не передают фрагмент на сервер, поэтому, в общем и целом, в пыхе его никак не получить.
    3. Можно получить фрагмент в JS и передать на сервер AJAX-запросом.
    4. Или с помощью JS составить новый url и сделать на него перенаправление.
    5. Фрагмент в таком формате обычно предназначеначается для обработки именно JS'ом.
    Ответ написан
    3 комментария
  • Как заменить разделители столбцов на •?

    lxsmkv
    @lxsmkv
    Test automation engineer
    элементы таблицы рендерятся браузером как таблица. изменить это поведение нельзя. Я на скорую руку вижу два выхода. Либо переписать все на div-ах либо выключить отображение границ ячейки и добавить между ячейками еще по одной тонкой и туда положить точки.
    Ответ написан
    Комментировать
  • Почему PhpStorm отправляет данные на FTP "как захочу"?

    mlnkv
    @mlnkv
    JavaScript Developer
    Не бывает в программировании "как захочу", есть определенные правила. Скорее всего, после сборки Gulp`ом phpStorm не знает, что эти файлы изменились, поэтому он не заливает их, покопайте в эту сторону
    Ответ написан
    Комментировать
  • Инкремент в javascript почему работает так?

    mudrenokanton
    @mudrenokanton
    frontend dev
    Привет, дело в том, что переменная js ссылается на значение, а не на другую переменную. Потому в поток уходят такие инструкции:
    1. присвоить years[новое] значение, которое находится в years[старое]
    2. инкрементировать значение years[старое]
    Ответ написан
    Комментировать
  • Cтоит ли использовать jQuery если знаешь JavaScript?

    Дмитрий Беляев
    насчет "в разы" вы загнули.
    как и с "только на jq."

    Валера Удав
    "В связи с этим часто возникает ситуация когда в перемешку идет jQuery синтаксис и JS"
    Синтаксис тут только один, это же не язык, и даже не фреймворк, а библиотека.
    Она призвана помочь быстрее писать код и предоставляет совместимость со старыми браузерами для многих нативных вещей, которые не получили на тот момент однозначной реализации.

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

    Я пришел к тому, что делаю импорты необходимых функций, которых мне не хватает при разработке на выбранном мной фреймворке, но не противоречит архитектуре выбранного приложения.
    К примеру в React+Redux приложении мне совсем не нужны методы для работы с DOM, но полезен $.ajax.
    import {ajax} from 'jquery';
    Jquery для меня - это такой универсальный помощник, который может пригодится.
    Люди, которые отказываются от jq полностью все равно находят аналоги(которые могут быть лучше, как могут и не быть) или пишут мини-библиотеки сами потому что нативный апи содержит очень много бойлерплейта(чего стоит только nodeList перебрать).
    Ответ написан
    Комментировать
  • Cтоит ли использовать jQuery если знаешь JavaScript?

    @springimport
    JQuery в основном используется как обертка над DOM и событиями. Логика в любом случае пишется как обычно.
    Ответ написан
    Комментировать
  • PHP + JS: как лучше поступить?

    Urvin
    @Urvin
    JS может делать AJAX-запрос в API и затем использовать данные из БД.
    Ответ написан
    1 комментарий
  • Что почитать об архитектуре приложений и фреймворков на php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В целом сразу вас расстрою, то что вы хотите нельзя "разобрать" за пару месяцев. На это уйдет пару тройку лет. И книги которые стоит по этой теме прочитать имеет смысл перечитывать. Ну и практика практика практика.

    Так же хочу заметить что "архитектура" это не что-то эдакое, а общее понимание команды разработчиков о том как функционирует приложение. Если этого общего понимания нет - у вас нет архитектуры. У многих разработчиков понимание пропадает уже через пару месяце стихийной разработки. Так что помимо архитектуры важно еще и процессы/методологии разработки подтянуть.

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

    но совершенно не имею представления о правильной архитектуре приложений на php


    "Правильно" не бывает, все зависит от задачи. "Правильная" архитектура является:

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

    Вот и все. Далее уже есть принципы SOLID (читать Роберта Мартина), GRASP (Крэйг Ларман), GoF (лучше тут почитать head first design patterns или даже начать с Мэта Зандстры, у него помимо паттернов еще про процессы мельком рассказано).

    Ну и смысла в этом всем нет если вы еще до конца не осознали что есть инкапсуляция и полиморфизм. Многие могут рассказать что значат эти термины, но на практике эти знания они не могут применить (чаще всего страдает инкапсуляция)

    или написании чего-то своего с нуля на чистом php


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

    идеально было бы вообще подробно расписанное сравнение внутреннего устройства нескольких фреймворков


    Берете Symfony или Zend и вперед. Все остальные фреймворки "проще". То есть скрывают больше от разработчика. После них уже можно брать что угодно.

    p.s. еще прочитайте тут: www.phptherightway.com
    Ответ написан
    12 комментариев
  • Работа за границей без опыта?

    atis2345
    @atis2345
    PHP developer
    Без опыта за границей, программистом - вряд ли.
    Без опыта и без образования - сомневаюсь
    Без опыта и без знания английского - неееееа.

    Хотя самому предлагали в Израиль без знания языка!
    Ответ написан
    6 комментариев
  • Работа за границей без опыта?

    opium
    @opium
    Просто люблю качественно работать
    как то вы не правильно зашли , в первую очередь надо выучить два языка, это арабский и английский, а работа уж дело наживное.
    Ответ написан
  • Как поступить с кроссбраузерной версткой, что ответить заказчику?

    @Ingvar91
    Начиная с 12 января 2016 года Microsoft больше не поддерживает старые версии Internet Explorer, включая IE 8, 9 и 10.
    Это означает, что компания Microsoft больше не будет предоставлять обновления безопасности или технической поддержки для этих версий своего браузера. Можно продолжать использовать их, но если будет обнаружена уязвимость в IE, то браузер останется в неисправном состоянии, а система не будет в безопасности.

    Компания настоятельно призывает пользователей переходить к Internet Explorer 11, который предлагает «повышенную безопасность, повышенную производительность, лучшую обратную совместимость», — как прокомментировали в Microsoft, а также, лучшую поддержку веб-стандартов, чем в старых вариантах IE.

    Кроме того, можно использовать Microsoft Edge, новый браузер компании, который автоматически запускает Internet Explorer 11, при этом обратная совместимость не требуется.


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

    Punkie
    @Punkie
    Так как в пункте ТЗ не оговорены версии браузеров, то вы можете сьехать на то, что ie8 - это уже не подходит под пункт "Кроссбраузер" в классическом понимании этого вопроса. Поддержка ie8 - это можно обозвать "Поддержка устаревших браузеров = +100% стоимости заказа". Или "Пинание говна динозавра" - если так угодно.
    Обосновать - чартами использования браузеров и нецелесообразностью траты денег на мёртвый браузер, который используют полтора пенсионера.
    Ответ написан
    17 комментариев
  • Как сделать общий auto_increment в двух таблицах mysql?

    @IceJOKER
    Web/Android developer
    Скопировал часть вашего вопроса и без каких-либо изменений вставил в поиск:
    p27LvgycvgekA7.jpg
    Нашел один из возможных вариантов.
    Еще один, если известно максимальное число записей, то можно в одной таблице начать от 0 инкремент, в другой от максимально возможного числа

    Плохой Гугл! Раз уж отказывается помогать именно вам!

    p.s. нафига вам это? Тут что-то не так.....
    Ответ написан
    1 комментарий
  • In_array не ищет, как найти?

    @IceJOKER
    Web/Android developer
    обычно если и пишут подобные функции, то их пишут, чтоб укоротить название, а вы взяли trim и удлинили его до trim_value, зачеееем? О_О

    вы уверены, что нужно юзать array_walk, а не php.net/manual/en/function.array-walk-recursive.php ? потому что var_dump вам выдал многомерный массив.

    $ick = $text[3];
    if(in_array($ick, $result, true) == true){
    echo "нашел";
    }


    замените на
    $ick = $text[3];
    var_dump($ick);
    if(in_array($ick, $result, true)){ //насчет третьего аргумента вы уверены? если проверяете только строки, то зачем так строго ?
      echo "нашел";
    }
    Ответ написан
    Комментировать
  • Как запретить отправку с пустого поля?

    Как минимум добавить required.
    Ну и хорошо бы ещё type='text' указать.
    То есть получится что-то такое:
    <input type="text" name="login" pattern="[0-9]{3}" required>
    Ответ написан
    Комментировать
  • Узнать количество дочерних элементов?

    @GreatRash
    Для начала внутрь <ul> нельзя вставлять <div>...
    Ответ написан
    5 комментариев
  • Есть ли правило, которое приорететнее, чем !important?

    aleksand44
    @aleksand44
    !superimportant
    Ответ написан
    Комментировать
  • Когда может понадобиться сохранять объект класса внутри себя?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Только при описании структур данных древовидных. Но не в конструкторе, ибо в этом случае мы получаем рекурсивный вызов конструктора объекта.
    Ответ написан
    Комментировать