精华内容
下载资源
问答
  • 电子白板软件

    2012-09-17 21:52:51
    尚尚白板完全自主研发,可以OEM,可以随意更改功能点,软件功能丰富,操作简单,界面友好,支持标注,白板,素材库(图片及flash),历史回放,手写输入,屏幕录像,网络白板,圆规,三角尺,聚光灯,拉幕等常用功能,还另增加3D...
  • 用JAVA编制电子白板软件

    千次阅读 2005-08-20 11:13:00
    用JAVA编制电子白板软件 用JAVA编制电子白板软件 ----随着 Internet的迅速发展,在Email、WWW、FTP等传统的非实时应用日趋成熟的同时,广大网络用户对在线实时交流的需求不断扩大,如网上会议、远程教学、协同工作等...
     用JAVA编制电子白板软件 
    


    用JAVA编制电子白板软件
     

    ----随着 Internet的迅速发展,在Email、WWW、FTP等传统的非实时应用日趋成熟的同时,广大网络用户对在线实时交流的需求不断扩大,如网上会议、远程教学、协同工作等。这方面的应用软件也日益丰富起来。该类软件主要分为两类,一种是以目前BBS和主页上的聊天室为代表的纯文字型的交流工具;另一种就是本文要介绍的电子白板类交流工具。电子白板除了具备聊天室的全部功能外,更重要的是,它还引入了绘画图形交流功能,使网上交流的形象性和直观性大大加强了,弥补了文字交流的不足。当分布在Internet不同位置的用户用白板进行交流时,一个人在自己的白板上绘制的图形可以马上在别人的白板上显示出来,好象大家都在同一块白板上绘画,彼此间的距离感大大缩短了。

    ----目前具有电子白板功能的软件有微软的Netmeeting等。此类软件在使用前需要用安装盘安装(Netmeeting是InternetExplorer4.0的选装件),在设置完成后才能使用。相比而言,在主页中用JAVAApplet实现白板功能就显得优势很大。因为它不需要传统软件的下载、安装和设置的繁琐步骤,只要用支持JAVA的浏览器连接到该Applet所在主页,就可以使用白板。用于浏览器的普及性(大部分常用浏览器都支持JAVA,如InternetExploer3.0与NetscapeNavigator3.0及以上版本)使得这种电子白板的潜在客户群是巨大的。此外,用JAVA编制电子白板软件还有一个显而易见的优势,就是整个软件(尤其是白板服务器)无须重新修改编译就可在NT、Unix、Linux等支持JAVA的平台上运行。

    ----目前基于浏览器和JAVA的电子白板正处于起步阶段,笔者尚未在网上看到该类软件。由于工作需要,笔者自行开发了一套此类电子白板软件。这里想将开发中的一些经验介绍给大家,以达到共同交流的目的。

    工作原理

    ----电子白板有两种实现模型,一种是无白板服务器,因此仅支持两个用户直接连结;另一种是有白板服务器,原则上不限制同时上线人数和交谈室个数,具体实现上可视服务器性能和需要而定。本文要介绍属于后者。

    ----当用户需用白板与他人交流时,需要先用浏览器连到Applet所在主页,Applet运行后会连接到该白板服务器,和服务器建立TCP连接。每个用户可以在自己的白板上(嵌在Applet画面中)绘制图形和输入文字,Applet会将这些信息通过已建立的网络连接发往白板服务器,并不断侦听、接收来自白板服务器的图形和文字信息,将其再现在用户的白板中。白板服务器的作用是不断侦听、接收来自各 Applet的信息,并将其转发给其他用户。

    ----由于浏览器对JAVAApplet的限制,使得Applet只能访问发送该Applet的宿主主机,因此只能在该Applet所在主机上运行白板服务器,使得Applet能建立和远程白板服务器的联系。

    功能设计

    ----一个实用的电子白板系统应该具备以下基本功能:

    1. 用户在浏览到白板主页时,需登录后才能进行交流。这将提供交流时用的名字,必要时还可做权限检查。
    2. 用户能够根据交谈室的交谈主题选择参加和退出现有的交谈室,并且能建立新的交谈室。可以根据该电子白板系统的应用领域和需要附加一些权限设置。
    3. 用户只能和在同一交谈室中的用户交流。一个交谈室的信息对于别的交谈室是不可见的。
    4. 白板应至少具有一些如更换画笔颜色、清除画板(仅影响自己的白板)等方便用户的功能。
    5. 白板应具有一个操作提示和操作信息反馈栏,对用户显示一些操作提示和操作结果信息,这样可以方便用户使用。
    6. 用户应能暂停和恢复自己的白板工作。

     

    ----为了增加白板的实用价值,可以考虑增加如与windows画笔工具类似的画正方形、圆形等类似功能。本例作为电子白板基本模型的建立,故没有加入这些功能。实际上,只要了解了下面要介绍的白板通讯协议集的设计原则,增加以上功能是非常容易的。

    通讯协议集的制定

    ----由于JAVA内置的标准基础通讯协议是TCP/IP,所以我们只需在其基础上建立电子白板的应用层协议集。协议集的模型将采用服务器/客户机的请求/应答模式。可以根据需要实现的白板功能制定通讯协议集,协议集中包括登录、图形传输(分服务器发出和客户机发出两部分)、文字传输(分服务器发出和客户机发出两部分)、服务器要求刷新交谈室及成员名单、客户机要求刷新交谈室及成员名单、加入指定交谈室、退出交谈室、建立新交谈室、暂停/恢复交流等部分。

    ----由于已经依靠TCP/IP协议保证数据传输的正确性,所以在这个电子白板的通讯协议集的设计中应在保证功能的前提下尽量简洁,来提高带宽利用率。白板通讯协议集的细节可参考如下:

    ----注意:(S)表示该部分由服务器发出,客户机接收;

    ----(C)表示该部分由客户机发出,服务器接收;

    ----数据格式表示:引号之间表示字符串,(short)表示短整形数(2字节),(int)表示标准整形数(4字节)。

    • 登录(C):"log"→用户名字符串。
    • 图形传输(客户机发出)(C):"draw"→(int)颜色值→(short)直线起点横坐标→(short)直线起点纵坐标→(short)直线终点横坐标→(short)直线终点纵坐标。
    • 图形传输(服务器发出)(S):"draw"→(int)颜色值→(short)直线起点横坐标→(short)直线起点纵坐标→(short)直线终点横坐标→(short)直线终点纵坐标。
    • 文字传输(客户机发出)(C):"text"→用户在白板对话框中输入的文字字符串。
    • 文字传输(服务器发出)(S):"text"→文字输入者姓名字符串→该用户输入的文字字符串。
    • 服务器要求刷新交谈室及成员名单(S):"refresh"→交谈室1主题字符串→交谈室1中的用户1姓名字符串→交谈室1中的用户2姓名字符串→...→"complete"→交谈室2主题字符串→交谈室2中的用户1姓名字符串→交谈室2 中的用户2姓名字符串→...→"complete"→...→最后一个交谈室主题字符串→最后一个交谈室中的用户1姓名字符串→最后一个交谈室中的用户 2姓名字符串→...→"complete"→"ok"。
    • 客户机要求刷新交谈室及成员名单(C):"refresh"。(服务器收到此命令,会执行前面的服务器要求刷新交谈室及成员名单子协议,以响应客户机请求)
    • 加入指定交谈室(C):"join"→申请加入的交谈室主题字符串。
    • 退出交谈室(C):"quit"。
    • 建立新交谈室(C):"new"→申请建立的新交谈室主题字符串。(服务器收到此命令,会自动在该用户原来所在的交谈室中注销,并使该用户成为新交谈室的一员)
    • 暂停交流(C):"pause"。
    • 恢复交流(C):"continue"。

     

    ----以上为本电子白板软件所遵循的通讯协议集。这个协议集的可扩充性很强,可以随时按增加的功能扩充协议集。例如需要传送圆形图案,则可将如下协议加到协议集中:"circle"→(int)颜色值→(short)圆心横坐标→(short)圆心纵坐标→(short)圆半径。

    编程实现

    ----程序设计分服务器JAVAApplication和客户端JAVAApplet两部分进行。

    ----编程中需要注意以下几点:

    1. 服务器程序不要采用客户端接入时建立用户线程,退出交谈室时销毁线程的工作流程。因为有些操作系统的线程操作机制不够健全,在线程销毁时线程所占资源不能被完全释放,以致于在白板服务器运行的过程中将逐渐消耗掉系统资源。所以应在服务器初始化时按照最大允许同时上线的用户数建立所有用户服务线程。这些线程将等待客户端接入,当用户退出交谈室时线程并不销毁,而是清除用户数据,重新进入等待接入状态,准备为下一个用户服务。这样就保证了白板服务器可以长期可靠运行。
    2. 当用户在白板上连续绘画时可能产生大量的图形数据,客户端Applet若在白板的AWT 事件处理程序中完成将这些数据传输给服务器的任务,则很有可能由于网络I/O的瓶颈作用,使得AWT事件处理线程受阻,从而影响白板Applet、浏览器、其他正在运行的应用软件的界面相应性。解决的办法就是使Applet再建立一个后台绘图数据传输线程,白板的AWT事件处理程序将用户的绘图数据通过管道流(PipedStream)传输给这个线程后就返回,把网络传输的任务留给这个线程进行。
    3. 在服务器和客户端Applet中,协议集每一个子协议的实现都要分别建立一个同步块 (synchronize),该子协议的全部操作都要在这个同步块内完成,以限制自由访问网络接插建立的输入流和输出流。使得当一个线程执行一个子协议时能够独占这些网络资源,而使别的线程不能访问这些资源,以保证线程能够完整正确地执行子协议。但是由于同步操作会降低线程调度和执行效率,所以要在确保子协议完整执行的前提下尽量缩小同步代码块的范围。
    4. 由于协议集中的数据类型既有字符串又有整形数,因此在程序中选用 DataInputStream和DataOutputStream作为数据输入流和输出流。此外,由于UTF格式的文本支持中文字符集,且在字符串中已包含长度信息,可以方便数据读取,故在本程序的网络通信中的字符串全部采用UTF格式。设计自己的白板程序时,可以根据需要换用其他文本格式和编码规则,但一定要保证输入流和输出流采用的是同一种格式和编码。
    5. 考虑到目前NetscapeNavigator3.0和InternetExplorer3.0目前仍普遍使用,而这两种浏览器的JAVA虚拟机都不支持较新的JDK1.1标准,所以在本程序的客户机Applet部分中没有使用JDK1.1特有的类库。

     

    ----首先介绍服务器程序的编制。需确定主要的几个类及其成员函数。列表如下:
    ----ChatServer类:
    ----服务器程序的启动类。
    ----ChatServer():建立服务器管理界面。
    ----initServer():建立服务器插结,初始化交谈室数据,按照允许同时上线的最大用户数建立多个用户服务线程。
    ----go():启动用户服务线程。
    ----quit():中止用户服务线程,关闭服务器插结,并释放全部资源。
    ----User类:为Thread类的子类,实现用户服务线程,处理服务器/客户机会话。
    ----run():等待客户端接入;客户端接入后初始化网络资源,进入循环侦听客户端请求的状态,并根据客户端的请求调用相应的协议处理程序。
    ----sendText():按照文字传输子协议,接收用户发出的文字信息,并转发给同一交谈室的其他用户。
    ----sendDraw():按照图形传输子协议,接收用户发出的图形信息,并转发给同一交谈室的其他用户。
    ----commandCenter():为服务器接收到的指令选择运行适当的处理程序。
    ----server_ask_refresh():服务器主动刷新交谈室及成员名单。
    ----server_answer_reresh():响应客户机要求刷新交谈室及成员名单。
    ----server_answer_log():响应客户机登录。
    ----server_answer_join():响应用户加入指定交谈室请求。
    ----server_answer_pause():响应用户暂停交流请求。
    ----server_answer_continue():响应用户恢复交流请求。
    ----server_answer_newRoom():响应用户建立新交谈室请求。
    ----server_answer_quit():响应用户退出交谈室请求。
    ----server_ask_text():服务器向客户机转发文字信息。
    ----server_ask_draw():服务器向客户机转发图形信息。
    ----refreshToAll():服务器刷新所有在线客户端的交谈室数据。
    ----refreshToAllNotMe():服务器刷新除该用户外,所有在线客户端的交谈室数据。
    ----socketClose():用户申请退出时调用,关闭网络插结,释放线程占用的网络资源。
    ----RoomGroup类:保存所有交谈室数据,直接处理与交谈室有关操作。
    ----newRoom():建立新交谈室。
    ----join():加入指定交谈室。
    ----quit():退出指定交谈室。
    ----getUsersName():返回指定交谈室内的用户名。
    ----getRoomID():按照交谈室主题查询并返回交谈室ID号。
    ----Room类:保存并处理本交谈室用户数据。
    ----join():加入本交谈室。
    ----quit():退出本交谈室。
    ----getUsersName():返回本交谈室的用户名。
    ----DataBag类:包装图形和文字数据。
    ----AboutDialog类:生成About对话框,可显示版权信息。
    ----QuitDialog类:生成QuitDialog对话框,用于确认是否结束服务器运行。

    ----客户机Applet包含的类及其主要成员函数如下:

    ----ChatApplet类:为Applet类的子类,实现Runnable接口。
    ----是白板Applet的核心类,完成与用户交流和与服务器通讯的任务。
    ----init():初始化Applet用户界面。
    ----run()::循环侦听来自白板服务器的信息,调用commandCenter命令处理程序。
    ----start():生成并启动Applet线程。
    ----stop():中止Applet线程。
    ----destroy():中止后台图形数据传送线程,调用关闭网络资源函数。
    ----socketClose():关闭所有打开的网络插结和通讯流。
    ----openSocket():建立网络插结和通讯流。
    ----commandCenter():集中处理来自用户和服务器以及来自Applet内部的命令,调用相应的处理程序。
    ----client_ask_refresh():客户机请求刷新交谈室数据。
    ----client_answer_refresh():客户机接收服务器发送的交谈室数据。
    ----client_ask_log():申请登录到服务器。
    ----client_ask_join():申请加入指定交谈室。
    ----client_ask_pause():暂停交流。
    ----client_ask_continue():恢复交流。
    ----client_ask_newRoom():申请建立新交谈室。
    ----client_ask_quit():退出交谈室。
    ----client_ask_text():发送用户输入的文字信息。
    ----client_answer_text():接收服务器转发的其他用户的文字信息。
    ----client_answer_draw():接收服务器转发的其他用户的图形信息。
    ----refreshRoomList():显示交谈室列表。
    ----refreshUserList():显示指定交谈室中的用户列表。
    ----printChat_Area():将该用户和来自服务器的其他用户的输入的文字用指定格式显示在Applet的交谈文本框中。
    ----sendText():判断用户输入的文字是否为有效字符串,若有效则调用发送文字函数。
    ----drawBoard_Canvas():按DataBag对象的值,在Applet的白板上绘图。
    ----boardCanvas_MouseDrag():当鼠标在白板上拖动时调用此函数,将鼠标轨迹包装成数据包发送给后台网络传输线程。
    ----logButton_Clicked():当用户单击Applet的登录钮时调用此函数,建立网络插结和后台网络传输线程。
    ----其他一系列用户界面事件处理函数:与用户交流,接收用户输入,直接处理或调用commanCenter函数执行用户命令。
    ----RoomData类:存储该交谈室的主题和用户名的数据类
    ----addUser():在该交谈室中添加用户名。
    ----removeUser():在该交谈室中删除用户名。
    ----getUsersName():返回所有在该交谈室中的用户名。
    ----Rooms类:为Vector类的子类。存储所有交谈室的用户数据。
    ----getRoomByName():按交谈室主题返回指定交谈室的RoomData对象。
    ----addElement():添加RoomData对象。
    ----SendDrawData类:为Thread类的子类,实现后台网络传输线程。
    ----run():循环侦听来自Applet主线程的图形信息,并将其通过网络接插生成的输出流发送给服务器。
    ----quit():关闭该线程与Applet主线程的连接流。
    ----Logo类:为Canvas类的子类。用于在Applet中显示图标或版权信息。

    ----此外程序中还定义了几个异常类,可以方便程序的异常处理机制设计,增加程序的可维护性和可读性。Applet徽标的默认图形文件名是"cdownlogo.jpg"(457×60),服务器像标的默认图形文件名是"icon.gif"(19× 17)。服务器默认占用的端口号为10000。以上各项可以视需要修改。

    结论

    ----本文结合笔者的编程经验初步介绍了基于浏览器和JAVA的电子白板软件的程序设计过程,希望这些内容能够对广大软件开发人员有所帮助。欢迎大家与笔者联系(lfl@cenpok.net),就电子白板的一些问题进行切磋和交流。

    ----附录内容:

    1. 本电子白板系统的完整源程序。已测试通过,可以直接编译运行。
    2. 嵌入Applet的主页示范。请注意主页中Applet的参数设置。
    3. 本电子白板客户端Applet的用户界面及操作方法简介。

     

    ----附录1:源程序:

    ----附录3:电子白板客户端使用说明

    1. 确保白板服务器已在运行。使浏览器连接至本Applet所在主页。以下操作均在Applet界面上进行
    2. 请在用户名一栏中输入您的用户名,点击登录按钮。
    3. 在交谈室的选择栏中挑选您愿意加入的交谈室,下面的当前交谈室用户列表会显示出您所选择的交谈室中的现有用户。点击加入交谈室按钮即可加入该交谈室。
    4. 若您想创建新的交谈室,请在新交谈室主题一栏中输入新的主题,点击创建交谈室按钮即可,并且您自动成为该交谈室的一员。
    5. 加入或创建交谈室后即可与同一交谈室中的用户进行交谈和绘画。

     

    方法如下:

    1. 在绘画白板的右侧的调色板中单击绘画需用的颜色。
    2. 在绘画白板上按住鼠标键拖动鼠标即可绘出图形。与此同时,该交谈室中的其他用户的绘画白板上将同步自动绘出这些图形。同理,您的白板上也将出现其他用户绘制的图形。
    3. 若感觉白板已较乱,则可点击清除白板图画按钮,白板会自动清屏。这个操作不会影响交谈室中的其他用户的白板。
    4. 您可在主页右下方的文本栏内输入您想对同一交谈室中其他用户说的话,输入后按回车键或点击发送按钮则发送给其他用户。本交谈室中所有用户输入的句子都将显示在白板下方的文本框内。综合使用绘画与交谈功能则可与网上其他用户方便地进行实时交流。
    5. 加入交谈室后,单击暂停交谈按钮可以暂时停止与其他用户交谈。暂停后再单击此按钮即可恢复交谈。
    6. 单击退出交谈室按钮或离开交谈室主页将退出交谈室。若需再次进入交谈室,请重新登录。
    7. 请留意主页左下方的系统信息框,这里将给出一些必要的操作提示。
      作者: 刘飞龙(清华大学)

    展开全文
  • 桌面上的软件图标是白板In 2017, prominent software engineers took to Twitter to confess that they would fail a whiteboard interview. A popular way to evaluate programmers of all experience levels, ...

    桌面上的软件图标是白板

    In 2017, prominent software engineers took to Twitter to confess that they would fail a whiteboard interview. A popular way to evaluate programmers of all experience levels, “whiteboarding” involves presenting candidates with a computer science problem to solve on a whiteboard in real time. Engineers have been complaining about them for years.

    2017年,著名的软件工程师在Twitter承认,他们会失败白板采访。 评估所有经验水平的程序员的一种流行方法是“白板”,涉及向候选人提出计算机科学问题,以便在白板上实时解决。 多年来,工程师一直在抱怨它们。

    David Heinemeier Hansson, the founder of Ruby on Rails, one of the most successful web frameworks in history, led the way. Top developers from Google, Microsoft, and the New York Times joined in.

    Ruby on Rails的创始人David Heinemeier Hansson是历史上最成功的Web框架之一。 来自Google,Microsoft和《纽约时报》的顶尖开发人员也加入了进来。

    Yet whiteboarding still constitutes a core part of the interview process at many tech companies, especially at FAANG (Facebook, Apple, Amazon, Netflix, and Google) and unicorn companies.

    然而whiteboardi体中仍然在许多高科技公司构成了采访过程中的核心部分,尤其是在舫(在Facebook,苹果,亚马逊,Netflix和谷歌)和麒麟公司。

    But the new normal of remote recruiting during the coronavirus pandemic presents an opportunity for recruiters, tech leaders, and the entire software industry to reexamine the original purpose of whiteboarding interviews. We need to ask whether they deliver on those goals and look at who they serve — computer science graduates — and who they don’t — those coming from nontraditional backgrounds. We need to realize that remote interviewing only makes the problem worse.

    但是,在冠状病毒大流行期间进行远程招聘的新常态为招聘人员,技术领导者和整个软件行业提供了重新审查白板面试最初目的的机会。 我们需要询问他们是否实现了这些目标,并看看他们为谁服务—计算机科学专业的毕业生—而不是谁—来自非传统背景的人。 我们需要意识到,远程采访只会使问题变得更糟。

    We need to implement alternatives that more effectively and inclusively measure engineering talent, team fit, and growth potential in video and phone interviews. It’s the most important reform toward a more diverse and inclusive industry.

    我们需要实施替代方案,以更有效,更全面地衡量视频和电话采访中的工程人才,团队契合度和增长潜力。 这是朝着多元化和包容性行业发展的最重要的改革。

    Image for post
    Image courtesy of the author
    图片由作者提供
    Image for post
    Advanced algorithm/data structure question. Image courtesy of the author
    高级算法/数据结构问题。 图片由作者提供

    招聘开发人员的头痛(The headache of hiring developers)

    Getting into Google is more difficult than getting into Harvard. (The former has a 0.2% acceptance rate against the Ivy’s 4.9%.) Top tech companies are well-known for conducting grueling interviews, especially for software engineers.

    进入Google比进入哈佛更困难。 (前者的接受率为0.2%,而常春藤的为4.9% 。)顶尖的高科技公司以进行艰苦的采访而闻名,尤其是软件工程师。

    When faced with thousands of applicants, how does a company sift through applicants, shortlist the best, and hire the very best? No matter the industry or role, recruiting is difficult. Companies inevitably hire a poor performer on occasion and allow excellent candidates to slip through.

    当面对成千上万的申请者,如何通过申请公司筛,候选名单是最好的,并聘请优秀? 无论行业或角色,招聘都很困难。 公司不可避免地会聘请表现不佳的人,并让优秀的候选人脱颖而出。

    It is incredibly difficult to evaluate a candidate’s technical skills without actually working with them.

    如果不与候选人实际合作,就很难评估候选人的技术技能。

    Hiring software engineers is particularly difficult. Competition for top talent is high. There are over 150,000 open roles on LinkedIn and “software engineer” consistently ranks as the most in-demand job, even during a pandemic. The primary pain point: It is incredibly difficult to evaluate a candidate’s technical skills without actually working with them.

    雇用软件工程师特别困难。 顶尖人才的竞争非常激烈。 在LinkedIn上有超过15万个公开职位,即使在大流行期间,“软件工程师”也始终是需求最大的职位。 主要的痛点:如果不与候选人实际合作,很难评估候选人的技术技能。

    Common ways companies conduct technical screens include:

    公司进行技术筛选的常见方式包括:

    • Take-home projects where a candidate is given a few days to build a simple web app

      带回家的项目,给候选人几天的时间来构建一个简单的Web应用程序
    • Code review of existing work

      现有工作的代码审查
    • Quiz questions on coding and web fundamentals

      关于编码和网络基础知识的测验问题
    • Solving algorithm and data structure questions in a one-on-one whiteboard interview

      在一对一的白板面试中解决算法和数据结构问题

    With all the criticism and ample alternatives, why do companies still conduct whiteboard interviews?

    有了所有批评和足够的选择,为什么公司仍然进行白板采访?

    有礼节或必要的邪恶? (Hazing ritual or necessary evil?)

    When computers were first invented, time on the computer was expensive. It was not uncommon to write code on a piece of paper before inputting to a computer. Computer programming has changed a lot since then. Although sketching out a system or handwriting code can help one plan and more deeply understand a piece of software, real-world programming today leans heavily on different frameworks, libraries, and Google searches. Building functional and beautiful software requires a profound understanding of how all of these tools build upon each other and at least a basic understanding of how they work under the hood.

    最初发明计算机时,计算机上的时间很昂贵。 这是并不少见输入到计算机之前,写在一张纸上的代码。 从那时起,计算机编程发生了很大变化。 尽管草绘一个系统或手写代码可以帮助制定一个计划并更深入地了解一款软件,但当今的现实世界编程在很大程度上依赖于不同的框架,库和Google搜索。 要构建功能强大且美观的软件,需要对所有这些工具如何相互构建具有深刻的了解,并且至少需要对它们在幕后的工作方式有基本的了解。

    Image for post
    seldo 塞尔多

    Why remove the normal tools a programmer now has at their disposal, including the obvious: a computer? Why ask algorithm and data structure questions?

    为什么要删除程序员现在可以使用的普通工具,包括显而易见的工具:计算机? 为什么要问算法和数据结构问题?

    Some say it is an important “rite of passage,” an inevitable hurdle to conquer on the road to becoming a software engineer. Interviewing should not be used as a hazing ritual.

    有人说这是重要的“通过仪式”,这是征服成为软件工程师之路的必然障碍。 面谈不应该用作令人讨厌的仪式。

    Some posts about the topic argue that studying algorithms shows a candidate’s eagerness to learn. Successful candidates, beginners and experienced programmers alike, spend hours preparing for these types of interviews.

    有关该主题的一些文章认为,学习算法表明候选人渴望学习。 成功的应聘者,初学者和经验丰富的程序员都花时间准备这些类型的面试。

    There is an entire industry built around technical interview prep — from subscription-based practice sites like LeetCode and InterviewCake, to mock interview platforms like Pramp, and entire boot camps devoted to algorithms and data structures. The fact that even experienced developers use these supplemental and often costly resources proves the point: In general, a developer’s real everyday work has little to do with the questions asked in a whiteboarding interview. (There are also plenty of other ways to measure curiosity and hustle.)

    整个行业都围绕着技术面试准备而建立-从基于订阅的实践站点(如LeetCodeInterviewCake )到模拟面试平台(如Pramp) ,以及致力于算法和数据结构的整个新手训练营。 即使是经验丰富的开发人员也会使用这些补充性的且往往是昂贵的资源这一事实证明了这一点:总的来说,开发人员的实际日常工作与白板面试中提出的问题无关。 (还有许多其他方法可以衡量好奇心和忙碌程度。)

    The most compelling reasons I found for using technical screens are to determine whether a candidate is lying about their programming abilities and to better understand their thought process and collaboration style.

    我发现使用技术性屏幕的最令人信服的原因是确定候选人是否对自己的编程能力撒谎,并更好地理解他们的思维过程和协作风格。

    With these goals in mind, technical interviews should be centered around answering these questions:

    考虑到这些目标,技术面试应围绕回答以下问题进行:

    1. Can you code?

      你会编码吗?
    2. Can you collaborate?

      你可以合作吗?

    Coding on a whiteboard, or during Covid, on a noncompiling text editor or Google Doc while on Zoom (I have been asked to do both) are not the best ways to evaluate these skills.

    在白板上或在Covid上进行缩放时,在非缩放文本编辑器或Google Doc上进行编码(要求我同时执行这两种方法)并不是评估这些技能的最佳方法。

    多样性问题 (The diversity problem)

    I recently shared my path to starting my first software engineering role. After failing to make it through the University of California, Berkeley’s introductory computer science courses, I spent the early years of my career in a communications role before eventually finding my way back.

    最近,我分享了我开始担任第一个软件工程职位的道路。 在未能通过加州大学伯克利分校的入门计算机科学课程取得成功之后,我度过了职业生涯的早年,担任沟通职务,后来终于找到了归宿。

    My key learning was that although companies rarely require a computer science degree (job postings will often say something like “CS degree or equivalent”), the interview process heavily favors a formal background in computer science. As someone with experience in university CS as well as a boot camp — I did Flatiron’s full-stack program earlier this year — people often ask me the difference between the two types of education.

    我的主要学习是,尽管公司很少需要计算机科学学位(职位招聘通常会说“ CS学位或同等学历”),但面试过程在很大程度上有利于计算机科学的正式背景。 作为具有大学CS经验和新手训练营的人-今年早些时候我做了Flatiron的全日制课程-人们经常问我两种教育之间的区别。

    College courses primarily focus on computer science concepts and principles including algorithms and data structures, which are necessary to succeed in a whiteboarding interview. Most boot camps spend little-to-no time on this type of material. Flatiron focuses on learning web development, and you build several full-stack applications in the program. I never built a web application or used a framework in college CS.

    大学课程主要关注计算机科学的概念和原理,包括算法和数据结构,这对于成功进行白板面试是必不可少的。 大多数新手训练营都花很少甚至没有时间在这种材料上。 Flatiron专注于学习Web开发,您可以在程序中构建几个全栈应用程序。 我从未在大学CS中构建过Web应用程序或使用框架。

    While both types of education are valuable, boot camps provide an important entry point to software engineering for underrepresented groups. Boot camp grads come from a diverse range of backgrounds. Many slipped through the cracks in college or didn’t see software engineering as a viable path until later in their careers.

    尽管两种教育都很有价值,但新手训练营为人数不足的群体提供了软件工程的重要切入点。 新兵训练营的毕业生来自不同背景。 许多人在大学里经历了裂痕,或者直到职业生涯后期才将软件工程视为一条可行的道路。

    Image for post
    Vox Vox
    Image for post
    Vox Vox
    Image for post
    Vox Vox

    Whiteboard interviews are also intimidating, especially for those who suffer from imposter syndrome (which disproportionately affects women and people of color). The remote experience could compound the intimidation factor. It did for me.

    白板面试也令人生畏,尤其是对于那些冒名顶替综合症的患者(这种现象对妇女和有色人种的影响尤其严重)。 远程体验可能会加剧威吓因素。 它对我有用。

    We are all now experiencing how difficult it is to form a personal connection on Zoom, especially with someone new. It’s that much more difficult when working outside of your confidence zone.

    我们所有人都在经历在Zoom上建立个人联系的困难,尤其是与新朋友建立联系。 在您的自信范围之外工作时要困难得多。

    Because my job search coincided with the first few months of Covid lockdown, all of my interviews were remote. Whiteboarding interview questions provided me with little opportunity to authentically convey my ability to work effectively with others. Even for something as simple as writing a clear commit message, collaboration, and communication are crucial for effective software development. I was unable to show these strengths or even just be myself. I know I’m not alone.

    由于我的求职恰逢Covid停职的前几个月,所以我所有的面试都是遥遥无期的。 白板面试问题为我提供了很少机会真实地传达我与他人有效合作的能力。 即使只是编写清晰的提交消息之类的简单操作,协作和通信对于有效的软件开发也至关重要。 我无法展现这些优势,甚至无法表现自己。 我知道我并不孤单。

    有更好的方法 (There’s a better way)

    Plenty of companies recruit talented engineers without whiteboarding. My previous company, Artsy, does not have any technical component in their interview process. Even early on, they were able to recruit some of the best engineers in the industry. There are simply so many better ways that more effectively answer: Can they code? Can they collaborate?

    很多公司在招聘人才时都没有白板。 我以前的公司Artsy在面试过程中没有任何技术要素。 甚至在很早的时候,他们就能够招募到业内最好的工程师。 有很多更好的方法可以更有效地回答:它们可以编码吗? 他们可以合作吗?

    我的前三种选择: (My top three alternatives:)

    1.配对程序 (1. Pair program)

    Pair programming — working with another developer on one machine — has grown in popularity to boost code quality and help engineers grow. When I was interviewing at my current company, VTS, the second of my three interviews was a “pair programming” exercise in which the interviewer and I collaborated on implementing a few simple methods in JavaScript. Simply framing the interview as a collaborative exercise alleviated so much of the anxiety. I felt like I could ask questions and bounce ideas off of my partner. Remote pairing is now part of many developers’ daily workflow so is, in itself, a valuable skill to assess.

    结对编程(与另一台开发人员在一台计算机上合作)已变得越来越流行,以提高代码质量并帮助工程师成长。 当我在当前的公司VTS进行采访时,我的三个采访中的第二个是“成对编程”练习,在这个练习中,我和访问员共同合作,以JavaScript实现了一些简单的方法。 简单地将访谈定为一项协作练习,可以减轻很多焦虑感。 我觉得我可以问问题,从我的伴侣那里跳出想法。 现在,远程配对已成为许多开发人员日常工作流程的一部分,因此,远程配对本身就是一种有价值的评估技能。

    Simply framing the interview as a collaborative exercise alleviated so much of the anxiety.

    简单地将访谈定为一项协作练习,可以减轻很多焦虑感。

    2.讨论过去的代码 (2. Talk through past code)

    A past project or pull request is preferable, but take-homes work too. Use the candidate’s previous code as a jumping-off point to determine how they understand code, make trade-offs, and communicate their decisions. I read that companies worry about cheating — candidates asking friends or paying a developer on Fiverr to complete the assignment. Instead of training interviewers to ask esoteric whiteboarding questions, train them to ask thoughtful and thorough questions about previous work.

    过去的项目或请求请求是更可取的,但是实干也可以。 使用候选人的先前代码作为出发点,以确定他们如何理解代码,进行权衡并传达他们的决定。 我读到,公司担心作弊-候选人问朋友或向Fiverr付钱给开发人员完成任务。 与其培训面试官提出深奥的白板问题,不如培训他们询问关于先前工作的周到且彻底的问题。

    For companies who choose this method, be respectful of your candidate’s time. Many of my peers are balancing other jobs and taking care of kids at home. I completed several take-home assignments for companies that were either not seriously considering me or never had a conversation with me about the work and moved onto the next step. If take-homes are time-boxed, designed to help engineers learn something new, and followed by a comprehensive discussion, they can be well worth the effort.

    对于选择这种方法的公司,请尊重您候选人的时间。 我的许多同龄人正在平衡其他工作,并在家照顾孩子。 我为不认真考虑我或者从未与我进行过有关工作的交谈的公司完成了几次实地考察任务,然后转到下一步。 如果带回家是有时间限制的,旨在帮助工程师学习新知识,然后进行全面讨论,那么值得付出努力。

    A lot of people think references are fluff, but most companies conduct references poorly.

    许多人认为推荐是虚假的,但是大多数公司的推荐都做得不好。

    3.倾斜参考...但是要彻底 (3. Lean into references… but be thorough)

    Past performance is the best indication of future performance. Talking to people who have previously worked with your candidate can provide invaluable insight into how they will perform in a new context. A lot of people think references are fluff, but most companies conduct references poorly. Asking a set of specific questions and digging for substantive answers will reveal more than you think. Here are some examples used by Artsy, which heavily weighs references in their interview process:

    过去的表现是未来表现的最好标志。 与以前与您的候选人一起工作过的人交谈可以为他们在新环境中的表现提供宝贵的见解。 许多人认为推荐是虚假的,但是大多数公司的推荐都做得不好。 提出一系列具体问题并挖掘实质性答案将比您想像的更多。 以下是Artsy使用的一些示例,这些示例在面试过程中非常重视参考文献

    In your capacity as [relationship to the candidate], how many people have you worked with in the candidate’s role?

    以您与[与候选人的关系]的身份,您曾与多少人一起工作过?

    In just terms of job performance, how do you rank the candidate out of that [X] many people?

    仅就工作表现而言,您如何在[X]个人中对候选人进行排名?

    What’s the difference between [the candidate’s rank] and number one? How would the candidate need to grow to get to number one?

    [候选人的等级]和第一名有什么区别? 候选人将如何成长才能获得第一名?

    害怕寻求帮助 (Fear of asking for help)

    Whiteboard interviews were hard for me, not because the questions were too challenging or I didn’t want to put in the work. They were hard because I was scared to ask for help. Knowing when and how to ask questions, whether from your colleagues or Google, is one of the most important skills to develop as an engineer. Virtual whiteboarding sessions do not allow for sufficient back-and-forth between the candidate and the interviewer. In the remote setting, it is so hard to be vulnerable.

    白板面试对我来说很难,不是因为问题太具有挑战性或我不想参与工作。 他们很难,因为我不敢寻求帮助。 无论是从同事还是从Google知道何时以及如何提出问题,都是培养工程师最重要的技能之一。 虚拟白板会议不允许候选人与面试官之间来回充分的交流。 在远程环境中,很难受到攻击。

    When I saw veteran software engineer Estelle Weyl’s tweet from the 2017 trend, I deeply identified with the fear of admitting you don’t know something. Amidst her mostly male colleagues revealing their inabilities to sort a binary tree, she said:

    当我从2017年趋势中看到资深软件工程师Estelle Weyl的推文时,我深深地感到害怕承认自己不了解某些东西。 她在大多数男性同事中发现自己无法对二叉树进行排序,她说:

    Eliminating whiteboard interviews didn’t happen in 2017, but maybe it can in 2020.

    在2017年没有消除白板面试的机会,但在2020年可能没有。

    翻译自: https://onezero.medium.com/its-time-to-end-whiteboard-interviews-for-software-engineers-8a805abcb3ad

    桌面上的软件图标是白板

    展开全文
  • 网络授课越来越受欢迎的情况下,让老师与学生之间的互动也越来越多的转移到网上。对于老师来说,借助于专业的制作课件工具,能够更快速的设计出一些互动的课件,希沃白板5是一款专为老师设计的互动课件制作工具,...

    在网络授课越来越受欢迎的情况下,让老师与学生之间的互动也越来越多的转移到网上。对于老师来说,借助于专业的制作课件工具,能够更快速的设计出一些互动的课件,希沃白板5是一款专为老师设计的互动课件制作工具,在使用时它的简单直观设计特色,能够方便老师轻松的将一些教学思想以轻松的方式呈现出来,让课堂通过寓教于乐的环境,演绎出更多知识的魅力,真正达到有趣味性的教学过程。希沃白板5使用方法是每一位使用者都应该掌握的,通过正确的使用方法提升该软件的应用效率。

    2a17f026be3505f72710a82ba149c047.png

    自从这种工具出现以来,已经受到了百万老师的选择,他们通过希沃白板5使用方法制作出了许多高品质的课件,并且将其应用于中小全科科段的学习,将信息化教学充分彰显出来。这款工具其实就是一种信息化在线教学的平台,有了这种平台,可以实现真正的互动教学,方便老师使用这种课件制作神器,制作出更有趣味性的课堂互动内容,这款用电脑代替黑板与粉笔的工具,完美实现了多媒体的教学。更多软件咨询体验,请前往软件之家

    98876f96003f91b80dddfe3bef2d8064.png

    在应用的过程中,这款工具不仅给用户提供了云课件的服务,同时还有素材加工等多种功能,不管是备课还是授课,都是非常有效的一种出色教学辅助类的软件。相对于之前的版本来说,这款版本更加专注于用户的多媒体使用效率,在功能设置方面增加了云课堂回放,全新的主题配色解决了云课堂音频视频重音的问题,极大的优化了听课端的使用体验。而且在这种新版本中还增加了一些比较全新的功能,听写更加标准,能够通过自动朗读的方式,应用于小初高所有的单词听写,轻松创建单词卡,为学生提供极致的听觉体验。

    307d9527d87f2eb34e69f9b5e6d30dff.png

    希沃白板5使用方法其实是非常简单的,可以实现备课,授课一体化,通过简单的功能设计,让备课和授课变得更加高效,而且里面还有海量的学科资源,包含非常丰富的课堂活动模板,能够轻松创建互动课堂,有效增强了学生与老师之间,提升学生学习欲望。更多下载体验,请前往软件之家:http://www.downmsn.com/

    展开全文
  • 【摘要】“让思维在白板...交互式电子白板的出现,融合了传统的教学与当前的信息技术,把传统教学与计算机、网络软件等现代教学结合起来,满足了时代发展的需求,为初中化学课堂教学的创新开辟了新的平台。【关键...

    0e879d3f20f0808dead048276e52018a.png

    【摘要】“让思维在白板上跳舞”,这是我第一次进行白板培训的感觉。你的手指就是粉笔、就是黑板擦、就是鼠标,如果你愿意可以是键盘。手指的划行,扭转如冰上芭蕾轻盈、飘逸,让人联想翩翩。将课堂交给学生,师生的思维痕迹可以记录在白板上。交互式电子白板的出现,融合了传统的教学与当前的信息技术,把传统教学与计算机、网络、软件等现代教学结合起来,满足了时代发展的需求,为初中化学课堂教学的创新开辟了新的平台。

    【关键词】趣味性;生动性;互动性;高效性

    一、交互式电子白板更容易吸引学生的注意力

    相对于传统的黑板教学,交互式电子白板的视觉效果,比如色彩、隐藏、模板等多种教学功能,能够极大地吸引学生的注意力。教师要想尽办法让课堂变得生动有趣,除了从教学环节的设计和教师个人的魅力修养上着手以外,课堂上一些新奇的或突然出现的事物也能够有效地引起学生的有意注意,使得他们的注意力能凝聚于课堂上,从而提高化学课堂教学效率。比如在复习到酸碱盐物质的分类时可以用到探照灯,在聚光灯下每个化学式就好像是登台的明星,迅速引起学生的注意力,通过手移动聚光灯让学生快速判断出每一个物质的类别。

    e393f836e78b95b46cefc59ba621dd43.png

    在白板上可以插上视频,带给学生最震撼的视觉冲击,加深学生的情感体验。在讲人教版《溶液的形成》情境导入时我就插入周杰伦的广告歌“雪碧透心凉心飞扬”,学生的情绪立刻高涨起来,很期待所要学的知识。在讲到洗涤剂具有乳化这一功能时我插入了一段白猫洗涤剂的视频广告。交互式电子白板把传统的黑板与多媒体的功能很好地结合起来,通过应用交互式电子白板的音乐、视频链接等功能,活跃了课堂的气氛,使学生的注意力进一步提高。

    二、交互式电子白板增强了课堂的趣味性

    交互式电子白板操作工具中独有的拖放、照相、隐藏、拉幕、涂色、匹配、即时反馈等功能,提高了视觉效果,有利于激发学生的兴趣,调动学生多元智能积极参与学习过程。比如在强调长颈漏斗必须伸到液面以下,在交互式电子白板上教师可以很方便地拿魔术笔在所需放大的部位画一个方框,这一部分内容立刻就放大了,留给学生的印象就会非常深刻。

    d5b00089257a5e8ebad8fb6eeb132aa6.png

    在活动模板中有分类、字谜、排序、选择、配对、隐藏。学习单质和化合物时,可以用分类中的漩涡模板分成两类:一类是单质,一类是化合物。学生上来判断拖动化学式到对应的漩涡中,被漩涡吸进去说明判断正确,不能被漩涡洗进去的说明判断错误。

    7e46515783184853dc31de2932bcfcd2.png

    在复习酸的化学性质时可以设计成迷宫的题目。比如让盐酸顺利走出迷宫要走的路线就是不能遇到与酸反应的物质。学生可以用白板笔画出一条路线,如果画的路线错误的话,可以选择橡皮擦擦掉重新画路线。

    85eb28f254278484a9fcb50d457a0101.png

    在介绍初中化学一些与燃烧和爆炸有关的图标,可以设计只有一个空格的表格,把图片拖到表格中它会自动填充表格变大,讲下一个图片就拖动下一个图片。这个表格就好像一个放大镜。白板可以让教师以更感性、更直接的方式授课,更轻松地利用主题资源进行教学,使丰富的主题资源在课堂教学中得到充分发挥,让课堂教学更加生动、活泼。

    4612dfa86456e1d7bf87ac7233e4f9ec.png

    三、交互式电子白板增强师生互动性

    在构建师生互动的教学关系时,首先注重创造民主的、平等的、和谐的师生关系,同时充分尊重学生个体的自主性,让学生主动地参与教学活动。交互电子白板的人机交互、师生交互、为教师创造出互动性强,能够呈现清晰、自然、精确的多媒体信息的动态演示的教学环境。在《二氧化碳制取的研究》一课设计制取二氧化碳的装置时,可以对仪器图片无限克隆锁定,让一部分学生上来选择二氧化碳的发生装置收集装置,他拖动所需要的仪器进行组装,还有一部分学生则在下面组装实验仪器。对已设计好的装置让同学讨论、交流,分析各自设计的装置的优缺点。通过白板的无限克隆、拖拽、旋转、放大缩小等功能,学生根据提供的实验仪器完成相应要求的装置的组装。这个地方可以说是很成功,因为通过这些白板的功能,充分发挥了学生的想象力,并将之在白板中呈现出来,最终完成实验要求。使原本抽象难以理解的内容变得直观和印象深刻,并从中加深了对已有知识点的理解和提高。

    2945185c2556c4ecbc45a1914494f4cc.png

    在介绍初中化学常用仪器时,可以用活动模板中的图文配对,比如用于夹持试管的对应的图是试管,用于收集或储存少量气体对应的图是集气瓶。学生用手拖动对应的文字到对应的图片。同时,互动活动中必须坚持运用多种方式激发学生,丰富活动的形式,拓展活动的空间,把单调紧张的教学过程转变为趣味盎然的活动,变单一简单的课堂为多形式、多方位、多渠道、多手段的综合大课堂,让学生在课堂上获得更多表现的机会。

    b94920f93c99ebd7926498d4a28a4278.png

    四、交互式电子白板提高了课堂的效率

    交互式电子白板对提高初中化学课堂教学效率体现在白板功能的各个方面,所有使用白板的一线教师都能体会到它的便利和高效。由于白板系统兼容微软的各种软件应用,教师还可以在白板上直接上网寻找课程资源。电子白板不仅能帮助教师授课,而且也是教师备课的好帮手。教师可以把事先准备好的资料存放在“我的内容”里,上课随时调用,又不占用主页面地方。

    ffa91be39ab8a6921ca085a9b6bb5dea.png

    因此,教师在准备阶段就要思考如何设计。在备课环节,教师们的重点是“准备资源,创设活动情境”,改变以往准备“先讲什么,后讲什么,先怎么讲,后怎么讲”的思维定势,根据教学活动准备各种教学资源,并将图片、照片、动画或课件等保存到交互电子白板的资源库中,以便课堂上随时调用。课堂互动环节,只需要学生的指指、点点、拖拖,便很轻松,直观地参与了人机交互,给学生营造了亲临其境的课堂氛围。上课时,教师依旧写“板书”,而不是以“字幕”代替,教学进程随师生活动推进。这时候,课堂上资料的调用比使用传统的“挂图”还要方便,只需“点击”或“拖动”即可,恢复了以往“黑板+粉笔”时代的灵活性。讲课中,可以用到了电子白板的“拖动”、“幕布遮盖”功能,达到出神入化的效果。比如先把一些内容挡住,给同学更多的思考空间,适当的时候可拖动出来,或移开幕布,这样一来,大大提高了课堂的效率。

    8112a6404808e10435b72045008805dd.png

    屏幕获取功能和smart记录器,能立刻记录上课内容,以便今后使用。教师可以把整个白板上的教学过程储存在自己的文件夹中,成为自己学科教学的电子档案和课程资源,成为教师今后授课、总结和反思的资源基础。其次,对部分需要反复讲解的学生只需反复看回放录像,帮助增加记忆。轻松完成了同时减轻了教师的工作量。电子白板替代了黑板,每节课节省了擦黑板的时间,无形中增加了课堂的有效时间。免除了原来擦黑板时到处飞扬的粉尘,更保证了师生们的身体健康。

    电子白板的介入,使课堂变得更加生动和有趣学生学习情绪高涨,许多重点和难点轻易解决,课堂效果较好。电子白板表现出了优异的交互性和生动性,因而学生对化学学科的兴趣会更加浓厚,从而化学素养会得到更大的提高。巧妙地使用电子白板功能,提升教育教学效果。与过去传统比较,这样的方式,令人有一种“赏心悦目”的享受。用手指替代了鼠标,不仅仅迎来了教学方式的革新,更给电脑的操作带来了无比畅快的准确和便捷。我只是和同学们小试牛刀,在今后的教学设计和教学实践中还要不断探索钻研,充分发掘这个新交互平台中蕴涵的教学策略,使这一技术真正融入到日常课堂教学中,实现信息技术与学科课程整合的突破。

    【参考文献】

    [1] 郭荣辉,利用交互式白板提高初中生物课堂教学的有效性[J],中国现代教育装备,2011,6.

    [2] 陆 琪,杨明辉,合理使用白板技术有效提升课堂效率,中小学信息技术教育,2009.

    [3] SMART中国教育网论坛.

    展开全文
  • 该方法采用屏幕截图传输技术实现CAD软件工作界面设计图形的远程异地实时监视,采用电子白板实现设计者之间的文字实时交流。文中对这些方法和技术进行了详细的分析和设计,并给出了具体实现的主要程序和运行测试工作...
  • 希沃白板如何导入导出PPT?希沃白板PPT无法修改怎么办?西沃希沃白板是课件制作神器,用户也可以导入PPT,...希沃白板怎么导入PPT1、首先需要先进入到希沃白板软件内,如果你已经创建好了课件,想要直接导入PPT课件...
  • 基于WWW的电子白板的设计

    千次阅读 2005-07-26 10:56:00
    基于WWW的电子白板的设计 摘要:随着Internet的发展,在Email、WWW等的应用日益成熟的同时,在线实时交流的需求不断扩大,此类软件也大量涌现。用JAVA开发的电子白板弥补了纯文本非实时交流的不足,既增加了形象性,...
  • flash白板功能

    千次阅读 2005-01-12 11:52:00
    是网站上最被广泛采用的软件,因此无论网际网络上的用户使用哪种浏览器、平台或者装置,绝大多数的使用者将能体验您的通讯应用程序。 3. 自订品牌的视讯和通讯体验 建立能符合您的品牌外观与形象的视讯媒体演示...
  • 在线教育不同于线下教育, 内容需要经过电子白板展现给用户,如何做出优秀的在线教育白板成为研究的重点。本文来自学而思网校客户端架构负责人赵文杰在LiveVideoStack...
  • 主要在局域网络上实现多媒体信息的教学广播,是一款实现在电子教室、多媒体网络教室或者电脑教室中进行多媒体网络教学的非常好的软件产品,集电脑教室的同步教学、控制、管理、音视频广播、网络考试等功能于一体,并...
  • 多媒体教室计算机加投影机和电子白板教学设备配置方案是将电动幕更换为目前一些内地学校较普遍使用的交互式电子白板,交互式电子白板是一种比较先进的教育或会议人机交互辅助设备,其融合了精确的定位技术、大屏幕...
  • 主要在局域网络上实现多媒体信息的教学广播,是一款实现在电子教室、多媒体网络教室或者电脑教室中进行多媒体网络教学的非常好的软件产品,集电脑教室的同步教学、控制、管理、音视频广播、网络考试等功能于一体,并...
  • 白板编程可以检查出两方面的技能: 从一开始就可以写简洁的代码,以及 知其代码之所以然。 这两大技能对于一个出色的软件开发人员是至关重要的。通过进行白板编程,这两种技能都能被准确地检验出来。 从一开始就写...
  • 目前看来效果也相当不错了,根据视频的演示,不仅可以通过手机扫描直接生成UI效果图,还可以直接导入UI设计软件中进行修改。 Airbnb Airbnb内部就有一个项目可以实现将手绘的网页部件直接转化为成品。 他们认为,像...
  • 2019红点设计大奖(Red Dot Design Award)近日于德国揭晓,网龙旗下子公司普罗米休斯(以下简称普米)的第七代互动白板(AP-V7)凭借流畅的交互体验、...
  • 随着软件水平在国内的发展,中国程序员的水平也逐渐的在提高,从当年英雄式,到后来的软件作坊,现在越来越多的人开始关注软件架构设计,软件架构师培训也越来越火了,,甚至也有国人自己编著软件架构设计方面的书籍...
  • 陈天-软件开发能力-live 笔记

    千次阅读 2018-07-04 15:24:25
    工程师往往忽略的软件开发能力 slide 地址 软件开发能力 在刚开始的阶段大家对于语言的关注度往往大于系统层级,业务层级。 软件系统是个大工程,包括 separate programs, configration files ,代码或者编程...
  • 软件测试职业发展的 A 面和 B 面

    千次阅读 2018-04-24 13:15:01
    1.所谓的软件测试技术到底包含什么? 梅子:我先来从传统意义上来谈一下测试技术,主要就是测试分析,测试设计,测试管理,测试执行,自动测试技术,专项测试技术,缺陷分析技术等。Monkey:对于测试技术,这的确...
  • 红蜘蛛软件

    2012-05-13 14:43:06
    软件专门针对电脑教学和培训网络开发,可以非常方便地完成电脑教学任务,包括屏幕广播与点播、屏幕监视、遥控辅导、屏幕录制、屏幕回放、网络考试、网上语音广播、两人对讲和多方讨论、VCD/MPEG/AVI/MP3/WAV/MOV/...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    传统的手工方式对图书信息的管理已越来越不能适应社会发展的需要,尤其是随着计算机网络和Internet的普及,运用先进的信息管理系统对信息进行科学化和网络化管理,已成为图书信息管理系统发展的趋势。 系统的研发...
  • 软件设计杂谈

    2016-08-25 11:30:52
    软件设计杂谈 2015-04-17 程序人生 程序人生 程序人生 微信号 programmer_life ...关注程序人生,了解程序猿,学做程序猿,让我们的人生不再屌丝。 disclaimer: 本文所讲的设计,非UI/UE的设计,单
  • 屏幕广播屏幕广播实时流畅,支持各种视频文件,如:mpg、avi、rm、rmvb、wmv、asf,另外还完美支持OpenGL、DirectDraw、Direct3D软件及游戏、AutoCAD,3DMax,Protel,几何画板等教学软件2.屏幕监看、远程遥控、窗口...
  • 说明:本文介绍了一种团队模型及其建设指南,是苍狼敏捷软件方法的其中部分,并不是通用的团队建设指南,供参考。 本团队模型的特点是更加接近于传统团队模型,与Scrum的团队模型有巨大区别。 目的 本团队...
  • 软件架构师应该知道的 97 件事笔记

    千次阅读 2014-11-19 11:17:44
    而且应该能通过示范领导团队,能够胜任团队的所有工作,从网络布线,到配置,从单元测试代码编写,到进行测试工作等。还要有能力发现问题所在,向大家解释问题产生的原因,或者给出解决方案。架构师应该尽早的参与项目,与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,846
精华内容 1,538
关键字:

网络化白板软件