Tag: 科技女性

与技术女士的三个问题:Tinybop产品负责人Youngna Park

艾莉森·格林伯格·福恩斯的访谈 您是Tinybop产品负责人。 您能告诉我们更多关于公司以及您从事的工作吗? Tinybop为孩子们制作教育性的iOS应用程序。 他们旨在鼓励孩子们对周围的世界更加好奇-提出问题,想知道为什么? 如何? 并成为发明家和讲故事的人。 我们有两个不断增长的应用程序系列:资源管理器的图书馆和数字玩具。 Explorer的Library应用程序向孩子们介绍了通用的大型主题,例如The Human Body,Simple Machines,Weather和Skyscrapers。 Digital Toys应用程序使孩子们能够构建和测试不同的作品; 在Infinite Arcade中拥有自己的视频游戏,在The Monsters中拥有可怕的怪物,在The Robot Factory中获得了机器人,这是2015年度iPad应用程序。 现在,我们推出了11个应用程序,今年还将发布另外两个应用程序。 自Tinybop成立(2012年)以来,我一直领导并壮大产品团队,现在从事产品工作并监督日常运营。 在产品方面,这意味着要弄清楚我们的产品路线图(我们计划在明年扩展到Android并开发以学校为中心的产品),确保我们所有的项目都有适当的资源,弄清楚并向其传达产品战略。团队,并作为产品团队与设计,工程,市场营销,研究等之间的接触点,以确保我们位于同一页面上,并且所有产品在外观和感觉上都确实像Tinybop产品。 公司发展了很多。 对于正在成长的团队或正在迅速成长的团队成员的其他Tech Ladies,关于如何负责任地进行扩展,您可以提供一些建议吗? 缩放是如此艰难! 周围没有捷径。 在Tinybop,我们已经或正在做的一些事情: 保持对不断变化的流程的开放态度:作为一个团队,我们对流程本身非常迭代。 无论是决定使用哪种工具(Trello,Asana和Pivotal)还是如何召开概念会议,我们都对它是否有效持诚实态度。 从项目到项目,我鼓励我的团队问:“这项工作成功了吗? 如果是后者,我鼓励他们下次尝试并尝试一种更好的方法。 文档资料:我们最近雇用了几位新产品经理,我意识到在公司工作了很长时间的一些人中积累了多少信息。 我认为,向人们提供有关流程和产品的历史记录,策略和文档,以使他们有权制定决策并采取行动,这一点非常重要。 我们的产品团队目前正在处理大型产品入门文档,该文档涵盖了开发的所有主要阶段,产品价值,策略以及我们发布的每个应用程序。 不要只关注招聘,而要考虑内部增长:当您扩大团队规模并扩大流程时,我认为有一种趋势正在思考新员工如何解决您所有的增长问题。 但是,我认为重要的是要退后一步,了解团队中的技能,并确保您正在考虑团队中现有人员的成长空间。 许多人需要被授权去做最好的工作。 我们最近与所有人一起制定了职业发展计划,我学到了很多人想要努力的目标,而不仅仅是他们目前的工作。 Tinybop致力于激发儿童的好奇心。 如果您可以给年轻的自己一个建议,那会是什么? 哈! 我的年轻自我会从很多建议中受益。 我是一个认真认真的超级书呆子。 我会告诉自己放松一点,打破规则。 我太专注于适应和取得好成绩。 最好的事情来自有点奇怪。

类型转换:* [as!] * vs. * [as?] *

类型转换是一种出色的工具,可帮助实现OOP(面向对象编程)。 类型转换是检查实例类型的方法,|| 将该实例视为与其自身类层次结构中其他地方不同的超类或子类。 Swift中的类型转换使用is和as实现? / 作为! 操作员。 这两个运算符提供了一种简单而富有表现力的方式来检查值的类型或将值转换为其他类型。 但是,我们将仅专注于吗? 和! 如? :预期元素的可选。 如果要实现这一点,我们会说:“嘿,我不确定所说的元素是否属于这种类型。 如果不是,则返回nil并且不要使我的应用程序崩溃。” 如! :强制展开元素的可选。 如果要实现这一点,我们会说“嘿,我确定这个元素是这种类型的,我不需要返回nil,因为它将起作用。” 投射仅通过两种方式起作用: Down Cast:从父类转换为子类。 快播:从子类到父类。 上投: 在此示例中,我创建了两个类。 父类:人类,具有子类(成人)。 我创建了👩🏾,并将其设置为Humans,其子类为Adults。 从这一点开始,无论类型如何转换? 要么 ! 将起作用,因为父类型为Humans的is。 但是,当我们看待我们设定为重视人类的要素时,有一个警告, 但却是一个好警告。 不,严重的是,此错误仅警告我们:从成人到成人的有条件强制转换将始终成功。 因此[!]运算符与否,我们知道这将毫无错误地发生。 下调: 在此示例中,我创建了三个类。 超级类:人类,子类:成年人,子类:TinyHumans。 当我尝试给它键入Adults时,它仍然以TinyHumans的形式返回。 但是,一旦我将值更改为Adult并尝试将其类型转换为原始类型并将其子类化,则返回nil。 哦,是的! 当我申请为! 在我的代码中,它显然给了我一个错误,我们知道会发生错误,因为? 返回零。 所以不要以这样沮丧的年轻人而结束….. 我们将用作? 永远永远解决我们的类型问题。 如有任何疑问或意见,请输入Google! 😀

什么是Pangram?

我偶然发现了一个编码实践问题,该问题要求我编写一个接受字符串的函数,如果不是字符串,它将返回缺少的字母。 我不知道是什么东西。 我不想让那吓到我。 我去了Google! 七巧板是使用字母表中所有26个字母的句子。 示例如下: “快速的棕色狐狸跳过了懒狗”包含了字母表中的所有26个字母。 不相信我吗? -数一下! 再次,编码问题是要求一个函数,该函数需要一个字符串,如果不是pangram,则返回缺少的字母,如果不是pangram。 它将返回一个空字符串。 这是更短的实现 在字母表中创建一组所有字母,并在给定的str中创建一组字母。 使用.subtracting方法从AlphabetSet中减去inputStrSet。 将结果存储在var missingLetters中。 返回缺少的字母。 我最初不对字母进行硬编码的方法是使用for循环遍历初始化为字符的Unicode Scalars范围“ a”…“ z”,然后使用String.init(char)将其转换为字符串。 将字母放入String到Bool的字典中,字母:false 然后,每次通过字母字典匹配一个字母时,都使用for循环遍历给定的字符串,将该字母的值设置为true。 遍历字母字典,如果value为false,则追加到missingLetters。 最后返回丢失的字母! 感谢您的阅读,今天仅此而已! 在下面的👏掌声中显示您的支持,并在我的iOS开发者之旅中关注我😊 丽莎·姜(@imnotlostrui)| 推特 来自Lisa Jiang(@imnotlostrui)的最新推文。 嗨,我是丽莎! 我希望有一天可以通过移动设备改变世界…… twitter.com NYCgirlLearnsToCode(LJ) NYCgirlLearnsToCode有55个可用的存储库。 在GitHub上遵循他们的代码。 github.com

作为iOS开发人员实习生的12周—第十周(转换为全日制),十一,十二

我很高兴地宣布,在第10周内,我接受了加入团队的邀请,成为初级iOS开发人员☺️! (*我原本打算在2018年8月/ 9月发布这篇文章,但生活受阻:D。我现在是Linkedin的REACH软件工程师学徒,期待有关此的近期文章) 这是我在10到12周内学到的一些东西: 错误烤面包机 您可能想知道,什么是错误烤面包机? 这是一个自定义视图,当触发指定的错误时,该视图将从屏幕底部向上滑动。 错误烤面包机向用户显示一条消息,然后烤面包机向下滑动并消失。 之所以称其为烤面包机,是因为其行为与从烤面包机中弹出的烤面包非常相似! 在此示例中,由于必须选择三明治样式才能前进到下一个屏幕,所以会触发错误烤面包机。 这被制成自定义UIView,因为它在几个屏幕上使用。 错误烤面包机的动画也封装在UIView中。 可以重复使用此UIView,而不必在需要此错误烤面包机的所有屏幕上重复相同的代码。 选项集 这里发生了很多事情。 这是自定义formfieldViews(可重用的自定义UIView)的stackview。 如果输入有效,则会出现一个选中标记。 如果输入无效,则出现X,以使用户知道输入无效。 如果用户点击一个表单域,则其下划线将为深色。 用户导航出该表单域后,下划线颜色就会消失。 如果输入无效并且用户导航离开,则下划线变为红色表示输入无效。 选项集用于表示表单域的状态。 选项集很有趣,因为可以将这些值组合起来以表示状态。 例如,如果字段输入有效(原始值4)并且用户当前正在与文本字段(聚焦状态)(原始值2)进行交互,则有效且聚焦的文本字段的总原始值为6。 国家必须被赋予价值。 状态可以存储在数组中 在updateStyle中,它的调用函数可更新和设置bordercolor和图像的动画 一个示例是处于聚焦状态(当用户与表单域进行交互时)(使用RxSwift): 使用三元运算符-如果正在编辑文本字段,则状态为焦点,否则状态为焦点 这就是本系列的全部内容! 谢谢您阅读🙂 在下面通过👏表示赞扬您的支持,在Twitter上关注我的iOS开发者之旅,并在Twitter上与我联系