分类: 信息技术

  • 转 [译] 为什么我们找不到前端工程师?

    原文为 Why can’t we find Front End developers? 作者是 Jose Aguinaga,前端工程师、用户体验设计师跟热爱 JavaScript 的软件工程师。

    正文开始


    有天,作者偶然在 Quora 上发现一个跟前端工程师及新创公司有关的问题:为什么新创公司很难找到前端工程师?

    该讨论串的原 PO 提到:

    (前略)我想多数人都同意前端开发比其他软件工程领域简单一些,那到底为何那些新创公司还是很难找到前端工程师?

    我看到几个不错的回应,这些回应大多一针见血。而根据过去我寻找前端职缺,面试前端工程师,以及平常在前端项目里的工作经验,以下提出我的个人意见:

    这是个相对新的领域

    首先最简单的答案就是 「这是个新领域」。很多人可能不同意这句话。因为前端工程几乎等同于网站开发,而网站开发领域也发展超过20年了。然而,作为一门实现用户界面(Interface)及用户体验(User Experiences)的技术,以特定的领域而言,前端工程仍是个相当新的观念。其中「工程」的部分更是在几年前才开始发展。

    时至今日,搞混Web开发与前端工程的情況仍所在多有,这怨不了谁。对多数置身Web产业外的人来说:Web开发介于网页视觉设计与其实现技术之间,存在着模糊的空间。说到底,前端工程师还是在做一些网站开发的工作,不同之处在于,他们只着重在牵涉使用者的部分。

    「前端」 这个实现使用者界面(UI)与使用者体验(UX)的技术领域,是近年来才出现的名词。在15年前或更久之前,人力被分成网页视觉设计与技术开发两种。但随着 Web 的成长,网页不再只有到达页(landing page)与营销的目的,对工程师的需求也明显增加。人们开始学习 JavaScript,后端技术,使用者体验,数据库,甚至是网站系统设计。如今,像是 AirBnB、Facebook 或是 Quora 等网页应用程序,在工程师的人力资源投注上也比在设计师上来的多。换句话说,产出网页的视觉设计,然后实现出来变得更加快速。这并不代表网页视觉设计较不重要,或是投注在其中的资比 20 年前来的少,而是今时今日对于 Web 工程师的需求比以前更大了。

    因为网站实现的技术牵涉到很多不同领域,90 年代中期的 Web 工程师们可以说是十八般武艺。他们可能兼做 DBA、系统管理者、后端工程师、运维(DevOPs)、软件工程师、用户体验工程师跟前端工程师。最近也是大家最怕去做的一件事,就是用 JavaScript、HTML 跟 CSS 把设计图上的样子刻出来,还要让他在浏览器上看起来有模有样。我想要能在前端的领域里悠然自得,除了得对视觉设计有些兴趣,某种程度还要是个被虐狂。

    很明显的,当你应付了几次 Web 应用程序大量的需求后,你会发现这一拖拉库的技术工作,需要各种不同角色的人分工完成。我不知道哪些工作比较费时,或哪种角色比较累(注1)。但现实就是,很多公司或网页设计公司发现:一个人不可能处理好各种技术细节。我之前提到的那些工作描述:像是后端工程师,DBA 等,都属于 Web 产业的一部分。记住,这些工作多数已经行之有年,但在 Web 产业中,都是在近十年才明白这些职缺所要求的技术能力。

    时至今日,仍有一些可怜的灵魂(在受苦)必须处理 Web 应用程序中所有的技术问题,我们管他们叫「全端工程师」,这么棒的人才可说比独角兽(注2)还难找。当然设计师也没多好找啦,需要更多信息的话你可以参考这篇:如何雇用一个设计师

    注1:我其实是在说谎,举例来说:做一个能在 IE 正常运作的网站就是件浪费时间的工作,而且你同时也在浪费你的生命值来做这件事。 注2:多数的全端工程师缺乏建立一个 Web 应用程序的技术深度,包括前端,后端或营运上。在资金充足的新创公司里,期待一个诸葛亮来处理三个正职的臭皮匠才能做完的事,是不切实际的。然而,我知道武林里有少数的高手(Ninja)可以单枪匹马解决上从 GUI,下至僵尸程序的问题。假如你们团队中有这样的高手,帮大伙一个忙,不要放他走。

    误解

    另一个很难找到前端工程师的重要原因 (对我来说这点最重要),因为这是一个被误解的领域。如同原 po 在他提问中所述,大多数人认为前端工程师是一个「相对简单的领域」。用一个之前流行的比喻 -「大多数人觉得 XXX 是(What most people…)」,我们来看看套上前端工程师会是怎样:

    大多数人认为前端工程师是:

    1. 拿 PSD 文件,图片或是草稿,然后把他转成网页。
    2. 有时候只是拿以前的 PSD 文件,图片或是草稿来设计(改一改)。
    3. 用 JavaScript 来写动画,做出网页里的过场效果。
    4. 用 HTML 跟 CSS 来写网页里的内容跟外观。
  • Install ShadowSocks Client as a Windows Service

    1/ Install Node.js

    http://nodejs.org/

    2/ Install ShadowSocks

    Open Node.js command line environment, and type following command:

    npm install -g shadowsocks
    

    3/ NSSM Configure

    Download from http://nssm.cc/

    Run nssm.exe from command line window.

    nssm.exe install
    

    nssm service installer

     

     

     

     

     

     

    Key parameters:

    Parameter Description Example Value
    Path ShadowSocks client full path. C:\Users\Administrator\AppData\Roaming\npm\sslocal.cmd
    Startup directory ShadowSocks config file location. C:\xxxxx\AuthInfo
    Arguments ShadowSocks startup parameter, include config file name. -c Linode_ShadowSocks_Local.json

     

    Example Screen:

    TAB Application:

    nssm_application_tab

     

     

     

     

     

     

    TAB Details

    nssm_detail_tab

     

     

     

     

     

     

    TAB Log on

    nssm_logon_tab

  • 将 Tomcat 7 默认端口更改为 1024 以下 (Linux)

    以 Ubuntu 14.04 LTS / tomcat 7 为例。

    1) 安装 authbind

    apt-get install authbind
    

    2) 使 80 / 443 端口对 authbind 可用(以 root 权限操作):

    touch /etc/authbind/byport/80
    touch /etc/authbind/byport/443
    chmod 500 /etc/authbind/byport/80
    chmod 500 /etc/authbind/byport/443
    chown tomcat7 /etc/authbind/byport/80
    chown tomcat7 /etc/authbind/byport/443
    

    3) 在 Tomcat 中,置 IPv4 为默认 (authbind 当前不支持 IPv6)

    要完成这个操作,须创建 TOMCAT/bin/setenv.sh 文件,并带上以下内容:

    CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
    

    如 setenv.sh 文件已存在且已定义 CATALINA_OPTS ,那可以这么做:

    export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"
    

    4) 修改 /usr/share/tomcat7/bin/startup.sh

    exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
    # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
    

    5) 修改 /etc/default/tomcat7

    AUTHBIND=yes
    # OLD: AUTHBIND=no
    

    6) 打开 /etc/tomcat7/server.xml

    将 8080 更改为 80,8443 更改为 443。

    7) 重启 tomcat 服务

    service tomcat7 restart
    
  • VMware Workstation VM Background 后不能重连解决一例

    VMware Workstation VM Background 后不能重连,VNC倒是一直可连接。

    看VMs的日志,有如下行: 2014-06-26T18:11:39.534+08:00| vmx| W110: CnxHandleConnection: WSASocket returned error 10022. 2014-06-26T18:11:39.534+08:00| vmx| W110: VMAutomation: Cnx_CompleteAsyncOperation() failed.

    搜 VMware Community,是 Socket Provider 有冲突,接下来要做的就是识别出来。 微软有个 Autoruns 工具(http://technet.microsoft.com/en-us/sysinternals/bb963902),可以定位出 Socket Provider。

    下载运行之后,到 “Winsock Providers” TAB,发现有VMware、迅雷及Apple的几个Entry,将迅雷相关的行删除并重启计算机后,故障消失。

  • Nexenta Sample /etc/power.conf (for Home Env.)

    device-dependency-property removable-media /dev/fb
    
    autopm enable
    autoS3 disable
    
    cpupm enable poll-mode
    cpu-threshold 1s
    
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@0,0 10m
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@1,0 10m
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@2,0 10m
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@3,0 10m
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@4,0 10m
    device-thresholds /pci@0,0/pci15ad,790@11/pci15ad,1976@1/sd@5,0 10m
    
    device-thresholds /pci@0,0/pci15ad,1976@10/sd@0,0 10m
    device-thresholds /pci@0,0/pci15ad,1976@10/sd@1,0 10m
    
    system-threshold always-on
  • Version of Word does not match error when using Microsoft Word and RequisitePro

    Problem(Abstract) This technote explains how to resolve a "Version of Word (None) does not match" error. This can occur when opening Microsoft Word for use with IBM Rational RequisitePro.

    Symptom Starting Microsoft Word fails with this error: The version of Word (None) does not match the version required by the program (Word 2000, Word 2002, Word 2003). Install the correct version of word. Microsoft Word is not installed or configured properly. Do you want to continue with Word disabled?

    Cause Microsoft Word did not create the registry key that RequisitePro requires, or you do not have sufficient read privileges for that registry key.

    Resolving the problem Verify that this registry key exists. If not, you must add it.

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Word]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Word\InstallRoot]
    "Path"="C:\\Program Files\\Microsoft Office\\Office10\\"
    

    IMPORTANT: The number 10 refers to Word 2002, 11 is for Word 2003, 12 is for Word 2007 and 14 is for Word 2010.

  • Starting JIRA Automatically on Linux

    官方指南看来已经过时,更新一下。

    #!/bin/bash
    # Jira startup script
    #chkconfig: 2345 80 05
    #description: Jira
    
    # JIRA/Confluence Linux service controller script
    APP=jira
    APP_BIN=/opt/atlassian/jira/bin
    
    start() {
            $APP_BIN/start-jira.sh
    }
    stop() {
            $APP_BIN/stop-jira.sh
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            service $APP stop
            sleep 8
            service $APP start
            ;;
      *)
            echo "Usage: service $APP {start|stop|restart}"
    esac
    
    exit 0
    
  • NexentaStor,又一次可耻地跳票了

    为什么说“可耻”,为什么说“又一次”,因为在跳票方面,Nexenta劣迹斑斑。

  • NexentaStor 4.0 – New Beta Coming in January

    好消息,终于来一个比较像样的 Beta 版本了。可从 3 升级,有可更新的 apt source etc…

    Dear Nexenta Community,

    Happy Holidays from the Nexenta Team. As we prepare for the holidays, Nexenta is also finishing up final testing and release efforts for a newly revamped 4.0 release of NexentaStor.

    NexentaStor 4.0.1 (the ".1" has been added to differentiate from earlier versions of the 4.0 beta software) will be released for beta testing the first full week of January. This will be a simultaneous beta release including:

    • Enterprise Users – Selected enterprise customers will be testing under NDA for enterprise edition.
    • Reseller Partners – All of premier and certified reseller partners will have access to enterprise edition for solutions testing.
    • Community Users – All interested community users are invited to download and test the new 4.0.1 community edition beta software.

    The software images and beta release notes will be published at the start of the beta period in January. in the interim, there are a few key updates to be aware of for those who have previously tested the earlier beta releases of NexentaStor 4.0 Community Edition (any milestone version):

    1. Seamless Upgrade from 3.1.5 to 4.0.1 – We will be supporting an inline upgrade (rather than a reinstall) to 4.0.1. In order to be able to do a seamless upgrade, systems will have to be upgraded to the latest 3.1.5 release, and community users must be using a standard image without additional binaries installed on their NexentaStor system.
    2. New license keys – In order to support a seamless upgrade from 3.x to 4.0.1, a previous change to the length of the machine ID has been removed. This however, will impact current 4.0 beta users, requiring 4.0.1 to be a reinstall rather than an upgrade.
    3. Improved support for Windows clients – Support for SMB 2.1 has been added (a natural stopping point to SMB 3.0) and will be tested during beta.
    4. Up to date Illumos kernel – The most current changes have been integrated, and Nexenta has begun updating the open source repository in preparation for the full release.

    Check the Forums for the most up to date information about the beta, including question to get your feedback about monitoring beta progress.

    We thank you for your patience and continued support while the 4.0 release has been reworked for the upcoming release.

    Nexenta Product Management

    http://nexentastor.org/news/33

  • XBMC 13 (Gotham) AMLogic MX & Android 4.2.2

    可硬解 Hardware acceleration, 需 root 后安装。

    Download address:

    http://pan.baidu.com/s/1eSedy

    天猫魔盒(非全志内测版) 小米盒子

    等适用。