• Как сделать "фигурный" бордер?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Вот можно примерно Так, надеюсь смысл понятен
    Ответ написан
    1 комментарий
  • Почему Apache2 выдает 404?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    и у убунты корень сервера обычно в /var/www/html
    Ответ написан
    2 комментария
  • Английский с нуля?

    @lemesh
    Можно начать с лингусты "lingust.ru/english"
    так же параллельно сидеть на "https://lingualeo.com/ru", читать простенькие тексты, учить слова.
    На youtube подписаться на канал "https://puzzle-english.com" и аналогичные.
    Так же советую хороший словарь "https://www.lingvolive.com/ru-ru", т.к. гугл переводчик это ерунда, не стоит им пользоваться при обучении.
    Из бумаги - "Самоучитель" Петровой.
    Постепенно читайте адаптированную литературу, смотрите TED Talk с субтитрами.
    Если пользуетесь Википедией, то переходите с русской на"https://simple.wikipedia.org/wiki/Main_Page"

    Занимайтесь каждый день (это очень важно!) хотя бы по 30 минут (привет the half hour theory).

    За 1.5 года выучить английский реально. Криво, коряво, но можно (без репетитора практически не реально выучить идеальное произношение). По мне так лучше говорить с ошибками, чем вообще молчать в ответ.

    Удачи!
    Ответ написан
  • Насколько у меня правильный код ООП php?

    @D3lphi
    Здесь плохо всё, к сожалению.

    Начнем с того, что вы неверно наследуете классы. Почему у вас класс, отвечающий за подключение к базе данных является родителем класса, работающим с заказами? Наследование применяется, если можно сказать, что что-то является чем-то. Например, разработчик является работником; компьютер является устройством и тд. Здесь же у вас вообще близко такой логике не получится следовать. Вы должны передавать хотя бы объект для работы с бд через инъекцию, например, в конструктор. В идеале, нужно использовать паттерн репозиторий для работы с базой данных.

    Класс SearchOrder у вас не только выполняет запросы, но еще и работает с данными, хранит состояние этих самых данных, фильтрует данные (strip_tags()). Непорядок. Это все нужно разделять. У вас вообще получаются какие-то богообъекты, которые умеют во все.

    Вы каждый раз повторяете строки с подготовкой запроса, биндингом параметров, отправкой запроса и тд. Не думали, что неплохо бы было написать какую-нибудь обертку и выполнять запросы как-нибудь так:
    $result = $wrapper->select("SELECT * FROM `tablename` WHERE `id` = :id", ['id' => 5]);

    ?

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

    Зачем вы используете свойства, если можно обойтись обычными локальными переменными:
    $this->orderID = (int) strip_tags($orderID);
    $this->column = (string) strip_tags($column);
    $this->value = (string) strip_tags($value);

    ?

    Почему вы стриппите тэги у идентификатора? вы настолько не уверены в том, что влетает в функцию:
    strip_tags($orderID);
    ?

    Если вы не используете php 7 и, как следствие, скалярный тайпхинтинг, то должны делать проверки на тип входящего аргумента. Если что-то не так с типом, бросаем исключение (А не приводим его к нужному)! Например:
    if (!is_string($arg)) {
        throw new InvalidArgumentTypeException('string', $arg);
    }

    Это в идеале. Вы не обязаны это делать, конечно же. Но вот такие проверки делают приложение безопаснее. Хотя, опять же, повторюсь, в 2017 нужно начинать новые проекты на php 7.1+.

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

    Кроме всего прочего, почитайте про стандарты оформления кода. Вы им не следуете.

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

    Желаю успехов!
    Ответ написан
    1 комментарий
  • Под какие основыные размеры настраивать CSS @media screen?

    @Alex_mc
    Веселый препод :)
    я всегда смотрю на сайте какие медия более популярны.
    по стандарту использую такую сетку:

    1200 +
    980 - 1199
    769 - 979
    640 - 768 (чтоб мелкие таблеты в portrait могли получить визуализацию эдентичную телефонам)
    до 639 или 640 (зависит от проекта)
    иногда добавляю 320 и 480

    когда проект большой беру сетку бутстрапа и допиливаю
    Ответ написан
    Комментировать
  • В чем минусы Rails и хуже ли он Django?

    zooks
    @zooks
    Frontend
    Хватит спрашивать, просто берите и делайте. Дорогу осилит идущий.

    Между Django и RoR разница невелика. Вопрос в том насколько вас устраивает Python и Ruby.
    В минусы Ruby я бы записал производительность и замкнутость на Web, плюс коммьюнити перетекает в node.js. У PHP минусов еще больше, что однако не мешает ему быть популярным языком.
    Ответ написан
    13 комментариев
  • Что выбрать, Yii2 или Laravel?

    SamDark
    @SamDark
    Yii2 core team
    Как новичку вам будет очень полезно понять, что у фреймворка внутри и как он работает. Если залезть во внутренности Yii, вы увидите, что там документирован каждый метод, каждый класс, абстракции минимум, всё делается настолько просто, насколько это вообще возможно. Изучить именно как что работает просто.

    Если залезть в Laravel, там всё очень слоёно. Комментариев нет. Чтобы понять, как работает метод нужно частенько пролезть через 3—5 слоёв абстракции в нескольких классах.

    В документации по Laravel, кстати, использован крутой трюк. Описана лишь часть того, что вообще даёт фреймворк. Это делает доку очень компактной, лёгкой и приятной, но за остальным — либо код без комментариев читать, либо Laracasts смотреть.
    Ответ написан
    13 комментариев
  • Насколько плохо echo внутри метода?

    @karminski
    Senior React.JS Developer
    Следуя канонам PHP, любой метод должен возвращать значение. Так что ваш вариант "кривоват". Другое дело, если вы используете какой-то фреймворк, в котором так положено делать. Например в Yii 1.0 экшены контроллера именно так и выглядели. Во второй же версии Yii 2.0 это было исправлено на правильное поведение. Любой экшн возвращал какое-то значение.
    Ответ написан
    Комментировать
  • Какой алгоритм подойдет для описания полета насекомого?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Можно сделать цепочку преследования: к случайной точке тянется одна, к ней другая, и т.д., а последняя – муха.

    Очередную точку ставить на плоскости случайно, в любом месте внутри допустимой области. Эта точка – цель, к которой стремится следующая, невидимая точка: каждый следующий кадр её координаты изменяются на k * векторИзТекущегоПоложения-в-Цель:
    x = x + k * (xTarget - x);
    y = y + k * (yTarget - y);

    Так «преследователь» замедляется, по мере приближения к цели, никогда её не достигая.

    Эта невидимая точка – не одна. К ней, как к цели, стремится следующая. К той ещё одна. Наконец, сама муха по этому закону стремится к хвосту этой цепи - очередной точке.

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

    Сделал рабочий пример.

    Можно поменять алгоритм и сделать, скажем, линейную скорость постоянной. Или случайно варьировать параметры k и D – от этого поменяется скорость и траектория от плавной ближе к ломаной.
    Ответ написан
    Комментировать
  • Как выжить джуну единственным разработчиком на проекте?

    shindakioku
    @shindakioku
    Не сайтоклепатор
    Не читал, но девочку не кидайте :)
    Ответ написан
    Комментировать
  • Не работает apache на vagrant?

    @Beltoev
    Живу в своё удовольствие
    В файле Vagrantfile в директории проекта пробросьте порты:
    config.vm.network "forwarded_port", guest: 80, host: 8080

    После этого, перезагрузив виртуальную машину, попробуйте посмотреть доступность сайта по адресу: localhost:8080

    Кстати, не силен в настройке apache, но ServerName в данном случае, по-моему, нужно по умолчанию на 127.0.0.1 поставить ( и, да: вы же не по адресу test.local в браузере пытаетесь открыть сайт, надеюсь? о_О Было бы глупо, мягко говоря )
    Ответ написан
    1 комментарий
  • Чем занять рабочий стол Windows 10?

    arxont
    @arxont
    C# программист
    Если вам так удобно и вас всё устраивает, так зачем что-то менять?

    Как-то Сисадмин спросил:
    – Учитель, не желаете ли красивую картинку для вашего десктопа? У меня есть коллекция "обоев для рабочего стола" со звёздным небом и моральным законом.
    – Почему ты думаешь, что мой нынешний "wallpaper" хуже? – спросил в ответ Инь Фу Во.
    – Я не знаю, какая у вас картинка сейчас. Я никогда не видел вашего десктопа. У вас всегда открыто множество окон.
    – Я тоже его никогда не видел, – сказал почтенный Инь. – Я работаю.
    Ответ написан
    1 комментарий
  • Нужно ли быть художником, чтобы заниматься UX-дизайном?

    dummyman
    @dummyman
    диссидент-схизматик
    Разница UI и UX: UI - это интерфейс, UX - это опыт. То есть, когда человек первый раз посетил сайт/приложение, интуитивно уже знает как им пользоваться.
    Прототипировать интерфейс - это больше задача инженеров той ниши в которой требуется сам сайт/приложение. Не уверен, что навыки дизайнера нужны как основопологающий фактор.

    UPD.

    Перечитал ответы, и понял что тема не раскрыта. Люди не понимают что такое UX. Попробую объяснить на пальцах. Вы пользовались когда нибудь OSM Maps? Даже если пользовались, предположим, что не пользуетесь ими часто. Зайдите на сайт https://www.openstreetmap.org . Попробуйте покрутить колесико мыши, попробуйте двойной клик. - Вы же уже знаете что произойдет, даже если этого не понимаете. Вызовите контекстное меню правой кнопкой мыши, а после нажмите ESC. Вам кажется что так всегда было, оно само собой разумеется. - Вот это есть UX. Нужно здесь образование художника?
    Ответ написан
    Комментировать
  • Нужно ли быть художником, чтобы заниматься UX-дизайном?

    oxyberg
    @oxyberg
    Продуктовый дизайнер ВКонтакте
    UI/UX вообще неразделимые вещи. Как уже сказал другой ответчик, UI — это оформление, а UX — «пользовательский опыт», то есть то, как работает система, которую проектируют. Но вся суть дизайна в том, что он вбирает в себя обе дисциплины, и UI без UX не может быть (ну только если фригеровщина какая-нибудь, но это уже не дизайн интерфейсов).

    Для дизайнера интерфейсов рисовать необязательно. Если умеете — сможете разнообразить интерфейс или сайт своими иллюстрациями. Больше будет нужно знание платформы. Например, если вы дизайните сайты -- то верстка поможет, потому что вы сможете разговаривать с верстальщиками в команде на одном языке.

    Интерфейсники — ремесленники и творцы одновременно.
    Ответ написан
    Комментировать
  • Front End перспективы новичку?

    @RaulDuke
    Когда мне было как Вам, я пришел в одну крупную компанию и заявил, что я в совершенстве владею плюсами (с++). Прошло почти 20 лет, а мне до сих пор стыдно.

    Займитесь каким-нибудь интересным для Вас проектом и дайте себе слово, что закончите его. Возможно, вы поймете, что в стеке (html+css+js) Вам еще очень многое предстоит узнать. Особенно это касается JS.
    Ответ написан
    Комментировать
  • Резонно ли использовать display:flex, display:grid? В чем реальное отличие gird от flex?

    GriNAME
    @GriNAME
    Front-End Developer, Android Developer
    Flexbox и Grid это не два противоборствующих свойства, они наоборот дополняют друг друга.
    Grid - инструмент позиционирования основных блоков страницы.
    Flexbox - инструмент позиционирования элементов внутри блоков, спозиционированных с помощью Grid.

    GMD - пример сетки на flexbox, которую мы с командой используем и которую я сам написал.
    Ответ написан
    2 комментария
  • Рост и развитие технических сотрудников?

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

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

    Идти нужно от простого: что есть отрицательного в работе => подавляет энергию => не хочется творить => не развиваешься. Недопонимание между операционной и технической командами? Потому что первые постоянно закидывают мозговыносящими задачами, а вторые, исправляя баги, добавляют новые. Ты в "ынтерпрайзе" и ограничен в своих действиях, ибо никто не хочет внедрять "по свистку" новый фреймворк(надежность в угоду моде)? Менеджер снова завалил какими-то непонятными задачами и т.д., сделав которые, понимаешь, что их можно было по-другому сгруппировать? Можно продолжать... Часть этих проблем можно решить нормальной, здоровой коммуникацией(иногда стоит пойти на жертвы среди сотрудников - было у меня и такое).

    Я не менеджер. Расскажу о 3-х летнем опыте(со старших курсов универа), который был стартом мой карьеры. Определенно, многому научился тогда. Исходные данные, чтобы было понятнее: организация(иностранная, если это будет важно) с представительством в РФ, Отдел внедрения IT.

    Эту фразу нужно будет поместить на место трех точек в каждом пункте("..."):
    Не каждому сотруднику это нужно, но обязательно найдутся те, кому будет полезнее именно так.

    Что мне со стороны сотрудника показалось важным для роста:
    0. Толковые тимлиды/архитекторы, готовые делиться знаниями - таких нужно выискивать и направлять их на менее опытных. Я в свое время с бешеной скоростью впитывал знания от старших товарищей. Команда сильна насколько силен самый слабый(и прочие бла-бла). Во-всяком случае, меня их уровень подстегивал. Это важный фактор, как ни крути. Должны быть лидеры(кстати, не только технические).
    ...
    1. Прозрачная система ведения бизнеса. Это значит, что информация о том, что происходит в компании на поле битвы(бизнеса) доступна и понятна каждому сотруднику безотносительно его должности. Хочет программист/тестировщик знать как дела обстоят с новыми клиентами, в каких тендерах участвуем - пожалуйста. Но без фанатизма и раннего открытия информации. Какие настроения у текущих клиентов? Какие внутриорганизационные моменты происходят?...
    ...
    2. Каждый сотрудник может спокойно организовать one-to-one с менеджером. Поговорить о выполняемых задачах, подвести итоги, обсудить какие-то планы на будущее(по бизнесу, по своему привлечению к будущим проектам, по возможному росту, по текущим задачам коллег). Сотруднику становится проще понимать прикладную составляющую своего труда и выдвигать свои идеи и предложения(разумно). Менеджер знаком с настроением каждого члена команды => распределяет задачи более оптимально, ну и в целом легче ему становится "дергать" нити управления.
    ...
    3. Как можно более индивидуальный подход в "конвейерных" тренингах. К примеру, занятия English: вот походили мы с ребятами на корпоративные уроки - но это было больше похоже на курс для галочки(большинство "учащихся" на абы как, учителю как ни старайся...). А время шло, и я в N-ый раз уже слышал менеджера "на колле" с иностранцами. Тут родилась идея объединиться в группу с тему, кому действительно ХОЧЕТСЯ и найти себе преподавателя из школы. Сказано - сделано. Больше года занимались с отдельным преподом, который к нам приезжал в офис. Потом даже выбили себе немного бюджета на это c помощью менеджера(не 100% покрыли конечно). И в итоге все довольны - мы знаем английский(главное, что потом и применять стали), у компании, соотв., тоже одни плюсы.
    ...
    4. Давать сотрудникам иногда чуть более важные задачи, чем они привыкли делать. Давать вистов иным образом. Здесь конкретные примеры сложно привести. Допустим, взять программиста в командировку на локацию на этапе оценки инфраструктуры и знакомства с клиентом. Хотя он там не особо-то еще нужен. Или в конференцию его подключить по важному вопросу. Нужным людям это даст больше уверенности и мотивации, и они сами будут готовы генерировать идеи во благо, без палки даже.
    ...

    P.S. Я уже не там, да и вообще круто(от слова "резко") поменял стек технологий. Но ценю тот опыт, который смог там получить.
    Ответ написан
    Комментировать
  • Как влиться в тренд нынешней веб-разработки?

    Eridani
    @Eridani
    Мимо проходил
    Автор, у меня почти аналогичная ситуация, я этакий ретроград, и писал бы еще в блокноте до сих пор,но...ну да ладно.
    Вся эта новомодная ***, на самом деле, нужна лишь тогда, когда она необходима, когда оно реально оправдывает себя.

    Смотря что верстать, какие объемы. Если делать интернет магазинчики, корпоративные сайты, визитки и т.п., да невсрался там тот же галп, сасс, джейд и т.п, умеешь "нативно" ручками делать - быстрее и привычнее сделаешь так...
    Авторелоудер? Пожалуйста, куча плагов для браузера, которые отслеживают изменения в файлах.
    БЭМ? Ну, идея как таковая имеет место быть, но как правило, её реализация в миру имеет такой вид, что хочется плюнуть в лицо тому верстальщику, который якобы понимает всю суть БЭМ и как оно строится, и клиента с таким вот проектом послать подальше, пусть идет дальше заказывать у профнепригодных инвалидов-фрилансеров. Пишут же люди нормально каскадом, все работает, и править после них приятно.

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

    Я нисколь не говорю, что все это не нужно, я лишь крякнул свое ИМХО, мне вот это все не пригодилось и в принципе переучивать себя после стольких лет не хочется, но это запросто сделается, если того потребует случай/нужда.

    Если есть интерес к разработке, то наверное, лучше будет углубится в тот же JS, PHP, другие веб-языки.

    Что нужно верстаку? Уверенность в своих силах и в оценке проекта, а всё остальное - элементы "упрощайзеры", и нужны ли они Вам - Ваш выбор. Вышеотписавшимся они нужны, мне - нет, и все довольны :)
    Ответ написан
    3 комментария
  • Передача данных id через ajax?

    @LiguidCool
    Это все элементарно реализуемо на JQuery или чистом JS (позапарнее). Читайте доку.
    Ответ написан
    Комментировать