• Кастомное контекстное меню элемента trayIcon - это возможно?

    MrFreeman
    @MrFreeman
    Кто, как не дизайнер должен знать что такое юзабилити. И создание разноцветных трей-меню только затрудняет восприятие. Ну если это не игра «Разукрась трей-меню». А программистам приходится играть в подорбные игры.
    Ответ написан
    Комментировать
  • Использование закрытого 14-го Wi-Fi канала в Украине — за этим кто-то следит?

    apcsb
    @apcsb
    Формально докопаться могут. Но формально в Украине могут докопаться к чему угодно.
    Посканьте эфир — если все чисто и никто не обидится — удачи вам =))
    Учтите, что при переезде на 14 канал, соседи на 11/13 каналах (не знаю, что вы сейчас используете) из конкурентов (L2 помеха) превращаются в интерферентов (L1 помеха) — в итоге может оказаться, что все стало только хуже. Именно поэтому юзерам вдалбливают, что использовать можно ТОЛЬКО каналы 1/6/11. Переезд имеет смысл только при наличии «креативных» соседей на каналах 7-10/12.
    С другой стороны, если вы говорите, что сеть «легальная» — т.е. имеется разрешительная документация на эксплуатацию, то гораздо лучше ПОЗВОНИТЬ в УЧН и сказать «у меня тут сетка легальная — а ей нормально работать мешают». Они должны отреагировать. Тогда уже проблемы не у вас будут, а у них :) Хотя — см первые два предложения :)
    Ответ написан
    Комментировать
  • Ubuntu 12.04 завершить обновление?

    Nickel3000
    @Nickel3000
    А у вас home на отдельном разделе? Если да, то просто выберите не форматировать его при установке. Где что должно лежать можно почитать, например, тут, нужные папки сохраните с LiveCD. Правда, куда разработчик решит положить конфиги, зависит только от него.
    Ответ написан
    Комментировать
  • Ubuntu 12.04 завершить обновление?

    ilyaplot
    @ilyaplot
    PHP программист
    Я в такой ситуации грузился в режиме восстановления с установочного диска и заканчивал обновление, исправлял последствия.
    Ответ написан
    1 комментарий
  • Ubuntu 12.04 завершить обновление?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    У вас не запускается загрузчик, или же возникает ошибка именно в процессе загрузки системы?

    Если первое, то лечится liveCD + google(восстановление загрузчика).
    Если второе, то можно попробовать liveCD -> chroot -> повторить попытку обновления. Тут либо получится обновится, либо обломится со словами, что что-то заблокировано и не могу. Если начинает ругаться — лезть в гугл по вопросу повторного запуска обновления.

    Это рецепты, я не помню точных команд, но у меня тоже вырубало свет во время обновления, правда загрузилось нормально. Однако пришлось перезапускать обновления — занятие не слишком сложное (у меня с гуглением 2 часа ушло), но всяко лучше перспективы переустановки.
    Ответ написан
    Комментировать
  • Ubuntu 12.04 завершить обновление?

    @Ghostwriter
    Загрузитесь с любого Live-CD дистрибутива, откройте терминал, смонтируйте ваш старый раздел с Ubuntu и скопируйте все необходимые конфиги. Практически всё, что вы настраивали в своём рабочем окружении находится в /home/. Можете скопировать прямо всю домашнюю ветку.
    После установки Ubuntu замените весь домашний каталог (как правило, все системные bash-скрипты в домашней директории не меняются в Ubuntu от версии к версии; в крайнем случае, система сама допишет необходимые файлы или сообщит об их отсутствии) или просто скопируйте нужные вам конфиги из старой системы выборочно.
    Ответ написан
    2 комментария
  • Ubuntu 12.04 завершить обновление?

    KawaiDesu
    @KawaiDesu
    Рекомендую забрать через лайв-сиди все нужные конфиги и ставить начисто 12.04. Я один раз, кажется, 10.04 свежеустановленную обновлял и едва-едва задел, скорее коснулся SATA кабеля в открытом корпусе. Всё, машина ушла в ребут во время обновления и запускаться отказалась. В итоге переставил.
    Ответ написан
    2 комментария
  • Смена места жительства. Перепрофилирование. Удаленная работа. С чего начать?

    Eternalko
    @Eternalko
    Учитывая вашу специализацию, возможно стоит подумать о собственном бизнесе? В регионе тоже есть много маленьких фабрик. Они бы могли воспользоваться вашими знаниями.
    Ответ написан
    4 комментария
  • Подскажите напоминатель дней рождения и прочих поздравляльных событий

    charon
    @charon
    может быть, Гугл-календарь? Лично мне он присылает уведомления в ДР моих контактов на Андроид-телефон
    Ответ написан
    6 комментариев
  • Где взять актуальную и мультиязычную базу данных стран, регионов и городов мира?

    deleted-mifki
    @deleted-mifki
    По мне самая известная www.geonames.org
    Ответ написан
    Комментировать
  • Паттерны проектировния vs архитектурные паттерны?

    @werdender
    Архитектура — искусство проектировать, поэтому, имхо, разницы между этими понятиями нет.
    Ответ написан
    Комментировать
  • Поиск неиспользуемых методов классов в php проекте

    CrazySquirrel
    @CrazySquirrel
    2 и 3 — специальные опции к xdebug, которые позволяют искать не используемый код.
    Ответ написан
    1 комментарий
  • Поиск неиспользуемых методов классов в php проекте

    CrazySquirrel
    @CrazySquirrel
    Ищите в сорону xdebug, code coverage, dead code. Оно это умеет.
    Ответ написан
    1 комментарий
  • Как организовать автокомплит при использовании __get, __set?

    miraage
    @miraage
    Старый прогер
    Таким же образом можно добавить методы

    <?php
    /**
     * Some class
     *
     * @method static returntype methodname() comment
     * @method returntype methodname() comment
     */
    ?>
    
    Ответ написан
    1 комментарий
  • Как организовать автокомплит при использовании __get, __set?

    Да. Через пхпдок. Примерно так:
    <?
    /**
     * @property int $price
     * @property int $min_s
     * @property int $max_s
     *
     * @property string $link
     *
     * @property Item[] $item
     * @property Photo[] $photos
     * @property Scheme[] $schemes
     */
    class Example extends EActiveRecord{
    /*class body*/
    }
    
    Ответ написан
    1 комментарий
  • Принцип построения моделей БД для PHP?

    aldigit
    @aldigit
    Здравствуйте, Владислав

    У Вас в профиле ссылка на очень хорошую книжку Мартина Фаулера: martinfowler.com/books.html#eaa

    Из неё про Active Record: martinfowler.com/eaaCatalog/activeRecord.html
    Data Table Gateway: martinfowler.com/eaaCatalog/tableDataGateway.html
    Data Mapper: martinfowler.com/eaaCatalog/dataMapper.html

    Теперь немного рассуждений из личного опыта.

    Привязка доменной модели к реляционной сложна исходя из следующих факторов:

    * Гранулярность (доменная модель часто имеет большую детализацию)
    * Наследование (нужно выразить в реляционной схеме данных)
    * Идентичность (определяется равенством но коде и ID в БД)
    * Ассоциации (один ко многим в коде выражается массивом, в схеме БД через внешние ключи)
    * Навигация по данным (в коде — ссылки, в схеме БД joins)

    В случае, если доменная модель сложна, и мы сталкиваемся со множеством перечисленных трудностей, то рекомендуется использовать Data Mapper. Это позволит доменным объектам не беспокоиться о существовании БД.

    Если предметная область не слишком сложная, то может быть удобным добавить Persistence методы к классам доменной модели (Active Record). Это облегчит программистам процесс написания сервисного кода.

    В случае, если доменная модель удобно ложится на реляционную схему, но мы всё равно хотим обособить SQL для соблюдения принципа персональной ответственности, то рекомендуется использовать Data Table Gateway

    Это довольно общие слова. Если уточните вопрос, буду рад уточнить и ответ :)
    Ответ написан
    Комментировать
  • За что разработчик может уважать менеджера?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @Silver_Clash
    Когда то давно, когда работал сборщиком в комп. фирме, мы часто заряжались от пенопласта в который упакованы корпуса. Безболезненный способ разряда был найден быстро: если касаться проводника не рукой, а отверткой то болезненного эффекта не было.
    Если говорить точнее, что бы не было болезненного эффекта необходимо увеличить площадь соприкосновения с проводником. Площадь соприкосновения с заземленным проводником увеличить не получится, разряд пройдет еще до того как вы коснетесь проводника. Необходимо использовать НЕ ЗАЗЕМЛЕННЫЙ проводник с большой площадью соприкосновения, например чайную ложку, отвертку, телефон и т.п. и уже им касаться заземленного проводника (батарея отопления — отличный вариант)
    Ответ написан
    Комментировать