• Как кодировать url в php (urlencode не подходит)?

    php666
    @php666
    PHP-макака
    все, что тебе нужно - сделать htmlspecialchars:
    <?php
    $url = 'http://server.ru/?var=foo&var=Привет, мир!&XSS=<script>alert(1)</script>';
    $url = htmlspecialchars($url);
    ?>
    <a href="<?=$url?>">link</a>

    все остальные вопросы про безопасность - твои выдумки. тут почитай материал - phpfaq.ru/tech/safety

    Если пользователь вел какое-то авно в строку url-адреса, то это сугубо его личные проблемы, твоя задача лишь при отображении предотвратить XSS. Все.

    Если нужна валидация URL, то самый правильный ответ тут - https://stackoverflow.com/a/1411800
    Ответ написан
    Комментировать
  • Как поисковики будут смотреть на сайт в котором информация с других сайтов?

    Zoominger
    @Zoominger
    System Integrator
    Прикроют в два счета. Вы верно подметили, что вы не первый, кому пришла в голову идея паразитировать на чужих трудах и также верно заметили, что таких сайтов вы не видели. Угадайте, почему?
    Поисковики же и хостер прихлопнут по первой жалобе крупных ресурсов.
    Ответ написан
    1 комментарий
  • Где найти наставника по программированию или сообщества для совместной разработки?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если кратко и бесплатно:
    Оф.документация, гугл, процессор ПК, компилятор, открытый код на github, Ваш мозг.

    Если этого недостаточно - переформулируйте вопрос так, чтобы была чётко понятна ваша цель.
    Ответ написан
    6 комментариев
  • Какие выбрать платные курсы по изучению php?

    Посмотрите Дмитрия Лаврика. Точно не помню есть ли у него php с самого нуля, но преподает он очень круто. Выше советовали Елисеева и он крут, но у него видосы по 6 часов идут))
    Ответ написан
    Комментировать
  • Разместил резюме на позицию junior front-end, не понимаю что не так в нем?

    Во-первых, на что я бы обратил внимание — возраст и опыт стажировки всего три месяца. В вашем случае лучше указать и непрофильный опыт тоже, если он есть.

    «Языки: HTML5/CSS3, Java Script ES 6-7-8, jQuery, Ajax» — JavaScript слитно, а Ajax и jQuery не языки.

    Каждый пункт лучше расписать, например, что умеете делать с помощью Wordpress или Bitrix?

    Опять же, Git не программа.

    Сами работы очень простые и не замысловатые.

    И на каком уровне можете работать с Vue — неясно.

    И помимо отправки самого резюме ещё нужно писать сопроводительные письма, уникальные, чтобы заинтересовать работодателя, так как конкуренция очень большая и сейчас вы никак не выделяетесь.
    Ответ написан
    Комментировать
  • Как писать html код в php файле?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    не надо писать html код в исполняемом php коде
    Ответ написан
    6 комментариев
  • Есть ли резон переучиться на программиста?

    php666
    @php666
    PHP-макака
    В IT, если говорить о простых исполнителях, мало кому нужны люди за 40 - они в силу возраста работают медленнее, чем программисты 25+ лет. Кто бы что не говорил и не писал на профильных сайтах о 90-летних программистах.

    40-летний юнга - это из разряда фантастики. Вы будете себе чувствовать, мягко сказать, плохо, работая в коллективе профессионалов кому нет и 30, со временем это выльется в комплекс неудачника. В 41 вряд ли освоите все быстро, пройдет 3-5 лет и вам уже 46.

    Легче в такси устроиться.

    Основой посыл - более высокая зарплата
    Высокая зарплата - это миф. Она не дается просто так. Это результат многих лет изучения и практики, это путь длинной во многие годы.
    Ответ написан
    1 комментарий
  • Авторское право, если мои курсы украдут и выложат в сеть тексты?

    Zoominger
    @Zoominger
    System Integrator
    Нет.
    Всем глубочайше наплевать.
    Это ответ, если что.
    Ответ написан
    1 комментарий
  • CMS или вообще конструктор?

    Punkie
    @Punkie
    Сделать верстку и посадить на cms? То на какую?

    - На ту, с которой лично вы умеете работать

    Или проще на конструкторе реализовать лендос+корзина?

    - Проще, если заказчику пофиг.
    Ответ написан
    3 комментария
  • Существуют ли адекватные сторейдж сервиcы (клауды) для хранения бэкапов?

    Если Вас устраивает текущий хостер, подключите у него еще тариф или два. У Вас же не 1 копия файла хранится, разнесите "по тарифам". Или к примеру, на одному будете хранить свежее, на другом старые бекапы.
    Ответ написан
    Комментировать
  • Есть ли перспективы у программиста за Москвой И СПб?

    @dmfun
    Люди и по удаленке работают. Важны скилы. Junior будет немного получать по-любому.
    Конечно, в МСК и СПБ найти работу проще, но и в остальных городах вполне можно. Можно посмотреть проводят ли IT-конфы в городе, есть ли какая-то активность. В каждом городе по разному. Казань, Самара, Томск, Новосибирск, вполне платежеспособные города и движуха там есть.
    В более мелких городах посложнее, смотрить надо на айти-сообщество и какие есть предприятия. Где-то может и не быть, за все города ручаться не могу.

    Кстати, выгоднее разрабов держать на переферие, ибо дешевле. Но не в каждом опять же городе удастся создать офис и филиал. Думаю тут такой алгоритм. 1) найти городское сообщество в соц сетях. посмотреть кто где работает, кто сколько получает. 2) если сообщества как такового нет, конфы не проводятся, значит в городе тухляк. Если же наоборот, то надо пообщаться с людьми в комьюнити влиться, послушать, что эти люди думают. Но вполне может быть, что есть какая-то конторка, которая сидит и тихо пашет, в соседнем доме, выпускает игры для мобил с миллиоными оборотами :) Нужно все самому узнавать, вакансии думаю везде есть, но если самому не искать, не найдешь точно :)
    Ответ написан
    4 комментария
  • Правда ли что рынок веб разработки "перегрет"?

    php666
    @php666
    PHP-макака
    "Ко-ко-ко, дефицит хороших сотрудников" -- повторяют один за другим вайтишнички. Вторая тема за день с шаблонными ответами как под копирку. При этом, каждая такая макака себя считает именно "хорошим сотрудником", достойная не менее полмиллиона рублей в месяц зарплаты.

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

    Вот эти ребятки, что в этой теме отметились, они настолько все туповатые, что сами себе роют могилу, крича на весь интернет о "дефиците". Сами того не понимая, плодят себе конкурентов. Для примера - зайди на какой-нибудь бизнес-форум и спроси у любого пользователя, кто бизнесом занимается - "как ты деньги зарабатываешь?" - ни один идиот тебе не раскроет секрет. Никогда. Это только у айтишников так принято - трубить на всю ивановскую о дефиците. А лет через 10 большая половина этих обезьянок пойдет в такси работать, ибо рынок будет безбожно переполнен людьми с вполне обычными знаниями.

    И не забывайте о времени - через Н лет все, кто сейчас "на коне", станут вторсырьем, ибо индустрия на месте не стоит и знания ваши обесценятся. Вот смеху то будет, когда после 10 лет упорного труда вы ВНЕЗАПНО поймете, что индустрия рванула вперед, а вы все на [нужное_вписать] кодите. Быгыгы.
    Ответ написан
    51 комментарий
  • Правда ли, что сейчас так сложно найти работу?

    @alexhovansky
    Странное у вас впечатление после прочтения статьи.
    Во-первых, в самой же статье и говорится про высокую потребность в программистах.
    Во-вторых, автор статьи натягивает сову на глобус. Ну нельзя на основе нескольких случаев взять и вывести закономерность. Кто-то не прошёл собеседование? Ну а кто-то ведь прошёл.
    В-третьих, рынок не переполнен. Отнюдь не один hr не может закрыть требуемые вакансии - некем.
    Ответ написан
    Комментировать
  • Есть ли CSS-only способ для такой задачи?

    DevMan
    @DevMan
    вы реально полагаете, что по скринам можно понять как оно всплывает?
    ну ок: можно и на чистом CSS показывать блок по hover'у.
    Ответ написан
    Комментировать
  • Правда ли, что сейчас так сложно найти работу?

    rockon404
    @rockon404
    Frontend Developer
    Правда ли, что сейчас так сложно найти работу?

    Не правда. Сильных специалистов как не хватало, так и будет не хватать.

    Другое дело люди которые мечтают протиснуться с минимальными знаниями куда-угодно, где поменьше конкуренция. Последние мало где нужны, а где нужны на одно место сотни таких же почти ничего не умеющих, не знающих и не подающих особых надежд.

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

    @netcore
    Есть группа людей которые не понимают в программировании ничего, но у них есть идея, понимание как работает продукт, и деньги (но это вторично)
    Назовем эту группу людей бизнес

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

    Сначала бизнес описывает боль которую решает продукт
    В чем боль? Бизнес раньше продавал газеты, а теперь хочет свою интернет газету.
    1. Они не хотят тратить деньги на печать, а просто делать посты новостей и статьи.
    2. Они не хотят платить деньги на транспортные расходы развозить газеты, а делать рассылки на электронную почту
    3. Они хотят получать обратную связь (комментарии)
    этого достаточно для примера.

    В идеале бизнес заказывает дизайн. Как это должно выглядеть.
    В идеале есть еще и пордакт менеджер который знает UML, но это влажные фантазии, по этому примем что есть бизнес и есть программист.

    Затем описываются сущности этого продукта и действующие лица в этом продукте
    Что мы можем понять из этого? Какие у нас есть сущности?
    1. пост - новость или статья на сайте.
    1.1. На этом этапе выясняем у бизнеса в чем отличие новости от статьи.
    Бизнес говорит: у новости (например) есть только одна картинка, текст.
    У статьи есть так же текст но картинок может быть несколько, так же не может быть комментариев.
    Бизнес забыл про то что в дизайне есть еще и дата, тут уже додумывает сам программист взглянув на макеты.
    В итоге у нас получается одна абстрактная модель Post и две ее реализующие: Article и News.

    public abstract class Post
        {
            protected Post(string text, int writerId)
            {
                Text = text;
                CreationDate = DateTime.Now;
                WriterId = writerId;
            }
    
            public int Id { get; set; }
            public string Text { get; private set; }
            public DateTime CreationDate { get; private set; }
            //Идентификатор писателя статьи\новости
            public int WriterId { get; private set; }
    
            //Автоматически подтягиваемая из базы модель писателя через ORM по WriterId
            public virtual Writer Writer { get; set; }
    
        }
    
        public class Article : Post
        {
            public Picture[] Pictures { get; private set; }
    
            public Article(string text, int writerId, Picture[] pictures) : base(text, writerId)
            {
                Pictures = pictures;
            }
        }
    
        public class News : Post
        {
            public Picture Picture { get; }
            
            //Массив комментариев к посту
            // private set -- говорит о том что массив инкапсулирован
            // и управлять массивом можно только через метод AddComment
            public List<Commentary> Commentaries { get; private set; }
    
            public News(string text, int writerId, Picture picture) : base(text, writerId)
            {
                Picture = picture;
            }
    
            public void AddComment(Commentary commentary)
            {
                Commentaries.Add(commentary);
            }
        }


    Далее у нас есть ролевые модели и у каждого своя бизнес логика.
    2. Подписчик - получатель новостей. Бизнес хочет что бы каждый зареганый юзер автоматически стал подписчиком. Такого в реальном мире не будет, нельзя, но для примера норм.
    3. Писатель - тот кто пишет статьи\новости.

    Две эти модели отличаются между собой только ролью и наличием у подписчика поля email. По этому приведем вот такие ООП модели

    public abstract class User
        {
            public int Id { get; set; }
            public string Username { get; private set; }
            public string Role { get; private set; }
            
            protected User(string role, string username)
            {
                Role = role;
                Username = username;
            }
        }
    
        public class Subscriber : User
        {
            public string Email { get; private set; }
            
            public Subscriber(string username, string email) : base(nameof(Subscriber), username)
            {
                Email = email;
            }
        }
    
        public class Writer : User
        {
            public Writer(string username) : base(nameof(Writer), username)
            {
            }
        }


    Поле пароль опущено, тут много чего опущено для простоты восприятия.

    3. Комментарий - обратная связь от юзера в посте. При чем хочу заметить от ЮЗЕРА, бизнес говорит что писать могут как и подписчик так и писатель

    public class Commentary
        {
            public int Id { get; set; }
            public string CommentText { get; private set; }
            public int UserId { get; private set; }
            
            public virtual User User { get; private set; }
            
            public DateTime CommentCreationDate { get; private set; } 
            
            public Commentary(int userId, string commentText)
            {
                UserId = userId;
                CommentText = commentText;
                CommentCreationDate = DateTime.Now;
            }
        }


    Вот - хоть и примитивно и немного неправильно (а то щас налетят пет программисты) но мы описали модели, абстрагировали одинаковые поля в абстрактные классы. Инкапсулировали поля и добавили методы которые описывают как работает класс. Инициализация полей происходит только в конструкторах. Работа с полями только с предоставленными для этого методами.

    Прошу прощения что не PHP, но C# тоже C подобный, так что проблем с чтением на уровне моделей быть не должно.

    Одна из функций ООП -- что бы программисты понимали бизнес.
    Ну и человеку прозе описывать поведение реального мира объектами и как эти объекты между собой взаимодействуют.
    Есть целые методологии разработки ПО такие как DDD, где вообще ядро кода пишется на копароративном языке и жестко соблюдаются правила названия моделей и описания алгоритмов бизнес процессов бизнеса. Код получается самодокументированным. Были случаи когда ядро по DDD писали даже на русском, потому что бизнес большой, а новичкам, кто приходил кодить в фирму, было быстрее и проще вкатиться в понимание прикладной практики бизнеса и понять по коду как бизнес устроен на разных слоях.
    Ответ написан
    1 комментарий
  • Как проверить сайт на адаптивность?

    В инструментах разработчика в браузерах есть адаптивный режим. Можно выбрать по модели девайса, либо указать размер экрана руками.
    Ответ написан
    1 комментарий
  • Где взять реальные примеры кода использования ооп в веб-сервисах?

    ООП для веба - это так же, как в книжках.
    Делаете класс ПостВБлоге
    Описываете его свойства (они же атрибуты).
    Реализуете методы для чтения и записи из/в БД.
    Получается что-то вроде
    class BlogPost {
        public $id;
        public $title;
        public $text;
        public $date;
        
        public function write() {
            // код записи в БД
        }
        
        public function read() {
            // код чтения из БД
        }
    }

    Делаете класс Комментарий
    class Comment {
        public $id;
        public $text;
        public $date;
        public $blogpostId;
        
        // чёрт, здесь почти такой же код, как и в классе BlogPost
    }

    Придётся делать класс-предок для BlogPost и Comment
    class DatabaseRecord {
        public function write() {
            // универсальный код записи в БД
        }
        
        public function read() {
            // универсальный код чтения из БД
        }
    }
    class Comment extends DatabaseRecord {
        // ....
    }
    class Comment extends DatabaseRecord {
        // ....
    }


    Потом идёте на https://laravel.ru/docs/v5/eloquent и с восхищением обнаруживаете, что всё уже написано за вас и для вас, и как раз с использованием ООП.
    Ответ написан
    2 комментария
  • Где взять реальные примеры кода использования ооп в веб-сервисах?

    search
    @search
    мама говорит что я особенный
    Книга Приёмы объектно-ориентированного проектирования. П... предоставляет весьма популярные практики использования ООП. Написана в 1994 году. По сей день считается "маст рид" для программиста.
    Ответ написан
    Комментировать