• Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

    Ну и не беритесь за каждую идею, а выбирайте самые инетересные. Если вы будете делать пять проектов одновременно, скорее всего ни один не доделаете.

    Удачи!
    Ответ написан
    4 комментария
  • Как сверстать такой шаблон?

    IgorBee
    @IgorBee
    JS,VBS,3D.Web с 07.2015
    Готовый вариант
    Создаем блоки и меняем им наклон,а внутри прописываем display: inline-block и противоположную трансформацию для текста,чтобы он был ровным.

    transform: rotate(-45deg);
    ncgTFfe.png
    Ответ написан
    1 комментарий
  • Как вы осваивали Node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Лучше всего написать что-то сложное и страшное и выложить в открытом коде, такое, чтобы от задачи дух захватывало, или присоединиться к уже существующуму проекту в открытом коде, даже если из этого ничего не выйдет, то Вы поймете ноду изнутри. Посмотрите мою лекцию и другие видео в списке, надеюсь, они помогут https://www.youtube.com/watch?v=Try7lmWikao&index=...
    Ответ написан
    Комментировать
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Вариант 1 - послать и забыть.
    Вариант 2 - переводить из бесплатного в платный.

    Базовый функционал есть? Есть
    Клиент уже доволен? Доволен
    Пора платить деньгу, а так он почувствовал халяву и не слезет с вас.
    Ответ написан
    6 комментариев
  • Как организовать работу удаленных программистов?

    opium
    @opium
    Просто люблю качественно работать
    Сложно
    Так же как и в офисе
    Также как и в офисе
    А что вы в офисе не начисляется зп?
    У вас что не ни одного разработчика которому вы платите?
    Удалённый работник ничем для меня не отличается от работника в офисе, почему вы его так хотите отличать мне не понятно
    Ответ написан
  • Как организовать работу удаленных программистов?

    gadfi
    @gadfi
    https://gamega.org
    - Возможно ли найти ответственных и самостоятельных людей?

    да
    - Каким образом следует контролировать сотрудников?

    а как вы это делаете в офисе ?
    Если ли смысл использовать тайм-трекеры на ПК работников?

    нет

    - Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?

    зависит от того как принято у вас в компании
    - Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?

    столько же сколько и обычному
    Ответ написан
    Комментировать
  • Правильно ли я расставляю приоритеты в развитии?

    gatilin222
    @gatilin222
    Frontend-разработчик
    Если интересно на блоге glivera-team.github.io есть несколько статей по повышению уровня верстки
    Ответ написан
    Комментировать
  • Правильно ли я расставляю приоритеты в развитии?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала, как говорится, определитесь с целями. Вы хотите больше интересных задач. При этом ваша специализация - верстка. Раз уж вы только только решили попробовать "gulp" и sass - предположу что с такими инструментами, как скажем autoprefixer вы так же не знакомы. И тем более webpack.

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

    По процессам вам стоит ознакомиться с существующими методологиями в верстке. BEM, Css modules и т.д. Сейчас все популярные фреймворки (в том числе и angular) идут по сути реюзабельных компонентов, и подобных подходы к верстке зададут вам какую-то основу.

    Передт тем как учить фреймворки стоит определиться с целями. Если знания ангуляра вам нужны на уровне шаблонов - ну тут тогда можно просто почитать да попробовать в свободное время. Если же вас именно качественное понимание всего интересует, но перед фреймворками надо хорошо изучить javascript (и ознакомиться с текущим стандартом ES2015). И уже после этого можно приступать к фреймворкам.
    Ответ написан
    1 комментарий
  • Как не распыляясь дотащить до front-end мидл девелопера?

    Apathetic
    @Apathetic
    Frontend
    Я вот, в принципе, джун по опыту именно программирования. Но по опыту управления могу сказать точно - все эти аббревиатуры - полная фигня. Важны не аббревиатуры, важна способность быстро их усваивать. Больше того скажу, важна способность быстро переключаться на другие фреймворки, другие среды разработки, другие языки. Это всё - не более чем инструменты. И для этого нужно глубоко понимать именно основы программирования, паттерны, алгоритмы, вот это всё. В освоении этого может помочь только один способ: ебашить (извините за мат, но это самое подходящее слово).
    Ответ написан
    Комментировать
  • Как вы создаёте адаптивный дизайн и всегда ли это нужно?

    aliencash
    @aliencash
    Партизан
    Я уже давно понял, что лучше сразу делать адаптивно. Иначе потом все равно переделывать придется. Контейнер у меня выглядит так:
    .container {
    width: 100%;
    max-width: 1200px;
    min-width: 320px;
    margin: 0 auto;
    }

    Причем стараюсь делать все резиново. Если такой возможности нет - медиазапросы.
    Ответ написан
    Комментировать
  • Какие книги нужно читать, если хочешь изучить HTML5, CSS3, JavaScript?

    @jackroll
    Сверхразум
    Ты сейчас делаешь следующее: "сейчас я хорошенько поузнаю, что мне нужно учить, а учить буду потом". Когда этот этап пройдёт, ты будешь думать "так сейчас надо найти самые лучшие книжки и курсы, а потом буду их читать и учить". Когда найдёшь - "так, нужно почитать программач ещё разок, чтобы быть в курсе, не изменилось ли чего". Потом "ага, надо ещё работы посмотреть на данный момент и сделать проекцию в будущее, чтобы предположить свой заработок". И после ещё десятка таких типа-как-небесполезных откладываний ты либо найдёшь какую-то другую великую цель для себя, либо попробуешь начать изучать то, что подготовил, но не протянешь дольше недели.

    Это я к тому, что из этого паттерна прокрастинации и фантазий нужно выбираться прямо сейчас, а не потом. Если ещё более прямо надо - бери любой язык и учи его месяц, не тратя время на всякую чушь. Иначе гроб.
    Ответ написан
    Комментировать
  • PHPStorm, куда слезть с него? nodejs / frontend разработчики, поможете?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    WebStorm:
    scss, less +++
    gulp, bower - через консоль(но она есть встроенная в webStorm и phpStorm)

    Лично я использую git bash + phpStorm
    Ответ написан
    Комментировать
  • Что изучать: Ruby или Node.js?

    anderles
    @anderles
    Software Architect at Zelpex Media Group
    Я затятый php-шник, делаю проекты свыше 10 лет. Перепробовал кучу всего что есть в php мире. Сейчас делаю большие соц. проекты с помощью zf2 и laravel framework. В команде в одном из последних проектов делаем real time приложение(в основном обработка видео и картинок). После тестового приложения на php поняли что что то не то и как то туговато все здесь происходит(Использовали MongoDb, Ratchet, RabbitMq, Zf2, Laravel + многопоточность) (может мы как то не так оптимизировали весь свой php стек - но было чувство что сделали огромного зверя и не поворотливого). Начали смотреть в сторону nodejs и go. После всяческих тестовых прототипов было решено двигаться в сторону nodejs. Go в некоторых случаях даже лучше чем Nodejs - для меня в первую очередь - это то что он компилируем. Ну и не на много но быстрее! Так что если есть время тогда лучше посмотреть в сторону Go Lang. Некоторые здесь говорили что для большинства сайтов подойдет rails-based инфраструктура - Я с этим категорически не согласен(Извините, но это мое ИМХО). Для большинства сайтов как раз таки подходит php+js-based инфраструктура. Это также подтверждает количество разных фреймворков и библиотек сделанных на этих двух языках. Может я плохо искал но я не видел на фриланс биржах такое количество запросов у руби как в php или может кто то делает фронтенд на руби и без js? Почему мы в команде сделали упор все таки на nodejs? Все просто потому что я и почти все из моей команды считаем что эти два языка не то чтобы за 5 лет не выйдут из пика(как говорилось выше про руби и RoR), а они еще будут и 20 лет развиваться. И сугубо мое мнение что Java Script вообще не умрет никогда )). Сейчас nodejs отлично справляется со своей задачей - а это обрабатывать запросы с фронтенда создание видео и фото файлов или даже целых куч стеков таких файлов. Не обошлось и без php в нашем случае он работает с консольными демонами. А что можно посоветовать так это то что нужно смотреть на стабильность и рост как языка так и целых стеков. Что не нравится в nodejs так это то что код постепенно может превратиться в лапшу, но такое может быть и в php :). Ну и для разработчика вообще хорошо знать не только интерпретируемые языки но и компилируемые. Спасибо за внимание!
    Ответ написан
    Комментировать
  • Подсоветуйте фреймворк для node?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Как основной автор Impress, не буду я его советовать, но вот несколько слов скажу, чтобы не было лишних ожиданий от фреймворка. И дам советы, которые на любом фреймворке помогут Вам написать хороший проект.

    Ответы:

    agentx001:
    Сильно много мне не нужно, MVC да рендринг страниц на сервере.

    Что такое MVC нет общего мнения, так случается, что каждый поймет это по-разному, потом напишет что-попало, и назовет это MVC. Так вот, Impress это не MVC, если понимать MVC, как отдельное написание контроллеров, моделей и представлений. Не будем обсуждать, что такое MVC, это очень затертый термин, и мы запутаемся в домыслах, которые вокруг него нагромождены. Лучше я скажу, что ждать от фреймворка: Impress, сам по себе, это универсальный контроллер, он как раз написан для того, чтобы не писать контроллеров. В нем есть реализация представления — это рендереры, один из рендереров — это шаблонизатор (с его помощью можно рендерить не только HTML, но и CSV, CSS, TXT и что угодно), но есть еще рендерер для JSON, он совсем простой, можно дописывать другие рендереры, для других форматов данных, если шаблонизация не подходит, например, для бинарных данных. Еще в Impress есть реализация логики приложений — которая разделяется на три части: (а) логику модели данных предметной области, (б) логику представления, т.е. логику рендеринга, (в) логику библиотек общего назначения, не связанных с предметной областью. Логика предметной области — это бизнес-логика приложения, например: алгоритм вычисления маршрута доставки груза, для системы крекинга грузов. Логика рендеринга — это если нужно сформировать данные для рендеринга при помощи императивного кода (т.е. при помощи обычного алгоритмического программирования с условиями, циклами и вызывами), а не только при помощи декларативных шаблонов и декларативных условий в них. Логика библиотек общего назначения — это все универсальные задачи, которые могут быть переиспользованы в других проектах, например, генерация DOCX документа, валидация данных, чтение количества кадров из анимированного GIFа и т.д. Все эти три вида логики (кода), гораздо важнее отделать друг от друга, чем модель от представления. А вот отделать представление от логики представления — это вообще страшная ересь, в которую впадают многие MVC-фреймворки.

    agentx001:
    Понравился этот новенький impress, но не стремлюсь использовать самопальный продукт, могущий в любой момент свернуться и даже не имеющий документации…

    Кроме самописных Вы еще какие знаете? Может есть какие-то автоматически писанные или сгенерированные? Есть статьи, есть примеры, часть API уже документирована, например, вот тут: impress/wiki. Скоро будут скринкасты, я уже об этом говорил. И в Impress очень мало кода, ядро весит 43кб. Код написан аккуратно, его можно прочитать за 5 дней, если читать по 5 страниц на ночь. Примеры готового веб-приложения (админ-панель для БД MySQL и MongoDB) даются вместе с системой и описываются тут: http://habrahabr.ru/post/192302/

    rozhik:
    По поводу критики impress — я бы таки выбрал другой. Очень странная архитектура, если он выживет — то явно поменяет не только половину апи — но и принципы расположения файлов.

    Фреймворк не на пустом месте появился, файловые структуры, как и API, созданы как портированные на ноду, наработки моей команды за последние 15 лет на Delphi, C#, PHP и JavaScript. Структура каталогов и API будут наращиваться, но не переделываться кардинально, я уже нашел для себя золотую середину в архитектуре систем. Вот что будет меняться в ближайшие месяцы — это формат конфига, т.е. Impress же не просто фреймворк, это сервер приложений, и он может сразу обслуживать несколько приложений (на разных доменах). Для этого, конфиг будет разделен на основные настройки и отдельную конфигурацию, для каждого приложения. Но конфиг не вилик, его разнести на несколько файлов — не проблема, при чем, структура конфига не сильно изменится.

    Советы:

    1. Если у Вас сайт, то рендерите шаблоны на сервере, но если у Вас приложение, то сделайте одну страницу (ну или несколько основных страниц), и на сервере сделайте API на AJAX и JSON. Присылайте данные в клиентское приложение, будь то веб-приложение или мобильное приложение для iOS или Android или оконное приложение, на любом языке. Это гораздо универсальные и удобнее для интеграции и поддержки.

    2. Используйте оперативную память, не лазьте в базу данных постоянно. Нода — это великолепная возможность писать быстрые приложения, и даже не из-за того, что она не блокирующая, за последний год я понял, что правильное использование памяти гораздо более ускоряет, Вам даже не нужно делать операции ввода-вывода в реальном времени, все они могут быть отложенные (ленивые, лэйзи). Вместо этого, разворачивайте данные в память приложения, стройте хеши, объекты, массивы. Не нужно бояться, что нода запущена в несколько процессов, и запросы одного пользователя могут приходить в разные процессы и находить там разные структуры данных. Это можно решить, делая «прилипание» клиентов по IP адресу или по Cookie при помощи балансировщика, к отдельному процессу ноды. В Impress такой балансировщик есть встроенный, можно использовать nginx или сервисы Вашего дата-центра, для больших проектов можно и нужно привлекать аппаратные балансировщики. Между разными процессами так же можно взаимодействовать через ZeroMQ, TCP, HTTP, IPC и еще что-угодно. Таким образом, данные разных процессов, в зависимости от того, что это за данные, могут или дублироваться в памяти (кешироваться, если это общие данные) или быть разделены на «прилепленные» сессии или синхронизироваться между собой через межпроцессовое взаимодействие.

    3. Не очаровывайтесь технологиями, берите их как можно меньше, и лучше копайте вглубь, чем по верхам. Для ноды сейчас очень большое разнообразие всего написано, и есть какая-то общая тенденция, поподключать в проект сто модулей, которые делают совершенно плевые вещи, а те тянут за собой еще какие-то зависимости и потом оно расползается и становится совершенно неконтролируемым. Подумайте 100 раз перез тем, как написать require, а если есть несколько альтернатив, то потратьте немного времени чтобы пощупать их код, протестировать производительности и удобство, это сэкономит потом много времени.
    Ответ написан
    3 комментария