En pocas palabras, suelte los emuladores de Windows y Unix: cambie a un sistema operativo basado en Unix como Linux Ubuntu o Mac OSX. Nunca volverás
He estado usando Ruby y Node.js durante varios años desde entonces y he pasado por muchas fases y configuraciones de mi entorno de desarrollo local:
- Cygwin \ Msys: este fue mi primer intento. Como desarrollador junior que conocía principalmente a Windows desde casa, intenté instalar estos emuladores de Unix y atajar el proceso de aprendizaje de un nuevo sistema operativo. La mierda comienza a flotar muy rápido en esta ruta. Muchas gemas Ruby y módulos npm no se pueden construir correctamente en Windows. Algunos de ellos tienen dependencias faltantes, algunos simplemente estaban codificados con separadores de directorio “/” en lugar de Windows “\”, lo que los hizo fallar en todo tipo de situaciones. Este enfoque parece prometedor, pero una vez que comienza a ganar millas y su software requiere muchas dependencias de código abierto \ de terceros, se topa con la pared.
- Ejecutar Linux en una VM: puede usar VMware Player o VirtualBox para instalar una Linux VM de Linux en su PC y tener un SO completamente funcional basado en Unix. Esto remediará el desarrollo del proceso de manera significativa porque todo funcionará con las bibliotecas nativas de Linux \ Unix como debería. El problema aquí es la virtualización. Descubrirá que es muy lento ejecutar programas intensivos en una VM. Incluso después de recargar mi RAM a 8 GB, todavía no era lo suficientemente rápido. Cuando digo que no es lo suficientemente rápido, quiero decir que la depuración fue tan lenta que esperaría demasiado tiempo entre puntos de interrupción, los scripts tardaban una eternidad en comenzar, cosas así.
- Ir a Unix: puede hacerlo instalando Ubuntu directamente en su PC, que es un gran sistema operativo, o comprando un Macbook y logrando un verdadero nirvanva 🙂
Una vez que estés en esta etapa, nunca volverás, te lo prometo.
- Tengo una gran pasión por la tecnología. Me gusta probar nuevos dispositivos electrónicos y luego revisarlos. ¿Qué debo hacer para conseguir un trabajo donde se necesitan estas cualidades?
- Estoy comenzando una empresa de tecnología y necesito 8 miembros adicionales. ¿Cómo me acerco a los miembros 'pagadores' del equipo?
- Si soy médico, ¿cómo utilizaré la tecnología para beneficiar a mi paciente y tener una práctica estable?
- Quiero que mi carro robot Raspberry Pi rastree una bola roja. Quiero programar en Java y OpenCV. ¿Qué cosas necesito saber y cómo puedo hacerlo?
- ¿Todos existimos en la matriz?