做事用人 用人做事_做事:构建我的第一个Web应用程序的经验教训
做事用人 用人做事
On the 5th of June, 2020, after almost two weeks of (re)learning javascript, fixing bugs, creating new ones and of course, lots of testing, I launched Writty on ProductHunt. An open-source text editor to help anyone who is into writing to focus on what is most important: Writing!
在2020年6月5日,经过将近两个星期的(重新)学习javascript,修复bug,创建新bug以及当然进行了大量测试之后,我在ProductHunt上启动了Writty 。 开源文本编辑器,可帮助任何从事写作的人专注于最重要的内容:写作!
In less than 24 hours it became the #1 product on the platform for the whole day and it was featured in the daily digest newsletter as one of the Top 5 Hunts.
在不到24小时的时间内,它成为平台上全天候排名第一的产品,并且在每日摘要新闻通讯中被列为“最佳5大狩猎”之一。
那不是计划 (That wasn’t the plan)
To be honest, I wasn’t even planning on making it open-source, less so, releasing it and presenting it to the world. My initial idea was to build my custom-made text editor with just what I needed to focus on improving my writing.
老实说,我什至没有计划将其开源,更不用说将其发布并发布给全世界了。 我最初的想法是建立我自己定制的文本编辑器,而这正是我专注于改善写作的需要。
I have been writing and sharing articles since 2015. It started as a way to force me to work on my English — since it is not my native language — and eventually, it became my preferred way to organise and give structure to my ideas about a variety of topics. From product processes and management good practices to design and systems thinking. As per 2020, I am on a mission to continue improving my writing and take it to the next level. This is where Writty came into the scene.
自2015年以来,我一直在写作和分享文章。这最初是一种迫使我用英语工作的方法-因为它不是我的母语-最终,它成为了我组织和提出有关构想的首选方法各种各样的话题。 从产品流程和管理良好实践到设计和系统思考。 根据2020年的规定,我的任务是继续改善自己的写作并将其提高到一个新的水平。 这是Writty出现的地方。
为什么写信? (Why Writty?)
I have spent too much time searching the internet for a writing tool that will provide me with the right amount of features I need to write. However, every app I tried always had a ‘but’, either the privacy was a concern or it was missing some key functions I needed. If I have to explain in a single sentence what exactly I was looking for it would be:
我花了太多时间在互联网上寻找一种写作工具,该工具可以为我提供所需的适当数量的功能。 但是,我尝试过的每个应用程序始终都有一个“ but”,要么是出于隐私考虑,要么就是缺少了我需要的一些关键功能。 如果我必须用一句话来解释我到底在寻找什么:
“A simple writing tool to keep me focused and save me time”
“一个简单的写作工具,可让我保持专注并节省时间”
Here is a list of the main requirements I was looking for (no less, no more):
这是我正在寻找的主要需求的列表(不少于,不再多):
- A very simple type hierarchy.
一个非常简单的类型层次结构。 - Bold, Italic, Underline and Quote styles.
粗体,斜体,下划线和引号样式。 - Bullet and numbered lists options.
项目符号和编号列表选项。 - Insert links and images.
插入链接和图像。 - Save in PDF or more formats.
以PDF或更多格式保存。 - Autosave so I can write with ease of mind.
自动保存,因此我可以轻松编写。 - Dark mode (I suffer from regular mild migraines so this was a must).
暗模式(我经常患有轻微的偏头痛,所以这是必须的)。
After a few days of researching, I started to feel a bit frustrated. Having a tool that not only simplifies the tasks but that also makes me enjoy writing more was a very basic starting point for me, and I couldn’t find it. At that point, I had only two options: №1. Getting used (and probably pay) to get the closest thing to what I wanted or №2. and as my wife simply presented to me: “Why don’t you make it yourself?” -Thanks, honey!
经过几天的研究,我开始感到有些沮丧。 拥有一个不仅可以简化任务的工具,而且还使我喜欢编写更多的工具,这对我来说是一个非常基本的起点,而我找不到它。 那时,我只有两个选择:№1。 习惯于(并且可能要付钱)获得最接近我想要的东西或№2的东西。 正如我妻子简单地向我介绍的那样:“你为什么不自己做?” 谢谢你,亲爱的!
做事 (Making Writty)
Making Writty was as enjoyable as painful. I knew I had to work heavily on my -very- limited and rusty Javascript but I had a clear idea of what the interface and experience would be.
写作使人痛苦无比 。 我知道我必须在非常有限且生锈的Javascript上进行大量工作,但是我对接口和体验将有一个清晰的认识。
As you probably know if you are in the software industry, the building process never starts with building, but with researching and gathering information. First, I started searching for references I could use to help me reduce the burden of learning Javascript and building everything from scratch at the same time. For this, I checked all the open-source text editors, and deep dived in Codepen for all the pieces I needed to build my little Frankenstein.
您可能知道,如果您属于软件行业,那么构建过程就不会从构建开始,而是从研究和收集信息开始。 首先,我开始搜索可以用来帮助我减轻学习Javascript并同时从头开始构建所有内容的负担的参考。 为此,我检查了所有开源文本编辑器,并在Codepen中深入研究了构建我的小科学怪人所需的所有内容。
Little I knew that I will end up spending over a week working on it and with five different versions (or attempts) of Writty before launching it.
我一点也不知道,我最终将花费一周多的时间来开发它,并在发布之前使用5种不同版本(或尝试)的Writty。
For the first version, my reference was a text editor that was using an iframe. After 3 days it was pretty much ready, but when I started working on the dark mode, the CSS colour variables didn’t apply to the text inside the iframe since the javascript was creating an inner HTML element with its own CSS embedded. I had to start over again.
对于第一个版本,我的参考是使用iframe的文本编辑器。 3天后,它已经准备好了很多,但是当我开始在黑暗模式下工作时,CSS颜色变量不适用于iframe内的文本,因为javascript正在创建嵌入了自己CSS的内部HTML元素。 我不得不重新开始。
Lesson learned: A ‘Textarea’ or ‘contenteditable’ div are better ways to go when it comes to building a text editor.
经验教训:在构建文本编辑器时,最好使用“ Textarea”或“ contenteditable” div。
The other three versions were the result of a mix of mistakes and solutions that took over a week and some of my hair to get into a decent shape.
其他三个版本是错误和解决方案混合使用的结果,这些错误和解决方案花费了一周多的时间,而且我的一些头发也恢复了体面的形状。
To be honest, I was about to quit a couple of times, even some friends who initially helped me with some of Writty’s bugs advised me to just go and pay for one of the text editors out there. But if struggling with bugs and my limited javascript knowledge was hard, quitting after spending more than a week of my time focused on getting Writty up and running was even harder, so I continued.
老实说,我要辞职两次,甚至一些最初帮助我解决一些Writty错误的朋友也建议我只去买一个文本编辑器。 但是,如果很难与bug搏斗并且我对JavaScript的了解有限,那么在花了一个多星期的时间专注于启动和运行Writty之后退出就更难了,所以我继续。
Learning will always be a part of the path when it comes to building something, and it won’t be easy, but at the end of the day, that’s what learning is about.
学习永远是构建事物的必经之路,这并非易事,但归根结底,这就是学习的目的。
If you are building your own product or starting in the world of front-end development, here are some useful sources I used to build Writty and I am sure I will continue using in the future:
如果您要构建自己的产品或从前端开发的世界开始,那么这里是我用来构建Writty的一些有用资源,我相信将来我会继续使用:
W3Schools
W3学校
For the basics, from the main functionalities to programming best practices and examples.
对于基础知识,从主要功能到编程最佳实践和示例。
StackOverflow
堆栈溢出
A life saviour for fixing bugs, and when you are struggling with making things work. The relevance of the dev community as its best.
修复错误以及在使工作正常进行中挣扎的救生员。 开发人员社区的重要性。
Codepen
码笔
A great code and creativity repository to find those pieces you need to build your own thing.
一个不错的代码和创造力存储库,可以找到您需要构建自己的东西的那些部分。
CSSScript
CSS脚本
An excellent resources toolbox. (Writty is already featured there
做事用人 用人做事_做事:构建我的第一个Web应用程序的经验教训相关推荐
- r语言r-shiny_使用Shiny和R构建您的第一个Web应用程序仪表板
r语言r-shiny by AMR 通过AMR 使用Shiny和R构建您的第一个Web应用程序仪表板 (Build your first web app dashboard using Shiny a ...
- chrome扩展crx构建_如何构建您的第一个Chrome扩展程序
chrome扩展crx构建 "Sit up straight!" my mom used to yell at me when I am fixated on my laptop ...
- web数据交互_通过体育运动使用定制的交互式Web应用程序数据科学探索任何数据...
web数据交互 Most good data projects start with the analyst doing something to get a feel for the data th ...
- ASP.NET Core 2.0和Angular 4:从头开始构建用于车辆管理的Web应用程序
目录 介绍 背景 使用代码 I)服务器端 a)先决条件 b)设置项目 c)设置数据库 d)使用AutoMapper e)使用Swagger f)运行API II)客户端 a)先决条件 b)设置项目 c ...
- “Hello,Jetpack”:构建您的第一个Jetpack应用程序
"Hello,Jetpack":构建您的第一个Jetpack应用程序 本文档将向您介绍构建基于Jetpack的简单应用程序的基本过程. 设置你的应用程序 执行以下步骤将应用程序设置 ...
- 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!
[CSDN 编者按]"Elixir.Phoenix.Absinthe.GraphQL.React和Apollo"--在这几个关键词中,有几个是身为开发者的你一直想玩但还没来得及玩的 ...
- 程序编写经验教训_编写38本编程书籍的经验教训
程序编写经验教训 重点 (Top highlight) Unless you've spent a couple of decades coding, you may not remember the ...
- 在15分钟内使用Spring Boot和Spring Security构建一个Web应用程序
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 开发人员 ...
- 小程序中input标签没有反应_鸢尾花预测:如何创建机器学习Web应用程序?
全文共2485字,预计学习时长12分钟 图源:unsplash 数据科学的生命周期主要包括数据收集.数据清理.探索性数据分析.模型构建和模型部署.作为数据科学家或机器学习工程师,能够部署数据科学项目非 ...
最新文章
- EXPDP 时ORA-27054 问题处置
- 吞吐量达到瓶颈后下降_如何找到 Kafka 集群的吞吐量极限?
- Python并发与并行的新手指南
- 数据结构之排序算法:基数排序
- BZOJ 3404: [Usaco2009 Open]Cow Digit Game又见数字游戏(博弈论)
- java list 去空字符串_从字符串列表中删除空字符串
- matlab mysvd代码解释,关于使用SVD进行PCA主成分提取的代码问题!也是必须涉及到原理的!...
- ASP.NET没有魔法——ASP.NET MVC使用Area开发一个管理模块
- 手机蓝牙连接51单片机自动开门
- FFmpeg+dxva2 H265硬解码 下方出现绿条或被下方拉长
- DJL 教程 1.1 什么是AI人工智能
- css border实现渐变
- 使用Cloudflare API动态解析域名IP
- 计算机组成原理分部实验,《计算机组成原理》课程建设的一点思考参考.pdf
- PHP开发环境配置:ThinkPHP与IDE
- flutter学习笔记之dart(转载至B站up主筱筱知晓的大地老师)
- 1730: 珠心算测验
- vue3.0初体验(例子解读reactive响应式)
- 一张表格分成两页打印_表格被分成两页怎么处理
- Franklin-Reiter相关消息攻击
热门文章
- 全国职业院校技能大赛软件测试题目,我校喜获2018全国职业院校技能大赛“软件测试”赛项一等奖...
- python函数理解,python对函数的理解
- mysql为什么行数据库_关系数据表中的行称为什么?
- P4592 [TJOI2018]异或 (可持久化Trie)
- HTML5之webSocket使用
- 005-JQuery之CSS
- 洛谷P1061 Jam的计数法
- Web UI 自动化测试环境搭建 (转载自51测试天地第三十九期上)
- 设计模式初学者系列-策略模式 -------为什么总是继承
- java 正规 忽略,java-正则表达式查找变量并忽略方法
- r语言r-shiny_使用Shiny和R构建您的第一个Web应用程序仪表板