• Какая разница между данными вариантами?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Первый плох, что в одной строке две переменные объявляются.
    Второй плох тем, что два var.

    Я бы так (сейчас заминусуют.. А, нет, тут нельзя минусовать : )
    var tempScrollTop
      , currentScrollTop = 0
    ;

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

    Upd. Главное же различие в том, что в 1-м варианте переменная tempScrollTopостаётся неинициализированной, её значение undefined, а во 2-м варианте ей даётся начальное значение 0.
    Ответ написан
    6 комментариев
  • Как сделать узел на svg?

    1. Надо нарисовать кривыми Безье путь этого узла в каком-нибудь векторном редакторе, напр. Adobe Illustrator:
      как это выглядит
      3870afe253d5421aaeebb9dd84570db3.png

    2. в этом редкаторе сохранить файл как SVG или просто скопировать оттуда SVG-код нарисованного пути. В Illustrator в диалоге сохранения копии файла как SVG есть кнопка «Показать SVG-код»
      (Show SVG Code)
      665467c951de4f8486dcf5d967326386.png

    3. в веб-документе вставить этот путь и дать ему пунктирный стиль через stroke-dasharray, скруглёные концы через stroke-linecap="round", нужную толщину через stroke-width и цвет через stroke:
      SVG код вашего узла
      <svg width="800px" height="369.643px" viewBox="0 0 800 369.643" enable-background="new 0 0 800 369.643">
      <path fill="none" 
        stroke="#596E7A"
      	stroke-width="10"
      	stroke-miterlimit="10"
      	stroke-dasharray="25,25"
      	stroke-linecap="round"
      	d="M34.762,225.595c25.084,109.862,211.31,151.786,342.262,108.929	c129.701-42.448,212.358-186.755,180.357-288.095C543.096,1.19,460.075-8.983,449.372,67.834
      	c-15.801,113.4,167.532,164.904,318.724,34.547"/>
      </svg>

    Результат
    Ответ написан
    Комментировать
  • Есть ли конструктор сложных SQL запросов?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    так от БД пляшите:
    - в аксессе встроенный
    - для MS SQL - SSMS, VS+SSDT
    - DevArt dbForge студии
    - .. по остальный - так гугл в помощь.. билдеров на самом деле до дури.. правда "остальные" чаще уже платные... но в большинстве случаев потриалить вдоволь, братья пираты помогают ))

    ps https://www.jetbrains.com/datagrip/ опять же.. (хотя и платный.. кстати.. у JetBrains все беты всех продуктов - фри ;))).. а так же кроссплатформенные в основном.. ну и https://www.jetbrains.com/toolbox/app/?fromMenu в помощь ;))).. в том смысле что сбилдить запрос и куда то потом его примерить - думаю беты будут в основном вполне пригодны ))
    Ответ написан
    Комментировать
  • Как скопировать сайт без последствий для поисковых систем?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Чем это чревато помимо угрызения совести?
    Ничем — индексируется контент (тексты)

    и поменять уже все текстааааааа под себя

    5a895aea9c61c706151244.jpeg
    Ответ написан
    Комментировать
  • Как можно убрать html теги с базы данных средствами php?

    Stimulate
    @Stimulate
    могу
    preg_replace('/<([^>]+)>/siu', '', $names[$i]);
    Ответ написан
    Комментировать
  • Как написать твит-бота на PHP не имея опыта в программировании?

    solotony
    @solotony
    покоряю пик Балмера
    Собственно упрощенная модель. Жена принесла коньяк - начинаю тестировать

    <?php
    
    
    class Man
    {
        protected $fakeVar;
        
        public function go()
        {
            /* do it */
        }
    
        public function sleep()
        {
            /* do it */
        }
    
        public function eat()
        {
            /* do it */
        }
    
        public function crap()
        {
            /* do it */
        }
    
        public function play($time)
        {
            /* do it */
        }
    
        public function isSleeping() { /* do it */ return $this->fakeVar; }
        public function isEating() { /* do it */ return $this->fakeVar; }
        public function isCraping() { /* do it */ return $this->fakeVar; }
        public function isBusy() { /* do it */ return $this->fakeVar; }
    }
    
    interface Drinkable
    {
        public function drink($volume);
    }
    
    class PhpDeveloper extends Man
    {
        public function code($time)
        {
            /* do it */
        }
    
        public function study($time)
        {
            /* do it */
        }
    
        public function isCoding() { /* do it */ return $this->fakeVar; }
        public function isStudying() { /* do it */ return $this->fakeVar; }
        public function isBusy() { /* do it */ return $this->fakeVar; }
    
        public function go()
        {
            parent::go();
            /* do it */
        }
    }
    
    
    class WhiskeyDeveloper extends  PhpDeveloper  implements Drinkable
    {
        const THRESHOLD = 0.01;
        const BALMERPEAK = 0.13;
        private $alcogolConcentration;
    
        public function drink($volume)
        {
            /* do it */
        }
    
        public function detectConcentration()
        {
            /* do it */
            return $this->alcogolConcentration;
        }
    
        public function go()
        {
            parent::go();
    
            if ($this->isBusy())
                return;
    
            if ($this->detectConcentration() < self::BALMERPEAK - self::THRESHOLD)
            {
                $this->drink(0.05);
                $this->study(10);
                return;
            }
    
            if ($this->detectConcentration() > self::BALMERPEAK + self::THRESHOLD*10)
            {
                $this->sleep();
                return;
            }
    
            if ($this->detectConcentration() > self::BALMERPEAK + self::THRESHOLD)
            {
                $this->play(10);
                return;
            }
    
            $this->code(10);
        }
    
    }
    Ответ написан
    Комментировать
  • Личный кабинет - средства реализации?

    @davidnum95

    php хуже работает с загруженными файлами
    js дырявый в плане утечек из БД

    Предчувствую понапишите вы в тз всякую ересь.
    Наймите специалиста, который хорошо разбирается в технической части и составлении тз.
    Ответ написан
    4 комментария
  • Какой существует бесплатный и self-hosted/desktop конструктор интерфейса на базе Bootstrap?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Бесплатная и очень крутая (для Винды и Линукса — что для меян очень важно):
    Pingendo

    Описание с видео работы программки для 3 версии, 4 чуть отличается по дизайну
    https://maksfedorov.ru/blog/all/prototipy-saytov-v...
    для 4 версии также есть веб-интерфейс

    Кликабельно
    5a734cca8cd49875804262.png
    Ответ написан
    1 комментарий
  • Дает ли строгая типизация в PHP 7 прирост производительности?

    Начал писать ответ комментарий https://toster.ru/answer?answer_id=937197, но ответ получился большим и поэтому решил поместить его отдельно.

    DevMan , я попробую уточнить ваше утверждение, что немного снижает.
    На самом деле, при использовании скалярных тайпхинтов снижается производительность вызова функций, поскольку возникает некий дополнительный оверхед на валидацию аргументов и приведение значений к нужным типам (если не используется strict_types). Но! Так как внутри функции значения аргументов уже приведены к нужным типам, то при использовании аргументов не происходит неявного приведения типа.
    Поясню на синтетическом примере:
    function foo($x) {
        $result = 0;
        for ($i = 0; $i < 100; $i++) {
            $result += $i + $x;
        }
        return $result;
    }


    Если вызвать эту функцию так: "foo('123')", то в таком случае внутри цикла аргумент будет неявно приводится к целому числу 100 раз. Если вызвать функцию так: "foo(123)", то в таком случае аргумент не будет внутри цикла приводится к целому числу. Очевидно, что второй вариант более производительный:
    ~$ time php70 -r 'function foo($x) { $result = 0; for ($i = 0; $i < 10000000; $i++) { $result += $i + $x; } } foo("123");'
    
    real    0m0.860s
    user    0m0.855s
    sys     0m0.005s

    ~$ time php70 -r 'function foo($x) { $result = 0; for ($i = 0; $i < 10000000; $i++) { $result += $i + $x; } } foo(123);'
    
    real    0m0.508s
    user    0m0.500s
    sys     0m0.008s


    В то же самое время, если добавить к аргументу скалярный тайпхинт, то тогда значение аргумента один раз будет приведено к тайпхинту и внутри функции уйдёт весь оверхед связанный с неявным приведением типа:
    ~$ time php70 -r 'function foo(int $x) { $result = 0; for ($i = 0; $i < 10000000; $i++) { $result += $i + $x; } } foo("123");'
    
    real    0m0.502s
    user    0m0.498s
    sys     0m0.003s

    ~$ time php70 -r 'function foo(int $x) { $result = 0; for ($i = 0; $i < 10000000; $i++) { $result += $i + $x; } } foo(123);'
    
    real    0m0.504s
    user    0m0.495s
    sys     0m0.008s


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

    Зато использование строгой типизации не даст запустить функцию в неконтроллируемом состоянии: когда функция ожидает на вход целое число, а по какой-то причине подсунули массив:
    $var = $_GET['foo'];
    bar($var);
    , для get-параметра foo=123 вызов будет корректным, а для foo[]=123 вызов функции приведёт к TypeError; для foo=abc тоже будет TypeError. Разумеется, этот пример сильно надуман и тут нужно использовать "нормальный" валидатор.
    Ответ написан
    1 комментарий
  • Что за библиотека использована для этой симуляции космоса и гравитации?

    Bobrodon
    @Bobrodon Автор вопроса
    Обычный землянин
    soulwire.github.io/sketch.js нашел нечто похожее
    Ответ написан
    Комментировать
  • Есть ли практические бесплатные видео уроки по Laravel 5?

    @antimind
    Блин, ну как же так? Как можно изучать программирование по видеоурокам? Вы что, читать совсем разучились что ли? По Laravel есть отличная документация, в том числе и на русском языке. Куча примеров, куча сниппетов, куча гайдов. Вот почему сейчас эти видеоуроки в таком тренде?
    UPD. Простите, если был резок, но я реально не понимаю, как это можно учиться программированию по видео. Для меня это то же самое, что в детстве писали сочинения по фильмам, а не по книгам.
    Ответ написан
    5 комментариев
  • Как лучше всего играть в торрент игры по сети?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    Внимание! Изменился адрес почты!
    игра купленная на торренте

    ...умер от разрыва шаблона...
    Ответ написан
    Комментировать
  • Событие jQuery при попадание элемента в поле зрения пользователя?

    userAlexander
    @userAlexander
    Верстка наше все)
    В поле зрения пользователя это значит когда пользователь доскроллил до элемента который находиться где то в контенте?

    Например
    var target = $('.elem');
    var targetPos = target.offset().top;
    var winHeight = $(window).height();
    var scrollToElem = targetPos - winHeight;
    $(window).scroll(function(){
    	var winScrollTop = $(this).scrollTop();
    	if(winScrollTop > scrollToElem){
    		//сработает когда пользователь доскроллит к элементу с классом .elem
    	}
    });
    Ответ написан
    4 комментария
  • Как вставить символ через каждый n-ое число символов с строке?

    Minifets
    @Minifets
    Hello world!!!
    function splitter($subject, $n, array $symbols) {
        return implode(array_map(function ($part) use ($n, $symbols) {
            if (strlen($part) === $n) {
                $part .= $symbols[array_rand($symbols)];
            }
            return $part;
        }, str_split($subject, $n)));
    }
    
    echo splitter('0000000000000000000000', rand(1, 3), [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]);
    Ответ написан
    Комментировать
  • Какие есть курсы для php разработчика среднего уровня?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Я конечно на уровне джуниора (7 мес), но курсов уже не найти... по крайней мере они дадут 20% от своей эффективности... именно из курсов могу посоветовать мастер-классы Елисеева (раз и два).

    Как правило нужно больше работать с документацией — да, прямо брать мануал MySQL, PostgreSQL, Yii2, Symfony, Laravel и все проштудировать — уже есть понимание большого количества применения написанного и их особенностей, если у вас конечно средний уровень... особый акцент нужно сделать на архитектуре — советую проникнуться DRY, KISS и обязательно GRASP, научиться в автотестирование (Codeception, PHPUnit, Selenium)... и практикам разработки (TDD, BDD, DDD)

    Я к тому, что вы уже четко представляете, в чем слабы и должны лупить в эти точки...

    Главный совет — найди работу. Например моя статья о том, как я искал (+ пару лайфхаков)
    Как джуниор-разработчику найти работу (vc.ru)
    Работа дает взрывной рост навыков (конечно если не клепать сайты на ЦМС и не работать чем-то вроде дизайнопрограммистом :)
    Ответ написан
    1 комментарий
  • Подходит ли ноутбук для веб-дизайнера?

    morihaos
    @morihaos
    На 99% вопросов уже есть ответы в инетке...
    Привет,
    15.6" для дизайна? Вам себя не жалко :-), ей Богу.
    Через месяц-два поймете, что нужен внешний монитор, как минимум. Потом придется купить охлаждающую подставку под ноут, ибо шуметь будет этот AMD вентиляторами ого-го как, как только начнете запускать "тяжеловесы" от Adobe. На охлаждающей подставке высота расположения увеличится, и работать руками на клавиатуре будет неудобно, прикупите выносную клаву, ну и конечно мышку. В итоге, этот ноутбук при работе у вас будет обычным системным блоком. Это имеет смысл только в том случае, если вы будете много перемещаться и работать с ноутом мобильно. Но это уже работа, а не плотное изучение.

    ИМХО, за 50-60 тыс. можно собрать вполне приличный стационарный набор, на котором будет очень комфортно работать.
    Ответ написан
    1 комментарий
  • Как мотивировать себя делать скучную работу?

    @lyaich
    Сколько много ответов и нет нигде главного, как по моему мнению. Не знаю, как другим, но меня очень мотивирует совместная работа. Если кто-то киснет, не работает, ленится, не знает, как сделать это правильно, я просто беру и начинаю его работу, мне нравится помогать, а абонент тем временем присоединяется и начинает работать усерднее меня. Такие вещи, как усердие, работа, они заразны. Если вы окружаете себя теми, кто ничего не делает, вы тоже будете просто сидеть, особо не угнитая себя, потому что все такие же, как ты. Если вокруг тебя суита, все с усердием что-то мутят, дедлайн такой смоделированный, ты тоже не сможешь усидеть на месте. Разумеется, это так же зависит от твоего состояния, а состояние зависит от здоровья, а здоровье от распорядка дня, сна и питания. Еще слышал, что если каждый день симетричен, и в рассписании у тебя работа каждый день без выходных, то это войдет в привычку и ты не сможешь заняться чем-то другим. Но это сомнительно звучит, так что лучше начать с других пунктов)
    Ответ написан
    Комментировать
  • С чего начать писать нейросеть для экзоскелета?

    longclaps
    @longclaps
    Преп стебётся, а ты и повёлся.
    Чтобы что-то моделировать на нейросетях, нужен большой массив размеченных данных, описывающих в цифрах поведение моделируемого объекта.
    Компас штоле тебе этот массив предоставит? )))
    Ответ написан
    4 комментария