pip and virtualenv

http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/

Screencasts, diagrams, and links from my presentation for July’s django-district.

I put together a walkthrough of pip and virtualenv for the django-district July meeting. It was a slide-less presentation, focusing mostly on talking points and command-line walkthroughs. This post provides a recap of what I covered.

virtualenv

virtualenv is a tool to create isolated Python environments. It was created by Ian Bicking to provide a solution to a consistent problem.

The Problem

To illustrate the problem let’s pretend you have a Web server with two Web sites on it: mysite.com and anothersite.com. Each of your Web sites are sharing the global site-packages directory in /usr/lib/python2.x/site-packages.

 

The global site-packages directory has Django 1.0.2, Pinax 0.5 and PIL 1.1.6 among other things. The sites are purring along, living in complete harmony.

One day, the client for anothersite.com decides they’d like to take advantage of some of the new features in Django 1.1. Now we have a problem. How do we upgrade anothersite.com’s dependencies without affecting mysite.com?

The Solution

anothersite.com and mysite.com need the ability to have their own set of dependencies. The way to achieve this is to create isolated Python environments using virtualenv.

 

virtualenv creates an environment that has its own installation directories and isolates itself from other virtual environments. The environment contains a site-packages directory, installs setuptools and a Python interpreter that is aware of its environment.

This allows us to install a different set of dependencies for each of our sites. Now anothersite.com can upgrade to Django 1.1 and Pinax trunk without affecting mysite.com at all.

Installation

virtualenv is available on PyPI. Run the following command to install:

easy_install virtualenv

Working with virtualenv

While I could go into detail about the commands available with virtualenv, I honestly never use the virtualenv commands directly. I use suite of conveniences for virtualenv called virtualenvwrapper.

virtualenvwrapper

Doug Hellmann was kind enough to create virtualenvwrapper, which is best described on PyPI:

virtualenvwrapper is a set of extensions to Ian Bicking’s virtualenv tool. The extensions include wrappers for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.

Screencast

I put together a quick screencast to go over the wrappers and hooks that virtualenvwrapper provides as stated below. You can also view the source codeon Bitbucket. Doug’s code is well commented and I found out about several of these wrappers only after taking a look at the source.

Wrappers

The wrappers provided by virtualenvwrapper (that I know of) are:

  • mkvirtualenv (create a new virtualenv)
  • rmvirtualenv (remove an existing virtualenv)
  • workon (change the current virtualenv)
  • add2virtualenv (add external packages in a .pth file to current virtualenv)
  • cdsitepackages (cd into the site-packages directory of current virtualenv)
  • cdvirtualenv (cd into the root of the current virtualenv)
  • deactivate (deactivate virtualenv, which calls several hooks)

Hooks

One of the coolest things about virtualenvwrapper is the ability to provide hooks when an event occurs. Hook files can be placed in ENV/bin/ and are simply plain-text files with shell commands. virtualenvwrapper provides the following hooks:

  • postmkvirtualenv
  • prermvirtualenv
  • postrmvirtualenv
  • postactivate
  • predeactivate
  • postdeactivate

Installation

virtualenvwrapper is available on PyPI. Run the following command to install:

easy_install virtualenvwrapper

Add two lines to your .bashrc to set the location where the virtual environments should live and the location of the script installed with this package:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper_bashrc

You should also take a look at Doug’s blog post on virtualenvwrapper, which provides a great overview of why he created virtualenvwrapper and provides detailed setup instructions.

pip

Another tool created by Ian Bicking, pip stands for pip installs Python packages. It is a replacement for easy_install that provides some great improvements including requirements files and support for version control systems.

Requirements files

Requirements files are plain text files that contain a list of packages to be installed. These text files allow you to create repeatable installations. As illustrated in this example file, there are several ways to specify a required package.

Package name with version requirements:

Django>=1.1
Pinax==0.5

Direct URL to a tarball containing a setup.py script:

http://effbot.org/downloads/Imaging-1.1.6.tar.gz

Editable checkouts from VCS repositories:

-e svn+http://svn.myproject.org/svn/MyProject/trunk#egg=MyProject
-e git+http://git.myproject.org/MyProject/#egg=MyProject
-e hg+ssh://[email protected]/MyProject/#egg=MyProject
-e bzr+https://bzr.myproject.org/MyProject/trunk#egg=MyProject

Editable checkouts from VCS repositories with revision information:

-e svn+http://svn.myproject.org/svn/MyProject/trunk@2019#egg=MyProject
-e git://git.myproject.org/MyProject.git@da39a3ee5e6b4b0d3255bfef95601890afd80709#egg=MyProject
-e hg+http://hg.myproject.org/MyProject/@2019#egg=MyProject
-e bzr+https://bzr.myproject.org/MyProject/trunk/@2019#egg=MyProject

View my sample requirements file for more examples of checking out with revision information including branches, tags and dates.

Usage

Once you have a requirements file, Installing a package using pip is as simple as the following command:

pip install -r /path/to/requirements.txt

I should note that you don’t have to create a requirements file. You can simply issue any of the commands listed in the requirements file directly from the command line like so:

pip install Django>=1.1
pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz
pip install -e svn+http://myrepo/svn/MyApp#egg=MyApp

pip freeze

pip doesn’t just install packages. It also provides a few other commands, including freeze:

pip freeze > /path/to/requirements.txt

This will inspect the current environment and generate a requirements files that contains explicit version number for each of the installed packages. I generally use this as a starting point for creating a stable requirements file.

There are other commands as well. I’d encourage you to take a look at thedocumentation for pip to learn more about the various options.

Installation

pip is available on PyPI. Run the following command to install:

easy_install pip

You can also check out a copy from bitbucket. Run one of the following commands:

wget http://bitbucket.org/ianb/pip/raw/0.4/pip.py

OR

hg clone http://bitbucket.org/ianb/pip/

Conclusion

Using virtualenv, virtualenvwrapper and pip together can help you create isolated, repeatable environments with ease. We use these tools on a daily basis at Discovery Creative and it has saved us countless hours in addition to providing documentation for requirements for our applications and sites.

Showing 26 comments

  • skyl

    yes, keep spreading the virtualenv love, nice article.

  • great stuff! thanks for putting the work in and sharing this informative piece.

  • Absolutely! I love putting these together – let me know if you have any other walkthroughs/screencasts you’d like to see.

  • shacker

    Question: What happens to my $PYTHONPATH within virtualenv?

    echo $PYTHONPATH

    returns nothing. Is it now assumed that all directories within the current virtualenv are automatically on the path? Looks like it – I had to comment out the $PYTHONPATH lines in my .bash_profile to get things basically working.

    But that doesn’t seem to be the whole enchilada. I was able to pip install 3rd party apps with pip or through the requirements file, but I also have a lot of custom reusable apps with no setup.py. I can’t install them with pip, and if I put them manually in /src, /lib, or /include, my Django project fails to see that they’re present. They worked previously, when I was basing everything off the $PYTHONPATH, but now there is no pythonpath.

    In general, what directories within the virtualenv are recommended for what?

    Side question: How would you switch to using a different version of an installed package (such as Django?)

    Thanks.

  • Hi shacker – I’m not sure what’s happening to your PYTHONPATH. The author’s code preserves the existing PYTHONPATH (see line 306 athttp://bitbucket.org/ianb/virt…. I personally only use virtual python environments and virtualenv’s –no-site-packages option so I don’t explicity set PYTHONPATH in my profile and haven’t run into this.

    To answer your second question, if you need a package that doesn’t have a setup.py, you can take two approaches. Put the package directly in lib/python2.x/site-packages/ or use the add2virtualenv command, which creates a .pth file in lib/python2.x/site-packages/.

    A virtual environment creates an isolated folder with bin, lib, include, etc. It’s similar to your system folders – executable scripts are in bin, lib contains python2.x, etc.

    If you wanted to change the version of an installed package, you can run pip install -U Django==X, where X is the version of Django (or any other package) you want to modify.

    Hope that helps!

  • shacker

    Thanks for the response Rich. I think I confused things a bit. Yes, if I keep a $PYTHONPATH set in bash, it’s preserved in the virtualenv. I have commented out the path in .bash_profile. What I *thought* would happen was that when I entered the virtualenv I’d get a new, automatically created $PYTHONPATH that reflected the new environment. Apparently not.

    Interestingly, even though echo pythonpath shows nothing, Django debug pages still show a full pythonpath reflecting the virtualenv. So it’s there, but the shell doesn’t know about it.

    The import errors turned out to be my own mistake (tangled package paths only revealed when I started isolating things with virtualenv).

    Thanks again.

     

  • Jay Liew, hustler + hacker startup guy

    Good intro, Rich. Btw, is there a way to change the virtualenv prompt?

    Just in case anyone else ran into the same problem, I couldn’t find virtualenvwrapper_bashrc in /usr/local/bin/ on my OS X 10.5 machine, and turns out it was here, so I symlinked it from here and it worked:

    ln -s /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc /usr/local/bin

    If yours isn’t there, (from bash shell) just do a:

    find / -name virtualenvwrapper_bashrc

    (for the record I installed virtualenv and virtualenvwrapper with pip)

  • You can change the virtual environment’s prompt using the –prompt option to virtualenv:

    –prompt==PROMPT Provides an alternative prompt prefix for this environment

  • Vn44ca

    So, where do you keep your real apps?
    Can you put a bit of code on how you develop your app in this framework?
    Let’s say you are making a site called mySite that has app1 app2 & app3.

  • I primarily use Django and all of my projects live outside the virtualenv completely. It’s the packages that my projects use that live in the virtualenv.

    For example, let’s say I have a site called mycoolsite.com. I’ll create a virtualenv called mycoolsite. The actual project files and web server configurations are in a repo and are checked out somewhere (e.g. /var/www/mysite/code/. The web server configs pull everything together. In the instance of a Django project, I’d have a .wsgi file that sets up my paths and points to my project files.

    A lot of updates have happened to virtualenvwrapper since I wrote this post. It’s definitely time for me to update and show off the new functionality.

  • Vn44ca

    Hi Rich,
    So, if I used the add2virtualenv, then I decide that I want to remove it, how do I go about it?

    I am using buildout right now, it is powerful, but it has its own problems. I am trying to move over to virenv. Any suggestions for the new converts?

  • Hi there – honestly I don’t use add2virtualenv at all. I just highlighted it because it’s available. But what it does is just put a .pth file inside site-packages. So you could just remove that file.

    My preferred way of working is to use the “–no-site-packages” flag to mkvirtualenv. This creates a clean site-packages folder and doesn’t pull in system-wide site-packages. Then you have a nice, clean env to start with, installing all the pieces you need.

  • Also – it’s interesting to me that lots of people are coming from buildout to ve. I’m doing the exact opposite at my new job, although I could see that changing at some point.

  • Vn44ca

    I still like buildout for a “finished” product. I wish it had the freeze option so I didn’t have to use the version tag and manually lock up all working versions. But lets say that I want to quickly test a new django CMS that someone wrote. With buidout, I have to go about and creating a buildout env to get it tested. With virtualenv, in few short minutes, I have the new CMS/example app up and running. I’d think that if buildout and virtualevn marry someday, they would produce a beautiful offspring. :)

  • Ryan

    I’m confused. If virtualenvwrapper maintains your virtual environments, then it can’t reside inside any of those virtual environments where *does* it live?

  • Hi Ryan – you run “sudo easy_install virtualenv virtualenvwrapper”. It lives in your system Python’s site-packages.

  • You can also add a hook to your workon home directory, just like you do with each individual virtualenv in the bin directory.

    Just create the hook file in your workon home (such as “postactivate”) and it will be applied when ANY virtualenv is called.

    For example, you could create a hook in your workon home called “postactivate” and then add in:

    cdvirtualenv

    …to the file and any time a virtualenv is activated, it will automatically cd to the directory of your virtualenv. This makes it so you only need to declare your hooks once, not one time for each virtualenv.

    Good write up!

    Cheers,
    Dana W.

  • Orangutan Cloud, Mobile and web application development

    This is a great write up, thanks.

    I always keep my projects outside of the virtual environments and they live in a separate directory.

    To keep things simple, I create a symlink to the virtual environments python inside my project.

    ln -s /srv/environments/djnonrel/bin/python /srv/projects/myproject/python

    Then you can just do something like this in myproject:
    ./python manage.py runserver

    etc

    And just forget about where you put the environment while you work on your project

  • Mark Essel, pro sim-gineer, alg geek, dude

    Thanks for writing this up and the screencast. Coming from an acolyte’s level of experience with ruby, I eagerly anticipated something like rvm for python. It looks like virtualenvwrapper will serve that role well. What’s really fantastic about this environment tools is how easy it makes setting up new apps or systems.

  • Ethan Herdrick, Co-founder of Biographicon.com.

    Thanks.  BTW your link to “Doug’s blog post” is missing.

  • Hope you found it helpful! Fixed that link – thanks for pointing it out.

  • Olivier Larchevêque

    I use closed environments for each projects with freeze versions, and I wonder how you supervise your packages deployed, to check outdated packages for example.
    Is there any supervision tool, app to do this?

  • Hi Oliver – a colleague of mine, Corey Oordt, wrote some Fabric tools to check for outdated/out of sync dependencies: https://gist.github.com/106622…. That may be what you’re looking for.

  • Olivier Larchevêque

    Thanks, I have still have a look on, It’s pretty my needs, but I am not responsible of deployment,  so I don’t have any ssh access… anyway, should be easy to port for webby approach!

  • Morgan Craft, Django/Python and JS Guru

    Nice writeup, I’ve been linking to this in all my github project installation instructions.

  • Guest

    The filename virtualenvwrapper_bashrc has been updated since prior posts, for version 3.0 of virtualenvwrapper the filename is virtualenvwrapper.sh

0

0
 

8 cosas que no le dicen acerca de ser un diseñador web

http://sixrevisions.com/project-management/8-things-they-dont-tell-you-about-being-a-web-designer/

Después de casi quince años de trabajo como profesionales de la tela, hay muchas cosas que me gustaría que yo había conocido años atrás, cuando yo estaba empezando. Se podría pensar que los elementos de la parte superior de arrepentimiento son de no aprender o dominar las habilidades técnicas o herramientas como Ruby on Rails , jQuery , Node.js o Fireworks. No es así.

De hecho, creo que las herramientas y los lenguajes de programación web que usted utiliza son uno de los factores menos importantes.

 

Cualquiera que haya trabajado en la industria de la construcción de sitios web por un tiempo ha sido testigo de muchas tendencias de inicio, prosperar y se queman. Ellos entienden que las herramientas y el auge de ciertas competencias técnicas y caída constante, pero la persona detrás de la obra puesto estancias.

En este artículo, voy a compartir con ustedes ocho cosas que quisiera haber sabido sobre el desarrollo web como profesión y como una industria.

1. Las herramientas que usa no importa

Hoy en día, utilizando FrontPage profesionalmente le conseguirá muchas críticas. El<blink> etiqueta se extinguieron (afortunadamente). Yahoo! ha pasado de propiedad muy valiosa a la ciudad fantasma. Términos tales como Perl, WAP, WML y FBML se están convirtiendo o se han convertido en reliquias , a pesar de que una vez que los requisitos para los proyectos web de muchos. MySpace fue arrollado por Facebook.AOL fue aplastado por las conexiones a Internet de banda ancha.

Diez años a partir de ahora, ¿aún ser capaz de impresionar a los clientes potencialescon sus ideas sobre HTML5 , CSS3 y Flash / ActionScript?

Dado que las herramientas que estamos usando ahora será muy diferente o ha desaparecido por completo en 3-5 años – que parece ser el promedio de vida de muchas tecnologías web – los medios para hacer el trabajo son casi irrelevantes. Los expertos del mañana son los novatos de hoy, y la brecha entre hoy y mañana es muy corta en la industria de la web.

Los que son de mente abierta, en constante aprendizaje , y en un estado sin fin del crecimiento y la educación son los que se destacan y tener éxito en el largo plazo.

2. Depender de nadie para la experiencia. Cree usted mismo.

He tenido la suerte de haber entrevistado a muchos diseñadores y desarrolladores web para posiciones de tiempo completo y los proyectos en la última década. Una de las cosas que siempre me choca es la cantidad de solicitantes que aspiran tener una cartera débil o inexistente y están contando casi exclusivamente de sus empleadores para proporcionar el crecimiento y proyectos interesantes.

Nada de gritos de la pereza como un idealista, up-and-coming web profesional con una cartera vacía.

Cada comunidad está salpicada de grupos sin fines de lucro, iglesias, clubes y pequeñas empresas que les gustaría recibir ayuda personalizada para sus sitios web.Claro, el presupuesto puede ser baja o incluso inexistente, pero el valor que se obtiene a partir de una sólida cartera es mayor que cualquier cheque que usted podría ser capaz de salir de un pequeño cliente de este tipo.

Sólo recuerde que usted está compitiendo con personas que tienen una cartera amplia llena de muestras pulidas y testimonios de clientes cada vez que entra en esa entrevista.

Si usted no puede encontrar a alguien para hacer los proyectos para, muestran una pasión por su arte de la creación de proyectos para ti .

Si usted no tiene suficiente interés en el diseño y la tecnología para hacer nada de lo anterior, en serio la necesidad de reconsiderar su elección de carrera. Sin alguna pasión por el aprendizaje, el crecimiento, y sin el deseo de ser una persona emprendedora, una carrera en este campo no va a ser muy fructífera.

3. Especializarse en algo

Desde el exterior mirando hacia adentro, los clientes ven un mundo lleno de diseñadores de páginas web y las personas que dicen ser expertos en todo, desde la facilidad de uso, a la programación, de SEO, el diseño.

Estos clientes potenciales tienen pocas maneras de separar los pros verdadero de los aficionados. ¿El resultado? Sus talentos y habilidades únicas se ahogan en un mar de autoproclamados gurús y convertido en una mercancía como las papas o nabos.

Para destacarse de la manada, lo que necesita para llegar a una especialidad. Una bandera para volar. Algo que le hace especialmente adecuado para proyectos específicos. Puede ser que sea pequeña sitios de comercio electrónico. Tal vez los sitios web de iglesias. Tal vez es social media marketing sitios.

Sea lo que sea, debe centrarse en él y lo convierten en el elemento diferenciador que le ayudará a evitar el ruido y establecerse como un experto en nicho. Decirle a la gente que eres un “desarrollador web” es la venta se quede corto.

4. Está bien decir “No”

Suponiendo que haya puesto juntos una sólida cartera y saber dónde se encuentra su pasión, es el momento de obtener exigente. No estoy sugiriendo que rechazar los proyectos sólo para ser un snob, pero puede diferenciarse por sólo aceptar proyectos que sacar el máximo provecho de sus habilidades, proyectos que enfocar la atención en lo que mejor sabe hacer.

Si eres un gran diseñador, se centran en los proyectos que dependen más de sus habilidades, se permita a fracasar o tener éxito basado en eso. No se estire demasiado y tratar de hacer frente a un sitio de comercio electrónico si eso no es algo que usted tiene el deseo y la pasión por hacer. No tome en un proyecto de Drupal si lo que realmente disfrutan trabajando es WordPress. Usted va a terminar produciendo un proyecto que no se siente orgulloso de que al final. Su falta de pasión se muestran en el resultado.

Cada proyecto que usted elige hacer lo representará a su próximo cliente. ¿Qué quieres que vean?

Está bien para rechazar los proyectos que simplemente no tiene ganas de un buen ajuste. Tal vez el cliente quiere para conducir todas las decisiones de diseño y de cómo el diseño del sitio se construirá. Si eso no va a encajar con su estilo de trabajo, usted es probablemente mejor de la disminución del proyecto.

Si el proyecto está siendo gestionado por un equipo y no hay clara la toma de decisiones, que es también una bandera roja de advertencia que usted considere de seguir adelante. Hay muchas preguntas que usted puede utilizar para ayudar a que los proyectos en marcha para un gran comienzo y evitar las trampas.

5. Definición de Alcance del Proyecto en el comienzo es extremadamente importante

Supongamos que sólo una cosa es cierta: El cliente es escéptico y, probablemente, cree que su 14 años de edad, sobrino hace exactamente lo mismo que hace el 10% del costo que cobra. Aparte de eso, es necesario trabajar con el cliente para definir cuidadosamente y documentar todo lo que antes de comenzar cualquier trabajo.

El propósito de este ámbito de definición y fase de descubrimiento es asegurarse de que el cliente entiende completamente lo que está recibiendo. Si hacer una suposición sobre algo que usted no tuvo en cuenta, que es su culpa. Usted es el experto en la relación y están contando con usted para mayor claridad y orientación. Tómese su tiempo y caminar a través de él de una manera profesional, para entender completamente sus expectativas.

Alcance de todo el proyecto y, específicamente, describir las prestaciones y los plazos. Integración social de los medios de comunicación, desarrollo de contenidos, SEO – todo esto puede caer fácilmente en la categoría de “Yo pensé que estaba incluido!”

Cuidadosamente que detalla lo que será proporcionada a ellos, no va a terminar con un proyecto que se convierte en un sinfín de margen de comer monstruo.

6. Cuanto menor sea el presupuesto, el más grande es el dolor

Bueno, esta es una regla de oro que no es cierto en todos los casos, pero creo que la mayoría de los trabajadores independientes y los contratistas de acuerdo en que esto es cierto más a menudo que no.

Es sólo una cuestión de economía. Si usted tiene un presupuesto de un millón de dólares y sólo el gasto de $ 50.000 de que en el diseño de su sitio web, usted tiende a tener un enfoque más de no intervención en el proyecto que si había un presupuesto de $ 2.000 y están gastando la mitad de ella en su sitio web diseño.

Clientes más grandes tienden a ser la gestión de numerosos proyectos, por lo que contar con usted en mayor medida a manejar las cosas para ellos y tomar las decisiones correctas.

Como muchos de ustedes han encontrado, los proyectos más pequeños tienden a tener los responsables que quieren ser mucho más práctico y menos dispuestos a escuchar a su orientación profesional y las decisiones. Simplemente tienen menos dinero para gastar y están poniendo más de riesgo.

7. El usuario siempre es lo primero

Este puede ser uno de los puntos más difíciles para los desarrolladores web a aceptar.Especialmente para los desarrolladores web principio, cada proyecto es una gran oportunidad para expresarse y dejar brillar su genio creativo. Pero sólo es apropiado si se mejora la experiencia de los usuarios, y no es el usuario.

A menudo se argumenta que el diseño es una parte vital de la experiencia general del usuario y que el diseño tiene que ayudar a la web se destacan. Estoy de acuerdo con eso. Sin embargo, algunos usuarios simplemente no les importa. Ver Craiglist como un ejemplo. Es un ejemplo perfecto de un sitio ultra aburrido con prácticamente cero marca. Sin embargo, es un éxito innegable. Me gustaría pensar que sería un éxito más grande con un increíble diseño y la interfaz a su alrededor, pero la audiencia de anuncios clasificados, simplemente no le importa.

Antes de zambullirse de cabeza y asumir que un magnífico diseño es un requisito, estudiar y comprender a los usuarios y obtener sus brazos alrededor de la finalidad del sitio.

Dependen en gran medida el dueño del negocio para la información adicional sobre las mentes de sus clientes, pero siempre validar sus hipótesis con los usuarios finales.

8. Dejarlo ir. Es suyo, no el tuyo.

Una vez finalizado el proyecto, muchos clientes se empiezan a hacer las actualizaciones y cambios en el sitio por su cuenta. Incluso con una rígida CMS en su lugar, muchos de ellos se encuentran formas creativas de llevar a su bebé y lo convierten en un monstruo difícil de manejar a base de colores choque, fotos de baja resolución y un logotipo desproporcionadamente grande.

Haz tu mejor esfuerzo para guiarlos, ofrecen sus servicios (con un coste adecuado), y luego les permiten avanzar como mejor les parezca. Que es el cliente, que es su sitio, y usted tendrá que dejar que lo lleve a donde ellos quieren. No guardo rencor, y asegúrese de que la captura de la página en su forma original para su cartera!

¿Cuáles son algunas de las cosas que has aprendido? Me encantaría saber de usted en los comentarios!

Contenido relacionado

Acerca del autor

Jason Schubring ha construido más de 100 sitios web y entregado campañas de correo electrónico para las empresas de todos los tamaños.Su diseño estratégico, y el fondo de desarrollo Web crea una perspectiva única de combinar de forma eficaz el marketing digital y tradicional. Para conectar con él, le siguen en Twitter @ jasonschubring o encontrarlo enLinkedIn .

72 Comentarios


Michael Gunner

12 de mayo 2011

Buen artículo, pero otro que borra las líneas entre los diseñadores y desarrolladores. Si bien sé que un montón de código y el diseño de la gente, todavía tenemos que distinguir, en este artículo se titula “diseñadores web”, pero en realidad la deriva entre hablar sobre el diseño y hablando de Ruby on Rails.


Simon Berta

12 de mayo 2011

Gran artículo, todo ello es así, tan cierto. Mi favorito es el # 2: “depender de nadie para la experiencia. Cree usted mismo. “¿Con qué frecuencia ha sucedido?


GiveMeCoffee

12 de mayo 2011

# 8. Dejarlo ir, no es el suyo la suya es la cosa más importante más que adaptarse.


Lenny

12 de mayo 2011

Excelente! Especialmente el último elemento. Casi nunca enlace a un sitio de clientes viven por esas razones exactas. Siempre mostrar mi concepto de diseño o de un día de lanzamiento de tiro de la pantalla.


Philip Hodges

12 de mayo 2011

Jason

Buena lista. Sobre todo de acuerdo con el número 2.

“2. Depender de nadie para la experiencia. Cree usted mismo. “

Este es probablemente el mejor pedazo de consejo para la gente nueva tratando de entrar en la industria y al mismo tiempo que el que yo creo que la mayoría de la gente ignora.

He estado trabajando comercialmente por más de 12 años y tiene una cartera de 100 proyectos +, pero todavía dedicar tiempo a hacer mis propios proyectos para ganar experiencia en nuevas áreas.

Incluso si usted no puede pensar en nada que hacer usted mismo, la cantidad de alto perfil no comercial, de trabajo disponibles que hay para los voluntarios y los aficionados es enorme y no hay excusa para quienes no pueden adquirir experiencia viable. ONGs, organizaciones benéficas, las iniciativas de datos abiertos, etc comprobar a cabo.

A pesar de toda mi experiencia comercial todavía ganar contratos principalmente a causa de algunos de los proyectos no comerciales / experimentos que han participado pulg También las oportunidades de networking de estar involucrado en este tipo de proyectos pueden ser sorprendentes.

El punto 3 es probablemente el que me gustaría haber escuchado. Definitivamente necesito enfocar mi energía. Demasiadas cosas pasando en estos días para conocer a todos.  :-(


Brandan

12 de mayo 2011

Gran perspicacia! Gracias


Ryan Swarts

12 de mayo 2011

Bonito mensaje. Tienes razón. Las herramientas, mientras que usted necesita para las conocemos hoy para hacer las cosas, en realidad no importa. Lo que importa son las ideas, la unidad, la curiosidad. Si usted siempre puede trabajar en la mejora de los tres, se le establece la Web donde nos lleva.


Brandon Corbin

12 de mayo 2011

Otro punto que me gustaría añadir es aprender la importancia de los diseños de las pruebas – tanto en las pruebas de usabilidad y A / B – prueba multivariante.UserTesting.com es un gran lugar para el análisis de costo utilidad efectiva, a continuación, el Optimizador de sitios web de Google para probar diferentes variaciones de los problemas que surgieron durante el análisis de usabilidad.


Mees Boeijen

12 de mayo 2011

Esté preparado para estallar a Internet .. Me refiero a Internet Explorer. 
bastante triste, muchos usuarios siguen utilizando este navegador de gran’ol. 
crear dos tipos de sitios web: una para los navegadores normales, una buena (y hacer uso de toneladas de CSS3) y otro para el desagradable que puede asistir al usuario de que él / ella debe cambiar del navegador.


Chris Steurer

12 de mayo 2011

Gran artículo! Como un estudiante y un profesional independiente a tiempo parcial, que tendría que estar de acuerdo con la mayor parte de esto, especialmente 1,2, y 8. Siento que hay mucho que nunca y nunca será capaz de enseñar en la escuela sobre el mundo del diseño real y es por eso que artículos como éste son tan importantes para los estudiantes a leer!


Peter Iliev

12 de mayo 2011

Hey, eso es un artículo fresco me gustaría tener unos años antes de aprender todas estas lecciones de la manera difícil.

Me gustaría añadir algo muy importante: trabajo en red! No autónomos, sino a todos los diseñadores web deben estar bien conectados Allways y mantener su marca personal y brillante. Nunca se sabe cuando una oportunidad puede venir.


Patrick – SneakyMedia

12 de mayo 2011

Esta es una buena lista, me encontré asintiendo con la cabeza a lo largo de acuerdo.Definitivamente encontrado cierta afinidad con el punto 8, me siento muy protectora de mi trabajo! Pero, como bien ha dicho, les pertenece a ellos!


Maria Malidaki

12 de mayo 2011

Eso es un gran pedazo de consejo aquí, Jason. Gracias por esta lectura.


SL

12 de mayo 2011

Buena información, me gustaría añadir que a “formalizar su negocio y tratarla como una”. Lo que quiero decir es tener un plan de negocio y de marketing, si eres un freelance o iniciar una empresa. Formalizar el proceso de ir a través de nuevos clientes desde el primer contacto, los bocetos, el alcance, las características / necesidades, etc Sobre todo, tiene un contrato estándar o acuerdo, que te hace ver mucho más profesional y reduce el tiempo de la modificación de uno para el primer cliente que pide.Parte de un contrato de un buen trabajo es proteger a su cliente ya usted mismo de no razonable / de competencia desleal, prácticas desleales de las empresas, etc Usted probablemente también quieren llegar a un acuerdo de fijación de precios y condiciones de pago, al mismo tiempo.

Espero que ayude,


Jóvenes

12 de mayo 2011

No estaba de acuerdo con # 2 – me tomó un tiempo para entrar en el cuz de la industria es siempre un catch-22: no se puede conseguir trabajo sin experiencia, pero no se puede obtener experiencia sin empleo. A pesar de que es bastante obsoleta ahora, he ganado más de un montón de clientes / puestos de trabajo con mi sitio personal, que mostraron mis habilidades de diseño.

No está seguro sobre n º 1, sin embargo. Al principio pensé que estaban hablando de entornos de desarrollo, y sin lugar a dudas si se utiliza el bloc de notas o Dreamweaver, no importa si su producto tiene a la altura. Pero entonces empezó a hablar de tecnología web como HTML5, CSS3, etc jQuery, … y la elección de cuál de esos a usar con mucho cuidado es extremadamente crucial. Claro, que evolucionan y muchos de ellos se vuelven obsoletos, pero la mayoría de las nuevas tecnologías para llegar a lo largo de los mismos principios de los antiguos y conocer qué herramientas están disponibles, más al día, y la más adecuada para cada trabajo es un gran parte de nuestra descripción de trabajo.


Jon

12 de mayo 2011

hmmmm, estoy de acuerdo con sólo unos pocos. Creo que esto está dirigido a más: Si usted está pensando en convertirse en un diseñador web freelance, usted debe saber esto.

¿Qué pasa con cosas como “no hay libertad, tanto en diseño web en un mundo corporativo” o “su general, los primeros en ser despedidos” o incluso “pequeñas agencias se mantienen pequeñas por una razón, son muy, muy selectiva de los que traen el”

Voy a volar más hacia ese ángulo.


Ejaz

12 de mayo 2011

El amor de la línea “Los expertos del mañana son los novatos de hoy”. Sí, el aprendizaje constante y mantenerse es la manera de seguir adelante.


Dross

12 de mayo 2011

# 9 – Se vuelve aburrido. Odio ser una decepción, pero después de estar sentado en su silla durante 8-12 horas de día por unos pocos años se vuelve un poco aburrido. Incluso trabajando en varios proyectos, aprender cosas nuevas, etc Me estoy un poco aburrido y cansado de estar sentado frente a una computadora todo el tiempo.

Claro, yo tome descansos, vacaciones, etc, pero usted conseguirá quemado después de unos años de gran intensidad de trabajo, incluso si se toma los días de descanso aquí y allá y las vacaciones de vez en cuando.


Darlene Motley

12 de mayo 2011

Está bien decir “No” – Alguien tiene sugerencias sobre cómo artísticamente dijo que no?Me refiere un montón y no han encontrado una manera de evitar proyectos que no encajan.


Wasim

12 de mayo 2011

artículo muy útil:)


Yvonne T

12 de mayo 2011

Muy buena lista. Puedo confirmar que # 6 es muy cierto. Voy a agregar otra punta – tener aún más cuidado si dicho proyecto es más pequeño de clientes a un amigo / familiar.

He tenido un problema con el # 8 en el pasado, cuando acaba de empezar, pero ahora he aprendido a dejarlo ir. Yo mi mejor esfuerzo para explicarles por qué mi diseño es una buena solución (consejo: apuntar a los clientes a los artículos / investigación ha demostrado que ayuda), pero cuando se niegan a escuchar, sólo les dan lo que quieren.


komiska

12 de mayo 2011

No podía estar más de acuerdo en el # 6 y # 7! Excepto que me he encontrado con frecuencia que al revés – es más difícil convencer al cliente a pensar en sus usuarios, y explicar que ciertas cosas que me quieres que yo haga no va a hacer bien en la legibilidad, contraste, y UX todas esas cosas que un visitante exigente común de su sitio realmente aprecio. 
Es realmente un esfuerzo para tratar de educar a alguien en la usabilidad de su sitio web, cuando la idea está completamente fijada en su mente …


Moondogg

12 de mayo 2011

Gran artículo. Esta es información valiosa para alguien como yo, que está a punto de graduarse y entrar en la fuerza laboral. Muy apreciada.


Joanna Ciolek

12 de mayo 2011

Esta fue una buena lectura. Es importante tener en cuenta estos elementos básicos en cualquier punto de su carrera de diseño.


Theal

12 de mayo 2011

Buen artículo. Lo único que parece fuera de lugar es el título. El mismo artículo dice como y, a menudo literalmente confirma, que es una referencia más, de modo particular a los desarrolladores web. El título con “diseñador web” es un poco engañoso. No sé que muchos diseñadores que hacen la programación actual, pesada, por no hablar de cosas como node.js y servidores.

Y estoy de acuerdo con casi todo. # 2 es el único que no estoy totalmente de acuerdo.Si yo me gradué y fui a la derecha en una búsqueda de empleo, mi cartera es mínima. Es injusto hacer caso omiso de mis habilidades y la educación cuando me venga a tocar en cuenta corporativa sólo porque no salen como freelance jefe.


Tif

12 de mayo 2011

Wow, muy cierto. Que sin duda tiene mucho tiempo para aceptar que muchas de estas reglas también. Recuerdo que cuando empecé, traté de dominar ActionScript y aunque lo hubiera hecho … jaja.

Creo que para mí el más duro de todo el diseño fue abandonando porque el público no le importa. Me tomó un tiempo para dejar de lado que uno.

Muchas gracias por publicar esto!


Dino

13 de mayo 2011

Jason,

Gracias por el gran artículo y oportuna – Soy un equipo técnico tratando de añadir el diseño y desarrollo web. No estoy de acuerdo con el comentario de Michael que tiene que separar las dos, se ha convertido en una disciplina.

Los sitios Web son copias de publicidad. Si nos fijamos en los sitios de deportes: MLB NFL ESPN. Esas son las copias de anuncios para personas que gustan de los deportes.Se trata de una singularidad con la codificación de la interactividad web de apoyo, juegos en vivo, etc Si Michael piensa que el diseño no tenía nada que ver con esos sitios, está equivocado. Codificación debe ser de tiempo del 10% al 15% en un proyecto con un 85% o más dedicado a trabajar en el diseño.

Soy nuevo en esta industria por lo que estoy hablando de lo que he aprendido hasta ahora. No se puede codificar un sitio web por más tiempo – la mayoría de ustedes probablemente, pero eso no es el punto. Último punto de Jason: es su sitio me dice que tenemos que ser diseñadores en lugar de los desarrolladores. Puede que seas un desarrollador en el equipo de Grandes Ligas, y que es un papel que jugar, pero el título general es el de un diseñador.

Me parece que la industria de TI es una paradoja: Soy un técnico de informática sin embargo, instalar el software, capacitar a las personas sobre la forma de uso, contestar preguntas al respecto, y ofrecer asesoramiento sobre el momento de la actualización.¿Significa eso que soy un entrenador de ahora? No. Soy un técnico en computación, la formación es sólo un papel que jugar.

Si uso PowerShell, se que me hacen un programador? No. Es un papel que jugar.

Tenga en cuenta que la escoria: ¿Quién dijo que tiene que codificar sentado en una silla? 8 a 12 horas al día? Si usted está trabajando para una empresa que exige que se mantenga en un lugar de trabajo en los sitios web, que me prepare su hoja de vida y salir de ese lugar. No tienen nada que contratar a un diseñador de páginas web si los grilletes a una silla.

Por supuesto, la seguridad es siempre hablaba de su situación y podría requerir políticas de seguridad. Sin embargo, no hay ninguna razón usted no puede moverse a un ambiente más relajado, VPN en su computadora en la oficina a través de su ordenador portátil o utilizar VMware Converter y el uso de su escritorio en un entorno virtualizado que puede guardar varias instantáneas mientras se está trabajando en un proyecto.

Es por eso que creo que el diseño web le ha ganado a los aspectos de desarrollo. En serio, ¿cuántos de ustedes escribir una gran cantidad de código (HTML no cuenta porque ese no es el código, estoy hablando de secuencias de comandos).

Me gustaría que se han prestado más atención al desarrollo web en el pasado, espero aprender más sobre la industria.


Maude

13 de mayo 2011

Creo que es importante ofrecer una gran CMS para el cliente, lo que les permite actualizar y añadir nuevos contenidos, pero no dejar que ellos tienen demasiada libertad acerca de la fuente para el contenido principal (por ejemplo) y los elementos esenciales, como la navegación y la cabecera .


Henrik Hedberg

13 de mayo 2011

Gracias por el recordatorio. # 5 es uno que me parece importante adicional. Cada cliente es diferente, y para describir el proceso y lo que pasa en él, y lo que pueden esperar y lo que se incluye es crucial.

Una cosa que puedo añadir es que la comunicación frecuente con el cliente durante el proyecto es muy importante. Trabajar con clientes que no se puede conseguir y que los correos electrónicos responder cada dos semanas o no es una pesadilla.

¿Y quién no ha golpeado en lo siguiente: El cliente se compromete a suministrar el contenido (texto e imágenes), pero se da cuenta de que es más trabajo de lo esperado, y se acaba de espera o se le pedirá que escriba la copia. Eso no es bueno, porque usted sabe poco sobre el negocio y los productos. ¡Uf!


Lee Agosila

13 de mayo 2011

Otro gran artículo! He aprendido mucho! gracias sixrevision!


Bora

13 de mayo 2011

# 8 es tan cierto … 
Gracias por poner juntos.


Ian Harte

13 de mayo 2011

El punto 3 es ideal para poner en práctica dentro de un diseño web pequeñas / negocios SEO! Por ejemplo, tienen su especialista en diseño, especialista en SEO, especialista en comercio electrónico y especialista en programación! Hacer esto mantiene a todos en la parte superior de la zona no!


Chad Reitsma

13 de mayo 2011

Gran artículo, gracias! 
ahora cómo llegamos a los clientes listo? haha.

Saludos.


Chad Reitsma

13 de mayo 2011

* Lee, no está listo, jaja.


Amos Vryhof

13 de mayo 2011

Oh Dios, cómo me gustaría que mi compañía me permite hacer 3.

Tal vez otra cosa que poner en esta lista es que nunca trabajar para una empresa lo suficientemente pequeño en el que están haciendo front-end y back-end de desarrollo, así como puestos de trabajo de TI de apoyo de administración y tecnología …. si lo hace, se vuelve loco …. Sé por experiencia personal.


Dave

13 de mayo 2011

8. Dejarlo ir. Es suyo, no el tuyo.

Esta es la parte difícil para mí – cuando usted tiene su nombre de la empresa en el pie de página del sitio – sólo ellos quieren carnicero de su sitio sólo en la medida, antes de que desea eliminar su nombre de algo que ver con él.

La reputación es fundamental en el diseño web – tener su nombre anexado a un sitio que el cliente ha estropeado no es bueno – ni hace ningún favor a su cartera.

Parte de mi “encuentro de las necesidades” en el principio, para determinar si están dispuestos a pagar por el mantenimiento, o si van a “hacer su propia” actualizaciones.Si eligen hacer su propia, trato de no estar demasiado unidos, en primer lugar ;-)


sanji

13 de mayo 2011

“Los que son de mente abierta, en constante aprendizaje, y en un estado sin fin del crecimiento y la educación son los que se destacan y tener éxito en el largo plazo.”

Realmente trato de leer todos los días, sólo para mantenerse al día con la tendencia y añadir más conocimiento. 
Gran artículo!


Evert Albers – Streeff.nl

13 de mayo 2011

Super. Tan pronto como encuentra el tiempo, voy a escribir sobre el otro 88 thay las cosas no le dicen acerca de ser un diseñador web.


Chris Bennett

13 de mayo 2011

# 2 no tiene precio. Ahora sólo tengo que encontrar la manera de decirle suavemente mi equipo esta.


Renn jackson

13 de mayo 2011

* Si usted está buscando para jugar un papel importante en un negocio que va a ser tan público, creo que usted necesita para ser un mejor profesional de negocios más completa que simplemente alguien que busca un trabajo. De lo contrario su valor es totalmente disminuido! 
Avances * en la tecnología han hecho que sea más fácil para muchos hacer sus sitios ganado … los diseñadores por lo tanto necesitan ESPECIALIDADES realmente define sólo para seguir siendo relevante, al igual que muchas profesiones 
* Hay una diferencia entre los diseñadores y desarrolladores! 
Propietarios * Negocios son enriquecida con una plorthea de experiencias y “deseos” para su experiencia del cliente … aprovechar que a través de largas conversaciones y talleres con ellos, y tratar de evitar la creación de una atmósfera de vacío 
* Si no se da cuenta que se le da vuelta a la “ellos”, entonces tal vez usted no está listo para el prime time todavía!


Butch V.

13 de mayo 2011

Aplaudo a este artículo. Ocho grandes puntos que todos los profesionales de la tela debe tener en cuenta!


Kyle Keeling

13 de mayo 2011

Bien escrito el artículo que es útil para los principiantes como para expertos. Yo estoy detrás de la importancia de diseñar siempre para el usuario. Sin que el usuario no hay negocio.


paiiap

13 de mayo 2011

Tengo un proyecto. Hace 5 meses. El cliente deja de cambiar. ¿Qué le sugeriría?


jana Brubaker

13 de mayo 2011

¡Hurra, en verdad muy bien escrito, y amar a la pizarra / escritorios de la vieja escuela como su imagen introducción! Uniendo mi voz a Dino y su desacuerdo con la gente que piensa que el diseño y la dev son mundos separados. El diseño es de escuchar y resolver problemas, no de fumigación en algunos tulipanes cosméticos. Si usted no consigue que, como desarrollador, que está alardeando de su analfabetismo visual, así como comunicar su falta de respeto a los profesionales del diseño. Yo no sabía que algunos “diseñadores web” no se puede codificar hasta que empecé a leer los anuncios de empleo y escuchar a otros “diseñadores” hablar de lo que hacen. Wireframing? ¿Eh?Diseños en Photoshop? Y alguien que no paga a usted, sino también el geek de codificación que pasarlo a? Cool, ¿cómo puedo conseguir ese trabajo? He estado yendo a waaayy demasiado trabajo … Recuerde tiza? Suspiro.


Greg Babula

13 de mayo 2011

Gran lectura, y todos muy cierto


Eric

13 de mayo 2011

@ Darlene, que quieren consejos para decir no. Yo “he tenido mucha experiencia en rechazar los proyectos, y esto es lo que he aprendido.

En primer lugar, si hay tipos genéricos de los proyectos que categóricamente no va a aceptar, puesto que en su sitio web. Por ejemplo, no lo hacen los sitios de las campañas políticas, y cuando me acercaba sobre la construcción de una, lo que puedo decir: “Bueno, como dije en mi sitio web, yo no hago eso.” Problema resuelto.

Si es algo menos clara, por ejemplo, un mal presentimiento sobre el cliente o proyecto, aprender a decir algo como, “eso no es una buena opción para mis servicios / habilidades.” El cliente realmente apreciarán tu honestidad. También ayuda si usted puede referirse a otra persona (pero sólo si crees que voy a hacer un buen trabajo).


Dorothy

13 de mayo 2011

Fav. dos consejos: 
4. Está bien decir “no” 
8. Dejarlo ir. Es suyo, no el tuyo.

Estoy totalmente de acuerdo con la punta # 4: 
Es realmente “vale la pena” ser exigente.

Tengo que trabajar en la punta # 8: 
El caso en cuestión, antes de leer este post, me di cuenta de que un encabezado de página que había diseñado para uno de mis nuevos clientes se veía un pequeñito poquito “off” de la calidad (no estoy seguro cómo sucedió , la misma imagen se ve perfecto en mi Mac) …

De todos modos, yo le enviado por correo electrónico dejando que mi cliente sabe a favor de reemplazar dicha imagen con una nueva imagen que ves, es difícil a veces para “dejarlo ir,” pero voy a trabajar en eso.

Gracias por este artículo impresionante. 
: Dorothy


CyberTramp

13 de mayo 2011

toro al # 2. Me ofrecí a hacer un sitio web de forma gratuita por un grupo de caridad que pertenecía (y era un attender regulares) sólo para encontrar mi oferta fue ignorada por completo y un miembro del personal a tiempo parcial “ganó” con una “oferta más baja” de 6.000 libras esterlinas.

Y no, la mayoría de las personas no necesitan sitios web. Si los necesitan, que las tienen. Incluso organizaciones de beneficencia son difíciles de conseguir trabajo de – incluso de forma gratuita.

Yo tengo mis propios proyectos – Hice lo que todo lo que pude, sin un proyecto real para trabajar. La mayor parte de ella no es “digno de la cartera”, aunque.

Y no, yo no soy vago, me he hecho muchas, muchas cosas a lo largo de todo el tiempo, e incluso antes. Esto es sólo una cosa que puede hacer – y fácilmente.

Y una advertencia: he pasado unos 15 años la construcción de un portafolio de arte.Tuvo que tirar cada maldita cosa fuera la otra semana, cuando llegué a inundaciones.¿Qué tan útil fue eso? Yo siempre podía dibujar. La cartera nunca se uso como portfolio.I amaba a mis fotos, y es el corazón al ver que se vayan, pero en realidad todo lo que realmente se necesita es que una persona le diga a otra persona acerca de esta gran persona que sabe quién es XYZ y luego se ROLLING.

No es lo que sé, es que usted sabe (pero usted tiene que saber algo)

No es que en las entrevistas de la gente, etc no esperan que las carteras, es de las conclusiones que sacar de la “falta de” carteras que me molesta. Yo sé lo difícil que es armar una cartera formal de una pila de 4 pies de alto de los dibujos. Hay una diferencia entre ser capaz de poner una cartera en conjunto y no haber hecho un montón de trabajo por sí mismo.


João Carmona

14 de mayo 2011

Gran artículo. 
Se tiene mucho sentido para mí en este momento. Estoy en 0-2 años de experiencia, sin “en vivo” de la cartera.

Para mí la parte más difícil de la creación de una cartera, es que … yo trabajo con un equipo y no hacer toda la página web (e incluso se divide el dev front-end), ¿cuánto de un proyecto puedo decir es parte de mi cartera?


Carol balas

14 de mayo 2011

Un buen consejo – Voy a estar pasando esto a mis alumnos. Gracias!


Philip Davies

14 de mayo 2011

Gracias por un gran artículo, punto # 2 es lo correcto. Tengo que 
decir algo a Dino que se equivocan al decir que no es html 
con código de html que no tendría sitio para construir.


Jason Schubring

14 de mayo 2011

Wow. Comentarios increíble y discusión, todos! Realmente lo aprecio. Como muestran los comentarios, no hay una respuesta que es 100% correcta en el 100% de las situaciones, y estoy super contento estos 8 puntos tiene la gente pensar y hablar.


Vince

15 de mayo 2011

Un gran consejo. Aunque no soy un desarrollador de diseño /, yo trabajo para una de las más grandes de registro de dominio en la red y puedo recordar muchos de los ejemplos siguientes como verdadero. @ Dross: He pensado en el campo y el punto es lo que veo que suele ocurrir.


Zap los medios de comunicación

15 de mayo 2011

“Let It Go. Es suya, no la tuya. “Es cierto. Una gran lista.


Irina

16 de mayo 2011

Gran artículo, gracias por compartir. Desde mi experiencia he aprendido que “de diseño” no es un trabajo, no es algo que se hace, pero es lo que está 24 / 7. Ser un diseñador es ser apasionado, mejorando constantemente y que quieren aprender más. Creo que es importante mantener la pasión a pesar de los problemas y dificultades que usted puede venir a través.


Alexander Filatov

16 de mayo 2011

Una lectura interesante. 
Estoy totalmente de acuerdo con los puntos anteriores. Empecé a cabo sin una sólida cartera y tenía un tiempo realmente difícil convencer a los empresarios que realmente saben lo que estoy haciendo. Pero no era porque yo era perezoso ni nada – simplemente no tuvo tiempo a trabajar en los “grandes” proyectos que se quieren mostrar con incluso si fueran mis propias ideas. 
También me falta un punto de mal humor los clientes que se aplica tanto a los trabajadores independientes y diseñadores web que trabajan para las grandes empresas y tratar con los clientes.


Benke

16 de mayo 2011

Este es uno de los artículos que me gusta leer y lo que realmente aporta algo a nuestro campo! Especialmente el punto 3 es un punto importante. Usted simplemente no puede hacerlo todo más. Nuestro campo se ha vuelto demasiado grande y complejo para ser un “hombre orquesta”. Así que hay que centrarse en una o dos cosas y convertirse en rey en eso. Sin embargo, mantener el foco no es un dejar que otros tomen de inmediato que el foco, es la parte más difícil.


Đuro

16 de mayo 2011

# 2

Un buen consejo de cómo conseguir una cartera decente, haciendo sitios web pro bono, o por una pequeña cuota. 
Si uno puede encontrar en todo momento: – /


Siniestro Anne

16 de mayo 2011

Cita: “Nada de gritos de la pereza como un idealista, up-and-coming web profesional con una cartera vacía.”

Y puedo decir exactamente lo mismo de aquellos que esperan que las personas recién salido de la universidad o escuela vocacional para hacer trabajo voluntario sin sueldo por un par de años antes de ser contratado. ¿Qué es lo que dicen de ti? Se dice que usted quiere algo a cambio de nada.

No todos tienen ese lujo. Se fueron a la escuela para aprender algo que podían ganar dinero con. Lo más probable es endeudado hasta las cejas (mucho más de lo que fueron después de la universidad … los costos han ido hacia arriba, incluso en dólares ajustados). No todos ellos tienen padres ricos, que pueden apoyarlos mientras ellos se sientan allí en el “mundo real” y “adquirir experiencia” sin ser pagado.

Sheesh. Lo que es una vasija de barro.


hamim Ferdous

17 de mayo 2011

Artículo grandes. muy útil!


Cristiano Krammer

19 de mayo 2011

Bueno, el problema no es la motivación, sino el tiempo. Me pregunto a menudo cuando las “superestrellas de diseño web” hacer todo de sus “cosas interesantes”. Todo el mundo nos quiere y necesita algo de tiempo libre y no todos tienen la suerte de pasar algún tiempo para “proyectos interesantes” en su trabajo regular.

Por eso, cuando para hacerlo? Por la noche, cuando su esposa e hijos que desee pasar un tiempo con usted? O el grito Xbox360/PS3 “Juega conmigo, pleaaaase!”. Me encantaría tener más tiempo para hacer algunos proyectos personales, pero a menudo carecen de la motivación por la noche después de regresar de mi trabajo regular.


Casper

21 de mayo 2011

# 8 es mi favorito – Tengo que trabajar en eso, sin embargo.


Tinjo Thomas

23 de mayo 2011

Gran artículo. Yo soy un novato en este campo y creo que va a ayudar.


Julian Gaviria

27 de mayo 2011

Buena lectura. 5 y 6 que encontré para ser más útiles. 6 Yo estaba totalmente consciente. 5 he tratado antes, pero hasta ahora es cuando me di cuenta de que debía resolver este problema en la salida.


Rachel Reveley

28 de mayo 2011

El punto 3 es sorprendentemente real. Me tomó un trabajo en un periódico nacional en lugar de una empresa de moda para ampliar mi experiencia después de trabajar para una cadena de moda más importantes y una compañía en línea de lencería, porque sabía que iba a salir de Londres y pensé que mi especialidad no planificado no ser de cualquier uso fuera de la capital. Resultó que estaba equivocado, mi especialidad me tiene al menos dos entrevistas y un trabajo.


Festus

07 de junio 2011

Gran artículo. Soy un principiante de diseño web. He de tomar todos los puntos en consideración. Es como un padre dando consejos a su hijo próxima!. Thumbs up!


MundoCaco

10 de junio 2011

sabias palabras, me alegro de que mi intuición no me ha fallado en este corto tiempo como freelance, gracias!


Fazreen

10 de junio 2011

Información de Niza. Me gusta el punto n º 3.


Emrico

16 de junio 2011

Gran artículo. Puntos limpios y claros.

En mi carrera independiente relativamente corto me ha parecido difícil de complacer a algunos clientes de los deseos de controlar todos los aspectos de un proceso que tienen poco de undertanding.

Puede ser frustrante, pero he aprendido a morder la bala y hacer mi lengua muy mordaz mejor manera de darles lo que quieren, aunque creo que es perjudicial para el proyecto.A menudo, en retrospectiva, realmente no importaba, sólo era importante para mí porque yo amaba a mi idea.

Así que me gustaría añadir mis propios a esta lista si se me permite.

# 9 Ama a tus ideas, pero no se enamoran de ellos.

Esté preparado para cortar y quemar todo lo que te gusta de un proyecto. Ánimo, respiración profunda, recuerda la vejez addage ‘el cliente siempre tiene razón “.

Realmente se ha pagado fuera para mí ser capaz de tragarme mi orgullo, a veces, ser recomendado por un cliente que ha aplastado a sus sueños es muy esclarecedor.


Derek

21 de junio 2011

Estoy de acuerdo con Amos Vryhof, trabajé para una empresa pequeña donde hice el desarrollo de pila completo, y total soporte de TI, que fue muy difíciles en la paciencia, poco tiempo para centrarse, y todo lo necesario para hacer tan rápido que nada era hecho lo suficientemente bien – en los ojos.


Xelo

04 de julio 2011

gran artículo. Me gusta leer más artículos acerca de la buisnes de personas con experiencia. como un joven diseñador web es verry interessting así que lea cosas por el estilo.


Simonartist

10 de agosto 2011

Cosas agradables. Depender de nadie para la experiencia. Cree usted mismo. Que mucho me como un gran artista, me encanta crear cosas, pero es importante que usted cree que lo que han creado y por qué y para buscar otros puntos de vista. Cuando oigo Diseñador Web, nunca estoy seguro de si se trata de un código o hacer que las páginas en Photoshop.

0

0
 

Directrices del Desarrollo Agil de Aplicaciones

Abrir Tecnología Expertos para su negocio | experts4solutions

Siga el desarrollo rápido de aplicaciones

Nuestra elección de las tecnologías está motivada por la creencia en el desarrollo rápido de aplicaciones (RAD).

En el desarrollo rápido de aplicaciones, la “planificación” fase se intercala con la escritura del software en sí. Evitar
el exceso de pre-planificación en general, permite que el software que
se escribirá mucho más rápido, y hace que sea más fácil cambiar los
requisitos.

Desde
RAD es un proceso iterativo e incremental, que conduce a una sucesión
de prototipos, uno de los cuales culmina en una aplicación de producción
satisfactoria.
La
aparición de los prototipos no pueden reducirse al mínimo si las
herramientas de desarrollo de aplicaciones son robustas, flexibles y
diseñados para trabajar juntos.
Ese es el caso de la
tecnología que adoptamos.

En
particular, creemos que la creación rápida de prototipos requiere el
uso de un lenguaje interpretado (usamos Python), un marco de desarrollo
(que utilizamos web2py), y un conjunto de componentes interoperables
(como los elaborados por nuestros expertos).

Cuando
una organización adopta metodologías de desarrollo rápido, se debe
tener cuidado para evitar la confusión y el papel de responsabilidad o
interrupción de la comunicación dentro del equipo de desarrollo, y entre
el equipo y el cliente.
Un
analista de sistemas debe ser dotada de autoridad para tomar decisiones
en nombre del cliente para garantizar la adecuada priorización de los
requisitos no funcionales.
Además, sin incremento del sistema debe ser desarrollado sin una fase de diseño completo y documentado formalmente.

Podemos ayudar a los clientes y consultores en esta fase de diseño.

Aplique la regla del 20/80 (Principio de Pareto)

Siempre decimos a un cliente de la verdad: el proyecto no se puede completar en un mes el 20% del presupuesto estimado. Sin
embargo, siguiendo desarrollo rápido de aplicaciones, podemos hacer un
prototipo de trabajo en un mes el 20% del presupuesto.
El
prototipo puede ser usado para hacer el caso de negocio, evaluar el
costo y la viabilidad, y perfeccionar las especificaciones.

Un prototipo debe ser robusto, estable y expansible. Se puede poner en peligro en las cuestiones estéticas y escalabilidad. Es la base para todo desarrollo, pero no es una alternativa a la ejecución del proyecto completo del proyecto.

Tan
pronto como un prototipo de trabajo está listo, todos los interesados
(los desarrolladores, usuarios y administración) deben participar en las
pruebas para conseguir una plena aceptación y cierre de sesión en las
especificaciones del proyecto.
Si el modelo no muestra las posibilidades, los resultados o ahorros previstos, nos atrevemos a decirlo, y empezar de nuevo.

Utilice software de fuente abierta (sin dependencia de un proveedor)

Construimos
soluciones con los mejores de la raza de software libre y de código
abierto, según lo seleccionado por nuestros miembros.
Este
es un software que está bajo licencias flexibles para conceder el
derecho de los usuarios de usar, estudiar, cambiar y mejorar su diseño a
través de la disponibilidad de su código fuente.
Este
enfoque ha ganado tanto ímpetu y la aceptación como los beneficios
potenciales han sido cada vez más reconocido por los individuos y
actores corporativos.
IBM, por ejemplo, es uno de los principales software de código abierto (software libre).

El
modelo de negocio detrás de software libre es que el software de
distribución libre reducirá el tiempo de desarrollo y costos.
Las utilidades provienen de consultoría, personalización y formación.

Usar estándares abiertos e interoperabilidad

Un estándar abierto es un estándar que esté disponible al público y tiene varios derechos de uso asociados a ella.

Nuestros
expertos están verdaderamente comprometidos con los estándares abiertos
de acuerdo con la definición adoptada por la Unión Europea en el marco
europeo de interoperabilidad:

  • El
    estándar es adoptado y será mantenido por una organización sin fines de
    lucro, y su continuo desarrollo se produce sobre la base de una toma de
    decisiones abierto procedimiento a disposición de todas las partes
    interesadas (consenso o por mayoría de decisión, etc.)
  • La norma ha sido publicado y el documento de especificación estándar está disponible gratuitamente o con un cargo nominal. Debe ser admisible para todos para copiar, distribuir y utilizar sin costo alguno oa un precio nominal.
  • La
    propiedad intelectual – incluidas las patentes aplicables – en
    cualquier parte de la norma se hace irrevocable disponibles en una base
    libre de regalías.
  • No hay restricciones sobre la reutilización de la norma.

Algunos de los estándares abiertos que ayuda incluyen, pero no se limitan a, OpenID, OAuth, CAS, CSV, Atom y RSS /.

Utilice las tecnologías estándar de la industria

Muchas de las tecnologías básicas que hemos seleccionado son estándar de la industria. Por ejemplo, Apache es el servidor web, aprobada por el 67% de los sitios web del mundo. jQuery es una librería JavaScript seleccionado por Microsoft y Nokia para el Ajax y efectos. Python
es un lenguaje de programación utilizado por Google, y juega un papel
importante en el mundo científico y académico por su fiabilidad y
facilidad de mantenimiento.
Algunas de las tecnologías que utilizamos, por ejemplo, web2py, son más jóvenes y por lo tanto menos extendida. Esto nos da una ventaja sobre nuestros competidores.

Desarrollar código portátil

Construimos
código portable, es decir, código que se ejecuta sin modificaciones en
todos los sistemas operativos (Windows, Mac, Linux) y muchos otros
dispositivos embebidos.
La portabilidad es crítica para maximizar la base de usuarios y reducir los costes en caso de mejoras de infraestructura.

Nuestros expertos en lograr la portabilidad mediante el desarrollo de soluciones basadas en tecnologías ya portátil.

Seguridad es Nuestra Prioridad Número Uno

Nuestros
técnicos aprobados seguir las mejores prácticas de la buena en materia
de seguridad, en particular, las directrices establecidas por la Open
Web Application Security Project (OWASP).
El marco que utilizamos se comprueba con las 10 vulnerabilidades de seguridad de OWASP.

Uso del Sistema de Control Distribuido revisiones

Un
sistema de control de versiones es un software de Sistema de Gestión
que realiza un seguimiento de todos los cambios realizados en los
archivos de los miembros individuales del equipo.

Revisión
de los sistemas de control distribuido (DRC) son la gran revolución en
el mundo de los sistemas de control de versiones.
En
lugar de un único repositorio central a la que los miembros del equipo
sincronizar, cada miembro del equipo mantiene una copia de trabajo de la
base de código.
Control distribuido revisión lleva a cabo la sincronización por intercambio de parches (lista de diferencias) de igual a igual. Cada
copia de trabajo efectivamente funciona como una copia de seguridad
remota de la base de código y de su historial de cambios.
Esto proporciona

  • protección contra pérdida de datos
  • ningún punto único de fallo
  • permite la experimentación individual
  • permite a los usuarios trabajar de forma productiva, incluso cuando no están conectados a la red
  • permite el control centralizado de la “versión” del proyecto

Se
recomienda que tanto el código desarrollado por los expertos, así como
el contrato y los requisitos técnicos escritos por el cliente, se añade
al control de versiones.
En caso de cualquier disputa, esto puede ayudar a verificar que el código estaba en sintonía con los requisitos.

Usar plataformas de Cloud Computing

Cloud
computing es un nuevo modelo de prestación de IT que puede reducir
significativamente los costos de la empresa y la complejidad.
Se trata de la externalización y mantenimiento de hardware a un proveedor de servicios en la nube. Estos son Amazon EC2, Google App Engine, Microsoft Azure, VPS.Net, Rackspace.com y mucho más.

Construimos software que es portátil y puede funcionar de manera eficiente en la mayoría de las nubes de computación. Algunos
de optimización pueden ser específicos para cada tecnología de nube de
individuales, pero nuestra tecnología proporciona una capa de
abstracción sobre la mayor parte de la funcionalidad común.

0

0