当前位置: 首页 > news >正文

做网站是先买域名还是/上海优化公司有哪些

做网站是先买域名还是,上海优化公司有哪些,做网站或者app,做自己的视频网站1、效果图 2、pub get #地图定位 amap_flutter_map: ^3.0.0 amap_flutter_location: ^3.0.0 3、上代码 import dart:async; import dart:io;import package:amap_flutter_location/amap_flutter_location.dart; import package:amap_flutter_location/amap_location_option…

1、效果图
在这里插入图片描述
2、pub get

#地图定位
amap_flutter_map: ^3.0.0
amap_flutter_location: ^3.0.0

3、上代码

import 'dart:async';
import 'dart:io';import 'package:amap_flutter_location/amap_flutter_location.dart';
import 'package:amap_flutter_location/amap_location_option.dart';
import 'package:fate_blind_box/theme/theme_color.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';import 'package:amap_flutter_map/amap_flutter_map.dart';
import 'package:amap_flutter_base/amap_flutter_base.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../../utils/loading.dart';
import '../../Home/map/canteen.dart';class AMapPage extends StatelessWidget {final String title;final String iosKey;final String androidKey;final LatLng? latLng;final void Function(AMapController controller)? onMapCreated;AMapPage(this.title,this.iosKey, this.androidKey, {Key? key, this.latLng, this.onMapCreated}) : super(key: key);// 添加线段//lines 结构   [LatLng(26.642386, 106.65195799999998), LatLng(26.641542, 106.65062999999998), LatLng(26.641402, 106.65063499999997), LatLng(26.641411, 106.65086300000002), LatLng(26.641334, 106.65067099999999), LatLng(26.641374, 106.650688), LatLng(26.641567, 106.65078499999998), LatLng(26.641656, 106.651207), LatLng(26.641708, 106.651408), LatLng(26.641413, 106.65066100000001), LatLng(26.641484, 106.65012100000001)]//定义@overrideWidget build(BuildContext context) {List<Marker> markers = [Marker(position: const LatLng(39.909215, 116.41005),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon1.png"),infoWindow: const InfoWindow(title: '东城区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.9305, 116.36003),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon2.png"),infoWindow: const InfoWindow(title: '西城区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.9484, 116.48548),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon3.png"),infoWindow: const InfoWindow(title: '朝阳区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.8585, 116.28625),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon4.png"),infoWindow: const InfoWindow(title: '丰台区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.90564, 116.2229),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon5.png"),infoWindow: const InfoWindow(title: '石景山区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.95931, 116.29812),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon1.png"),infoWindow: const InfoWindow(title: '海淀区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.94043, 116.10137),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon2.png"),infoWindow: const InfoWindow(title: '门头沟区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.74786, 116.14257),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon3.png"),infoWindow: const InfoWindow(title: '房山区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(39.90564, 116.2229),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon4.png"),infoWindow: const InfoWindow(title: '石景山区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.65716, 39.90966),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon5.png"),infoWindow: const InfoWindow(title: '通州区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.65417, 40.1302),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon1.png"),infoWindow: const InfoWindow(title: '顺义区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.2312, 40.22072),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon3.png"),infoWindow: const InfoWindow(title: '昌平区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.34149, 39.72668),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon4.png"),infoWindow: const InfoWindow(title: '大兴区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.63168, 40.31602),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon5.png"),infoWindow: const InfoWindow(title: '怀柔区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(117.12133, 40.14056),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon1.png"),infoWindow: const InfoWindow(title: '平谷区',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(116.84295, 40.37618),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon2.png"),infoWindow: const InfoWindow(title: '密云县',snippet: '',),onTap: (marker){},),Marker(position: const LatLng(115.97494, 40.45672),icon:BitmapDescriptor.fromIconPath("images/ic_mapIcon3.png"),infoWindow: const InfoWindow(title: '延庆县',snippet: '',),onTap: (marker){},),];final size = MediaQuery.of(context).size;CameraPosition kInitialPosition = CameraPosition(target: latLng ?? const LatLng(39.909187, 116.397451),zoom: 10.0,);return Scaffold(appBar: title.isNotEmpty ? AppBar(title: Text(title,style: const TextStyle(color: Colors.black, fontSize: 18, fontWeight: FontWeight.bold),),// title:title,elevation: 0,backgroundColor: Colors.white,) :null,backgroundColor: ThemeColor.sendMsgColor,body: AMapWidget(initialCameraPosition: kInitialPosition,buildingsEnabled: false,onMapCreated: onCreated,privacyStatement: const AMapPrivacyStatement(hasShow: true, hasAgree: true, hasContains: true),apiKey: AMapApiKey(iosKey: iosKey,androidKey: androidKey,),markers:Set<Marker>.of(markers),// Set<marker>.of(markers.values),onTap: (marker){},onPoiTouched: (marker){print('object');},),);}/// 高德地图static Future<bool> gotoGaoDeMap(keywords,longitude, latitude) async {var url = '${Platform.isAndroid ? 'android' : 'ios'}amap://navi?sourceApplication=amap&lat=$latitude&lon=$longitude&dev=0&style=2';bool canLaunchUrl = await canLaunch(url);if (!canLaunchUrl) {toast('未检测到高德地图~');return false;}await launch(url);return true;}/// 腾讯地图static Future<bool> gotoTencentMap(longitude, latitude) async {var url = 'qqmap://map/routeplan?type=drive&fromcoord=CurrentLocation&tocoord=$latitude,$longitude&referer=IXHBZ-QIZE4-ZQ6UP-DJYEO-HC2K2-EZBXJ';bool canLaunchUrl = await canLaunch(url);if (!canLaunchUrl) {toast('未检测到腾讯地图~');// ToastUtil.show('未检测到腾讯地图~');return false;}await launch(url);return canLaunchUrl;}void onCreated(AMapController controller) {AMapApprovalNumber.setApprovalNumber(controller);if (onMapCreated != null) onMapCreated!(controller);}}/// 获取审图号
/// 这里设计的很奇怪,当地图创建后才知道这个号码,但是这个号码不一定要显示在地图之上,却一定要显示在app之内,主要是和上架后的合规有关
class AMapApprovalNumber {static String? mapContentApprovalNumber;static String? satelliteImageApprovalNumber;static Function(String? mapContentApprovalNumber, String? satelliteImageApprovalNumber)? _listener;static void addListener(Function(String? mapContentApprovalNumber, String? satelliteImageApprovalNumber) run) {_listener = run;}static void setApprovalNumber(AMapController? mapController) async {//普通地图审图号mapContentApprovalNumber = await mapController?.getMapContentApprovalNumber();//卫星地图审图号satelliteImageApprovalNumber = await mapController?.getSatelliteImageApprovalNumber();if (kDebugMode) {print('地图审图号(普通地图): $mapContentApprovalNumber');print('地图审图号(卫星地图): $satelliteImageApprovalNumber');}if (_listener != null) _listener!(mapContentApprovalNumber, satelliteImageApprovalNumber);}
}///需要在程序启动时向用户展示隐私政策等
///高德地图的定位插件,可以进行连续定位,返回当前位置的经纬度以及转译过的位置信息
mixin AMapLocationStateMixin<WIDGET extends StatefulWidget> on State<WIDGET> {String get title;String get iosKey;String get androidKey;/// 是否拥有定位权限bool get hasLocationPermission => _hasLocationPermission;///获取到的定位信息Map<String, Object> get locationResult => _locationResult ?? {};///整理过的数据LocationInfo get locationInfo => LocationInfo(locationResult);///开始定位void startLocation() {///开始定位之前设置定位参数_setLocationOption();_locationPlugin.startLocation();}///停止定位void stopLocation() {_locationPlugin.stopLocation();}Map<String, Object>? _locationResult;StreamSubscription<Map<String, Object>>? _locationListener;final AMapFlutterLocation _locationPlugin = AMapFlutterLocation();// final List<LatLng> _traackPath = [];late AMapController _mapController;@overridevoid initState() {super.initState();setPath();AMapFlutterLocation.updatePrivacyShow(true, true);AMapFlutterLocation.updatePrivacyAgree(true);/// 动态申请定位权限_requestLocationPermission();AMapFlutterLocation.setApiKey(androidKey, iosKey);///iOS 获取native精度类型if (Platform.isIOS) {_requestAccuracyAuthorization();}///注册定位结果监听_locationListener = _locationPlugin.onLocationChanged().listen((Map<String, Object> result) {setState(() {_locationResult = result;});});}// AMapController _mapController;Map mapMakerListMap = <dynamic, Marker>{};Map mapPolylineListMap = <dynamic, Polyline>{};final List<LatLng> _trackPath = [];late final List trackList;late final List<LatLng> pointList;late final LatLng center;late final double zoom;// 设置轨迹路径setPath() {if (trackList.isNotEmpty) {for (var item in trackList) {if (item is Map<String, dynamic>) {LatLng? latLng = LatLng.fromJson(item);if (latLng != null) {_trackPath.add(latLng);}}if (item is List && item.length == 2) {LatLng latLng = LatLng(item[0], item[1]);_trackPath.add(latLng);}}}mapClean();}mapClean() async {mapMakerListMap.clear();mapPolylineListMap.clear();setState(() => null);}@overridevoid dispose() {super.dispose();///移除定位监听if (null != _locationListener) {_locationListener?.cancel();}///销毁定位_locationPlugin.destroy();}///设置定位参数void _setLocationOption() {AMapLocationOption locationOption = AMapLocationOption();///是否单次定位locationOption.onceLocation = false;///是否需要返回逆地理信息locationOption.needAddress = true;///逆地理信息的语言类型locationOption.geoLanguage = GeoLanguage.DEFAULT;locationOption.desiredLocationAccuracyAuthorizationMode = AMapLocationAccuracyAuthorizationMode.ReduceAccuracy;locationOption.fullAccuracyPurposeKey = "AMapLocationScene";///设置Android端连续定位的定位间隔locationOption.locationInterval = 2000;///设置Android端的定位模式<br>///可选值:<br>///<li>[AMapLocationMode.Battery_Saving]</li>///<li>[AMapLocationMode.Device_Sensors]</li>///<li>[AMapLocationMode.Hight_Accuracy]</li>locationOption.locationMode = AMapLocationMode.Hight_Accuracy;///设置iOS端的定位最小更新距离<br>locationOption.distanceFilter = -1;///设置iOS端期望的定位精度/// 可选值:<br>/// <li>[DesiredAccuracy.Best] 最高精度</li>/// <li>[DesiredAccuracy.BestForNavigation] 适用于导航场景的高精度 </li>/// <li>[DesiredAccuracy.NearestTenMeters] 10米 </li>/// <li>[DesiredAccuracy.Kilometer] 1000米</li>/// <li>[DesiredAccuracy.ThreeKilometers] 3000米</li>locationOption.desiredAccuracy = DesiredAccuracy.Best;///设置iOS端是否允许系统暂停定位locationOption.pausesLocationUpdatesAutomatically = false;///将定位参数设置给定位插件_locationPlugin.setLocationOption(locationOption);}///获取iOS native的accuracyAuthorization类型Future<AMapAccuracyAuthorization> _requestAccuracyAuthorization() async {AMapAccuracyAuthorization currentAccuracyAuthorization = await _locationPlugin.getSystemAccuracyAuthorization();if (kDebugMode) {if (currentAccuracyAuthorization == AMapAccuracyAuthorization.AMapAccuracyAuthorizationFullAccuracy) {print("精确定位类型");} else if (currentAccuracyAuthorization == AMapAccuracyAuthorization.AMapAccuracyAuthorizationReducedAccuracy) {print("模糊定位类型");} else {print("未知定位类型");}}return currentAccuracyAuthorization;}bool _hasLocationPermission = false;/// 申请定位权限Future<void> _requestLocationPermission() async {//获取当前的权限var status = await Permission.location.status;if (status == PermissionStatus.granted) {//已经授权_hasLocationPermission = true;} else {//未授权则发起一次申请status = await Permission.location.request();if (status == PermissionStatus.granted) {_hasLocationPermission = true;} else {_hasLocationPermission = false;}}if (kDebugMode) {if (_hasLocationPermission) {print("定位权限申请通过");} else {print("定位权限申请不通过");}}}
}class LocationInfo {//TODO:应当再此类对信息做转换,明确数据类型String? locTime;String? province;String? callbackTime;String? district;double? speed;double? latitude;double? longitude;String? country;String? city;String? cityCode;String? street;String? streetNumber;String? address;String? description;double? bearing;double? accuracy;String? adCode;double? altitude;int? locationType;LocationInfo(Map<String, Object> locationResult) {locTime = locationResult["locTime"] as String;province = locationResult["province"] as String;callbackTime = locationResult["callbackTime"] as String;district = locationResult["district"] as String;speed = locationResult["speed"] as double;latitude = double.parse(locationResult["latitude"] as String);longitude = double.parse(locationResult["longitude"] as String);country = locationResult["country"] as String;city = locationResult["city"] as String;print(city);cityCode = locationResult["cityCode"] as String;street = locationResult["street"] as String;streetNumber = locationResult["streetNumber"] as String;address = locationResult["address"] as String;description = locationResult["description"] as String;bearing = locationResult["bearing"] as double;accuracy = locationResult["accuracy"] as double;adCode = locationResult["adCode"] as String;altitude = locationResult["altitude"] as double;locationType = locationResult["locationType"] as int;}}

相关文章:

flutter高德地图大头针

1、效果图 2、pub get #地图定位 amap_flutter_map: ^3.0.0 amap_flutter_location: ^3.0.0 3、上代码 import dart:async; import dart:io;import package:amap_flutter_location/amap_flutter_location.dart; import package:amap_flutter_location/amap_location_option…...

【线性代数】矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇)

矩阵求导的本质与分子布局、分母布局的本质&#xff08;矩阵求导——本质篇&#xff09; 说在前面一. 函数与标量、向量、矩阵二. 矩阵求导的本质三. 矩阵求导结果的布局四. 分子布局、分母布局的本质五. 向量变元的实值标量函数 说在前面 我将严谨地说明矩阵求导的本质与分子布…...

快速了解状态管理库Pinia及其使用方法

目录 1.pinia是什么 2.为什么要使用pinia 3.pinia的优点 4.pinia在项目中使用 ①创建一个使用pinia的Vue3项目 ②在页面使用store 1.pinia是什么 Pinia 起源于一次探索 Vuex 下一个迭代的实验&#xff0c;如果你学过Vue2&#xff0c;那么你一定使用过Vuex。Vuex在Vue2中主…...

scratch绘制同心圆 2023年5月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析

目录 scratch绘制同心圆 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <...

【LeetCode】3. 无重复字符的最长子串

3. 无重复字符的最长子串&#xff08;中等&#xff09; 方法&#xff1a;滑动窗口 哈希表 思路 这道题主要用到思路是&#xff1a;滑动窗口 什么是滑动窗口&#xff1f; 其实就是一个队列,比如例题中的 abcabcbb&#xff0c;进入这个队列&#xff08;窗口&#xff09;为 ab…...

苹果macOS 14开发者预览版Beta 7发布 新增超过100款视频壁纸和屏保

8 月 31 日&#xff0c;苹果向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta 7 更新&#xff08;内部版本号&#xff1a;23A5337a&#xff09;&#xff0c;本次更新距离上次发布隔了 8 天。 苹果发布 Beta 7 更新的同时&#xff0c;还发布了第 6 个公测版&#xff0c;正式版…...

Redis 7 第五讲 事务、管道、发布订阅 过渡篇

事务 理论 可以一次执行多个命令&#xff0c;本质是一组命令的集合。一个事务中的所有命令都会序列化&#xff0c;按顺序地串行化执行而不会被其它命令插入&#xff0c;不许加塞 一个队列中&#xff0c;一次性、顺序性、排他性的执行一系列命令 Redis事务 VS 关系型数据库事务…...

[SpringBoot3]视图技术Thymeleaf

七、视图技术Thymeleaf Thymeleaf是一个表现层的模板引擎&#xff0c;一般被使用在Web环境中&#xff0c;它可以处理HTML、XML、JS等文档&#xff0c;简单来说&#xff0c;它可以将JSP作为Java Web应用的表现层&#xff0c;有能力展示与处理数据。这样&#xff0c;同一个模板文…...

wangluobiancheng

UDP send: receive: TCP...

大数据之hadoop入门

大数据概念 大数据&#xff1a;无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现李和流程优化能力的海量、高增长率和多样化的信息资产。 大的概念是相对来说的&#xff1a;目前来说&#xff0…...

浅谈多人游戏原理和简单实现。

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;websocket、网络、原理、多人游戏☀️每日 一言&#xff1a;这世上有两种东西无法直视&#xff0c;一是太阳&#xff0c;二是人心&#xff01; 一、我的游戏史 我最开始接触游戏要从一盘300游戏…...

活动预告 | 龙智、紫龙游戏与JFrog专家将出席龙智DevSecOps研讨会,探讨企业大规模开发创新

2023年9月8日&#xff08;周五&#xff09;下午13:30-19:45&#xff0c;龙智即将携手Atlassian与JFrog在上海共同举办主题为“大规模开发创新&#xff1a;如何提升企业级开发效率与质量”的线下研讨会。 在此次研讨会上&#xff0c;龙智高级咨询顾问、Atlassian认证专家叶燕秀…...

米每秒和千米每小时的换算

千米每时和米每秒怎么换算?1米/秒3600米/3600秒 米每秒和千米每小时的换算(米每秒和千米每小时的换算) 3.6千米/小时。 3.6千米/小时1米/秒米每秒和千米每小时的换算1 米/秒(米每秒)3.6 千米/时(千米每小时)。 1米每秒3600米每时3.6千米每时。因为1小时3600秒。小时是一个时…...

js实现图形验证码

图形验证码起什么作用&#xff1a; 可以防止&#xff1a;恶意破解密码、刷票、论坛灌水&#xff0c;有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试。 验证码一般是防止批量注册的&#xff0c;人眼看起来都费劲&#xff0c;何况是机器。不少…...

一句话画出动漫效果

链接&#xff1a; AI Comic Factory - a Hugging Face Space by jbilcke-hfDiscover amazing ML apps made by the communityhttps://huggingface.co/spaces/jbilcke-hf/ai-comic-factory 选择类型&#xff1a; Japanese 输入提示词&#xff1a; beauty and school love st…...

【openGauss2.1.0 TPC-C数据导入】

openGauss2.1.0 TPC-C数据导入 一、下载tpch测试数据二、导入测试数据 一、下载tpch测试数据 使用普通用户如omm登录服务器执行如下命令下载测试数据库&#xff1a;git clone https://gitee.com/xzp-blog/tpch-kit.git二、导入测试数据 进入dbgen目录下&#xff0c;生成makef…...

vue+elementui表格导出

htmlToExcel.js import FileSaver from file-saver import XLSX from xlsxconst htmlToExcel {getExcel(dom, title 默认标题) {var excelTitle titlevar wb XLSX.utils.table_to_book(document.querySelector(dom))/* 获取二进制字符串作为输出 */var wbout XLSX.write(w…...

掌握前端利器:JavaScript页面渲染高阶方法解析与实战

引言 前端开发中&#xff0c;页面渲染的速度和质量是衡量一个开发者水平的重要标准。而在众多的前端技术中&#xff0c;JavaScript以其强大的页面渲染能力独占鳌头。本文将深入探讨JavaScript在页面渲染中的应用&#xff0c;并通过实例展示其高阶方法&#xff0c;旨在帮助读者…...

面试题——网络IO模型

一、socket socket是在应用层和传输层中间的抽象层&#xff0c;它把传输层&#xff08;TCP/UDP&#xff09;的复杂操作抽象成一些简单的接口&#xff0c;供应用层调用实现进程在网络中的通信。Socket起源于UNIX&#xff0c;在Unix一切皆文件的思想下&#xff0c;进程间通信就被…...

【JUC基础】JUC入门基础(二)

目录 异步回调JMM 理解对 volatile 的理解1、保证可见性2、不保证原子性3、禁止指令重排 对 JMM 的理解 详解单例模式饿汉式懒汉式DCL懒汉式&#xff1a;双重检测锁模式的懒汉式单例静态内部类实现单例通过反射破坏单例&#xff0c;修改后的DCL饿汉式枚举实现单例防止反射破坏 …...

Git Bash 和 Git GUI中文汉化

目录 为什么要中文汉化&#xff1f;Git Bash的汉化Git GUI的汉化 为什么要中文汉化&#xff1f; 看到中文大概能猜出是什么意思&#xff0c;便于使用&#xff0c;特别是Git GUI&#xff0c;中文版的菜单很容易理解是要做什么&#xff0c;如下图&#xff1a; Git Bash的汉化 …...

【Ubuntu】Ubuntu常用软件部署

1.安装jdk1.8 (1).apt方式安装 1).安装 1.在终端中输入以下命令&#xff0c;以更新软件包列表 sudo apt-get update2.在终端中输入以下命令&#xff0c;以安装JDK 1.8 sudo apt-get install openjdk-8-jdk3.将Java 1.8设置为默认版本。在终端中输入以下命令 sudo update-…...

Hadoop HA模式切换

Hadoop HA模式下 主从的切换&#xff08;操作命令&#xff09; YARN HA 获取所有RM节点的状态 yarn rmadmin -getAllServiceState获取 rm1 节点的状态 yarn rmadmin -getServiceState rm1手动将 rm1 的状态切换到STANDBY yarn rmadmin -transitionToStandby rm1 ##或者 y…...

自然语言处理(四):全局向量的词嵌入(GloVe)

全局向量的词嵌入&#xff08;GloVe&#xff09; 全局向量的词嵌入&#xff08;Global Vectors for Word Representation&#xff09;&#xff0c;通常简称为GloVe&#xff0c;是一种用于将词语映射到连续向量空间的词嵌入方法。它旨在捕捉词语之间的语义关系和语法关系&#…...

Flink中RPC实现原理简介

前提知识 Akka是一套可扩展、弹性和快速的系统&#xff0c;为此Flink基于Akka实现了一套内部的RPC通信框架&#xff1b;为此先对Akka进行了解 Akka Akka是使用Scala语言编写的库&#xff0c;基于Actor模型提供一个用于构建可扩展、弹性、快速响应的系统&#xff1b;并被应用…...

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志&#xff0c;但是数据量大时太消耗系统新能。而filebeat是轻量级的&#xff0c;占用系统资源极少。 Filebeat 由两个主要组件组成&#xff1a;harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…...

Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

案例背景 最近总看到《消失的她》票房多少多少&#xff0c;《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据&#xff0c;然后分析一下。 数据来源于淘票票&#xff1a;影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获…...

科技资讯|苹果Vision Pro头显申请游戏手柄专利和商标

苹果集虚拟现实和增强现实于一体的头戴式设备 Vision Pro 推出一个月后&#xff0c;美国专利局公布了两项苹果公司申请的游戏手柄专利&#xff0c;其中一项的专利图如下图所示。据 PatentlyApple 报道&#xff0c;虽然专利本身并不能保证苹果公司会推出游戏手柄&#xff0c;但是…...

Compose学习 - remember、mutableStateOf的使用

一、需求 在显示界面中&#xff0c;数据变动&#xff0c;界面刷新是非常常见的操作&#xff0c;所以使用compose该如何实现呢&#xff1f; 二、remember、mutableStateOf的使用 我们可以借助标题的两个概念 remember、mutableStateOf来完成。这里先不写定义&#xff0c;定义…...

字符串哈希

字符串前缀哈希法 str "ABCABCDEHGJK" 预处理每一个前缀的哈希值,如 : h[0] 0; h[1] "A"的哈希值 h[2] "AB"的哈希值 h[3] "ABC"的哈希值 h[4] "ABCA"的哈希值 问题 : 如何定义一个前缀的哈希值 : 将字符串看…...