This is Jiaozi :)


  • Home

  • Archives

Note

Posted on 2019-10-07

Day 1 for 応用情報技術者試験

せっかくプログラムの資格を取った、プログラミング以外の知識も身につけたいので、応用情報技術者試験に挑戦していきたいです!!!

Day1 情報セキュリティ

Deep Learning

Posted on 2019-10-05

PocketTranslator开发学习笔记

Background

在之前的工作中和学习中,都需要阅读大量的英语和日语的文档。遇到知识范围外的词汇或者生僻词汇时,需要查询百度翻译。每次复制粘贴打开网页,在中英日三种语言中切换翻译,觉得很麻烦。于是上网查讯大量了资料,借鉴了一些高手的源码,一边学习一边实现了这个小程序。

Overview

关于这次造的小程序,只需要在阅读文档时(线上线下都OK)复制单词,小程序自动识别为英语或日语,并实时翻译成中文。省去了切换语言亦或是打开浏览器的麻烦。
以下是本次的学习笔记。

Notes

java.awt.Toolkit

ToolKit是一个抽象类,ToolKit作为AWT工具箱,提供了GUI 最底层的Java访问,例如从系统获取图像、获取屏幕分辨率,获取屏幕色彩模型、全屏的时候获得屏幕大小等。
Toolkit是个非常有用类的,提供许多修改窗口默认行为的方法。

java.awt.datatransfer

提供在应用程序之间和在应用程序内部传输数据的接口和类。它定义了”transferable”对象的概念,该对象可以在应用程序之间或应用程序内部传输。它是一种通过实现Transferable接口标识自身为可传输的对象。

Toolkit.getDefaultToolkit()

在java中可以通过Toolkit类的getSystemClipboard方法来获得剪贴板的数据因为剪贴板上存放的可能不是文本,所以在使用剪贴板返回的数据之前我们需要先检测剪贴板上的内容是不是文本。

java.net

Java.net包中包含了所有与网络通信相关的类。
URL类:代表一个统一资源定位符,它是指向互联网“资源”的指针。

java.awt

Abstract Window ToolKit (抽象窗口工具包)
java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:

  • 组件–Component
  • 容器–Container
  • 布局管理器–LayoutManager

javax.swing

Swing 是一个为Java设计的GUI工具包。Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。

MVC

Posted on 2019-10-04

MVC的理解#2

MVC的优点

MVC是是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如Windows系统资源管理器文件夹内容的显示方式,下面两张图中左边为详细信息显示方式,右边为中等图标显示方式,文件的内容并没有改变,改变的是显示的方式。不管用户使用何种类型的显示方式,文件的内容并没有改变,达到M和V分离的目的。

MVC的举例

jsp+servlet+javabean模式

最典型的MVC就是jsp+servlet+javabean模式。

JavaBean作为模型,既可以作为数据模型来封装业务数据,又可以作为业务逻辑模型来包含应用的业务操作。其中,数据模型用来存储或传递业务数据,而业务逻辑模型接收到控制器传过来的模型更新请求后,执行特定的业务逻辑处理,然后返回相应的执行结果。

JSP作为表现层,负责提供页面为用户展示数据,提供相应的表单(Form)来用于用户的请求,并在适当的时候(点击按钮)向控制器发出请求来请求模型进行更新。

Serlvet作为控制器,用来接收用户提交的请求,然后获取请求中的数据,将之转换为业务模型需要的数据模型,然后调用业务模型相应的业务方法进行更新,同时根据业务执行结果来选择要返回的视图。

MVC

Posted on 2019-10-03

MVC的理解#1

Overview

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
  • View(视图) - 视图代表模型包含的数据的可视化。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

view 视图

视图是用户看到并与之交互的界面(它可以包括一些可以显示数据信息的页面,或者展示形式。例如jsp,html,asp,php)。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。

model 模型

模型表示企业数据和业务规则(可以说就是后端接口,用于业务处理)。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

controller 控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求(接受客户发送的请求,根据请求调用所对应的接口,然后模型业务处理后返回的数据,由控制器决定调用那个View展示)。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。

Cooking

Posted on 2019-09-27

红烧茄子


从今天起决定在blog上分享自己喜爱的料理的烹饪方法。从很小的时候就开始坚持画插画,于是我也决定用插画的方式记录料理的美好:)

今天介绍的第一道菜是红烧茄子,虽然是大概去年画的插画,但是这道菜是我最喜欢也是第一道学会的料理,所以我决定将它作为开始。

需要准备以下食材:

  • 茄子X2
  • 猪肉末
  • 葱姜蒜
  • 生抽,料酒,白砂糖,盐,淀粉

烹饪方法

1. 将茄子切块,用盐浸泡5分钟

这是为了让茄子不变黄,保持色泽鲜美

2. 猪肉末用料酒,糖,生抽均匀搅拌

让肉末味道变得更均匀

3. 倒掉浸泡茄子的盐水,并用清水冲洗,将水榨干

建议用手榨干茄子水分

4. 起油锅,将茄子炒软盛好

5. 锅内加点油,加入葱蒜姜末

倒入肉末,加点料酒,将肉末炒至变白后倒入茄子,加入糖,生抽,盐。

6. 出锅前用淀粉勾芡,汁水收干即可出锅。


Translation

Posted on 2019-09-13

Collectons Framework Overview Translation 4

FINISHED!!!!!

This is the link to the original site:
Collections Framework Overview



Translation

Posted on 2019-09-12

Collectons Framework Overview Translation 3

I took 30 mins to finish it.
ok it is time to go work now!:p

This is the link to the original site:
Collections Framework Overview


Translation

Posted on 2019-09-09

Collectons Framework Overview Translation 2

I took a dayoff because of typhoon. Then I finished the translation part2.
It is getting more difficult than before now.
Anyway Fighting!

This is the link to the original site:
Collections Framework Overview



Translation

Posted on 2019-09-06

Collectons Framework Overview Translation 1

Im learning collections framework recently. Since there is no Chinese version for this document, i tried to translate it to Chinese. I will keep updating the translation from September.

This is the link to the original site:
Collections Framework Overview



Collection

Posted on 2019-09-05

集合的学习笔记

Collection Overview

  • List , Set, Map都是接口,前两个均承至Collection接口,Map是独立接口
  • Set下有HashSet,LinkedHashSet,TreeSet
  • List下有ArrayList,Vector,LinkedList
  • Map下有Hashtable,LinkedHashMap,HashMap,TreeMap
  • Collection接口下还有个Queue接口,有PriorityQueue类

List

有序集合,允许元素重复,有索引可以使用普通的for循环。

  • ArrayList
    底层是数组,查询快,增删慢,多线程。
  • LinkedList
    底层数据结构是链表,查询慢,增删快,多线程。
  • Vector
    底层数据结构是数组,查询快,增删慢。。
    已被ArrayList替代。

Set

不允许元素重复,没有索引,不可以使用普通的for循环遍历。

  • HashSet
    底层数据结构是哈希表。(无序,唯一)
    如何来保证元素唯一性?

1.依赖两个方法:hashCode()和equals()

  • LinkedHashSet
    底层数据结构是链表和哈希表。(FIFO插入有序,唯一)

1.由链表保证元素有序
2.由哈希表保证元素唯一

  • TreeSet
    底层数据结构是红黑树。(唯一,有序)
  1. 如何保证元素排序的呢?
    自然排序
    比较器排序
  2. 如何保证元素唯一性的呢?
    根据比较的返回值是否是0来决定

Map Overview

Map接口有三个比较重要的实现类,分别是HashMap、TreeMap和HashTable。

  • TreeMap是有序的,HashMap和HashTable是无序的。
  • Hashtable的方法是同步的,HashMap的方法不是同步的。这是两者最主要的区别。

特点

  • Hashtable是线程安全的,HashMap不是线程安全的。
  • HashMap效率较高,Hashtable效率较低。
    如果对同步性或与遗留代码的兼容性没有任何要求,建议使用HashMap。 查看Hashtable的源代码就可以发现,除构造函数外,Hashtable的所有 public 方法声明中都有 synchronized关键字,而HashMap的源码中则没有。
  • Hashtable不允许null值,HashMap允许null值(key和value都允许)
1…678

Koshi Ryo

71 posts
© 2020 Koshi Ryo
Powered by Hexo
|
Theme — NexT.Muse v5.1.4