• Учет пользователей, ведение статистики посещения?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Вы такие варианты как Яндекс.Метрика или Google Analytics не рассматриваете?
    Они дадут более качественную картину, чем ваше решение, слишком много всего нужно учесть чтобы получить качественную статистику.
    Ответ написан
    Комментировать
  • Как стать профессиональным веб-разработчиком за 7 лет?

    EugeneOZ
    @EugeneOZ
    Фигню вам тут советуют. Одной лишь работе на фрилансе вы мало чему научитесь. Скорее всего, наберётесь примеров говнокодинга в здачах «подправить скрипт» и подумаете, что так и нужно делать.
    Вы не самый молодой — я видел тут 14-летнего парня, который на C# пишет круче всех PHP- и Python-программистов, которых я видел. Просто есть огромная разница между enterprise и home-page проектами. Java и C# имеют в себе больше от enterprise-культуры.

    Самый лучший совет Вам сейчас: читайте книги. Как можно больше книг. Обязательно сочетайте с практикой. Но не на фрилансе, а «свои велосипеды», чтобы была возможность пробовать применять знания из книг. Пока Вас кормят родители — это самое лучшая возможность начинать свои проекты. Возможно, Вы сейчас мало придаёте этому значения, но это так.

    Изучайте существующие фреймворки.
    Книги и работа с фреймворками (в том числе фреймворками для unit-тестирования) дадут Вам огромнейшее количество знаний, Вы сможете сэкономить многие многие годы, которые другие программисты тратят, чтобы постигнуть всё своим путём.
    Читайте Макконнелла «Совершенный код», Роберта Мартина — «Чистый код», Э. Хант, Д. Томас — «Программист прагматик».
    Изучайте Qt, Symfony, Visual Studio. Никогда не думайте, что Вы остановитесь на одном языке — нужно изучать несколько языков, чтобы видеть несколько способов решения проблем.

    Выбирая профессию программиста, знайте, что Вы будете учиться ВСЕГДА, а не следующие 7 лет. Новые технологии появляются каждый год, индустрия очень молодая и активная — каждый год Вы будете изучать и пробовать новое. Это университет без даты окончания :)
    Ответ написан
    6 комментариев
  • Какой JavaScript framework облегчающий написание объектно-ориентированного кода посоветуете?

    @egorinsk
    Не надо использовать фреймворк для объектов, надо писать как можно более простой и прямой код, потому что при разработке клиентсайд кода важно минимизировать объем кода и время его выполнения, и во вторую очереьд, простоту и понятность кода, и все бесполезные библиотеки, служащие цели повышения чувства крутости разработчика, а не практическим целям, должны быть удалены.
    Ответ написан
    4 комментария
  • Как разместить 1 млн товаров?

    alekciy
    @alekciy
    Вёбных дел мастер
    Отпишусь пожалуй о своем опыте.

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

    Свое требует времени, но позволяет полностью контролировать движок и быть точно уверенным в нагрузках, которые он потянет. Кроме того гарантирует более выгодную схему модификации движка, т.е. супорт движка становиться проще как технически, так и финансово. А сапорт движка собственно и есть основная статья расхода для ПО. Что удалось получить на данный момент, так это каталог. Т.е. дерево категорий, карточки товара, админка для менеджеров (создать товар, добавить к товару атрибуты). Количество товаров не ограничено, количество и тип характеристик товаров так же не ограничено и ведется через админку (т.е. дополнительно кодить ни чего не нужно). Нагрузочные тесты показали, что при ~200 МБ ОЗУ под PHP движок держит 300 запросов/сек (при попадании в кэш страница генерится за 10-15 мс) долговременно (т.е. где-то до 25 миллионов хитов в сутки) и может держать пик в 1000 запрос, но не дольше 5 сек, потом начинаются валится 50-ые. Это при каталоге в 250 кпозиций по 10 характеристик на товар. В целом вся связка (веб сервер, субд, кэш) кушает 1-1,5 ГБ ОЗУ. При этом полная развязка данных и шаблонов, поэтому можно иметь сколько угодно вариантов верски, т.е. ни какой смеси из php+html нет.

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

    Так что есть техническая подготовка, то есть смысл делать свое. В зависимости от опыта, общих требований я бы оценил данную работу месяца в три до года для одного разработчика на фултайме. Это до первого релиза. Ну а дальше стандартный супорт движка.
    Ответ написан
    Комментировать
  • Верстка дерева

    anaximen
    @anaximen Автор вопроса
    Ответ написан
    Комментировать
  • Посоветуйте шрифт для татуировки

    TrueDrago
    @TrueDrago
    Ждём совета «Comic Sans».

    Если по делу, то будущее, киберпанк, фантастика — это ifont.ru/font-2297-0.html. Но он без киберпанка — шрифты советом выше лучше подходят под то определение.
    Ответ написан
    Комментировать
  • Привязка домена к VPS Hetzner?

    Что то этот вопрос возникает регулярно у людей, надо howto написать будет )
    Вобщем если кратко — заказываешь услугу Nameserver Robot, добавляешь в админке robot.your-server.de/dns свои домены (там есть мастер, указываешь просто IP и домен, или же пишешь кусок конфига bind сам) и прописываешь у регистратора неймсервера хетцнера и все.
    robotns3.second-ns.com.
    robotns2.second-ns.de.
    ns1.first-ns.de.

    А вообще — привзяка домена — это далеко не самое сложное, что надо сделать владельцу VPS. Как вы будете настраивать вебсервер, БД, резервное копирование? Может имеет смысл нанять фрилансера-сисадмина для этих целей?
    Ответ написан
    1 комментарий
  • Вопрос по View (PHP MVC)?

    @egorinsk
    Кто мешает вынести общие части (шапка, подвал, сайдбар) в отдельные подшаблоны и инклудить их? Или можно как в джанге, использовать наследование шаблонов, сделать базовый шаблон и расширять его понемножку. Правда. реализацию наследования придется писать самому, так как те шаблонизаторы, вроде Twig, что ее поддерживают, на мой взгляд, неоптимальны и кривоваты.

    Также, вопрос, кто запрещает для разных действий использовать (если требуется) один шаблон? Никто не запрещает.

    В любом случае, писать по 2 раза/кописпастить код — это неправильно.
    Ответ написан
    1 комментарий
  • С алгоритмом размещения окон как в Visual Studio?

    taliban
    @taliban
    php программист
    Вот вам код что я наделал, хочу чтоб мой код работал вот так: скажите что мне делать.
    Если хотите помощи, задайте вопрос правильно. Очень неинтересно копаться в чужом коде чтоб понять:
    1. Чего человек хочет
    2. Какие «различные проблемы» возникают
    Итд.
    Заведите себе обьект нечто типа:
    
    var WindowManager = {
        windows: {
            'firstId': {'width': 100, 'height': 100, 'x': 100, 'y': 100},
            'secondId': {'width': 100, 'height': 100, 'x': 100, 'y': 100},
        },
        addWindow: function('id'){},
        checkWIndow: function(id){},
        attachWindow: function(id){},
        ...
    }
    

    В итоге логика станет понятней и короче.
    Ответ написан
    Комментировать
  • JS document.location onchange?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    В некоторых брауезрах есть событие onhashchange. Где его нет, нужно через setInterval проверять значение window.location.hash.
    Ответ написан
    1 комментарий
  • Бан телефонных номеров в веб-приложении

    ruskar
    @ruskar
    Conflict Intelligence Team
    Имхо, обычные способы бана по телефону бесполезны. Просто очень хорошо знаком с работой досок «изнутри» и с методами работы этих самых «некоторых товарищей».

    Вот что эти товарищи будут делать, когда увидят сообщение «объявление не размещено, т.к. ваш номер телефона забанен на нашем сайте!»? Да они тупо возьмут другой номер и запостят своё объявление. И так до следующего раза.

    На одном из своих проектов я решил проблему по-другому. Задача такая: максимально достоверно опознать «нехорошего человека».

    Что я для этого делаю?



    Если пользователь указал для своего объявления номер телефона, который у меня в чёрном списке, я:
    1. ставлю ему бессрочные Cookie с меткой что данный пользователь — тот ещё петрушка;
    2. также запоминаю в базе максимальное количество идентифицирующих его данных (IP, юзер агент браузера и т.д.);
    3. его объявление сохраняю в базе и помечаю его как «полускрытое». Это значит, что объявление видно исключительно ему, для него создаётся видимость, будто всё прошло успешно и объявление опубликовано. На самом же деле, всем остальным пользователям сайта оно не показывается (в том числе незалогиненным);
    4. если «нехороший человек» догадался, что я его обманул и теперь он вбивает очередной свой шлак, то, используя пункты 1 и 2 я снова его определяю, заношу в чёрный список уже новый номер, повторяю по новой пукнты 1 и 2.

    В результате все «редиски» смотрят на мой сайт довольные, думают что я нормально опубликовал их объявления, не пытаются всеми возможными и невозможными способами обойти защиту (поскольку они подумали, что они её обошли), а в действительности сайт остаётся чистым.
    Ответ написан
    4 комментария
  • Вопрос бизнес студиям

    Alexx_ps
    @Alexx_ps
    1. На шифрованном разделе диска, доступном через CRM.
    2. А чем плох договор Лебедева? Берите его. Ну или напишите свой. Вы ведь уже определились как будете работать с клиентом и исполнять свои обязательства?
    3. Т.е. человек, который у вас будет заниматься фирстилем, никогда в жизни его не делал и у него нет ни портфолио, ни нужных шаблонов и т.д.?
    4. А как вы будете проверять правильность задания, если вы не знаете кто вам нужен и ничего не понимаете в php? Добиться верного результата можно 10 разными кусками кода. Тесты с вариантами а, б, в, г, д бесполезны.
    5. Конечно в сфере услуг нет конкуренции, вы однозначно правы. #lol
    6. Исходя из пункта №5, вам не нужна никакая маркетинговая политика, реклама и вообще клиенты к вам сами попрут толпами, ведь у них нет альтернатив, кроме вас.

    Предлагаю вернуться к первоначальной идее по продаже пирожков ;)
    Ответ написан
    6 комментариев
  • Чем отличаются Javascript и ECMAscript?

    @b0n3Z
    Javascript — имплементация стандарта ECMAscript компанией Mozilla. Можно сказать, что это надмножество ECMAscript, потому что в нем есть такие штуки, как списковые выражения, короткие лямбда-функции, генераторы (yield), генераторные выражения, let — ключевое слово для создания более продвинутых локальных переменных (например, только в пределах цикла for), разрушающие присваивания ([a, b] = [b, a]).
    Из популярных браузеров только Firefox поддерживает Javascript в полной мере, так что использовать все эти крутые возможности не стоит. Однако, как правило, все, что появляется у мозиллы вскоре появляется в официальном стандарте, то есть в ECMAscript — так было с JS1.6, откуда в стандарт перешли списковые методы map, filter, forEach, indexOf.
    А JScript — имплементация стандарта ECMAscript корпорацией Microsoft.
    Ответ написан
    4 комментария
  • JQuery vs. Сss+Костыли. На кого ставите вы?

    pratamishus
    @pratamishus
    Сложный вопрос :). Все зависит от Ваших требований к проекту. Данный в ссылке «вопрос» легко решается через JQuery. Если уж Вам так важно чтобы было как в заданном вопросе, то использование JQuery облегчит задачу, но для красоты, желательно сделать что-то типа «Loading», который исчезает после полной загрузки страницы.

    А выжать все что можно из CSS хорошая идея. Почему бы Вам не скомпоновать их.

    И еще одно — почему все так боятся использовать таблицы (как в заданном вопросе)? Они показывают прекрасные результаты и с точки зрения кода и просмотра страницы. Основная аргументация против таблиц идет в основном в том что они сильно грузят страницу и браузер — так не надо использовать их везде. Рациональное использование таблиц только ускорит загрузку и работу. Честно — я не понимаю этой «фобии». Если Вам нужны авторитеты, возьмите Гугл, яндекс да и тот же самый хабр :). Некоторые делают в десятки раз больше кода и грузят браузеры используя JQuery+CSS чтобы не использовать таблицы. По моему надо быть более рациональным и не упираться в ворота из-за каких-то догм.
    Ответ написан
    Комментировать
  • Что значит эта полоска?

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Достигая этой отметки плеер выдает pup-up рекламу.
    Ответ написан
    5 комментариев
  • Фильтр мата....?

    Insbrook
    @Insbrook
    Список матерных слов можно почерпнуть из списка запрещенных доменов РФ:
    bunnywrote.trp2.ru/stop-list.txt
    Ответ написан
    1 комментарий
  • Есть ли здесь бывшие олимпиадники? Как олимпиады помогли Вам?

    @tangro
    Диплом призера государственной олимпиады дал мне бюджетное место в ВУЗе. Диплом победителя внутривузовской олимпиады — повышенную стипендию (200%).

    С психологической точки зрения олимпиады дали мне такие вещи как:
    1. Веру в том, что нерешаемых задач нет. Надо просто еще чуть-чуть подумать.
    2. Принцип «сначала делаем то, что знаем, потом — то, что не знаем». Очень помогает.
    3. Чувство того, что всегда есть кто-то впереди тебя и стремление его догнать и перегнать.

    С точки зрения полезности олимпиадных знаний — почти ничего. Нет, ну конечно, кое-какие познания в области дискретной математики, теории вероятности и т.д. остались, но в целом олимпиадное программирование и промышленное программирование не связаны никак. Это как фигурное катание и хоккей — и там и там вроде бы есть коньки и лёд, но вот методы их использования и конечные цели очень отличаются.
    Ответ написан
    8 комментариев