發佈日期:

Interview with Senior Frontend Female Engineer Claire

Link to the original interview

“Women in Tech Series #1” Interview with Senior Frontend Female Engineer Claire: Improving skills and gaining team recognition to have an impact

Interview Experience

I’m honored to share my work journey as a female engineer. The interviewer and author is a female student in her final year studying Management Information Systems at National Taiwan University. She noticed that although men and women now have equal access to education, there is still a gender disparity in labor participation and average wages. This inspired her to write this interview.

During the interview, I could feel that she was a thoughtful, serious, high self-demanding, and gentle woman. She listened carefully to my expressions and asked further questions to understand more. When I saw the interview article, I was surprised by how well she understood and systematized what I wanted to say. She is truly an excellent young woman! I hope that there will be more excellent female information workers, and that more women can shine in the workplace!

Interview Content

I’m Joan Chen, and this article is the first in the “Miss Tech” Women in Tech series of interviews. “Miss Tech” is a social feedback project initiated by me to encourage more female students to enter the information technology industry through interviewing female tech professionals and hosting women’s exchange events.

This is the first interview, and I nervously and excitedly turned on the video camera and waited for Claire to join us. Soon, I saw a familiar face with a friendly smile greeting us.

Claire Chang is a frontend engineer with more than ten years of experience. She loved playing games since childhood and dreamed of entering the gaming industry to write interesting programs. Due to her curiosity about games, Claire started using Flash, a web development software, in junior high school, and even in her university graduation project, she was responsible for frontend design and development.

In addition to being an engineer, Claire is also a mother of two, juggling multiple roles as a mother, wife, daughter-in-law, and engineer, and is often busy balancing family and work.

How to balance life and work? Claire: “It’s just different choices.”

I asked her if there was a particularly difficult time at work. She replied: “I think the most difficult time was when my first child was born. All prenatal examinations were normal, but problems were found after birth.”

Due to her first child’s special needs, one parent needs to focus on taking care of the child. After coordinating with her husband, they decided that the father would take care of the child, and the mother would mainly focus on work. When it comes to how female engineers balance life and work, Claire wisely responded: “It’s just different choices.” In the limited time and energy, some mothers choose to educate their children at home, some choose to have only one child, and some choose to hire a nanny to take care of their children.

There is no such thing as the correct way of life, only the choice that suits oneself.

The benefits of female engineers in the workplace: reducing ineffective overtime and forcing new technology

Claire believes that female engineers can also play a good role in the engineering field and are essential. When she first joined the company, except for the product testing team, she was the only female engineer. But as more and more research on workplace diversity emerged and society gradually paid attention to the problems caused by the lack of diversity, the company also became more aware of the need to balance the gender gap.

She found that since the increase of female engineers in the company, there has been a significant improvement in “ineffective overtime.” Based on her observations, she found that most female engineers are not fond of working overtime, so one of the reasons why ineffective overtime may decrease is that other male colleagues gradually realize that it is possible to have good project output without working overly hard. Additionally, she has noticed that in the past, engineers would often “force new technology” onto unsuitable projects, but since the increase of female engineers, this situation has become increasingly rare.

Claire emphasizes that it is not because of female leadership that these changes have occurred, but rather that the addition of female engineers has brought different voices to the workplace. Perhaps these voices are not necessarily correct, but they can provide the team with different directions for thinking and discussing, leading to the development of a diverse culture. In fact, not only gender, but diverse professional fields and cultural backgrounds can also positively influence the work environment and output.

Increasing the proportion of female engineers may be the first step, but it is not enough to achieve a diverse and harmonious work environment. Claire shares that if female engineers want their voices to be heard and adopted by everyone, they must first gain recognition from their colleagues for their abilities. “Improving oneself and gaining recognition from the team” is an indispensable prerequisite. With recognition and value, it is easier to have an impact. Claire said, “When my suggestions are slowly accepted and seen, and I also see the success of the project, I feel a great sense of achievement.”

How to Build Good Relationships in a Workplace with a Large Gender Imbalance

Although the gender gap is significant in the workplace, and from college to the workplace, the majority of Claire’s classmates and colleagues were male, she still feels that she is out of place. Especially after work, not going to play sports or drink (with women) with male colleagues reduces opportunities to build relationships with colleagues and obtain information.

Despite this, Claire, with her extensive work experience, has found a good way to deal with it: “I choose to do my job well and improve my abilities, at least making them respect you.” At the same time, she also shared a small secret: “Try to help them as much as possible, such as helping them solve problems, at least this way they will want to have a good relationship with you.”

Conclusion: Participate in external activities to increase confidence.

Finally, Claire encourages young girls who are interested in information technology not to be afraid to participate in hackathons or technology discussion communities. She shared that when she participated in a hackathon, she received praise from the organizers, which greatly increased her confidence: “I thought I did a bad job, but everyone thought it was great, so I wondered if I really did a good job (laughs).” She encourages everyone to participate in external activities and communities, whether it’s a hackathon or a technology discussion group, because the people you meet at these events have no vested interests with you, not only do you feel comfortable interacting with them, but you are also more willing to encourage each other.

I am honored to have the opportunity to interview Claire today and have a glimpse into the lives of female engineers today, as a student with a dream of becoming an engineer. What kind of harvest does her life experience bring to you? Feel free to leave a message and share with everyone!

Note: A hackathon is a combination of “hack” and “marathon” and usually refers to a group of programmers who spend about two days brainstorming innovative ideas and programming prototypes.

發佈日期:

專訪資深前端女工程師Claire

專訪原文連結

《女科技人系列 #1》專訪資深前端女工程師 Claire:提升實力、獲得團隊認可,才能發揮影響力

被訪談心得

謝謝Joan Chen的專訪!🙋‍♀️
很榮幸的能夠以女工程師的身分,分享我一路以來工作的心路歷程。
專訪的訪談兼作者是一位就讀台大資管系大四的女生,因為她發現到,即便現在男女有相同的受教機會,但整體的參與勞動比例以及平均薪資仍是男大於女,因而有了這一篇專訪文。
在訪談的過程中,我能感覺到她是一位心思細膩、認真、自我要求高、也很溫柔的女生。她一路認真的傾聽、理解我所表達的,並且進一步提問,想了解更多。在看到專訪文後,更是讓我非常驚豔,作者完全的消化、理解我所想說的,並且有系統的撰寫成文章,真的是非常優秀的女生!
願這樣優秀的女性資訊工作者能夠越來越多,讓女性更多的在職場展露頭角!

訪談內容轉錄

我是 Joan Chen 陳佳雯,這篇文章是《科技小姐 Miss Tech》女科技人專訪文章的第一篇。《科技小姐 Miss Tech》是一個由我發起的社會回饋計畫,透過專訪女科技人及舉辦女性交流活動鼓勵更多女學生進入資訊科技產業。

這是第一場專訪,緊張又興奮的我打開視訊鏡頭等待 Claire 的加入,沒多久就看見一個熟悉的面孔帶著親切的笑容跟我們打招呼。

Claire Chang 是擁有十多年經驗的前端工程師。從小熱愛打遊戲的她,夢想是進入遊戲產業,寫出趣的程式。因著對遊戲的好奇,Claire 從國中開始就接觸網頁開發軟體 Flash,一直到大學時的畢業專題也是負責前端的設計與開發。

除了是工程師之外, Claire 同時也是兩個孩子的媽媽,身兼母親、妻子、媳婦、工程師等多重角色的她,時常忙碌於家庭與職場當中。

生活與工作該如何平衡? Claire :「其實都只是不一樣的選擇而已」

我問她,在工作上曾經覺得哪個時刻特別困難嗎?她回答:「我覺得比較困難的是在生大寶的時候,出生前的一切檢查都正常,但出生後就發現問題。」

由於大寶是特殊兒的緣故,需要一位家長專心照顧小孩。在與先生協調後,兩人決定由爸爸專心帶小孩,媽媽則主要專心於工作。談到女性工程師該如何平衡生活與職場時,Claire 智慧的回應說:「其實都只是不一樣的選擇而已」。在時間精力有限的情況下,有些母親選擇在家教育下一代,有些選擇只生一個孩子,也有些選擇請保母照顧小孩。

沒有所謂最正確的生活之道,只有最適合自己的選擇。

女性工程師帶給職場的好處:減少無效加班、減少硬套新技術

Claire 相信女性在工程領域的職場也可以有很好的發揮,而且是不可或缺的角色。她剛進公司時,除了產品測試團隊外,就只有自己一位女性工程師。但自從有越來越多關於職場多元性的研究出現,社會漸漸重視缺乏多元性帶來的問題,公司也越發意識到應該稍微平衡懸殊的性別比。

她發現自從公司裡女性工程師增加後,「無效加班」的情況就改善很多。根據她的觀察,發現大部分女性工程師都不太喜歡加班,因此推測無效加班會減少的其中一個原因,可能是其他男性同事慢慢發現,其實不用拼命加班也可以有很好的專案產出。另外她也發現,以往常會發生工程師「硬套新技術」在不適合的專案上,而自從女性工程師漸漸增加後,這樣的情況也越來越少。

Claire 強調並非是因為女性的帶領而出現這些改變,而是因為女性加入後,職場環境多了一些不同的聲音。或許這些聲音不一定是正確的,但卻可以提供團隊不同的思考方向。在同事之間互相學習的過程中,一起討論出更佳的解決方案。過程中也能發展出多元的文化。其實不僅是性別,多元的專業領域、文化背景等,都可以正向影響工作的環境與產出。

提升自身實力、獲得團隊認可

增加女性工程師的比例也許是第一步,當光是如此仍不足以達成多元和諧的職場環境。Claire 分享若女性工程師希望自己的聲音可以被大家傾聽與採納,首先必須先獲得同事對自己能力的認可。「提升實力、獲得團隊認可」是不可缺少的前提。在被認可與重視的情況下,自然較容易發揮影響力。Claire 說:「當我的建議慢慢的被採納被看見、而我也看到專案的成功時,我覺得會帶來很大的成就感。」

在男女比懸殊的職場如何建立良好關係

雖然從大學到出社會,身邊的同學、同事都是以男性居多,Claire 還是說:「就是會覺得格格不入。」尤其是下班後不會與其他男性同事一起去打球或喝(看)酒(妹),就減少了一些可以拉近同事關係的機會以及獲得消息的管道。

雖然如此,工作經驗豐富的 Claire 也找到一套對應的好方法:「我會選擇把份內的事情做好,並提升自己的能力,至少讓他們尊重妳。」同時,她也分享一個小秘訣:「盡可能地去幫助他們,比如幫助他們解決問題,至少這樣可以讓他們想要與妳打好關係。」

結語:多參加外部活動,增加自信

最後,Claire也鼓勵對資訊科技有興趣的新生代女孩們,不要害怕參加黑客松或技術討論社群。她分享自己當初參加黑客松時收到主辦方的稱讚,而大大增加對自己的自信心:「自己覺得做得很爛,但大家都覺得很好,就覺得難道自己真的做得很好嗎(笑)。」她鼓勵大家多參加外部的活動跟社群,不管是黑客松還是技術討論團體,因為在這些活動遇到的人們跟自己沒有利益掛勾,不僅相處起來自在舒服,也更願意鼓勵彼此。

今天很榮幸的可以採訪到 Claire,讓夢想成為工程師但還是學生的我,有機會一窺現今女性工程師的生活。她的人生經驗帶給妳什麼樣的收穫呢?歡迎留言跟大家交流!

註:黑客松是「程式設計(hack)」和「馬拉松(marathon)」的複合詞,通常指一群程式設計者在兩天左右的時間發想創新的點子,並將原型用程式編寫出來。

發佈日期:

k8s指令筆記

YAML範本:redis-master-controller.yaml

apiVersion: v1
kind: ReplicationController
metadata:
 name: redis-master
 labels:
  name: redis-master
spec:
 replicas: 1
 selector:
  name: redis-master
 template:
  metadata:
   labels:
    name: redis-master
  spec:
   containers:
   - name: master
     image: kubeguide/redis-master
     ports:
     - containerPort: 6379

建立這個Pod

kubectl create -f redis-master-controller.yaml

查看這個ReplicationController

kubectl get rc

查看現有的Pod

kubectl get pods

查看現有ReplicationController的狀態

 kubectl describe rc frontend
發佈日期:

Docker刪除所有tag為None的image

這個指令可以列出所有未被tag的image

docker images -q -a | xargs docker inspect --format='{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}'|grep -v ':'

這個指令可以列出所有被tag為None的image

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

參考:https://stackoverflow.com/questions/33913020/docker-remove-none-tag-images

發佈日期:

在CentOS7安裝docker與kubernates失敗

出現了下面的錯誤,原因是yum的源頭連結找不到所需要的安裝程式,錯誤訊息如下
Loading mirror speeds from cached hostfile

解決方法:修改yum源頭

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all

參考:https://www.codeprj.com/blog/b99d5a1.html

接著又出現以下錯誤
kube-apiserver.service holdoff time over, scheduling restart.

原來是有其他程式占用了8080 port
參考:https://www.cnblogs.com/minseo/p/12936878.html

發佈日期:

在centos裡為nginx安裝rtmp模組

必備模組

  • openssl
  • zlib
  • pcre

安裝步驟

cd /tmp
# 下載並安裝pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.zip
unzip pcre-8.42.zip
tar -zxf pcre-8.41.tar.gz
cd pcre-8.41
./configure
make && make install
# 下載並安裝zlib
cd /tmp
wget https://www.zlib.net/zlib-1.2.11.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
tar -zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
# 下載並安裝openssl
cd /tmp
wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -xzvf openssl-1.1.0h.tar.gz
tar -zxf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config -fPIC --prefix=/usr
make && make install
# 下載所需的rtmp安裝包
cd /tmp
git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git
# 下載並安裝nginx
tar -xzvf nginx-1.14.0.tar.gz
useradd nginx # 建立系統使用者
tar zxf nginx-1.12.2.tar.gz
cd nginx-1.12.2
wget https://nginx.org/download/nginx-1.14.0.tar.gz
./configure --user=nginx --add-module=nginx-rtmp-module
make && make install
cd /tmp
rm -f *.tar.gz *.zip

參考資料

發佈日期:

docker pull時的錯誤:failed to register layer

錯誤訊息

有時在下docker pull時會出現如下的錯誤:

> docker -v
Docker version 1.10.0, build 590d5108
> docker-machine -v
docker-machine version 0.6.0, build e27fb87
> docker pull java:8
8: Pulling from library/java
03e1855d4f31: Extracting [==================================================>] 51.36 MB/51.36 MB
a3ed95caeb02: Download complete
9269ba3950bb: Download complete
6ecee6444751: Download complete
5b865d39f77d: Download complete
e7e5c0273866: Download complete
6a4effbc4451: Download complete
4b6cb08bb4bc: Download complete
7b07ad270e2c: Download complete
failed to register layer: rename /mnt/sda1/var/lib/docker/image/aufs/layerdb/tmp/layer-273420626 /mnt/sda1/var/lib/docker/image/aufs/layerdb/sha256/78dbfa5b7cbc2bd94ccbdba52e71be39b359ed7eac43972891b136334f5ce181: directory not empty

解決方案

這是因為有時docker弄亂了其工作空間,可能就是原因。您可以嘗試以下方法:

  • 停止所有(java)容器,刪除它們,刪除Java映像(或所有映像),然後重新拉動並運行。
  • 如果這沒有幫助,則也重新啟動Docker引擎。
  • 如果仍然不能解決問題,請停止docker引擎,刪除docker工作目錄,然後重新啟動docker引擎。

以我的經驗,這可以解決所有類似OP的問題。

相關討論串: Docker error when pulling Java 8 image – “failed to register layer”

發佈日期:

docker初探

  1. 安裝docker(於centos7)
  1. 測試用指令
  • 顯示 docker 的資訊
    $ docker info

  • 顯示 docker 的版本
    $ docker version

  • 取得一個指定版本的 image

  • 如果不指定 image 版本該版本則為 latest
    $ docker pull [Image 名稱]:[Image 版本]

  • ex:
    $ docker pull hello-world
    $ docker pull ubuntu
    $ docker pull ubuntu:14.04

  • 顯示 docker 的 images 清單
    $ docker images

  • 透過 iamge 執行並產生一個新的 container
    $ docker run [Image 名稱]:[Image 版本] [執行指令]

  • ex:
    $ docker run hello-world
    $ docker run ubuntu /bin/echo “example 1 – ubuntu”
    $ docker run ubuntu:14.04 /bin/echo “example 2 – ubuntu:14.04”

*********** 我是分隔線 ***********

  • [OPTIONS]:
  • -i, –interactive (互動模式)
  • -t, –tty (配置一個終端機)
  • -d, –detach (在背景執行)

$ docker run [OPTIONS] [Image 名稱]:[Image 版本] [執行指令]

  • ex:
    $ docker run -i -t ubuntu:14.04 bash
    $ exit

  • 查看正在執行的 containers
    $ docker ps

  • 查看所有的 containers
    $ docker ps -a

  • 對正在執行的 container 下執指令

  • [OPTIONS]:

  • -i, –interactive (互動模式)

  • -t, –tty (配置一個終端機)

  • docker exec [OPTIONS] [Container ID] [執行指令]

  • ex:

  • 產生一個 container 在背景執行
    $ docker run -i -t -d ubuntu:14.04 bash

  • 查詢正在執行的 container
    $ docker ps
    $ docker exec -i -t [Container ID] bash
    $ exit

  • 總結

  • 啟動 docker container
    $ docker start [Container ID]

  • 停止 docker container
    $ docker stop [Container ID]

  • 重新啟動 docker container
    $ docker restart [Container ID]

  • ex:

  • 產生一個 container 在背景執行
    $ docker run -i -t -d ubuntu bash

$ docker ps
$ docker stop [Container ID]

$ docker ps
$ docker start [Container ID]

$ docker ps
$ docker restart [Container ID]

  • 刪除 container
    $ docker rm [Container ID]

  • ex:
    $ docker ps
    $ docker stop [Container ID]

$ docker rm [Container ID]
$ docker ps -a

  • 刪除 image

  • 刪除 image 前必需將透過該 image 所產生的 container 移除
    $ docker rmi [Image ID]

  • ex:

  • 移除 hello-world image 所產生的 container
    $ docker ps -a
    $ docker rm [Container ID]
    $ docker ps -a

  • 移除 hello-world image
    $ docker images
    $ docker rmi [Image ID]
    $ docker images


** 小技巧 **************************


  • 停止所有的 containers
    $ docker stop $(docker ps -a -q)

  • 刪除所有的 containers
    $ docker rm $(docker ps -a -q)

  • 刪除所有的 images
    $ docker rmi $(docker images -a -q)

  • 運行容器並掛載主機捲
    Docker容器不會保存它們產生的數據。該過程完成後,容器將停止運行,並且容器中的所有物品都將被移走。

如果要在容器停止後仍要存儲持久性數據,則需要啟用共享存儲卷。

對於安裝卷,請使用-v屬性以及要在其中保存數據的目錄的指定位置,然後是該數據在容器內的位置。

-v [/host/volume/location]:[/container/storage]
整個docker container run命令是:

docker container run -v [/host/volume/location]:[/container/storage] [docker_image]

docker build -t fmsdocker . –no-cache

  • docker file 寫法 / run寫法
    https://docs.docker.com/engine/reference/run/

  • entrypoint
    docker run –entrypoint=/bin/hostname test

  • ENV
    ENV HOSTNAME testhost
    export today=Wednesday
    docker run -e “deep=purple” -e today –rm alpine env

  • HEALTHCHECK
    docker run –name=test -d
    –health-cmd=‘stat /etc/passwd || exit 1’
    –health-interval=2s
    busybox sleep 1d

HEALTHCHECK –interval=5s –timeout=3s
CMD curl ${HOSTNAME}:1111/admin/getServerStats?auser=admin&apswd=pass.123 || exit 1

發佈日期:

直播相關教學文章庫

  • 直播點播錄播
  • 直播原理介紹
  • 視訊編解碼
  • 推流介紹
  • 串流格式介紹
  • 播放器介紹

*直播軟體比較

  • 直播品質關鍵
  • SRS-Bench: 搭建直播服务器以后需要对直播性能进行测试,srs-bench 针对特定业务性能测试并发推流来解决