iOS学小程序从0到发布(适合iOS开发看)

小程序容器化:基于uni-app的iOS小程序开发 前言 相信越来越多小伙伴发现不少超级APP的页面都采用小程序开发了。例如支付宝客户端,首页有一个小程序中心的入口,支付宝上很多页面都是小程序了。 图1 支付宝小程序入口 第一次打开的一个新功能时,会出现一个短暂的loading过程。小程序右上角有查看详情和关闭的按钮,例如中国体育小程序。 图2 支付宝“中国体育”小程序截图 那么为什么越多越多大厂的app采用了小程序容器化开发呢?博主将在本博客简要说明小程序容器化的趋势、优点,以及如何基于... 阅读详情

Emmmm,最近一波失业潮。富某康、某团、摩某、京某、知某、某浪、58 某大面积裁员,那么在这个千钧一发之际,单纯iOS开发也着实不好过,回过头看一下,裁掉的都是单一选手,为了节约成本公司留下的都是身兼多职的全栈开发工程师。

那么iOS, 有些选手就要找对方向再学一手以备下次被裁员的不是自己。HTML,CSS, JS,小程序,React, React Native浮现在选手面前。 好,进入正题,今天开始从0入门小程序。咦,等等,为什么叫选手呢,因为当前环境下经济不景气都是去竞争口饭吃的,就像是在比赛,故本文称之为选手。

首先,学习小程序开发对于学习iOS开发成本实在是低,低到什么程度呢?低到你单看这篇文章就可以开发并发布小程序。

一:小程序注册

注册小程序帐号

在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。

关于小程序账号注册填写从相关的各位选手可以去微信公众平台自己看官方文档这里不做详细介绍https://developers.weixin.qq.com/miniprogram/introduction/index.html

image

二:这篇文章重点要介绍的是开发工具和代码方面的知识。

微信开发工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

那么现在我已经下载好了

image

点击小程序项目,进入

image

如图,我这是之前已经创建好的项目,会显示在图上右边,如果是本地没有小程序项目,则创建就可以了,相信我们的iOS开发们这些都不是事,emm不行,怕有些 人还是不会,老规矩上图

image

好,终于看到代码了,到这里才是本文接下来要讲的重点。

先来看下我们今天要实现的效果。

image

再来整体看下代码架构

image

先来看四种文件,.js, .json,.wxss,.wxml。

.js处理逻辑,数据,获取网络请求的数据即在这里面

.json 配置文件,比如tabbar的配置,navigationbar的配置等

.wxml创建的控件,比如view,button,map组件

.wxss控件的修饰,比如frame,backgroudcolor等

看到这里是不是感觉有点跟MVVM设计模式相似呀,不同功能的代码分文件来写,一目了然。

好,先看示例首页搜索页面的输入框。

.wxml里

<input class="searchPut" bindconfirm="shouldDone" placeholder="输入来搜索?" type="text" confirm-type="Search">
</input>
<view class="table">
  <view class='contentview' wx:for="{{searchResults}}" wx:for-index="bindex">
   <view class="listitem"  bindtap='didSelectCell'  data-bindex='{{bindex}}'>
     <image class="img" src="{{item.cover_path}}"></image>
      <view class="right">
          <view class="name">{{item.title}}</view>
          <view class="nameDes">{{item.intro}}</view>
          <view class="bottomView">
           <view class='playtimes'>播放次数:{{item.play}}</view>
           <view class='length'>总共:{{item.tracks}}集</view>
          </view>
      </view>
    </view>
  </view>
</view>

如图不同颜色框对应不同UI组件

 

image.png

.wxss

.searchPut
{
  margin-left: 20rpx;
  margin-right: 20rpx;
  height: 60rpx;
  border: 2rpx ridge black;
}

.table
{
  top: 80rpx;
  width: 100vw;
  margin-bottom: 0rpx;
}

.contentview
{
  padding: 0;
}

.listitem{  
  display: flex;  
  flex-direction: row;  
  padding:20rpx;  
}

.img
{
  width: 100rpx;
  height: 100rpx;
}

.right
{
  flex: 1;
  width: 590rpx;  
  margin-left: 20rpx;  
  display: flex;  
  flex-direction: column;  
}

.name
{
  font-size: 35rpx;
}
.nameDes
{
  font-size: 30rpx;
}

.bottomView
{
  flex: 1; 
  display: flex;  
  flex-direction: row;  
  justify-content:space-between;
}

.playtimes
{
  font-size: 30rpx;
  color: gray;
  vertical-align: center;
}

.length
{
  font-size: 30rpx;
  color: gray;
}

1.searchPut :margin-left :距离左边, 那距离右边同理margin-right
讲下border:border: 2rpx ridge black; 代表边框宽2rpx,样式ridge,颜色黑色
2..table: width: 100vw;代表铺满宽,即100%
3..listitem: display:flex;采用flex弹性布局,flex-direction: row; 即竖向布局,即我们熟悉的tableview样式,同理flex-direction: column; 横向布局。padding:20rpx;即向里周边都缩进20rpx
4..bottomView : justify-content:space-between;justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。
| flex-start | 默认值。项目位于容器的开头。 | 测试 » |
| flex-end | 项目位于容器的结尾。 | 测试 » |
| center | 项目位于容器的中心。 | 测试 » |
| space-between | 项目位于各行之间留有空白的容器内。 | 测试 » |
| space-around | 项目位于各行之前、之间、之后都留有空白的容器内。 | 测试 » |
| initial | 设置该属性为它的默认值。请参阅 initial。 | 测试 » |
| inherit | 从父元素继承该属性。请参阅 inherit。 |
5.其他诸如:color,font-size这些不多做解释。

下面来到了.js文件有了这一步,咸鱼变活鱼,界面搭好了,就等渠里通水了。

Page({

  /**
   * 页面的初始数据
   */
  data: {
    searchResults:[],

  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },
  shouldDone: function (event) {
    var searchkey = event.detail.value;
    var that = this;
    wx.request({
      url: 'http://search.ximalaya.com/front/v1?core=all&device=iPhone&is_paid=true&live=true&page=1&paidFilter=false&rows=3&spellchecker=true&version=5.4.45&kw='+searchkey,
      method:"get",
      success: function (res) {
        var results = res.data.album.docs;
        console.log(results);
        for (var i in results) {
          var playtimes = results[i].play;
          var playStr = String(playtimes);
          if (playtimes > 10000)
          {
            playtimes = playtimes/10000;
            playStr = playtimes.toFixed(1)+"万";
          }
          results[i].play = playStr;
        }

        that.setData({
          searchResults: results,
        })
      }
    })
  },

  didSelectCell: function (event) {
    var that = this;
    var index = event.currentTarget.dataset.bindex;
    console.log(index);
    var list = that.data.searchResults;
    var albumID = list[index].id;
    console.log(albumID);
    wx.navigateTo({
      url: 'index?albumId=' + albumID,
    })
  }
})

首先输入搜索的内容后,点击搜索,iOS里应该是有个textfieldshouldReturn,这个事件。那么小程序同理,我们之前已经在wxml里绑定过了,那就是bindconfirm="shouldDone"这行代码,bindconfirm就是这个事件,我们绑定上之后,在js文件里实现这个shouldDone方法,然后再shouldDone方法里进行网络请求去获取数据就好。

说到网络请求,微信小程序的封装那是厉害的一批,
看图

image.png

wx.request就是调网络请求,url是请求的链接,method是请求的方法get,post。
post需要传参的话下面再加个data参数传进去就好。
success就是请求成功的回调,res就是response,更神奇的是,返回数据的解析如图上:var results = res.data.album.docs; 竟然直接点语法就把json给解析了,如图所示的格式

 

image.png

 

是不是太方便了。
有了数据了,下面来处理数据,如图

 

image.png


播放次数,实际服务器返回的“play”这个字段播放次数是64168345,那我们要转为6416.8万,这该怎么转呢,如果是OC代码那我们就得心应手,但这里是小程序。
首先这是一个列表,每条数据里都有play这个字段,两种方案:1.就是要遍历下数组,然后把数组中的这个字段对应的值做下修改。2.直接在对控件赋值的时候做转换(也就是对应iOS里cellforrow里给控件赋值的时候)。那我们现在wxml里已经写好了,直接取的就是play这个字段的值,并没有做转换,如图

suo


所以我们现在采用第一种方法

遍历数组

 

image.png

那么现在数据就修改完了,要显示了

 that.setData({
          searchResults: results,
        })

这句话就是把我们得到的返回的数据赋值给我们在data里定义的searchResults

 

image.png

 

同时,wxml里绑定的searchResults,就会刷新出来界面。

 

image.png


到此首页搜索界面的实现介绍完毕。下班了,先回家吃饭了,饿死。回来继续

感谢各位看官!

代码地址:https://git.dev.tencent.com/cong_Wang/xcx.git

使用微信小程序连接到 MQTT 云服务 微信小程序是腾讯于 2017 年 1 月 9 日推出的一种不需要下载安装即可在微信平台上使用的应用程序,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及 APP,能够满足简单的基础应用,对于用户来说,能够节约使用时间成本和手机内存空间,对于开发者来说也能节约开发和推广成本。 本文主要介绍如何在微信小程序项目中使用 MQTT,实现小程序客户端与 MQTT 云服务的连接、 阅读详情

相关推荐

UniApp应用发布全流程指南

UniApp应用发布全流程指南

m0_72030584的博客 2399

IOS开发环境搭建及第一个小程序

首先我想提一下既然是跨平台的方案,还为什么要搭建各个平台的开发环境。Phonegap+HTML5的方案不是搞出一个在任何平台都能无需编译就能运行的package,而是一种能让Javascript与native相整合的方案,因此基于它做出的软件包依然是具有各个平台特性的package,只不过里面大部分的业务逻辑都是基于Javascript来开发的,但不代表所有,所以需要在各个平台的开发环境上来编译调

wugang8023的专栏 1506

iOS开发练习小程序——秒表参考.pdf

iOS开发练习小程序——秒表参考.pdf

创建一个苹果小程序 App Clip 你该知道哪些事

前言 在 Xcode 工程中,你可以为你的 App 添加一个 app clip target, 利用 Xcode ,app clip 可以与你的 app 共享代码与资源,并可以编译,调试,运行在真机或者模拟器环境。但是,在实际使用过程中,开发者必须在自己的服务器上做好验证 app clip 的有效性的手段。 添加一个 App Clip Target 利用 Xcode 创建一个 iOS 工程 利用 App Clip template 为该 iOS 工程创建一个新的 Target 输入 App clip 的名

shenjie12345678的专栏 2173

伪傻瓜式安装sql server2008【附带安装包】

安装各式各样的软件无疑是学习过程中…较…为烦躁的一部分 木有醋 但还是开始吧 为什么这是伪呢? 因为刚开始天真无邪的我真的是傻瓜式安装(迷之自信),结果就B了(打开配置管理器的瞬间….一片空白) BaiduCloud分享 红领巾在何方?? Link链接:https://pan.baidu.com/s/1NZCxP0Y27dBPrgHoRWLDyQ...

EuniBoom的博客 6万+

磁传感器技术解析:从霍尔效应到车规级应用,纳芯微的本土第一之路

磁传感器是现代工业与汽车电子中的关键感知元件,其技术演进经历了从分立器件到高集成度SoC的跨越。霍尔效应与磁阻效应构成两大物理基础,其中硅基霍尔方案凭借高性价比与成熟供应链,在车规级应用中占据主流。高精度电流检测、角度与位置感知、磁开关等场景,对传感器的温漂抑制、共模瞬态抗扰与批量一致性提出严苛要求。车规级可靠性体系与系统级集成能力,成为衡量供应商的核心标尺。随着新能源主驱、光伏逆变、工业伺服等应用爆发,具备完整信号链与隔离技术积累的厂商正逐步构建护城河。本文以纳芯微为样本,剖析其从隔离技术延伸至磁传感器平

weixin_34387468的博客 365

iOS开发初探小程序(上)

iOS开发初探小程序 楼主本人是一枚iOS程序媛,团队内部分享本人选题是小程序研究,所以以一个iOS开发的视角记录一下探究历程,如果有误,欢迎大佬们评论区指正。 官方小程序项目搭建步骤: https://developers.weixin.qq.com/miniprogram/introduction/qcloud.html 账号可以自己申请一个,使用未开通过其他公号服务的邮箱就能申请了,...

Nefertari_YinC的博客 3680

当KCF遇见卡尔曼滤波:视觉跟随算法的动态优化实战

本文探讨了KCF算法与卡尔曼滤波在视觉跟随算法中的动态优化实践,通过深度融合策略提升目标跟踪的鲁棒性和实时性。特别针对机器人应用场景,详细解析了在Jetson等嵌入式平台上的优化技巧,包括计算图优化、内存访问优化和多线程流水线设计,实现了30FPS@1080p的稳定跟踪性能。

sugar的博客 957

Objective C 实现简单的小程序

本文使用的 Xcode 是  iOS 7 版本发布后的 Xcode 5 。 所以这将会使用到 iOS 7 全新的扁平化的界面。 实现效果:        点击登录按键,会触发 最后的作业就是做一个当你点击一个按钮的时候会弹出对话框,I love you。 如何在 iPhone 上实现呢? 下面开始吧。 第一步运行 Xcode 。 13-9-23 23

Jenny的专栏 3367

【移动APP测试】Firebase Test Lab (FTL) 实战指南:从零搭建自动化测试流水线

本文详细介绍了Firebase Test Lab (FTL) 在移动APP测试中的实战应用,从零搭建自动化测试流水线。通过真实设备、虚拟设备和iOS设备的全面覆盖,FTL帮助开发者高效进行兼容性测试、性能监控和崩溃分析,显著提升应用质量。文章还提供了设备选择策略、成本控制技巧和CI/CD集成的最佳实践,助力团队优化测试流程。

weixin_29281915的博客 254

WinCC ActiveX控件“许可证缺失”故障排查:从注册表修复到系统兼容性全解析

本文深入解析WinCC ActiveX控件报错“未找到许可证信息”的根本原因与解决方案。核心在于系统注册表中控件的设计时许可证密钥丢失或损坏。文章提供了从手动修复注册表、排查64位系统兼容性,到预防性环境部署的全流程专业指南,帮助工程师彻底解决这一常见故障。

oil88的博客 646

从0开始制作微信小程序

放暑假了,闲着也是闲着,开始捣鼓微信小程序,逐渐实现跨平台的统一...由于数据类型的统一需要用到TypeScript,可能又要了解新的语言了...[捂脸]uniapp是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。正因为使用的是Vue3而且是前端应用,所以在过渡的时候相对还是比较容易的。

Pleasure1234的博客 2万+

ESP8266-Arduino网络编程实例-异步TCP客户端

本次实例将使用ESPAsyncTCP库实现一个简单的客户端。

视觉与物联智能 1741

鸿蒙5.0发布时间已定!何处寻得移动开发加速器?

如果您所在企业的应用,已经有部分业务内容小程序,不妨试试这个办法,快速应对鸿蒙操作系统独立的进程。如果还没有任意小程序,那么可以考虑从1-2个高频迭代的应用开始,进行小程序化的改造,从成熟的Andriod或IOS系统开始试用起来。

speedoooo的博客 1万+

DO-254标准详解:航空电子硬件设计保证指南全方位解析

RTCA DO-254, 也被称为《机载电子硬件设计保证指南》,是航空电子硬件设计和验证中的关键标准,旨在为确保机载电子硬件的安全性提供设计保证。自2000年首次发布以来,DO-254就成为了民航和军用飞机中电子硬件设计认证的基准文件。随着航空硬件技术的进步和日益复杂化,确保硬件设计的准确性、可靠性和安全性变得至关重要。本标准是由RTCA和EUROCAE共同开发的,适用于涉及机载硬件的航空公司、飞机制造商、供应商和认证机构。

qq_41854911的博客 3682

STM32F407驱动OV2640摄像头全栈解析:DCMI+DMA+SCCB协同设计

图像采集是嵌入式视觉系统的基石,其核心在于传感器与MCU间的数据通路构建。原理上需理解并行接口(如DCMI)的硬件同步捕获机制、串行控制总线(如SCCB/I²C)的寄存器级配置逻辑,以及DMA在高吞吐数据搬运中的关键作用。技术价值体现在解放CPU、保障实时性、降低功耗,并支撑JPEG压缩与RGB565直显等差异化应用。典型场景包括智能终端实时预览、低带宽图像上传、工业现场视频监控及教学实验平台搭建。本文以STM32F407与OV2640集成实践为载体,深入剖析DCMI时序约束、SCCB软件模拟实现及DMA循

weixin_36151775的博客 180

Vue.js 一套代码,发布到iOS、Android、H5、以及各种小程序

了解 Uni-App uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。 即使不跨端,uni-app同时也是更好的小程序开发框架。 uni-app 是由 ...

chizhen4556的博客 3724

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

跨平台开发实战:我的小程序双端(iOS、安卓)开发指

小程序怎么同时搞定安卓和iOS?”今天就用我在项目中的实际经验,带你拆解跨平台开发的全流程。不谈空洞理论,只讲实战中验证过的方法

欢迎来到我的前端博客!这里汇集了关于前端开发的最新技术、实用工具和经验分享。我将为你提供详细的教程、代码示例和实战案例,帮助你掌握Web开发的核心概念和技能。不论你是初学者还是有经验的开发者,这个博客都适合你。 1197

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

uni-app跨端开发H5、小程序、IOS、Android(一):太强了,一次性搞定全端开发

大家好,我是黑马腾云。 这是一个原创系列连载文章,基于企业真实项目案例分享经验,带你快速入门uni-app开发!欢迎点击头像关注,避免迷路!同时如果觉得文章不错,欢迎转发帮助更多人。 文章断更了段时间,之前大半年一直在忙创业的事情,期间带领团队从0到1用uni-app+java开发了二款商城类商业级应用,产品形态覆盖H5、微信小程序、IOS、Android。目前产品已成功发布到各大电子市场。 难得有空静下来对项目做下总结,本系列文章先站在公司的的角度对产品技术选型进行分析,然后再根据我们项目实际开发经验进行

潘Sir的经验分享,带你少走弯路! 4163

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

微信小程序开发,从0到1的经验分享

微信小程序是一种快速、便捷的应用开发平台,为开发者提供了构建跨平台应用的能力。本篇博客将带你逐步学习从零开始开发微信小程序的经验和步骤,帮助你成为一名优秀的小程序开发者。

weixin_72668830的博客 2022

uni-app开发微信小程序全流程指南

本文系统解析了uni-app开发微信小程序的全流程,重点区分运行、发布、发行三个关键阶段:运行阶段用于开发调试(H5/模拟器/真机预览);发布阶段生成小程序代码包(配置manifest.json并编译);发行阶段完成上传审核与正式上线。文章通过实战案例演示了从开发到上线的完整过程,总结了各阶段的常见问题与解决方案(如包体积超限、审核驳回等),并提供了代码结构优化、分包加载、灰度发布等最佳实践。帮助开发者清晰掌握uni-app小程序开发的核心流程,规避常见错误,提升开发效率。

DeppBing的博客,全栈修炼记|记录一个开发者的进化轨迹 6365

微信小程序的发布流程是怎样的?

以上是微信小程序从开发到发布的完整流程,开发者需严格按照步骤操作,以确保小程序顺利上线并获得良好的用户体验。

破损的天堂鸟博客 3016

如何利用Flutter框架开发运行小程序

随着 Flutter 开发框架的不断成熟,越来越多的人开始用它构建应用程序。截止目前,有超过50万个应用程序是用Flutter建立的。

POHOU23的博客 8613

【记录】微信小程序开发和发布及一些问题解决

阿迪斯

dopapapa的博客 1736

如何将微信小程序发布到微信

本文详细介绍了汉字学习软件发布为微信小程序的完整流程。主要内容包括:1)注册小程序账号(区分个人和企业主体);2)代码配置与上传步骤;3)提交审核和正式发布的注意事项。特别强调了发布前的三种测试方法:开发者工具模拟器测试、真机调试和体验版测试。针对汉字学习软件的特性,重点提示了内容安全接口接入、隐私合规要求以及类目选择的注意事项,帮助开发者顺利完成小程序上线。

skywalk8163的专栏 1234
上一篇: iOS FMDB自己封装的单例类
下一篇: iOS与硬件通讯(socket,data拼接,发送指令,解析指令)
王_聪
博客等级 码龄11年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值