xcode 基本操作

2023-05-16

1.IDE概览


2.偏好设置

通过“command+,”快捷键或”Xcode|Preferences”菜单呼出偏好设置。

(1)主题及字体(Preferences->Fonts & Colors)

选中一种主题(theme),例如“Midnight”,然后shift选择Source Editor/Console中的所有项,点击Fonts设置字体。Xcode默认字体为menlo,可选Consolas、Monaco等其他等宽字体。

(2)文本编辑配置(Preferences->Text Editing)

Editing:

  • Show Line Numbers:在gutter中显示行号。
  • Code folding ribbon:显示折叠ribbon。
  • Page guide at column:显示一行最多支持80个字符的提示分割线。
Indentation:
  • Prefer indent using:Spaces(为保持一致的视觉呈现和行末注释对齐,建议使用空格)
  • Tab width:4 spaces(tabexpand,1个tab=4个空格)
  • Indent width:4 spaces(自动缩进步长=4个空格)

(3)SCM(Preferences->Source Control)

Enable Source Control:启用/禁用XCode自带Source Control Manager(SCM)。

(4)SDK/SimulatorPreferences->Downloads

Downloads->Components:可下载SDK和Simulator。

(5)构建输出目录(Preferences->Locations->Locations)

  • 当选择为Default时,Derived Data的目录为~/Library/Developer/Xcode/DerivedData。
  • 当选择为Relative时,Derived Data的目录为当前.xcodeproj所在的目录。
  • 当选择为Custom时,Derived Data的目录需自定义。
不建议使用绝对路径,因为写死之后,换环境或换平台,又要重新修改路径,建议使用相对路径(Relative)。


3.代码阅读

(1)View Navigator

command+0:Show/Hide left tool panel

command+1-8:Project/Symbol/Find/Issue/Test/Debug/Breakpoint/Log Navigator

option+command+0Show/Hide right tool panel

option+command+1/2:show the file/quick help inspector

(2)View Editor Organization

control+1:Show Related Items(例如Superclasses/SubclassesCallers/CalleesProtocol Implementor/Implemented、Includes/Included By)。可输入实时搜索匹配。

control+2/3:Show Previous/Next History。可输入实时搜索匹配。

control+4:Show Top Level Items。
control+5:Show Group Files(当前文件夹内的所有文件)。可输入实时搜索匹配。

control+6:Show Document Items(当前文件的Symbols)。可输入实时搜索匹配。

可直接选中符号,然后“Navigate->Reveal in Symbol Navigator”,打开该接口的符号列表。

(3)Focus Switch

command+J:焦点切换(Move Focus),可配合鼠标和方向键。带‘+’的“Move focus to a new assistant editor”可以快速在辅助编辑窗口中打开头文件(*.h)/实现文件(*.m,*.mm)。

shift+command+J:在项目导航中定位当前文件(Reveal in Project Navigator)。

(4)Symbol Jump

control+command+↑/↓:切换头文件/实现文件(switch between a source file (.m,*.mm,*.cc) and the associated header file(.h))。
shift+command+O:Open Quickly,可快速查找文件、符号。

command+点击Editor中选中的符号:跳转到符号定义(jump to definition)。

control+command+J:跳转到指定符号的定义处或实现处(Go to Declaration/Definition)。有时工程正在Loading、Indexing或Processing files时,“command+点击”无法响应,此时可试试control+command+J

在Project Navigator中选中文件右键或通过菜单“File->Show in Finder”:在Finder中定位该文件。

(5)Symbol Navigator

command+点击Editor中选中的非单一层次定义符号Show in Symbol Navigator:

filter0:底部输入符号(show symbols with matching name)= filter1 result+filter3 result

filter1:show only class and protocol symbols (hide other global symbol types),包括project和system层次。

filter2:show only project-defined symbols,过滤显示当前工程中的符号。filter2的结果是filter1的子集,较常用。

filter3:show only containers(hide members),过滤显示包含该单词的符号。

(6)Help

option+点按:查看选中符号的帮助提示(Quick Help for Selected Item)。

option+双击:打开选中符号的帮助文档。


4.代码编辑

(1)File | New

control+command+N:File | New | Workspace

shift+command+N:File | New | Project

(2)Text Editing

command+[/]:向前/向后缩进

option+command+[/]:Move Line Up/Down

command+/:注释选中的代码

Parentheses/Brackets/Braces Matching:双击某个分隔符(如()、[]、{} 等),Xcode会选中匹配代码块

(3)Eidtor Window/Tab Switch

command+shift+[/]:切换标签页

单指左右滑动(control+command+←/→):在单标签页打开的多个文件间切换

(4)Code Folding

option+command+←/→:折叠当前代码块

option+shift+command+←/→:折叠该文件内所有代码块(方法/函数)

(5)Console & Scheme

shift+command+Y:显示控制台(Show/Hide the debug area

option+command+R:编辑配置(Edit Scheme)

(6)Gutter & Ribbon

焦点列:灰色深度与代码嵌套深度相关,鼠标悬停可突出显示右侧相应代码块,鼠标单击可折叠右侧相应代码块(Code Folding)。

说明:从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Focus Ribbon)->代码编辑窗口(Standard Editor)”。

(7)Auto Completion

esc(command+.)就当前输入上下文呼出/隐藏Auto Completion提示;上下方向键在提示中选择选项,enter(return)选中,tab可一截一截匹配;tab可在各个占位符之间移动

输入Objective-C对象及 ],自动完成中缀符(infix natation)包围。

(8)Find & Replace

command+F:当前文件查找。

option+command+F:当前文件替换。

  • Find可指定查找内容(Text/References/Definitions/Regular Expression);
  • 放大镜:下拉可查看最近查找历史;
  • In Project:查找范围(可指定Group);
  • Text:匹配规则(可指定Containing,Matching,Starting with,Ending with);
  • Case:是否区分大小写(可指定 Matching/Ignoring)。

shift+command+F(command+3):全局查找。也可以在选择符号后,右键(control+点击)->Find Selected Text in workspace...

option+shift+command+F:全局替换。

  • Replace:逐个替换;
  • All:所有替换;
  • Done:替换完成。


5.辅助编辑(Assistant Editor)
Assistant Editor有点类似VC中的Code Definition Window。
option+command+enter打开Assistant Editor。

command+enter关闭Assistant Editor。

使用快捷键进行切换或跳转动作时,若同时按下option可以在辅助编辑窗口中打开相应文件或符号(For optional navigation (Option-clicking orOption-choosing a file), opens the file in a new Assistant editor pane.)。若在辅助窗口中操作,则在主窗口(Standard Editor)中打开。

  • option+点击Project Navigator中选中的文件:在辅助编辑窗口中打开选中文件。
  • option+command+点击Editor中选中的符号:在辅助编辑窗口中打开符号定义(jump to definition in assistant editor)。
  • option+control+command+↑/↓:在辅助窗口中打开对应的头文件(*.h)/实现文件(*.m,*.mm,*.cc)。

点击查看shift+command+Oshift+command+F(command+3)选中的文件或符号时,可同时按下option在辅助编辑窗口中打开。

control+1~6中打开选择结果时,均可同时按下option在辅助编辑窗口中打开。

若在按下option的同时按下shift通常会出现一个导航窗格,可选择在new window/tab/assistant-editor显示打开。

ForOption-Shift navigation (Option-Shift-click or Option-Shift-choose a file), Xcode displays a graphical navigation chooser showing the current layout. The chooserprompts you to open the file in anyopen editor pane in any window and tab, or to open the file in anew editor pane, window, or tab.



6.环境变量(Build Setting Macros)

(1)查看环境变量宏

命令行进入HelloWorld工程目录,执行xcodebuild命令并带上“-showBuildSettings”参数:

xcodebuild -project HelloWorld.xcodeproj -target HelloWorld -configuration Debug -showBuildSettings > xcodebuild_showBuildSettings.txt

则xcodebuild_showBuildSettings.txt中保存了Build settings for action build and target "HelloWorld”,其中dump了所有的环境变量。

(2)Xcode5(Mac OS X 10.9)的部分环境变量

约定1:~=当前账户的HOME目录,例如“/Users/faner”。

约定2:build构建基础路径:BUILD_PATH = ~/Library/Developer/Xcode/DerivedData/Build。可通过“File->Project Settings”查看Derived Data Location

约定3:环境变量宏(Build Setting Macros)引用格式:${MACRO},同Build Phases Run Script中的语法。

下面是摘选自xcodebuild_showBuildSettings.txt的部分常用环境变量。

(a) ARCH & PLATFORM & SDK

ARCHS = i386

CURRENT_ARCH = i386

PLATFORM_DIR = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform

PLATFORM_NAME = macosx


SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk

SDK_DIR = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk

SDK_NAME = macosx10.9

(b) PROJECT & SOURCE

PROJECT = HelloWorld

PROJECT_DIR =~/Projects/Learn Objective-C/HelloWorld

PROJECT_FILE_PATH =${PROJECT_DIR}/HelloWorld.xcodeproj

PROJECT_NAME = HelloWorld

SOURCE_ROOT =${PROJECT_DIR}

SRCROOT =${PROJECT_DIR}

(c) BUILD & CONFIGURATION

BUILD_DIR =BUILD_PATH/Products

BUILD_ROOT =BUILD_PATH/Products

BUILT_PRODUCTS_DIR =BUILD_PATH/Products/Debug

CONFIGURATION = Debug

CONFIGURATION_BUILD_DIR =BUILD_PATH/Products/Debug

CONFIGURATION_TEMP_DIR =BUILD_PATH/Intermediates/HelloWorld.build/Debug

(d) PRODUCT & TARGET

PRODUCT_NAME = HelloWorld

PRODUCT_TYPE = com.apple.product-type.tool// Project Template: Command Line Tool

TARGET_BUILD_DIR =BUILD_PATH/Products/Debug

TARGET_NAME = HelloWorld

(3)设置环境变量

Product -> Edit Schemeoption+command+R)->Arguments->Environment Variables中可以添加自定义环境变量(Name为名称,Value为值)。

7.运行调试

(1)Console

shift+command+Y:显示控制台(Show/Hide the debug area

shift + command + K:清除控制台(Clean)

(2)Build

Product -> Edit Schemeoption+command+R)->Info->Build Configuration:选择生成版本(Debug or Release)

command + B:构建(Buid)

(3)Target

一个Target是指在一个Project中构建的一个产品,它包含了构建该产品的所有文件,以及如何构建该产品的配置。
一个定义好构建过程的Target成为一个Scheme,可在Scheme中定义Target的六种构建过程:Build/Run/Test/Profile/Analyze/Archive。

Product -> Edit Schemeoption+command+R)->Manage Schemes可对Scheme的六种构建过程进行配置(可配置项包括Info、Arguments、Options)。

在Project Navigator中选中某个xcodeproj(例如QQ.xcodeproj),将进入Project Setting页面,可点击左侧图标show/hide project and targets list:


点击targets项可分别设置各target的Build Settings;右击可对target进行delete。

(4)Issue & Errors

编译错误(error)和警告(warning)过多时,只显示编译错误

点击底端的感叹号,即可只显示编译错误,忽略编译警告:

(5)Run

command + R:运行(Run),可能会先编译。若按下control直接运行上次build的product(Run Without Building)。

command + .:停止运行(Stop)

(6)Breakpoint

command + \:当前行设置/取消断点;通过鼠标点击蓝色断点来启用/禁用当前行断点。

command + Y:全局激活或禁用所有的断点,激活进入调试模式(此时断点蓝色可见)。

边列(Gutter)中的断点/警告可右键呼出Reveal in Breakpoint/Issue Navigator。

trick:编辑断点(Edit Breakpoint):

Condition:设置断点的触发条件,例如“i==3”(注意不能有空格)表示当i等于3时该断点才会被触发。

Ignore:设置断点需要被忽略多少次才会中断,若设置成5则表示第6次遇到该断点时才触发。

Action:设置断点触发时的动作,可以为Debugger Command、Log Message、Shell Command或Sound。

例如可设置以下Debugger Command:

(1)读取std::string sig的内存buffer值:mem read sig.c_str() -c sig.size()

(2)打印NSData实例sig:po sig

(7)Debug

F6:下一步(Step Over),逐过程单步调试,不进入函数体。

(fn+)F7:进入(Step Into)函数体。可能与多媒体键有冲突,故需要fn辅助。

(fn+)F8:跳出(Step Out)函数体。可能与多媒体键有冲突,例如呼叫iTunes,故需要fn辅助。

control+command+Y:逐断点(continue)继续执行。

trick:移动指令指针(Move the instruction pointer):

断点调试运行时,可以将绿色指针箭头(Line 47)移动到其他行(Line 49)或其他断点(Line 51)实现跳转执行。

(8)Watch

shift+command+M:Debug Workflow->View Memory

command+K:Debug Workflow->Clear Console

Debug Workflow->ShowDisassembly When Debugging,可进行汇编指令级调试。

trick:修改变量内存值(change memory value while debugging):

调试运行时,可以在底部的调试窗口(Debug Area,可通过Shift+Command+Y呼出)右键某个变量,除了可以进行View Memory/View Value As之外,还可以选择Edit Value运行时编辑内存变量的值。

这种手动设置指定值,在调试某些难以复现的bug或进行边界测试非常有用,可以避免在验证某个问题时反复改值重新编译。

(9)lldb调试命令

  • n/next:step over;
  • s/step:step into;
  • finish:step out;
  • c/continue:goto next breakpoint;
  • expr/expression:Evaluate a C/ObjC/C++ expression(动态执行C/ObjC/C++表达式);
  • p/print/expr/expression:print as a C/C++ basic variable;
  • po/expr -O/expression -OPrint as an Objective-C object;
  • call:调用。其实上述p/po后接表达式(expression)也有调用的功能,一般只在不需要显式输出,或是无返回值时使用call,用于动态调试插入调用代码。
    例如可以在viewDidLoad:里面设置断点,然后在程序中断的时候输入以下命令:
        call [self.view setBackgroundColor:[UIColor redColor]]
    继续运行程序,view的背景颜色将变成红色!
  • bt(backtrace),打印当前调用堆栈(crash堆栈),“bt all”可打印所有thread的堆栈(相当于command+6的Debug Session Navigation)。
  • image:可用于寻址,有多个组合命令,比较实用的一种用法是寻找栈地址对应的代码(行)位置。
    例如某个UITableView总共有2个section,当其引用的currentSection.index≥2时将会引起[UITableView rectForHeaderInSection:]调用异常,可使用expr动态改值制造crash场景模拟调试。
    此时crash时的控制台bt显示异常出现在应用层代码“0x00d055b8 - [FACategoryTableView FACategorySectionHeaderDidTouched:] +744”处(其中0x00d055b8为当前栈(代码段)偏移量,744为栈帧偏移量——PC指针相对函数入口的偏移)。
    那么具体是FACategoryTableView.m文件哪一行代码调用引起的异常呢?此时通过“image lookup --address”后接bt的call stack中的代码段偏移地址(0x00d055b8)即可定位出异常调用的代码行位置。
  • x/memory readdump指定地址的内存(Read from the memory of the process being debugged),后接起止地址或-c指定count加起始地址。可help mem read查看帮助:

Syntax

memory read <cmd-options> <address-expression> [<address-expression>]

Command Options Usage:

size指定内存块(block/item)的大小,默认为1byte。

    --size <byte-size> ):The size in bytes to use when displaying with the selected format.

count指定内存块(block/item)的个数,可配合起始地址使用。

    -c <count> ( --count <count> ):The number of total items to display.

format指定内容显示格式,格式符同print:c-char,s-string,d-decimal,x-hex。

    -f <format> ( --format <format> ):Specify a format to be used for display.

Command Samples:

(a)起止地址

(lldb)mem read 0x10b88f0c 0x10b88f0c+9

0x10b88f0c: 39 38 37 36 35 34 33 32 31                       987654321

(b)起始地址+内存块count

(lldb)mem read 0x10b88f0c -c 9

0x10b88f0c: 39 38 37 36 35 34 33 32 31                       987654321

(c)起始地址+内存块size+内存块count(dump hex format)

(lldb)memory read -s 1 -f x -c 9 0x10b88f0c

0x10b88f0c: 0x39 0x38 0x37 0x36 0x35 0x34 0x33 0x32

0x10b88f14: 0x31

(d)起始地址+内存块size+内存块count(dump char format)

(lldb)memory read -s 1 -f c -c 9 0x10b88f0c

0x10b88f0c: 987654321

(e)起始地址+内存块size+内存块count(dump string format)

(lldb)mem read 0x10b5cf2c -f s -c 1

0x10b88f0c: "987654321"

(f)起始地址+内存块size+内存块count(dump int format)

(lldb)memory read -s 4 -f x -c 3 0x10b88f0c

0x10b88f0c: 0x36373839 0x32333435 0x109f0031

  • memory write改写指定地址的内存(Write to the memory of the process being debugged)。可help mem write查看帮助:

Syntax: memory write <cmd-options> <address> <value> [<value> [...]]

(10)启用NSZombieEnabled调试EXC_BAD_ACCESS

当你对已释放的对象发送消息(90%的可能是对引用计数为0的对象再release)或release那些autorelease对象时,就会出现报EXC_BAD_ACCESS这样的错误。
默认设置下 Xcode不会给你定位具体是哪一行代码不该去使用已释放的对象,或者release用错了。
Product -> Edit Schemeoption+command+R -> Diagnostics ,勾选“Objective-C”之后的“Enable Zombie Objects”。
设置NSZombieEnabled环境变量后,一个对象销毁时会被转化为_NSZombie;设置NSZombieEnabled后,当你向一个已经释放的对象发送消息,这个对象就不只是报EXC_BAD_ACCESS Crash,还会放出一个错误消息,然后以一种可预测的可以产生debug断点的方式消失, 因此我们可以找到具体或者大概是哪个对象被错误的释放或引用了。
注意:NSZombieEnabled只能在调试的时候使用,千万不要忘记在产品发布的时候去掉,因为NSZombieEnabled不会真正去释放dealloc对象的内存,一直开启后果自负!


参考

《Xcode Overview-About Xcode》Xcode Keyboard Shortcuts and Gestures

《Xcode Key Bindings & Gestures》《提升Xcode效率的小技巧》

《Xcode5.1离线安装》Xcode插件》《用Vim编辑器辅助Xcode》《Vim命令图解和xVim使用


《Xcode的文件组织》《Xcode设置命令行启动参数》

《Xcode环境变量及路径设置》《Xcode构建输出目录》

从VC到Xcode》《workspace & subProject & target


Xcode创建静态库》《Xcode4制作静态库  1》《Xcode4制作静态库 2》

《Xcode4.3下制作framework》《Xcode添加依赖的静态库工程》

《Building static libraries with the iPhone SDK》《Static Libraries and Cross-Project References》


Start Developing iOS Apps Today

《使用Xcode创建Hello World项目》使用Xcode5和Interface Builder创建Hello World App


《LLDB Quick Start Guide》LLDB to GDB Command MapXcode gdb/lldb调试命令

《Xcode LLDB Debug教程》《LLDB调试命令初探》《iOS应用崩溃日志揭秘》《经营你的iOS应用日志》


转载自:http://blog.csdn.net/phunxm/article/details/17044337

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xcode 基本操作 的相关文章

  • python装饰器详解-python装饰器的详细解析

    什么是装饰器 xff1f python装饰器 xff08 fuctional decorators xff09 就是用于拓展原来函数功能的一种函数 xff0c 目的是在不改变原函数名 或类名 的情况下 xff0c 给函数增加新的功能 这个函
  • 安装oracle出现环境不满足最低要求

    安装win64 11gR2 database 1of2的时候出现这个 xff0c 百度了下解决方法 在oracle安装包找到stage文件夹 然后找到cvu 然后在cvu里面找到cvu prereq xff0c 用记事本打开 增加以下内容
  • mybatis的优缺点

    优点 xff1a 1 基于SQL语法 xff0c 简单易学 2 能了解底层组装过程 3 SQL语句封装在配置文件中 xff0c 便于统一管理与维护 xff0c 降低了程序的耦合度 4 程序调试方便 5 与传统JDBC比较较少了大量的代码量
  • Eclipse打不开,提示查看Log文件

    今天在使用Eclipse的时候 xff0c Eclipse整个黑屏 xff0c 然后果断启动任务管理器 xff0c 关掉了Eclipse然后重启 xff0c 发现Eclipse打不开了 xff0c 然后提示查看log文件 xff0c 然后解
  • equals的用法的注意事项

    String a 61 34 equals的用法 34 String b 61 a equals 34 equals的用法 34 34 相等 34 34 不相等 34 这样的用法有隐患 xff0c 当传入的参数a是空值的时候 xff0c 程
  • svnE175002、E160024以及提交冲突解决方法

    E17005与Eclipse代理有关 xff0c 将代理勾选掉 xff0c 把active provider 改为Direct 即可 E160024 是以为有的文件过期了 xff0c 右键更新即可 最后 xff0c svn代码提交冲突的时候
  • break和continue的区别

    1 一般的continue会退回最内层循环的开头 xff08 并继续执行 xff09 2 带标签的continue会到达标签的位置 xff0c 并重新进入紧接在那个标签后面的循环 3 一般的break会中断并跳出当前循环 4 带标签的bre
  • samba服务常用命令

    sudo vim etc samba smb conf 里增添用户 span class token punctuation span bsp span class token punctuation span comment span c
  • 用mac进行图片的自由裁剪

    用mac上自带的图片预览工具 xff0c 即可完成对图片的自由裁剪
  • WEB项目部署到Linux下无法访问html、css、js等静态文件的解决

    WEB项目 xff0c 在自己本机 xff08 windows xff09 下通过Tomcat访问 一切正常 部署到Linux下的Tomcat 进行访问 除了 do接口和jsp页面能访问外 其他的都不能访问 原因 xff1a 默认80端口
  • Java规范的三种注释方式

    在学习开发中药养成良好的编码习惯 xff0c 规整的代码格式会为程序日后的维护工作提供便利 在此对编码规则做了以下总结 xff1a 1 每条语句尽量单独占一行 xff0c 每条语句都要以分号结束 xff1b 2 在声明变量时 xff0c 尽
  • Tensorflow2.5安装(安装问题,这一篇全解决)

    恭喜你发现全网最简单最详细的Tensorflow安装教程 xff01 本文将给出2 5版本的具体配置 xff0c 若要安装其他版本也可参照本文的思路 与过去版本对比 xff0c 你可以感受到来自Tensorflow2 5的善意 xff1a
  • linux嵌入式arm基础笔记5之录音与播放

    1 粤嵌GEC6818开发板介绍 http www gec lab com arm show 72 html 2 粤嵌GEC6818平台介绍及其开发板配置 操作系统 心若十年的博客 CSDN博客 https blog csdn net qq
  • C++应用之线程池ThreadPool

    include 34 ThreadPool h 34 include 34 StopWatch h 34 include lt thread gt include lt chrono gt include lt iostream gt vo
  • Centeros最小化安装后很多常用命令无法使用(一键安装linux常用命令)

    运行如下命令立即解决问题 最小化安装系统后还会有一些基本的工具没装 xff0c 可采用yum方式批量安装 xff0c 也可以使用哪个安装哪个 yum y install wget setuptool system config firewa
  • 【从零开始的SDN学习之路】之闲话Neutron与SDN的联系

    闲话Neutron与SDN的联系 前言一 OpenStack中的网络发展二 Neutron是不是SDN xff1f 前言 OpenStack作为当前最富盛名的云计算管理工具 xff0c 其服务覆盖了网络 虚拟化 操作系统 服务器等各个方面
  • ESP8266(ESP模块)Arduino开发环境快速搭建方法--含网盘离线文件

    目录 1 ESP8266简介 1 1 乐鑫ESP8266 1 2 安信可ESP模组 2 ESP8266开发 3 开发环境搭建 4 网盘文件离线安装 1 ESP8266简介 1 1 乐鑫ESP8266 乐鑫公司的提供的ESP8266 系列模组
  • 解决Ubuntu虚拟机地无法上网问题

    虚拟机软件 xff1a VMware xff0c 操作系统 xff1a Ubuntu20 04 1 笔者安装好Unbutu20 04 1的虚拟机之后一直遇到一个问题 xff0c 网络图标不显示 xff0c 网络也不可用 每次都要把 虚拟网络
  • python中wraps的详解

    1 name 用来显示函数的名称 xff0c doc 用来显示文档字符串也就是 34 34 文档字符串 34 34 这里面的内容 2 首先我们来看不加 64 wraps的例子 span class token keyword def spa
  • 读书笔记-深度学习推荐系统1-概述章节

    推荐系统充斥于互联网的各个角落 xff0c 听音乐 看视频 看新闻 购物 学习课程等等 1 1 推荐系统的作用 用户 xff1a 在信息过载的情况下 xff0c 帮助用户高效获得感兴趣的信息 公司 xff1a 通过推荐吸引用户留存 增加用户

随机推荐

  • C++算法之——常用算法总结

    基本的C 43 43 算法分为三类 xff1a 排序算法 树算法 图算法 算法思想有三种 xff1a 递推 分治 动态规划 以及 贪心算法 本文将简要介绍上面三类算法 xff0c 介绍时穿插介绍算法思想 一 排序算法 1 基本O n 2 排
  • xfs 文件系统的备份和恢复(包含磁盘挂载)

    一 xfs文件系统备份简介 XFS 提供了 xfsdump 和 xfsrestore 工具协助备份 XFS 文件系统中的数据 xfsdump 按 inode顺序备份一个 XFS 文件系统 centos7 开始选择 xfs 格式作为默认文件系
  • 正则的基本用法

    一 了解正则表达式 正则表达式是对字符串操作的一种逻辑公式 xff0c 就是用事先定义好的一些特定字符 及这些特定字符的组合 xff0c 组成一个 规则字符串 xff0c 这个 规则字符串 用来表达对字符串的一种过滤逻辑 正则表达式是用来匹
  • windows10 配置 VNC server

    windows10 配置 VNC server 配置 VNC server并设置 当客户端连接vnc server端时不能通过键盘和鼠标控制服务端 下载windows版 https www realvnc com en connect do
  • 二叉树的前序,中序,后序遍历

    前序遍历 xff1a 根节点 gt 左子树 gt 右子树 xff08 根 gt 左 gt 右 xff09 中序遍历 xff1a 左子树 gt 根节点 gt 右子树 xff08 左 gt 根 gt 右 xff09 后序遍历 xff1a 左子树
  • Java拉姆达表达式

    目录 语法 lambda表达式的重要特征 变量作用域 Lambda 表达式 xff0c 也可称为闭包 xff0c 它是推动 Java 8 发布的最重要新特性 Lambda 允许把函数作为一个方法的参数 xff08 函数作为参数传递进方法中
  • activiti修改流程定义二进制数据后需清缓存

    示例如下 package com zz flow utils import org activiti engine impl interceptor Command import org activiti engine impl inter
  • Ubuntu 12.04 LTS 中文输入法的安装

    安装 Ubuntu 12 04 着实费力一番功夫 xff0c 老是在用 Ubuntu 来引导 Windows xff0c 结果 Ubuntu 倒是能用 xff0c 一进入 Windows 就蓝屏 xff0c 于是又重装 Windows 好几
  • stream buffer原理

    Stream buffer是一个用于在cache和memory或者L1cache和L2cache之间的预取器 xff0c 相应地 xff0c 其目的是用于替代L2cache或者减少L1cache的缺失率 最原始的streambuffer由J
  • 原创:纠正国人对Linux的误解和错误认识之二

    或问 xff1a Linux兼容性差 真的是这样吗 xff1f 从2 6 30内核开始 xff0c 驱动程序占整个内核的代码比率首次超过50 xff05 就在2009年圣诞节那天 xff0c Linus Torvalds 在给大家发的圣诞快
  • linux vnc登陆黑屏问题

    1 现象描述 桌面背景全黑 xff0c 没有右上角的设置按钮 2 添加新用户步骤 命令 xff1a 1 useradd xy 2 passwd xy 3 输入密码 4 vim etc sudoers xff0c 将xy添加下面 5 在roo
  • 读书笔记-深度学习推荐系统9-推荐系统知识框架

    针对某一个领域 xff0c 建立自己的技术框架是最重要的 xff0c 只有建立了知识框架 xff0c 才能在这个框架中开枝散叶 xff0c 思考细领域的问题时 xff0c 见微知著的同时 xff0c 也不会忘记整体 9 1 知识架构图 9
  • shell将命令输出结果保存到变量中的3种常用方式

    shell将命令输出结果保存到变量中的几种形式及相应的输出结果 xff0c 使用时须注意对应关系 xff0c 记录在此以便使用时查找比较 bin bash abc 61 34 echo 66666666666666666 34 只用一个 3
  • SphereFace的翻译,解读以及训练

    前段时间 xff0c 由于工作需要 xff0c 学习了一下论文 SphereFace Deep Hypersphere Embedding for Face Recognition 收获挺大的 xff0c 这几天刚好有空 xff0c 就整理
  • IDEA2019,springboot2.1 .6 热部署配置 完整版

    1 修改pom文件 xff0c 增加配置 lt dependency gt lt groupId gt org springframework boot lt groupId gt lt artifactId gt spring boot
  • casbin模型

    目录 一 PERM元模型二 基础代码实现步骤1 创建main go步骤2 创建model conf步骤3 创建policy csv 三 role definition 角色域的用法g 61 的用法1 model文件2 policy文件 g
  • 为Visual Studio添加项目模板及项模板

    1 问题的引入 在做项目的时候 xff0c 需要代码规范 xff0c 版本信息不可或缺 xff0c 但是每次在文件头COPY版本信息很麻烦 xff0c 而且也不太容易控制 为了更好 更规范的去完成项目 xff0c 需对项目文件做统一的格式来
  • Hadoop-HDFS-读写流程详解

    HDFS写数据流程 xff1a 详细步骤图 xff1a 详细描述 xff1a 1 客户端向NN发送文件上传的请求 2 NN进行一系列的检查 xff1a 是否有权限 xff0c 文件的父目录是否存在 xff0c 文件是否已经存在同名等等 xf
  • tcsh编程学习3

    一 xff1a shell 是什么 shell是一个 UNIX程序 xff0c 当给出一条命令时 xff0c shell解释并执行它 xff0c 然后返回一个提示或是一个错误消息 作为一个命令解释器 xff0c shell是一种编程语言 x
  • xcode 基本操作

    1 IDE概览 2 偏好设置 通过 command 43 快捷键或 Xcode Preferences 菜单呼出偏好设置 xff08 1 xff09 主题及字体 xff08 Preferences gt Fonts amp Colors x