• Как получить множество объектов одной модели?

    php666
    @php666
    PHP-макака
    Однозначно первый вариант.

    Для поиска коллекций, одиночных объектов и в целом для CRUD, лучше посмотреть в сторону DataMapper - он абстрагирует объекты модели от СУБД. Это очень удобно:

    datamapper.png
    Ответ написан
    Комментировать
  • Веб-дизайнер-фрилансер после 35 лет?

    php666
    @php666
    PHP-макака
    Ну на тостере других ответов и не будет - "ты нытик", "ко-ко-ко нехватка сеньеров" и т.д.

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

    Странно, что ты не позаботился о подушке к 35 годам. Я имею в виду что только сейчас стал задумываться.
    Ответ написан
    7 комментариев
  • Надежно ли использовать только is_numeric и is_int?

    php666
    @php666
    PHP-макака
    Посмотри мою обертку под MySql. Там это уже всё сделано.

    if (!is_numeric($_GET['id']) or !is_int($_GET['id']+0))
    Насчет подобных проверок... поверь, я "собаку съел" на этом, писав свою библиотеку и я скажу, что на самом деле мало кто из отвечающих сразу так напишет правильный ответ =) Все существующие в PHP механизмы определения чисел, все эти фильтры и расширения для оных - крайне плохо работают.

    Если вкратце, то вот метод определения целого числа. Вот метод определения с точкой. В последнем есть небольшая бага, но в целом это работает:

    foreach ([
                 '9223372036854775808', 9223372036854775808, // > PHP_INT_MAX + 1
                 1, '10', '+1', '1.1', 1.1, .2, 2., '.2', '2.',
                 '-2.', '-.2', null, [], true, false, 'string'
             ] as $value) {
        echo $value . ':' . gettype($value) . ' is Integer? - '  . (isInteger($value) ? 'yes' : 'no') . PHP_EOL;
        echo $value . ':' . gettype($value) . ' is Float? - '  . (isFloat($value) ? 'yes' : 'no') . PHP_EOL;
    }


    9223372036854775808:string is Integer? - yes
    9223372036854775808:string is Float? - no
    9.2233720368548E+18:double is Integer? - no
    9.2233720368548E+18:double is Float? - yes
    1:integer is Integer? - yes
    1:integer is Float? - no
    10:string is Integer? - yes
    10:string is Float? - no
    +1:string is Integer? - yes
    +1:string is Float? - no
    1.1:string is Integer? - no
    1.1:string is Float? - yes
    1.1:double is Integer? - no
    1.1:double is Float? - yes
    0.2:double is Integer? - no
    0.2:double is Float? - yes
    2:double is Integer? - no
    2:double is Float? - yes
    .2:string is Integer? - no
    .2:string is Float? - yes
    2.:string is Integer? - no
    2.:string is Float? - yes
    -2.:string is Integer? - no
    -2.:string is Float? - yes
    -.2:string is Integer? - no
    -.2:string is Float? - no   <---- тут только ошибка, не починил еще
    :NULL is Integer? - no
    :NULL is Float? - no
    Array:array is Integer? - no
    Array:array is Float? - no
    1:boolean is Integer? - no
    1:boolean is Float? - no
    :boolean is Integer? - no
    :boolean is Float? - no
    string:string is Integer? - no
    string:string is Float? - no
    Ответ написан
  • Возможно ли устроиться на удалённую стажировку?

    php666
    @php666
    PHP-макака
    Но, увы, я живу в городе, в котором нет ни единой вакансии для java-программиста, да и для программистов в целом. А возможности переехать нет.
    А теперь включаем голову и задаем сами себе вопрос - ЗАЧЕМ мы учим язык программирования, если в городе нет ни одной вакансии, а переехать возможности нет? Сто раз обсуждали это - IT работа есть ТОЛЬКО в крупных городах. Хорошая IT работа, с перспективами и пр плюшками - ТОЛЬКО в основных городах РФ, миллионниках.

    Я живу в городе. Переехать возможности тоже нет. Стоит ли изучить сельское хозяйство или учиться на комбайнера?

    ------------------

    Я не знаю, где все эти люди работают удаленщиками и главное - на кого? В Москве я так и не нашел удаленку, обычными вакансиями - заваливают. Плюс зп значительно ниже на удаленке - на то и расчет хитрых рабовладельцев. Удаленная работа - это миф. Это не работа, а скорее всего низкопрофильная деятельность, работа чернорабочим, на которого сваливают самый шлак.

    Никогда серьезное предприятие не будет ввязываться в эту удаленную работу. Только всякое говно, типа стартапов и пр. отмывы денег. Будь я руководителем, я бы в жизни не пошел на подобное. Сотрудник должен быть на месте. Никаких телефонных переговоров, скайпов, асек, ватсапов и пр херни. ЗДЕСЬ и СЕЙЧАС. Что бы была нормальная коммуникация и нормальная работа, что бы была уверенность, что сотрудник завтра не пропадет, не забухает, не положит сервер и т.д. и т.п.

    Детишки как попугайчики повторяют "ко-кок-ко удаленная работа", хватит уже в сказки верить.
    Ответ написан
    1 комментарий
  • Как изменить счетчик автоматического увеличения в MySQL на php?

    php666
    @php666
    PHP-макака
    update table set counter = counter + 1
    Ответ написан
    Комментировать
  • Как кодировать 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
    Ответ написан
    Комментировать
  • ????? когда достаю русские символы из БД?

    php666
    @php666
    PHP-макака
    Ответ написан
    Комментировать
  • Программирование как хобби, как делать по уму?

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

    Сейчас я скажу страшную вещь (по меркам местной аудитории), но если тебе веб интересен и хочешь именно там осуществить "какие-то свои задумки", то бери PHP 7. Если сразу начнешь читать правильную литературу - сразу станешь писать на нем более-менее правильно. Польза есть - всегда можно для себя/для работы сделать веб-проект. Язык удобный, мануал весь на русском, всё разжевано до такой степени, что даже даун сможет научиться.
    Ответ написан
    Комментировать
  • Разместил резюме на позицию junior front-end, не понимаю что не так в нем?

    php666
    @php666
    PHP-макака
    переизбыток айтишников на рынке - вот в чем проблема
    Ответ написан
    1 комментарий
  • Есть ли резон переучиться на программиста?

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

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

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

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

    php666
    @php666
    PHP-макака
    Живу в подмосковном городе тыц на карту.
    С 2004 года, как я активно работаю программистом, работы ближе, чем в Москве, за 13 км от дома НЕ БЫЛО. Но 13 км для Подмосковья с утра это примерно час-полтора езды (зимой все два), в виду колоссальной загруженности дорог.
    Все, что ниже, левее или правее моего горда на карте - там НИКОГДА не было работы. И это ближайшее Подмосковье, почти центр России! Ни в самом моем городе, ни в ближайшем Домодедово, Подольске и далее, на юг. Одно время ездил в Люберцы за 25 км. Пробки как неминуемая часть жизни. Траты на бензин - огромные. Машина требует вложений. Сейчас у машины пробег 120 тыс км, а реальное количество моточасов (когда двигатель работал) - раз в 50 больше.

    Работы нет не только за МКАДом, работы нет и на окраинах Москвы. В пример - юг москвы. Бывает пара вакансий, сходил на собеседование, что-то не нравится или не взяли и все. Вся работа по IT в центре, рассчитана на приезжих, на тех, кто гол как сокол и кочует как цыган, меняя место жительства. Вот это - реалии этого долбанного It.

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

    Правда ли, что у программиста нет перспектив, если он не работает в Москве или СПб, а в других регионах РФ?
    Открой hh и посмотри. Я смотрел. ЗП - очень маленькие, вакансий на какой-нибудь Воронеж несколько штук. А если живешь в "колхозе", то шансов нет - либо удаленно, если найдешь, либо ехать в Москву и отдавать половину зп за квартиру. Если на периферии своё жилье, семья и иные сдерживающие факторы -- очень мутная затея бросать все и переться в Москвабад.

    городах РФ (кроме Москвы и СПб) программисты не нужны
    А зачем там нужны программисты? Программисты нужны там, где есть компании, которые нуждаются в программистах. Ты думаешь в какой-нибудь Твери много компаний, нуждающихся в программистах? Ну 1с-ники может быть приходящие нужны, может пара веб-макак надо. Там люди не работают в офисах, не занимаются стартапами, там более приземленные сферы деятельности.
    Ответ написан
    8 комментариев
  • Правда ли что рынок веб разработки "перегрет"?

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

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

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

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

    php666
    @php666
    PHP-макака
    Может уже прошли те золотые it времена и весь хайп о "молочных реках и кисельных берегах" выгоден только вайтишным курсам?

    НЕТ
    НЕТ тут никаких "молочных рек".
    Хватит верить инфоцыганской пропаганде о том, как программист сидит под пальмой в Тайланде и работает 2 часа в день, получая 100500 миллионов.

    У нас банк. Москва. В соседнем отделе сидят пхп-разработчики, взрослые люди, только по скилам и подходу к работе на голову выше меня - пишут тесты, ковыряют несколько фреймворков, используют самые последние технологии. Их зп ~ 130 000. У меня чуть ниже. Зная их колоссальный уровень, я даже не стремлюсь к их доходу - себе дороже - не хочу мозги себе ломать. И это солидный банк в Москве. А в РФ тысячи программистов, разбросанных по всей стране. Ради интереса откройте вакансии и посмотрите, сколько реально нужно программистов в Саратове, Воронеже, в Ростове, в Новомосковске, в Твери. Вакансии можно пересчитать по пальцам руки опытного фрезеровщика. Сложно ли найти работу при таких вводных? Хорошо оплачиваемую - сложно. Потому, что редкие работодатели хотят супер-профессионала за относительно небольшие для РФ деньги. Эти 100-130 крублей сейчас просто не стоят тех усилий, которые человек прилагает к образованию и обучению в этой сфере. Вы видели диаграммы обучения современным технологиям? Вы видели то количество фреймворков и библиотек? Это все не стоит тех денег, которые работодатели готовы предлагать. Поэтому и создается ощущение, что нет специалистов. Есть специалисты. Просто работодатели немного офигели и соискатели банально не видят профита в соотношениях зарплат и требований. Была бы у меня машина времени - я бы вернулся назад и уж точно бы не пошел по этому пути - программист "живет" своей работой, нужно _постоянно_ учиться, постоянно читать килотонны мануалов и все ради чего? Среднепрограммистская зарплата в РФ - это слезы. Ашоты на рынке на помидорах больше имеют.

    А некоторые наши коллеги поддакивают работадателям и пишут "Сильных специалистов как не хватало, так и будет не хватать". Безусловно работодатель заинтересован в "сильном специалисте" - который сутками читает хабр, овертаймит и пишет как сумасшедший свой код во благо предприятия. Работодатель просто хочет новую яхту или новое авто. А ты учи очередной 100500-й фреймворк, в выходной день, что бы взять логан в кредит - знаний просто одного языка программирования уже не достаточно.
    Ответ написан
    44 комментария
  • Как добавлять в корзину несколько товаров по нажатию кнопки или давать ссылку на корзину с товарами?

    php666
    @php666
    PHP-макака
    add.php?items[]=123&items[]=456&items[]=789
    Ответ написан
    Комментировать
  • Как лучше реализовать модерацию объявлений?

    php666
    @php666
    PHP-макака
    У меня есть свой проект - сайт объявлений, полностью самописный.

    Модерация у меня представлена так. Первый уровень безопасности - это стоп-слова:
    тыц

    public static $words = array(
    'кредит', 'кредиты', 'кредита', 'кредитов', 'кредиту', 'кредитам', 'кредитом', 'кредите', 'кредитах',
    'кредитование', 'кредитной', 'кредитная', 'кредитные',
    'займ', 'займы', 'займа', 'займов', 'займам', 'займом', 'займе', 'займах', 'залог', 'залога', 'залоги',
    'заемщик', 'заемщика', 'заем',
    'заёмщик', 'заёмщика', 'заём',
    'курсовая', 'курсовые', 'курсовых',
    'диплом', 'дипломы', 'дипломов', 'дипломные', 'дипломной', 'дипломных',
    'реферат', 'рефераты', 'рефератов',
    'осаго',

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

    'электроудочка', 'электроудочки', 'электроудочке', 'электроудочку', 'электроудочкой', 'электроудочкам', 'электроудочками', 'электроудочек',
    );

    Второй уровень - запрет урлов в заголовке и теле объявления.

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

    Только ручная модерация! Дело в том, что объявления регулярно пишут всяческие инфоцыгани, попрошайки, сектанты, проститутки, просто идиоты. Совершенно неблагодарное занятие содержать подобного рода сайт. Отдельная песня - это модерация разделов. Пользователи ВООБЩЕ не в состоянии отличить услугу от товара, категорию "автозапчасти" от "купля-продажа автомобилей" и т.д.
    Ответ написан
  • Где взять реальные примеры кода использования ооп в веб-сервисах?

    php666
    @php666
    PHP-макака
    при выводе доски объявлений
    ....некая сущность, назовём её Mapper, возвращает коллекцию объектов - объектов объявлений. Каждый объект == одно объявление. Объявление может иметь свойства - VIP-статус (дата конца этого статуса), типичные поля для объявления типа заголовок + текст. Далее, объявление может иметь изображения. Объект объявления имеет метод, который запрашивает у другой сущности объекты своих изображений, которые в свою очередь знают, как сформировать URl к изображению или иные характеристики изображений. Объект объявления имеет метод getPaymentSystem() - возвращается объект класса типа Kassa, он может возвратить объект Робокасса (или Frikassa), который умеет генерировать URL, который необходим для транзакции оплаты платных услуг данного объекта объявления....

    --- это лишь малая описательная часть. Как пример.

    я пока не понимаю как это использовать
    и не поймешь без подсказок.
    Твоя цель - открыть книгу "мартин фаулер архитектура корпоративных программных приложений pdf" почитать минимум 1, 2, 9 и 10 главу.
    Ответ написан
    8 комментариев
  • Как правильно считать посетителей сайта?

    php666
    @php666
    PHP-макака
    Поставить счетчик от mail.ru/liveinternet и т.п. Лучше всё равно не сделаете - задача нетривиальна и полна нюансов.
    Ответ написан
  • В чем преимущество localStorage перед cookie?

    php666
    @php666
    PHP-макака
    В чем преимущество localStorage перед cookie?
    в чем приемущество холодильника перед кофемашиной? из той же серии вопрос.
    Ответ написан
    4 комментария
  • С какой профессией легче всего войти в сферу IT?

    php666
    @php666
    PHP-макака
    хорошие перспективы
    спорно. рынок перенасыщен программистами.
    достойные зарплаты.
    только если в Москве/Питере, в регионах - слезы.
    легче и быстрее войти
    легче и быстрее войти не получится. нужны годы самообучения, огромное количество убитого личного времени, по сути - нужно жить этим.
    Ответ написан
    22 комментария