原文地址:Implementing a simple messenger component for WPF, UWP and Xamarin 欢迎大家关注我的公众号:程序员在新西兰了解新西兰IT行业真实码农生活请长按上方二维码关注“程序员在新西兰” 最初的需求是我需要开发一个实现Socket发送/接收的WPF应用程序. 首先,我用MVVM模式创建了一个基本的WPF应用程序. 然后,我做了一个项目来完成所有与Socket通信有关的工作. 接下来,我必须将Socket项目集成到ViewModel项…
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http://item.jd.com/12299018.html 本节介绍内存映射文件,内存映射文件不是Java引入的概念,而是操作系统提供的一种功能,大部分操作系统都支持. 我们先来介绍内存映射文件的基本概念,它是什么,能解决什么问题,然后我们介绍如何在Java中使用,我们会设计和实现一个简单的.持久化的.跨程序的消息…
spring-boot中有很多第三方包,都封装成starter组件,在maven中引用后,启动springBoot项目时会自动装配到spring ioc容器中. 思考: 为什么我们springBoot中maven引用starter组件,就可以直接去ioc容易中拿到? 猜想是不是springBoot启动去加载这些starter组件? 那么具体是怎么实现呢? 猜想是不是所有的starter组件包都是按照一定的格式约束存在于某个文件夹下,然后springBoot启动就会去自动装配呢? 如果了解了spr…
参考网站:编写一个简单的COM组件_a ray of sunshine-CSDN博客 (1) 用MIDL编写.idl文件 //将以下代码保存成 IXIYIZ.idl 文件 //在命令行上进行编译,编译命令: //midl IXIYIZ.idl //生成 IXIYIZ.h ,dlldata.c, IXIYIZ.h, IXIYIZ_p.c //其中 IXIYIZ.h,IXIYIZ.h 文件是我们目前所需要的 import "unknwn.idl";[ object, uuid(7F6711…
在上一篇博文<[UWP]使用Popup构建UWP Picker>中我们简单讲述了一下使用Popup构建适用于MVVM框架下的弹窗层组件Picker的过程.但是没有应用实例的话可能体现不出Picker相对于ContentDialog的优点在哪里,毕竟Linus大神说过: Talk is cheap, show me the code! 我们假定要实现这样一个颜色选择器:当用户需要选择一个颜色时,应用弹出颜色选择器,用户选择完成后,点击"确定"按钮关闭弹窗,并且向调用方代码返回…
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务器来说很好. 为了系统的可用性,需要做灾备,那么就要多准备一套系统环境,这时就会有一些共享资源的问题,比如Tomcat的session共享出来 几个系统会公用一套缓存数据,这样就变成一个共享池 需求的增长也就带来了系统的变化,也正为这种变化我开始思考怎么让这些代码兼容,并为以后的系统模块提供比较统一…
最近在工作中写了一个jquery插件,效果如下: 就是一个简单的提示消息的一个东西,支持最大化.最小化.关闭.自定义速度.自定义点击事件,数据有ajax请求和本地数据两种形式.还有不完善的地方,只做了最基本的功能,等有了修改再上传上来. /** * 消息提示<br> * 自动生成的html结构如下: * * <div class="title">消息提醒 <div class="toggle" style="">…
目标场景是这样的: 多线程的应用程序要频繁打一些小字节的日志,也不想引用很重的日志库. 设想了一个极其简单的日志组件,main线程中重定向stdout到文件,同时setbuffer设置一个10k的缓冲区,工作线程直接向stdout输出日志. 很简单,但是有些担心,多线程写同一个文件会不会出现交叉写入的问题,linux的c是否保证文件缓冲区的数据安全,测试10000个线程全力写数据3s -rw-rw-r-- 1 smi smi 4601412816 07-07 11:25 0707.txt gre…
TcpSend窗口用于发送消息,另外写一个用于接收消息的应用程序,消息接受到以后,必须要关闭接收消息的窗口,才能在接收新的消息,不知道怎么能解决这个问题. 源代码: 发送消息的窗口代码 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms…
1.安装Python 到官网下载响应系统的版本(这里以windows为例):https://www.python.org/downloads/windows/ 然后就是不断地"下一步" 2.运行 要想node那样可以在命令行运行,要首先配置好系统的全局环境变量: win10为例:"此电脑"--->"属性"--->"高级系统设置"--->"高级"下的"环境变量"---&g…
public class LTS extends JFrame { private JPanel contentPane; private JTextField textField; private JTextField textField_1; /** * Launch the application. */ private static PrintWriter pw=null; private static BufferedReader br=null; private static Soc…
安装Webpack,并加载一个简单的React组件 全局的npm模块安装: npm install -g webpack 安装jsx-loader npm install --save-dev jsx-loader 默认使用当前目录的自己新创建的webpack.config.js作为配置文件 module.exports = { entry: [ './assets/js/entry.js' ], output: { path: __dirname + '/assets/', publicPat…
在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstrap分页组件,这可以参考http://v3.bootcss.com/components/. 先将生成项目效果截图呈上: 这里有需要预先知道的,是mysql分页查询与mssql分页查询实现不同点在于,mysql支持limit语句,limit格式为 limit pageIndex*pageSize,p…
很长一段时间以来,我都在思考如何在ASP.NET Core的框架下,实现一套完整的事件驱动型架构.这个问题看上去有点大,其实主要目标是为了实现一个基于ASP.NET Core的微服务,它能够非常简单地订阅来自于某个渠道的事件消息,并对接收到的消息进行处理,于此同时,它还能够向该渠道发送事件消息,以便订阅该事件消息的消费者能够对消息数据做进一步处理.让我们回顾一下微服务之间通信的几种方式,分为同步和异步两种.同步通信最常见的就是RESTful API,而且非常简单轻量,一个Request/Resp…
好久没有在csdn上写过东西了,这么多年,一方面是工作忙,下班到家也没有开过电脑了,要陪小孩玩: 下面分享一段代码,是用CPP做的一个简单的消息(协议)处理框架: 是通过成员函数指针+map来实现的:关于成员函数指针与函数指针的区别,简单的说就是成员函数指针是指向类的成员函数,而函数指针是用于指向普通的静态的函数:上代码:首先是一个基类:#ifndef __BASEINTERFACE_H__#define __BASEINTERFACE_H__#include <iostream>using…
使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换 需求: 日历区分交易日.非交易日 可以切换面板查看整年交易日信息 可以在手动调整交易日.非交易日 演示实例 序--使用软件及框架版本 vue 2.6.11 ant-design-vue 1.7.1 moment.js(日期转换依赖) 设计思路 使用组件库的a-calendar标签可以实现一个日历的基本框架 每日模块实现交易日.非交易日的区分显示 以及过期和当日的日期灰色显示,且不能切换交易状态 将来的日期可以点击使用…
RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立TCP连接的.其建立连接的方法如下: //首选创建一个连接工厂对象 var factory = new ConnectionFactory() { HostName = "localhost", UserName = "yyt", Password = "yy…
消息队列中间件(Message Queue)相信大家不会陌生,如Kafka.RabbitMQ.RocketMQ等,已经非常成熟,在大大小小的公司和项目中也已经广泛使用. 有些项目中,如果是只使用初步的消息队列功能(比如少量客户端和简单的消息中转),对于追求“简洁美”的程序猿.攻城狮们,实在不愿意部署.维护一个消息队列中间件,那么就自己动手吧,编写几十行代码,嵌入到现有的模块,消息队列功能就能正常运转起来,是不是很有成就感呢? 下面我抛砖引玉,使用nodejs+UDP实现一个简单的消息队列.你可以…
BackgroundWorker 组件取代了 System.Threading 命名空间并添加了功能:但是,可以选择保留 System.Threading 命名空间以实现向后兼容并供将来使用.有关更多信息,请参见 BackgroundWorker 组件概述. 您可以编写能同时执行多个任务的应用程序. 这种能力称为“多线程处理”或“自由线程处理”,是设计占用处理器资源并且要求用户进行输入的组件的一种有效方式. 计算工资表信息的组件就是一个可能利用多线程处理的组件示例. 该组件可以在一个线程上处理用…
1.在src文件夹中创建一个hello文件夹,然后创建hello.js和hello.vue 2.hello.vue代码如下 <template> <button>这是hello按钮</button> </template> <script> export default { } </script> <style> button { width: 200px; height: 50px; background-color:…
Toast简介 在安卓里Toast是内置原生支持,它是Android中用来显示显示信息的一种机制.它主要用于向用户显示提示消息,没有焦点,显示的时间有限,过一定的时间就会自动消失.在UWP中虽然没有原生支持的Toast,但是完全可以用Popup封装实现一个简单的Toast自定义控件. Toast效果图 先上效果图: 上面是最终要做的效果图,从动态图中我们一点一点分析一下Toast是怎样做出来的. 首先,我们可以明显看出它是有渐显效果.想要让它不是突兀地显示出来,而是慢慢显示出来,我们就要用到St…
(一)创建一个简单的WPF应用 首先,在这里我要说明的是:这里的例子,都是通过控制台程序来创建WPF应用,而非使用现成的WPF模版.因为WPF模版封装了创建WPF应用所需要的各种基本元素,并不利于我们学习. 创建一个WPF需要引用的最基本的DLL 1.PersentationCore                       WPF的核心类库 2.PersentationFramework             封装了与WPF控件相关类型的类库 3.System.Xaml          …
参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下.(●'◡'●) 这次呢就讲讲一个简单的电子签名板的实现. 先上张图(PS:字写得比较丑,不要太在意哈): 1.任务目标 最基本的需求:1.签名功能 2.清除签名 3.保存签名(让用户选择文件夹.签名保存为PNG格式的图片) 尝试额外功能:1.Ctrl + Z实现撤销功能 2.Ctrl + Y实现重做功能 3.保存签名后打开文件位置并选中文件 2.搞事情 1)UI方面 如图,总体来说,一个InkCa…
Toast简介 在安卓里Toast是内置原生支持,它是Android中用来显示显示信息的一种机制.它主要用于向用户显示提示消息,没有焦点,显示的时间有限,过一定的时间就会自动消失.在UWP中虽然没有原生支持的Toast,但是完全可以用Popup封装实现一个简单的Toast自定义控件. Toast效果图 先上效果图: 上面是最终要做的效果图,从动态图中我们一点一点分析一下Toast是怎样做出来的. 首先,我们可以明显看出它是有渐显效果.想要让它不是突兀地显示出来,而是慢慢显示出来,我们就要用到St…
原文:WPF 一个简单的颜色选择器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83409995 本章讲述:WPF中,一个简单的颜色选择器的实现: 使用外部依赖库文件:"ColorPicker.dll": 下载地址:https://download.csdn.net/download/byh371256/10745273 1.XAML界面代码 <Window x:Class=…
原文:Prism for WPF 搭建一个简单的模块化开发框架 (一个节点) 这里我就只贴图不贴代码了,看看这个节点之前的效果 觉得做的好的地方可以范之前的文章看看 有好的建议也可以说说   填充数据(2000万那啥数据)后试试录了两个gif,文件太大又是压缩又是减帧,,效果不太好  …
原文:Prism for WPF 搭建一个简单的模块化开发框架(六)隐藏菜单.导航 这个实际上是在聊天之前做的,一起写了,也不分先后了 看一下效果图,上面是模块主导航,左侧是模块内菜单,现在加一下隐藏菜单,让中间部分更大   直接上代码吧,上下代码基本上一样就只贴左侧的代码了 既然做这个,少不了用个动画 按钮样式 <Style x:Key="LeftShowAndHideToggleButtonStyle" TargetType="ToggleButton"&…
原文:Prism for WPF 搭建一个简单的模块化开发框架(四)异步调用WCF服务.WCF消息头添加安全验证Token 为什么选择wcf?   因为好像wcf和wpf就是哥俩,,, 为什么选择异步调用?  用起来体验相对好一点,不会因为服务的速度影响用户体验,避免页面假死 首先新建一个wcf服务程序 public class ServiceLogin : IServiceLogin { public bool Login(string username, string pwd) { if (…
原文:Prism for WPF 搭建一个简单的模块化开发框架(五)添加聊天.消息模块 中秋节假期没事继续搞了搞 做了各聊天的模块,需要继续优化 第一步画页面 页面参考https://github.com/yanchao891012/WPF_WeChat/tree/master/WeChat.NET仿微信的页面 加了截图发送图片 效果这样,点击右下角图标显示,可以拖动位置.隐藏.最大化(请忽略工具条里的颜色选择器,做的颜色选择器在这里试试,没啥意义) 截图大概这样 发送消息 截图代码也是网上找的…
原文:Prism for WPF 搭建一个简单的模块化开发框架(三) 给TreeView加样式做成菜单 昨天晚上把TreeView的样式做了一下,今天给TreeView绑了数据,实现了切换页面功能 上代码把,样式代码 <Style x:Key="MenuTreeViewItem" TargetType="{x:Type TreeViewItem}"> <Style.Triggers> <Trigger Property="Is…