• Когда удаляется сессия?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Тут почти всё о сессиях PHP. В частности, описание параметра session.gc_maxlifetime.

    P.S. Вообще, я бы по ряду причин рекомендовал Вам хранить сессии в Redis. Например тут есть простой пример на эту тему, который, как я думаю, без проблем можно применить и к последующим версиям PHP.

    В частности Redis хорош тем, что:
    1. Вы можете точнее контролировать время жизни сессии
    2. Такой подход исключает создание множества файлов на жестком диске
    *PHP создаёт по файлу на жестком диске на каждую сессию, из-за чего, в старых (но активно применяющихся до сих пор) файловых системах Linux'а может возникнуть проблема, заключающаяся в том, что закончились inod'ы (извините, терминологией не богат). Подобный вид атак не редко используется "хакерами" что бы положить сервер.
    Ответ написан
    Комментировать
  • Как решить конфликт Sass/sourcemapce в git?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Скажите пожалуйста как решается данная проблема, как добавить эту часть в игнор?
    Создаёте файл .gitignore и добавляете туда всё лишнее, в т.ч. CSS, SourceMaps и всю прочую автоматически генерирующуяся ерунду. Соотв. после этого, удаляете s.map из истории репозитория (полностью).

    На продакшене, или перед сдачей вёрстки на осмотр, деплоем или перед подобными мероприятиями, все нужные файлы (обычно это относится к CSS, а не к s.map) собираются/генерируются либо последним разработчиком (который сдаёт), либо любой системой сборки, которую вы используете.
    Ответ написан
    Комментировать
  • Как поступить с таблицей?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Здравствуйте!
    Здравствуйте!

    имеет ли смысл создать вторую таблицу, но только с теми данными которые будут часто доставаться
    В MySQL - да, в PostgreSQL возможно, я порекомендовал бы Вам использовать для этого наследование. НО! крайне важно понимать, что смысл таких операций есть только в тех случаях, если Вам действительно нужно увеличить производительность, то есть, производительности на данный момент, по какой-то причине не хватает (и никаким другом способом или в виду неких соображений, её увеличить нельзя) и Вам нужно её увеличить. В иных случаях, плодить лишние связи, крайне не рекомендуется. Не зависимо от того, MySQL это либо какая-то иная БД.

    *из личных наблюдений: чем меньше таблица в MySQL (в плане объёма на диске) - тем быстрее выборка, не зависимо от того, участвую ли "лишние" поля в этой выборке или нет.

    И если да, то лучше использовать MyISAM или InnoDB?
    Быстрее - MyISAM, надёжнее (+ там ещё транзакции всякие поддерживаются, и прочие плюшки) - InnoDB. Лучше - ?.

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

    При этом нужно знать сохранить один и тот же айдишник у них.
    Для этого есть LAST_INSERT_ID().
    Ответ написан
    3 комментария
  • Программирование на C# в Linux?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Будут ли работать и работать корректно IDE (полноценные версии) Visual Studio
    Visual Studio - очень вряд ли, а вот C#-программы созданные в Visual Studio под линуксом запустить можно, с помощью Mono. Года примерно 2-3 назад я так и пытался делать, откровенно говоря, работа с программой собранной в VisualStudio (под виндой) и запущенной под Mono'й в линуксе, чем-то напоминало тестирование альфа-версии windows. Но сам факт, того, что оно запускалось и работало - на лицо. Не знаю, может быть сейчас что-то изменилось к лучшему.

    Вместо VisualStudio, разработчики Mono предлагают Вам использовать MonoDevelop. На мой взгляд, сравнивать их не очень разумно, но последний тоже имеет полное право на жизнь.

    Но вот вопрос, как обстоят дела с программированием на выше перечисленных языках в этой ОС?
    Со всеми остальными языками, кроме C# - дела обстоят на мой взгляд, отлично. Хотя, говоря про C# - я имею в виду полноценную .NET-платформу, с винФормами, WPF и всей прочей дребеденью, к которой Вы возможно уже привыкли работая в VisualStudio/Windows.

    PyCharm, SmartGit и другие проги
    PyCharm - думаю да, это же от JetBrains штуковина? Все известные мне IDE их производства одинаково хорошо работаю и в Linux и в не Linux :))

    Других "прог" там тоже хватает, думаю, касательно программ для работы с Git'ом - у Вас проблем не возникнет.

    Какие особенности, чего ждать, к чему готовиться, стоит ли вообще.
    Особенности - это кардинально другая ОС, со всеми вытекающими. Другие оболочки рабочего стола, другой внешний вид, другие... "другие" примерно всё, что Вы можете придумать. От принципов разработки ОС до всего остального. Хотя нет, некоторые сходства есть в целом. В линуксе так же есть рабочий стол, нечто напоминающее по смысл кнопку "Пуск", курсор мыши и некоторые другие случайные совпадения с другими ОС.

    Стоит ли? - ответ на этот вопрос каждый выбирает для себя сам, лично. Я для себя давно решил, что стоит, чему и рад вполне. Долго сопротивлялся и упрямился линуксу "на рабочем столе", хотя и был довольно большой опыт работы с оным и с FreeBSD ещё с лохматых времен, кода актуальными были FreeBSD-4 и Debian-3. Сейчас Windows стоит на "запасном" диске, т.к. меня там всё ещё держат несколько программ, в т.ч. для обработки звука и фотошопы последних версий. Если бы не это - давно бы сидел в никсах и жил бы спокойно и счастливо.
    Ответ написан
    2 комментария
  • Что лучше wordpress или своя CMS?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Легче и быстрее будет создать свою cms, или же ковыряться в коде вордпресса и подстраивать свою верстку под него?

    Легче и быстрее и главное в конечном счёте безопаснее (да, я знаю, что WordPress это "дуршлаг"):
    ковыряться в коде вордпресса и подстраивать свою верстку под него
    А ещё легче взять чужую вёрстку и готовую и вообще не ковыряться и т.д. :)
    Ответ написан
  • Удаление зафиксированных в git файлов?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Можно ли как-то поставить папку в git ignore, чтобы избежать в будущем случайного добавления. Спасибо!
    Можно, создаёте в корне файл .gitignore и пишите туда примерно следующее (мой файл .gitignore):
    .idea/
    nbproject/
    node_modules/
    css/


    Удаление "случайно попавших" в историю файлов, из этой самой истории, в т.ч. если Вы уже сделали коммит (и даже если не один) делается с помощью команды git-filter-branch (по ссылке есть примеры). В том числе про это можно прочитать тут или даже найти на самом "Тостере", например тут.

    P.S. А ещё в этом плане неплохо помогает иногда IDE под названием "PHPStrorm", показывая подсказки на подобии "Игнорируемые файлы присутствуют в истории репозитория" и даже подсказывая команды, как эти файлы из истории репозитория удалить :)
    Ответ написан
    21 комментарий
  • Что должен знать senior frontend developer?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Здравствуйте, интересно узнать какими скилами и опытом должен обладать senior frontend разработчик? В разных вакансия абсолютно разные требования на такую позицию.
    Исторически сложилось так, что чёткое определение "скиллов" на "должность" Senior'a, к сожалению, не существует, не зависимо от области, "фронтэнд" или что-то ещё.

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

    Представьте себе, ведущего разработчика и набор задач которые он должен решать, в какой-нибудь крупной компании, например, "Мейл.ру" и аналогичную должность, в компании "Сайтошлёп инкорпорейтед". Примерно с аналогичной ситуацией Вы столкнетесь при поступлении в институт, и "ценность" полученного образования соотв. пропорционально зависит от "сложности поступления".
    Ответ написан
    Комментировать
  • Page Insight не правильно просит оптимизировать изображения. Как ему сказать что размер картинки должен быть именно такой?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Зашел на Ваш сайт, увидел картинку, вот эту, в разрешении 1900 (оригинал) и 778px фактическом подробности.

    Посмотрел, какие изображения предлагает скачать гугл... он почему-то её уменьшил до 628px (почему именно, до такой ширины - затрудняюсь сказать), но явно не 278px.

    И т.к. данная картинка (*тут я имею в виду картинку, которую Вы приводите в пример) у Вас на сайте уже в размере 278px, посмотреть почему и зачем гугл её так уменьшил - сказать сложно (а проверить в данный момент просто не представляется возможно). Но, рискну предположить, что данная картинка именно по этой же ссылке, используется где-то ещё на сайте, и там она как раз в таком разрешении.
    Ответ написан
    2 комментария
  • Ноутбук для веб разработчика, бюджетное решение?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Из того, что я сейчас выбрал это либо:

    Из всего, что Вы перечислили, лично на мой взгляд, единственный достойный внимания вариант - 1, т.к.:
    1. не б/у
    2. хотя бы 15.6"

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

    Если Вы собираетесь работать за ним долго, стоит первоочередное внимание обратить на матрицу. Конечно, у ноутов за такую цену матрица будет однозначно из категории "не очень", но "нормальные неочень", а есть "совсем неочень", например, с хорошим "отливом" синего, или с чудовищно низкими углами обзора. В идеале, матрицу иметь бы хотя бы из (X)VA серии, за такие деньги на 15" машинах они иногда попадаются.

    Не стремно ли брать Б/У macbook?
    Оно Вам точно надо, тем более б/у тем более 13"? Вам чего-то на обычном ноуте не хватает? Наклейка в виде огрызка стоит не дорого, а аналогичный интерфейс и ОС того же семейства можно получить вообще бесплатно :D

    P.S. Я бы ещё отказался от HDD в пользу SSD, для работы хватает с головой 120-240Гб SSD'шника, а родной HDD можно прицепить по USB (как внешний), при великой нужде.
    Ответ написан
    2 комментария
  • Удобство для малого офиса, какие программы?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    чат для общения,
    любой на Ваш вкус, иногда встроен в CRM

    новости(кто че сделал),
    для этого так же есть CRM, или любую CMS формата "корпоративный портал"

    планирование(какие есть задачи и сколько времени и в каком статусе),
    RedMine и масса других CRM, например "Битрикс-24" (там же есть и чат, и новости и пр. лабуда)

    статьи(аля это настраивать нужно так, что бы не спрашивать каждый раз почему не работает),
    "Вики", есть почти в любой CRM, например, в GitLab.

    ну и понятно что тут git тоже должен фигурировать,
    GitLab

    хотелось бы что бы все это было связано между собой,
    RedMine + Git, GitLab, MantisBT и масса других подобных бесплатных сервисов прекрасно связываются между собой в той или иной мере. Абсолютно полноценного комплекса, как Вы хотите, бесплатно - пока не существует.

    P.S. Ещё можно вот тут почитать.
    Ответ написан
    Комментировать
  • Как задать размер для картинок в слайдере?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    не могу их подогнать под один размер, чтобы подстраивались все размеры в одном окне.
    А как Вы хотите их подогнать под 1 размер? То есть, что именно с ними должно произойти (какая операция), что бы они стали одного размера?

    Самые простые варианты:
    1. Выставить им фиксированную ширину и/или высоту
    2. Выставить им максимальную ширину и/или высоту
    3. Использовать атрибут background-size (CSS), для корректировки картинки-фона внутри слоя, который будет представлять из себя слайд.
    Ответ написан
    2 комментария
  • Можно ли отключить адаптивную вёрстку bootstrap только на планшетах?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Вы можете настроить бутстрап под себе, как Вам нравится, например тут.
    Ответ написан
    Комментировать
  • Какие юридические обязанности нужно соблюсти перед публикацией сайта?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    1) http или htps?
    Если у вас есть форма для ввода пароля, то на этой странице крайне желательно иметь "htps", а лучше сразу на всем сайте, что бы на страницы его не делить...

    2) Нужно ли мне писать правила сайта и пользовательское соглашение?
    Если планируете хранить и обрабатывать персональные данные пользователей - думаю, стоит.

    3) Нужно ли мне как-то узаконить монетизацию?
    Это уже на Ваш страх и риск, в большей степени.

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

    5) Прошу у вас ссылок на источники со схожей тематикой
    На сайты знакомстсв?!

    6) Как защитить сайт от копирования? (копирайт)
    Вариантов тут несколько основных:
    1. Никак
    2. Регистрировать статьи в Яндексе до их публикации (раньше там был подобный сервис, думаю и сейчас есть)
    3. Подавать в суд на плагиаторов
    Ответ написан
    Комментировать
  • Как различить события wheel, чтобы браузер понимал, когда крутят вверх колесо, а когда вниз?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Почему на позицию Junior HTML-верстальщика такие требования?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    1. Почему многие компании в своих вакансиях на позицию джуна html указывают в требуемых умениях знания PHP(либо базовые либо средние)
    По тому, что два феерически популярных шаблонизатора, таких как Blade и Twig наипсаны на PHP. И сам по себе PHP - отличный шаблонизатор, достаточно скачать и положить куда-нибудь на диске (т.е. ставить не обязательно) PHP, запустить встроенный сервере и использовать его в купе с gulp->browser-sync, получается отличная связка без всяких Apache'ей, для разработки - идеально. Так же, применение подобных связок позволяет не писать например, 8 раз 1 и тот же блок, а просто засунуть его в цикл и вывести 8 раз. Итог - меньше кода, проще работать.

    MySQL, работу с БД
    По тому, что при умении работать с MySQL - хотя бы базовом, а так же при помощи дюжины строк кода PHP, вы можете доставать данные прямо из БД и выводить их в макете, работая с реальными данными, а не с "Lorem ipsum'ами".

    Можно ли назвать человека, проработавшего более года в офисе на коммерческих проектах джуном?
    Проекты бывают разные, например в средней по размерам фирме, где я сейчас работаю, меня назначили тех. директором (т.к. почти 20 лет опыта и всё такое). Если бы я пошел работать в Google, наверное, там бы я был джуном... если бы вообще кем-то был :D (условно конечно, но думаю Вы понимаете о чём я). Другой пример, когда я устраивался на работу в международную IT-компанию, там среди требований на сеньёра была такой список знаний, что я немного прифигел, среди прочего было свободное владение английским и желательно ещё каким-то (кроме родного) языком, к знанию PHP добавлялось отличное знание кардинально противоположенного языка, например, Java, C++ или C#, отлично знание линукса и сетей и т.д. С другой стороны, человек работающий в фирме "3 разраба", на должности "Сеньёр", не обладает даже 10% знаний, озвученных в другой фирме на эту же должность (в эту фирму я тоже пытался устроиться). Т.е. фирмы бывают разные и требования тоже.

    Почему на именно на джуна столько требований, я честно говоря, точно сказать не могу. Т.к. джунов обычно набирают, что бы "воспитать" себе разработчика нужной категории. Выше озвученные мной эпитеты скорее являются ответами на все остальные вопросы, кроме вопроса "зачем всё это именно джуну". Но, возможно это показывает желание человека развиваться в целом, а не зациклится на чем-то одном и "свято верить в чудеса". Люди, которые "научились делать что-то одно", в профессиональном IT обычно долго не держатся, наглухо увязая в массах себе подобных, которые тоже умеют делать "что-то одно" а потом бегают по фрилансам и депмят цены до такой степени, из начального бюджета, который и без того, был не велик (например, 5тыс. руб.) он порой превращается в 200-300руб., лишь бы урвать кусок работы. Можно "делать что-то одно", а знать в общей сложности нужно всё, т.к. дизайнер без знания основ работы браузера - очень хреновый дизайнер. А верстальщик, без знания основ фотошопа - очень плохой верстальщик.

    P.S. Зачем в требованиях пишут "умение рисовать в фотошопе" - я даже приблизительно себе представить не могу, т.к. именно "рисовать" - это на 100% задача дизайнера/художника, и это на 97% та задача, которая к верстальщику не относится вообще никак, почти так как умение штукатурить стены, к вёрстке не имеет вообще никакого отношения, даже косвенного.
    Ответ написан
    2 комментария
  • Как компилировать все .py файлы в директории в .pyc?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Варианты хранения id профилей в куках?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли какие то более распространенные и удобные варианты хранения подобного рода кук?
    Мне кажется да, хранение в куках ID сессии пользователя в куках, а всей нужной информации - в БД, при этом ID-сессии будет какой-то единой строкой (состоящей из цифр, букв или чего-то ещё), которую достаточно прогнать через 1 фильтр, что бы избежать SQL-инъекций. А если Вы используете ORM, то они (ORM'ы) обычно умеют это делать самостоятельно (фильтровать данные, что бы избежать SQL-инъекций) и даже фильтры не нужны.

    PHP имеет встроенный механизм сессий, в т.ч. с сохранение соотв. информации в куках, многие PHP-фреймворки так же имеют свои варианты реализации сессий.

    Как уже отметил предыдущий автор ответа - размер кук ограничен, а base64, насколько я помню, увеличивает размер исходных данных на 1/3 (с "1/3" возможно я не совсем прав, не помню нюансов). Так же ограничено и количество кук на 1 домен.

    Для удобства, сессии можно хранить, например в Redis'е, автоматически очищая информацию которой не пользовались N-времени.

    Base64, как Вы заметили - это "кодирование", а не "шифрование".

    Каждая кука передаётся с каждым HTTP-запросом, это не ускоряет загрузку сайта.

    P.S. К хранению информации для незарегистрированных пользователей я бы отнёсся довольно осмотрительно.
    Ответ написан
  • Есть ли смысл с CDN, если VPS на AWS?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    CDN обычно используются для нескольких целей:
    1. Если это "общий" контент, например такой как, JQuery - увеличивается вероятность того, что пользователь уже загрузил данную библиотеку (или другой файл) по этой ссылке в кэш и ему не придётся загружать её ещё раз повторно.
    2. Что бы удалить из HTTP-трафика куки и пр. промежуточную информацию "не имеющую отношения к делу", тем самым ускорив процесс загрузки.
    3. Что бы разгрузить основной сервер/канал от статики
    4. и т.д.

    В вашем конкретном случае:
    1. Зависит от географии конкретного пользователя
    2. Зависит от того, с какой скоростью может отдавать "картинки и прочую статику" CDN и непосредственно Ваш сервер (и сеть и нагрузка), на что в свою очередь может повлиять так же трафик пользователей (их количество в единицу времени)
    3. CDN'ы бывают разные :)
    4. И другие факторы

    К общим недостаткам CDN'а можно отнести то, что иногда они попадают под блокировку по разным причинам (благодаря усилиям админов разных компаний) и получается так, что Ваш сайт грузится, а статика - нет. Хоть и бывает это крайне редко, но я даже сталкивался с ситуацией когда Google-CDN был заблокирован. А так же CDN'ы могут "падать" как и любые другие сервера, создавая аналогичную ситуацию, когда Ваш сайт работает, а статики нет.
    Ответ написан
    4 комментария
  • Страный код в начали файла Wordpress?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    подскажите что это за страный код в начали файла это вирус
    Судя по всему - да. Можете попробовать скачать весь сайт (код сайта) себе на компьютер и проверить его антивирусами Dr.Web и Kaspersky, оба они в той или иной мере способны находить (и иногда даже лечить) в т.ч. и такие вирусы. По крайней мере, Вы узнаете наверняка, вирус ли это...

    P.S. И у Kaspersky и у Dr.Web были бесплатные утилиты для проверки без необходимости установки самого антивируса себе на ПК. Так же если архив с сайтом не очень большой (если очень - можно удалить оттуда картинки, загрузки и прочее) можно попробовать загрузить на VirusTotal, и тогда вообще ничего ставить не придётся.
    Ответ написан