• Совместимы ли будут две планки оперативки?

    AxisPod
    @AxisPod
    Если на соответствующей минимальной частоте тайминги идентичны, то должны завестись, но все же надо проверять.
    Ответ написан
    1 комментарий
  • Область применения ссылок?

    Видал эту дискуссию.

    1. ссылки не выпилят, к гадалке не ходи (кроме того, что Вы сказали). Тем более что очень много встроенных функций принимают в качестве аргументов ссылки.

    2. Такой подход позволяет сэкономить памяти и времени. Взять хотя бы функции ряда sort, ksrot… Постоянно копировать большой массив полностью было бы очень накладно, тем более, что массивы в PHP очень много места занимают.

    Так же полезно бывает использовать ссылки, если необходимо, чтобы метод вернул несколько значений. Например, preg_match, возвращает true/false и можно ещё получить массив совпадений. Некоторые, придумывают свои извращения. Представим, что preg_match можно переписать, то можно было бы получить вот такую конструкцию: list($is_match, $matches) = preg_match(**), что существенно усложнит понимание интерфейса функции.

    3. Дело вкуса. Но мне кажется, что использование здесь ссылки даст небольшой прирост скорости.

    4. Ну… все мы используем ссылки, так как пользуемся нативными функциями PHP. И в своём коде я использую ссылки (как выяснилось в трёх местах: два метода, один foreach) и пока ни одно животное во время использования кода не пострадало.

    Что касается моды, то да, в программировании есть своя мода. Те же синглтоны были некогда популярны, а сейчас они в опале. Но в случае с синглтоном есть объективные причины. А тут я объективных причин не вижу, чтобы не использовать ссылки.
    Ответ написан
    2 комментария
  • Посоветуйте шрифт для татуировки

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Стилизованный Impact Italic?

    Ответ написан
    Комментировать
  • Система автоматической рассылки писем

    charon
    @charon
    бесплатная даже если и есть, я бы всё равно посоветовал отдать эту задачу профи типа Амазона. Ну если надо только бесплатно, то не забудьте поговорить с вашим админом.
    Ответ написан
    2 комментария
  • Аналоги Dealextreme?

    @odmin4eg
    www.aliexpress.com/

    вроде как приставка к taobao
    Ответ написан
    Комментировать
  • Аналоги Dealextreme?

    MuXaJIbI4
    @MuXaJIbI4
    Ответ написан
    Комментировать
  • Аналоги Dealextreme?

    Комментировать
  • Принцип построения моделей БД для PHP?

    aldigit
    @aldigit
    Обсудили в скайпе. Теперь даже я понял :)
    Ответ написан
    3 комментария
  • Удобный скрипт для загрузки изображений на сайт?

    Vidog
    @Vidog
    Посмотрите в сторону swfupload
    Ответ написан
    Комментировать
  • За что разработчик может уважать менеджера?

    80x86
    @80x86
    За то, что это — образ жизни.

    Я попробую изложить тут свой опыт. Думаю, получится ОЧЕНЬ субъективно. Увы.

    Последние три года мне приходится быть этаким Jack Of All Trades (к счастью, без продолжения “master of none“). Я начальник отдела автоматизации учебного процесса довольно большого, но весьма вялого до этой самой автоматизации ВУЗа. Жизнь сложилась так, что кроме этого я занимаюсь веб-разработкой (скорее фрилансом) и координацией нескольких полузакрытых проектов, выросших из аутсорса.

    Соответственно, приходится заниматься административной работой, организационно-координационной и непосредственно разработческой. И рисовать, верстать, копирайтить, тестировать, составлять матмодели, заниматься статистической обработкой и немного паять.

    Это, так сказать, для более глубокого понимания того, почему будет много субъективизма с претензией на объективность.

    До этого, примерно лет пять назад, когда я был чистым разработчиком, на работу менеджеров проекта/команды (да чего уж кривить душой — и на работу любого административного работника) смотрел с презрением, граничащим с этаким public riot. Скорее всего, мне просто не попадалось действительно хороших ПМов, которые бы умели поставить рабочий процесс так, чтобы разработчик понял, что о нём заботятся.

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

    Ещё мне дико не нравилось решать задачу некрасиво, причём это часто выражалось в затягивании сроков. Если мне начальник говорил:

    — Надо срочно сдать! Хватит тянуть резину, что у тебя там, почему нельзя сделать быстрее?

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

    Я убивал на это допиливание время, в результате получал аллергию на код и переставал получать удовольствие от жизни и проекта. В итоге делал «уже лишь бы работало», но при этом затягивая сроки и получая очередной приступ язвенной болезни.

    Потом было много разных событий, которые во мне окончательно убили веру в то, что менеджер — это друг, товарищ и практически брат. Эти люди не видели проблем коллектива, не хотели для достижения результата жертвовать своими ресурсами или вообще абстрагировались от проблем за мифическими скрамами, процессами, UML и прочей серебряной атрибутикой современного IT.

    А потом я стал начальником.

    Начальником болота, где не слышали про VCS, например. Вообще. И про проектирование.

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

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

    С тех пор многое поменялось в голове: я научился жертвовать перфекционизмом в пользу выполнения поставленной задачи; научился делегировать работу; научился избавлять разработчиков от головной боли и смятений в выборе способа решения задач, выполняя роль своеобразной бритвы Оккама; научился… да научился много чему.

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

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

    Слава святому фон Нейману, такие люди, оказывается, есть и их достаточно много. В сравнении себя со многими из них я понимаю, что мне есть, куда стремиться. И это потихоньку топит лёд моего внутреннего разработчика, который потихоньку учится уважать менеджеров.
    Ответ написан
    Комментировать
  • Вопрос веб-разработчикам

    @Hint
    Не хотят исправлять XSS (за их наличие еще и штрафы надо накладывать)? Не хотят поддерживать браузеры последних версий? Конечно «завязать сотрудничество».
    Ответ написан
    Комментировать
  • Что почитать, чтобы привести знания в порядок?

    winolog
    @winolog
    почитай паттерны проектирования.
    Ответ написан
    Комментировать
  • CMS своими руками

    @egorinsk
    Автор, а что гуглить. Есть минимум 3 способа: расковырять простую Open-Source CMS (проблема: найти CMS с хорошей архитектурой и аккуратным кодом), устроиться в компанию, у которой есть своя CMS (а она есть почти у каждой студии), и наконец, написать самому правильно.

    Маны нужны не по написанию CMS, а по используемым продуктам и технологиям.

    Сначала надо определиться с задачей. Установите и попользуйтесь несколькими CMS, просто чтобы увидеть особенности их работы. (если вы не можете это сделать — вам надо изучать основы установки и настройки apache/mysql/whatever, а не CMS писать. Уходите практиковать эти навыки). Также, есть хороший сайт, где установлены демки десятков CMS и можно их посмотреть, не устанавливая.

    Запишите, что вы хотите получить, сделайте наброски страниц. Определитесь с требованиями к вашей CMS. Какие в ней будут модули, как ими можно управлять.

    CMS обычно состоит из 2 частей — т.н. «админки» (запароленный раздел, где меняется конфигурация сайта, добавляются материалы) и публичной части сайта, которую видят пользователи.

    Если вы еще не бросили эту затею, перейдем к следующему пункту. Проектирование архитектуры и написание CMS. Чтобы хорошо писать сложную CMS, нужен опыт и понимание того, как вообще писать сложные программы. Нужно глубокое знание HTTP/HTML/CSS/JS/SQL. А именно:

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

    Что еще надо знать. Во-первых, надо иметь представление что значит MVC или 3-звенная архитектура.

    M в MVC — это Model. CMS скорее всего будет хранить данные в БД — надо знать, что такое и как пишется DBAL (гуглите: PDO), плейсхолдеры в запросах, возможно, Table Gateway, ознакомиться с тем, что такое ORM, и почему PHP-ные ORM так тормозят. Если будете делать модельки, не храните значения полей в публичных свойствах — это неудобно и нарушает инкапсуляцию. Храните их в приватном массиве $attributes.

    V is for View. Надо знать, что такое шаблонизаторы (прочтите мануал по Smarty, Django Templates, HAML и XSLT, чтобы иметь общее представление, какие они бывают). Для PHP хорошие варианты — использовать чистый PHP или XSLT, если осилите. Smarty — устаревший тормозной хлам, Twig тоже имеет недостатки. И не стоит ставить шаблонизатор, только, чтобы писать {$a} вместо [?= $a =].

    Не смешивайте логику (сложные вычисления, обращение к БД) и шаблонизацию. Лучше сделайте 2 файла: один с кодом, другой с шаблоном. В идеале, шаблонизатор получает от контроллера значения переменных и, кроме хелперов, никакого другого кода не вызывает.

    C — контроллеры. Но это самая простая часть, контроллер — это просто класс с методами типа viewAction(), editAction() и роутер, который смотрит на УРЛ и вызывает нужный контроллер. Посмотрите, как устроен Zend_Controller и Zend_Front_Contriller, и сделайте так же, но попроще. выкинув 90% функционала — он вам не понадобится.

    Нужно как-то сделать систему компонентной без сильных связей: чтобы ядро могло работать и без модулей, а добавление модуля не требовало дописывания кода в ядро. Почитайте про Dependency Injection, а также Observer (observer — это когда мы делаем функцию addEventListener()).

    Не используйте хуки, как в Друпал. Это дурной и порочный путь, взятый видимо из древных времен и программирования на Си.

    Что еще. Освоив все эти понятия, у вас в принципе не будет сложностей написать CMS, но почитайте еще мои советы по тому, как писать правильный код с исп. ООП: habrahabr.ru/qa/17158/#answer_70869

    Написание своих велосипедов, в общем, полезно и способствует расширению кругозора разработчика, заставляет его изучать разные подходы к написанию кода.

    Ну что еще. Если (в чем я сильно сомневаюсь) благодаря моему скромного совету вы все же сможете пройти этот нелегкий путь и станете успешным разработчиком, можете заплатить мне денег. Я не против.
    Ответ написан
    Комментировать
  • CMS своими руками

    Tsyganov_Ivan
    @Tsyganov_Ivan
    Конкретное руководство «Пишем CMS. Для начинающих.» вы вряд ли найдете.
    Пишите различные веб-приложения. Наращивайте их функционал. Постепенно вы заметите, какие недостатки есть в ваших разработках, а какие моменты получились удачно. Просто сесть и написать хорошую CMS с нуля практически невозможно.
    CMS это сложное веб-приложение. Важно задолго до начала разработки продумать архитектуру всей системы.
    Решите, чего вы хотите от собственной CMS, чего вам не хватает в существующих. Сравните готовые решения. Попробуйте разрабатывать модули для существующих CMS, это позволит глубже разобраться в их архитектуре.
    Ответ написан
    Комментировать
  • Визивиг редактор для админки?

    @Hint
    ckeditor.com/
    Гибкая кастомизация.
    Ответ написан
    Комментировать
  • Массовый взлом Хабрапользователей?

    Andchir
    @Andchir
    PHP/Python/JS Фуллстек
    Меня тоже сегодня ломанули.
    <img src="" alt=«image»/>
    Пост был по этому адресу: habrahabr.ru/blogs/mass_media/139186/
    Ответ написан
    1 комментарий
  • Как правильно с точки зрения SEO сделать фильтры в каталоге товаров?

    mitry
    @mitry
    Использовать <link rel="canonical" href="http://sample.tld/real/path/page.ext"> в хедере страницы. Подробнее: support.google.com/webmasters/bin/answer.py?hl=ru&answer=139394
    Ответ написан
    9 комментариев
  • Какие есть методы тренировки памяти?

    @Chii
    Записывайте о себе как можно больше. Все мысли, всё, что происходит, все ощущения, всё, что можете вспомнить. Ведите блог, дневник, мемуары. Сочиняйте и записывайте музыку.

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

    Ну или в крайнем случае родственникам и друзьям будет что вспомнить. Да и умирать проще, если от тебя что-нибудь остаётся, от грустных мыслей отвелечёт наверняка.

    Ни в коем случае не занимайтесь попрошайничеством, это плохо.
    Ответ написан
    1 комментарий