• Стоит ли разрабатывать сайты среднего уровня сложности на EvolutionCMS?

    Я так понимаю, речь о том, что в один из разновидностей ModX завезли компоненты Лары? Забавно, как кривые поделки тащат в себя компоненты таких вещей, как Симфони (камень в огород друпала) и Лары, в надежде, что это им поможет вдруг резко стать классными и клевыми. Но это так не работает, ведь дело не только в коде.

    Почему Wordpress, которого не хейтил только ленивый, работает на 50% сайтов, а Modx пребывает в забвении? Да потому, что Wordpress крутой и клевый, очень удобный и сделан с душой, а от "крутой админки" Modx хочется плеваться. Много ненужного, интуитивно непонятного, стремного. И компоненты Лары тут никак не помогут. Разве что любители пожестче обрадуются, что, наконец-то, дыры в кодовой базе немножко залатали, но и только.

    Посему мой вердикт очень прост: дайте уже, наконец, Modx спокойно почить. Он устарел во всех смыслах, и чтобы сделать из него конфетку, способную конкурировать с тем же - не идеальным - Wordpress, нужны десятки тысяч человекочасов квалифицированных специалистов. А такого никогда не случится.
    Ответ написан
    21 комментарий
  • Не устанавливается аватарка?

    DevMan
    @DevMan
    a изменения то сохраняете? кнопка внизу страницы.
    Ответ написан
    3 комментария
  • Bootstrap-Vue - В чём фишка данного симбиоза?

    copist
    @copist
    Empower people to give
    Расскажите плиз о технологии, и чем развёрнутей, тем лучше.

    Вот захотел ты сделать сайт SPA или PWA с любимой тебе вёрсткой на базе Twitter Bootstrap и любимой библиотеки Vue. Сверстал. Поповеры не появляются, дропдауны не выпадают, модалки не открыватся, формы не валидируются, клики не работают.

    Оригинальный Twitter Bootstrap имеет поддержку интерактивных элементов на Javascript. Реализовано это на библиотеке jQuery. Если делаешь на Vue, придётся подключать ещё и jQuery, что лишняя библиотека на 100+ килобайт, что, конечно, не катастрофа (пока ты не на мобилке).

    Vue работает с состояниями привязывает данные к отображению, а jQuery работает с DOM и событиями. Это вопрос производительности. Работа JQuery начитается когда загружен и распарсен JS и HTML. Работа Vue начинается в тот момент, когда загружен и распарсен JS, то есть чуть раньше. jQuery модифицирует DOM на лету, перестраивая текущий документ. Vue работает с shadow DOM, а затем подсовывает уже готовую интерактивную страницу в пустой документ, что быстрее (разница в секунды на десктопе, десятки секунд на м...).

    Vue реализует компонентную парадигму. Куски страницы являются изолированными кусочками кода (HTML CSS JS), которые цепляются между собой динамически, а обмениваются данными через аттрибуты и события. Предположим, что вы решили следовать компонентной парадигме, тогда согласно вот такому примеру нужно будет увязать самостоятельно все интерактивные компоненты. Компонента-кнопка. Компонента-поле ввода. Компонента-форма. Компонента-контейнер. Получается около 50 компонент. Для некоторых надо будет написать логику на jQuery. Если посмотреть на код jQuery этих микрокомпонент, то он окажется несложный, его вполне можно переписать на Vue. Ну там класс заменить или клик отработать. Когда от кода jQuery не останется следа, его можно будет из проекта удалить.

    И вот получается Bootstrap-Vue

    На компоненты побили. От Jquery избавились. Написано в единой парадигме. Работает быстрее.

    Добавляем тот факт, что в Vue можно не импортировать компоненты, которые не нужны (например, я не работаю с дропдаунами и модальным окнами) и код становится меньше, грузится быстрее, работает быстрее.

    Так же будет Не лишним оценить технологию: плюсы, минусы, стоит ли вообще с этим работать ...

    Это сам изучай и сравнивай. Навыки и опыт воздушно-капельным и через Internet не передаётся
    Ответ написан
    4 комментария
  • Какой язык программирования для Back-end производительнее?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ВКонтакте переписывался с PHP на C на сколько я знаю.


    Кто вам мешает пойти таким же путем?
    Когда ваш проект начнет тормозить, купите сервер помощнее.
    Когда сервера помощнее не будет хватать - перепишете. Точнее наймете специалистов, которые перепишут.

    А сейчас не забивайте себе голову. Преждевременная оптимизация - вредна.
    Ответ написан
    Комментировать
  • Как правильнее организовать структуру бд?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Однозначно третий вариант. И уж точно не второй, так как он идёт вразрез со всеми принципами проектирования реляционных БД.

    Есть ещё вариант использования EAV или не реляционной СУБД.
    Ответ написан
    2 комментария
  • Как удаленно устроиться на работу начинающему пентестеру?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Взломай сайт и размести своё резюме на главной :D
    Ответ написан
    Комментировать
  • Как скомпилировать Python-программу со всеми модулями?

    donkaban
    @donkaban
    Умею рисовать тени
    py2exe - www.py2exe.org
    pyinstaller - https://github.com/pyinstaller/pyinstaller/wiki

    И то и другое умеет интегрировать модули.
    Мы обычно используем pyinstaller, поскольку собираем под винду и мак, там удобнее.

    habrahabr.ru/post/104589
    Ответ написан
    1 комментарий
  • Как найти индекс лишнего символа, при удалении которого слово становится палиндромом?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Алгоритм (на вскидку, не проверял точность):
    length - длина слова
    idx - индекс символа слова от любого края по направлению к центру (1,2,3,...)
    direction - направление отступа от центра слова (слева: -1; справа: +1)
    half - половина длины слова с округлением в большую сторону (при нечётном количестве символов)

    half=length+1>>1
    direction=-1

    1. проверяем слева
    2. меняем знак направления отступа: direction*=-1
    3. проверяем справа
    4. инкрементируем отступ от краёв слова: idx++
    5. idx<=half => GOTO 1
    6. Позиция: half+direction*(half-idx)

    Вариант 2 ("магический"):
    1. Взять первую половину слова (через half-форомулу, что выше).
    2. Развернуть всё слово и взять также его первую половину. Получим 2 части, которые должны быть равны, если это палиндром.
    3. И.... вот, тут, магия: сделать XOR этим двум частям!
    4. Первый единичный бит и будет искомая разница.
    Ответ написан
    5 комментариев
  • Как рассчитать объем работ в часах?

    Lucian
    @Lucian
    https://t.me/BusinessAndFreelance
    Привет, зависит от объема. Плюс нужно учитывать сколько будет потрачено времени на переписку и все согласования с заказчиком, сколько кружек кофе будет выпито и бутербродов съедено.
    Ответ написан
    Комментировать
  • Как рассчитать объем работ в часах?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Только на основе собственного опыта подобных работ. Оценка - это целое искусство, ему учатся всю жизнь. Ну и желательно умножать эти часы на 1.5-2, потому что на деле так и выходит.
    Ответ написан
    Комментировать
  • Какой выбрать монитор для кодинга в 2019?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Выбор монитора - это очень индивидуальный вопрос, никакие отзывы и обзоры не помогут.
    Ответ написан
    Комментировать
  • Что работает лучше: $3 vs $2.99?

    opium
    @opium
    Просто люблю качественно работать
    Ну блин что вы как маленький правильно делать зачеркнутая цена $10 а потом уже $2.99
    Ответ написан
    Комментировать
  • Vue, как я могу использовать Vue I18n в routre?

    potapchino
    @potapchino
    у вас порядок инициализации неправильный. разбейте лучше все по файлам

    // i18n.js
    import Vue from 'vue'
    import VueI18n from 'vue-i18n'
    import english from '@/lang/english.js'
    import russian from '@/lang/russian.js'
    
    Vue.use(VueI18n)
    
    let messages = {
        en : english,
        ru : russian,
    }
    
    export default new VueI18n({
        //locale: 'ru',
        locale: window.localStorage.Language || 'ru',
    
        fallbackLocale: 'ru',
        messages
    })


    // router.js
    ...
    import i18n from '@/path/to/i18n.js'
    ...
    {
        path: '/about',
        component: About,
        meta: { title: i18n.t('about') }
    }


    // main.js
    import Vue from 'vue'
    import App from './App'
    import Vuetify from 'vuetify'
    import router from './router'
    import axios from 'axios'
    import store from './store';
    import i18n from '@/path/to/i18n.js'
    
    Vue.config.productionTip = false
    
    Vue.use(Vuetify)
    
    Vue.axios = Vue.prototype.$http = axios.create({
        baseURL: 'http://localhost:5000/api'
    })
    
    
    /* eslint-disable no-new */
    new Vue({
        el: '#app',
        i18n,
        router,
        store,
        components: { App },
        template: '<App/>',
        created() {
          this.$vuetify.theme.primary = '#01579B'
        }
    })
    Ответ написан
    24 комментария
  • Как лучше сделать пагинацию?

    deepblack
    @deepblack
    Очень долго грузится страница, а когда, через ForeginKey выбираю из этого списка записи в select box'е, то страница вообще зависает.

    Но даже правильный выбор варианта пагинации не решит всю проблему. Есть select box (html тег) в котором находится ~20k записей, и именно при работе с ним страница перестает отвечать. Это можно как-то оптимизировать?

    raw_id_fields + list_per_page
    Ответ написан
    4 комментария
  • Обфускация PHP кода бесплатно - реально ли?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Если именно обфускатор, то: https://github.com/naneau/php-obfuscator
    Ответ написан
    Комментировать
  • Где можно найти нормальный учебник по графам?

    myjcom
    @myjcom Куратор тега C++
    Касьянов В. Н., Евстигнеев В. А. - Графы в программировании: обработка, визуализация и применение
    Год выпуска: 2003
    Автор: В. Н. Касьянов, В. А. Евстигнеев
    Издательство: БХВ - Петербург
    ISBN: 5-94157-184-4
    Количество страниц: 1104

    P.S.

    Где я могу такое найти?

    там где весь мир ищет, если нет в библиотеке или магазине
    торренты уже 18 лет существуют.
    Ответ написан
    Комментировать
  • У меня есть БД MySQL. Можно ли как-нибудь узнать, к какой версии она принадлежит?

    Stalker_RED
    @Stalker_RED
    Чтобы получить номер версии из .frm файла нужно прочитать 4 байта по смещению 0x33 и перевести их в десятичный вид.
    формат файла .frm
    инструкция с примерами
    Ответ написан
    Комментировать
  • Идти на стажировку за бесплатно или учиться дома?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Идти на стажировку за бесплатно

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

    неплохо в html, css (сверстано порядка 20 одностраничных макетов PSD)

    Фигня.

    сейчас учу основы JS (есть пара работ: todo, calculator, математическая игра с генерацией рандомных примеров)

    Ничто.

    Как бы вы поступили на моем месте?

    Побежал бы на стажировку бегом.

    P. S. А ещё я забыл пункт "целовать ноги тому, кто позвал на стажировку".
    Ответ написан
    1 комментарий
  • Предлагать ли начинающему фрилансеру свои услуги сразу нескольким заказчикам?

    Zoominger
    @Zoominger
    System Integrator
    Конечно, предлагать.
    Шансы начинающего фрилансера получить заказ исчезающе низки, чем больше разошлёте, тем больше повышается шанс.
    Ответ написан
    Комментировать
  • Предлагать ли начинающему фрилансеру свои услуги сразу нескольким заказчикам?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Предлагать однозначно.

    есть шанс что вас возьмут не в один проект(я знаю это редкость) и тогда что делать, если время ограничено.

    Предложить не значит, что вы уже обязываетесь сделать работу.
    Если времени на всех не хватает, то просто отказываетесь и всё. Говорите, что сейчас заняты на другом проекте. Абсолютно нормальная практика для работающих людей.
    Ответ написан
    Комментировать