精华内容
下载资源
问答
  • MySQL数据库从入门到实战

    万人学习 2019-12-31 14:09:39
    【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:  一、基础篇: 主要以最新的...
  • test
  • Python零基础轻松入门
  • Python实战案例汇总,带你轻松从入门到实战

    千次阅读 多人点赞 2021-06-15 11:00:20
    python从入门到实战,带你轻轻松松学会python

    Python 的火热,不仅让很多小白选手有了想学习的欲望,甚至连 BAT 的技术大牛,也将 Python 作为第二开发语言来提升自己。

    虽然 Python 以简单易学著称,但是你知道如何快速学会 Python 吗?你知道入门的方法吗?你知道入门 Python 最重要的是什么吗?

    很多新手急于求成,基础还没学好就去研究爬虫了,甚至连数据处理都不会,就直接去研究神经网络了,因此导致了很多人“从入门到放弃”。

    其实,一个 Python 程序员的成长路径应该是这样的:

    万丈高楼平地起,基础打的牢,你的职场发展才会越来越好。

    今天博主就来为大家推荐几个Python入门、爬虫、数据分析相关的教程,希望能够对你有所帮助。开始阅读之前,我建议你先确定你是否真的要走上Python这条路,如果你的答案是:是的,请继续往下读。

    第一、Python入门

    我看了这门教程不涵盖Python的任何应用方向,只讲最基础、最核心的内容,无论你之后准备从事什么方向开发,这些内容都是必须要学的,包含了:内置对象和基本的运算、语句等等,基础是学习一门语言最重要的部分,建议你可以跟着这个教程去学。

    教程传送门:零基础学Python

    https://marketing.csdn.net/u/weixin_42350212/e/3780

    第二、Python爬虫

    爬虫现在的招聘需求非常多,即便学了之后不做爬虫工程师,作为兴趣爱好或者副业也是非常好的选择。很多人帮别人爬取数据用来学习,收获也是挺大的。

    这个教程中将爬虫三要素网络请求、数据解析、数据存储讲解的非常详细,非常适合新手学习。另外在反爬实战上,讲解了几种特定场景下的反爬策略及处理方式。想学爬虫的小伙伴们,可以点击链接了解。

    教程传送门:150讲轻松搞定Python爬虫

    https://marketing.csdn.net/u/weixin_42350212/e/3782

    第三、Python自动化

    这个方向其实更适合运营、文员等岗位,报表、文档一大堆,学完这个教程可以完成自动整理与生成,各种文件按自己的要求一键自动整理,解放你的生产力。

    这个教程全程漫画讲解,还是纯干货,号称只讲有用的,文件自动整理、报表文档自动化。听完后你会发现二两老师是一个非常有趣的老师。

    教程地址:零基础Python自动化办公(漫画版)

    https://marketing.csdn.net/u/weixin_42350212/e/3786

    第四、机器学习

    如果你想从事人工智能行业,那机器学习就是你的必修课,学完这个教程,你将学会哪些知识呢?

    1、掌握机器学习算法工程师的核心技术,可以面试行业相关工作

    2、掌握独立完成AI任务,可以建立模型去解决生活中很多数据相关问题(合理房屋/商品价格预测、数据分类与降维、图像分割等)

    3、对于需要完成机器学习相关方向毕业设计的同学,你将懂得如何更合理地设计课题、开展项目、实现模型优化;

    4、熟练使用AI工具,更有效地利用AI工具分析数据,帮助自己做决策

    教程地址:Python3从0入门机器学习算法实战(人工智能必修)

    https://marketing.csdn.net/u/weixin_42350212/e/3785

    第五、数据分析挖掘

    数据分析是Python应用较多的一个领域,这个教程包含了Python基础、数据采集、数据处理到数据挖掘,这是我看过比较细致的教程了。

    主要讲解了4个领域的经典项目,每一个项目都是遵从数据分析的5大步骤,商业目标建立→数据获取→数据预处理→建立模型→模型发布,你可以掌握商业项目的分析方法论。

    教程地址:Python数据分析与挖掘

    https://marketing.csdn.net/u/weixin_42350212/e/3781

    第六、Python面试

    这个教程搜集了各大互联网公司的Python面试题以及类似的题目。包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。称之为Python面试全集也无可厚非。

    教程地址:Python 面试100讲(基于Python3.x)

    https://marketing.csdn.net/u/weixin_42350212/e/3790

    第七、技术问题

    教程结合作者十多年Python开发经验,涉及到的知识点都是在实际工作中遇到的,并且已经解决的各种问题。还有的技术问题是搜集了国内外程序员遇到的各种类型的技术问题,部分和这些程序员直接交流,了解他们的需求以及某些理解上的困难。 

    通过总结这些技术问题,并给出多种可能的解答,将非常有助于Python程序员解决在实际工作中遇到的各种问题。

    教程传送门:【硬核】一线Python程序员实战经验分享

    https://marketing.csdn.net/u/weixin_42350212/e/3791

    【两种方法获取完整源码】

    1、资源下载:【pygame开发实战开发30例 完整源码】

    https://download.csdn.net/download/weixin_42350212/15836285

    2、订阅专栏:【获取完整源码+教程】

    一起来学pygame吧 游戏开发30例(二)——塔防游戏

    一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏

     

    展开全文
  • Redis从入门到实战实战

    千次阅读 2020-03-29 22:39:37
    Redis从入门到实战入门篇 Redis从入门到实战实战篇 Redis从入门到实战:进阶篇 Redis从入门到实战:完结篇 Redis从入门到实战实战篇 Redis Java客户端介绍 Jedis操作Redis SpringBoot操作Redis Redis Java...

    前言

    之前只是在项目简单使用了Redis(只是充当缓存层实现),对Redis的体系技术没深入了解,最近时间比较充裕,所以再次复习巩固Redis,然后打算写几篇博客记录以及分享所复习的Redis知识。

    1. Redis从入门到实战:入门篇
    2. Redis从入门到实战:实战篇
    3. Redis从入门到实战:进阶篇
    4. Redis从入门到实战:完结篇
    Redis从入门到实战:实战篇
    1. Redis Java客户端介绍
    2. Jedis操作Redis
    3. SpringData-Redis操作Redis
    4. SpringBoot操作Redis

    Redis Java客户端介绍

    Redis Java客户端主要有三种:Jedis、Lettuce、Redisson。

    Jedis
    1. Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持。
    2. Jedis中的方法调用是比较底层的暴露的Redis的API,也即Jedis中的Java方法基本和Redis的API保持着一致,了解Redis的API,也就能熟练的使用Jedis。
    3. Jedis使用阻塞的I/O,且其方法调用都是同步的,程序流需要等到sockets处理完I/O才能执行,不支持异步。Jedis客户端实例不是线程安全的,所以需要通过连接池来使用Jedis。
    4. Jedis仅支持基本的数据类型如:String、Hash、List、Set、Sorted Set。
    Lettuce
    1. Lettuce是高级Redis客户端,用于线程安全同步,异步和响应使用,支持集群,Sentinel,管道和编码器。目前springboot默认使用的客户端。
    2. Lettuce基于Netty框架的事件驱动的通信层,其方法调用是异步的。Lettuce的API是线程安全的,所以可以操作单个Lettuce连接来完成各种操作。
    Redisson
    1. Redisson实现了分布式和可扩展的Java数据结构,提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列。和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。
    2. Redisson中的方法则是进行比较高的抽象,每个方法调用可能进行了一个或多个Redis方法调用。
    3. Redisson基于Netty框架的事件驱动的通信层,其方法调用是异步的。Redisson的API是线程安全的,所以可以操作单个Redisson连接来完成各种操作。
    4. Redisson不仅提供了一系列的分布式Java常用对象,基本可以与Java的基本数据结构通用,还提供了许多分布式服务,其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service)。

    Jedis操作Redis

    上面介绍了三种Redis Java客户端,接下来就使用Jedis操作Redis,首先引入Jedis依赖:

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.1.0</version>
    </dependency>
    

    在使用Jedis的时候,有两种方式可选:

    1. 单机版Jedis,对应redis.clients.jedis.Jedis类。
    2. Jedis连接池,对应redis.clients.jedis.JedisPoolConfig类。

    单机版Jedis

    单机版的Jedis就是一旦与Redis建立连接成功后,然后进行一系列对Redis的操作之后,就要关闭Redis连接对象,否则会占用系统资源。

    @Test
    public void jedis(){
        Jedis jedis = null;
        try {
            jedis = new Jedis("localhost",6379);//设置地址和端口
    //            jedis.auth(PASSWORD);//如果redis服务器配置了需要密码,此处必须设置
            jedis.select(5);//选择指定数据库
            //存储集合到redis,并取出
            jedis.lpush("names","xxxq","xxq","xq");
            System.out.println(jedis.lrange("names", 0, -1));
        }finally {
            jedis.close();
        }
    }
    

    Jedis连接池

    以前我们使用MySQL、Oracle等关系型数据库的时候,都会使用数据库连接池,比如:C3P0、Druid等等。在Jedis中,也提供了一个Redis连接池来管理Redis连接对象,就是redis.clients.jedis.JedisPool,还有一个对Jedis连接池配置的类:redis.clients.jedis.JedisPoolConfig,下面我们对它进行配置。

    1. 配置连接池需要一些参数,把这些参数单独放在一个配置文件中:redis.properties
      redis.host = xxx
      redis.port = 6379
      redis.password = xxx
      redis.timeout = 5000
      redis.maxTotal = 100
      redis.maxIdle = 20
      redis.minIdle = 5
      
    2. 下面封装一个Jedis连接池工具类,简化后续的开发工作。
      public class JedisPoolUtils {
          private static JedisPool  pool = null;
      
          /**
           *  读取属性配置文件,配置Jedis连接池
           */
          static {
              Properties properties = new Properties();
              try {
                  properties.load(JedisPoolUtils.class.getClassLoader().getResourceAsStream("redis.properties"));
              } catch (IOException e) {
                  e.printStackTrace();
              }
              JedisPoolConfig poolConfig = new JedisPoolConfig();
              int maxIdle = new Integer(properties.getProperty("redis.maxIdle"));
              int minIdle = new Integer(properties.getProperty("redis.minIdle"));
              int maxTotal = new Integer(properties.getProperty("redis.maxTotal"));
              poolConfig.setMaxIdle(maxIdle);
              poolConfig.setMinIdle(minIdle);
              poolConfig.setMaxTotal(maxTotal);
              //设置主机
              String host = properties.getProperty("redis.host");
              //设置端口号
              int port = new Integer(properties.getProperty("redis.port"));
              //创建Jedis连接池
              pool = new JedisPool(poolConfig,host,port);
          }
      	
      	/**
      		获取单机版Jedis
      	*/
          public static Jedis getJedis(){
              return pool.getResource();
          }
      }
      
    3. 使用Jedis连接池创建单机版Jedis,测试是否配置成功。使用Jedis连接池,我们不需要手动关闭Jedis连接对象。
      public class JedisPoolTest{
          public static void main(String[] args) {
              Jedis jedis = JedisPoolUtils.getJedis();
              System.out.println("Redis服务正在运行:"+jedis.ping());
              //set命令
              jedis.set("name", "zwq");
              System.out.println(jedis.get("name"));
          }
      }
      
      执行结果:
      	Redis服务正在运行:PONG
      	zwq
      

    SpringData-Redis操作Redis

    1. Jedis支持五种数据类型(string/hash/list/set/zset/)的操作,但在Java中我们却通常以类对象为主,所以在实际项目中,我们需要将Redis存储的五种数据类型与Java对象之间进行切换,我们可以自己编写一些工具类,实现两者之间的转换,但是涉及到许多对象的时候,这其中无论工作量还是工作难度都是很大的,所以总体来说,就操作对象而言,使用原生的Jedis还是挺难的,好在Spring对这些进行了封装和支持,也就是SpringData-Redis
    2. 引入SpringData-Redis依赖
      <dependency>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-redis</artifactId>
          <version>2.2.4.RELEASE</version>
      </dependency>
      <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>3.1.0</version>
      </dependency>
      
    3. 接下来我们使用Spring配置Jedis连接池。
      #redis.properties配置文件
      redis.host = xxx
      redis.port = 6379
      redis.password = xxx
      redis.timeout = 5000
      redis.maxTotal = 100
      redis.maxIdle = 20
      redis.minIdle = 5
      
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:p="http://www.springframework.org/schema/p" 
             xmlns:context="http://www.springframework.org/schema/context"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context.xsd">
      
          <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
              <!--Redis服务地址-->
              <property name="hostName" value="${redis.host}"/>
              <!--端口号-->
              <property name="port" value="${redis.port}"/>
              <!--如果有密码则需要配置密码-->
              <!--<property name="password" value="${redis.password}"/>-->
              <!--连接池配置-->
              <property name="poolConfig" ref="poolConfig"/>
          </bean>
      
          <bean id="redisTemplate"
                class="org.springframework.data.redis.core.RedisTemplate"
                p:connection-factory-ref="connectionFactory"/>
      
          <!--加载属性文件-->
          <context:property-placeholder location="classpath:redis.properties"/>
      
          <!--Spring整合配置,连接池配置-->
          <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
              <!--最大连接数-->
              <property name="maxTotal" value="${redis.maxTotal}"/>
              <!--最大空闲数-->
              <property name="maxIdle" value="${redis.maxIdle}"/>
              <!--最大等待时间-->
              <property name="maxWaitMillis" value="20000"/>
              <!--最小空闲数-->
              <property name="minIdle" value="${redis.minIdle}"/>
          </bean>
      </beans>
      
    4. 上面配置了RedisTemplate,因为普通的Redis连接对象没有办法直接将Java对象直接存入Redis内存中,我们需要替代的方案:将对象序列化(可以简单的理解为实现Serializable接口)。我们可以把对象序列化之后存入Redis缓存中,然后在取出的时候又通过转换器,将序列化之后的对象反序列化回对象,这样就完成了我们的要求。RedisTemplate可以帮助我们完成这份工作,它会找到对应的序列化器去转换Redis的键值。
    5. 创建用户实体类,实现Serializable接口。
      @Data
      public class User implements Serializable {
          private String name;
          private Integer age;
      }
      
    6. 测试Spring配置是否成功。
      @Test
      public void springDataRedis(){
          ApplicationContext context = new ClassPathXmlApplicationContext("redis.xml");
          RedisTemplate template = context.getBean(RedisTemplate.class);
          User user = new User();
          user.setName("zhangsan");
          user.setAge(22);
          template.opsForValue().set("zhangsan",user);
          User u = (User) template.opsForValue().get("zhangsan");
          System.out.println(u);
      }
      运行结果:
      	User(name=zhangsan, age=22)
      
    7. 从运行结果来看,SpringData-Redis已经自动帮我们序列化对象与反序列化对象了,使用起来非常简便。但是当我们查看Redis服务器的时候,发现存入的数据乱码了,如下图所示:
      在这里插入图片描述
    8. 上面说了RedisTemplate通过序列化器来转换Redis的键值,而RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此序列化器完成的。出现上面问题说明就是JDK序列化器在序列化与反序列化时编码问题,我们可以更改RedisTemplate序列化器,除了JDK序列化器JdkSerializationRedisSerializer,还有一个字符串序列化器StringRedisSerializer,因为Redis的key都是字符串类型,所以我们将key的序列化器改为StringRedisSerializer,而Value使用默认的JdkSerializationRedisSerializer。
    9. 接下来按照上面总结的原因来更改上面配置文件:redis.xml
      <bean id="redisTemplate"
      	          class="org.springframework.data.redis.core.RedisTemplate"
      	          p:connection-factory-ref="connectionFactory"
      	        p:keySerializer-ref="stringSerializer"
      	        p:valueSerializer-ref="jdkSerializer"/>
      	
      <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" id="stringSerializer"/>
      <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" id="jdkSerializer"/>
      
      在这里插入图片描述
      从上图来看,修改序列化器之后,key已经不再乱码了,但是值又乱码了。按照上面的分析可以将value的序列化器改为StringRedisSerializer就不会乱码了。

    SpringBoot操作Redis

    上面我们已经介绍了原生Jedis操作Redis与SpringData-Redis操作Redis,虽然没有讲大量的API,但是我们已经学会怎么使用了,剩下的就是大家自己来操作API实现效果了。接下来再介绍在SpringBoot中如何操作Redis。不管是SpringData-Redis,还是在SpringBoot中,都是通过RedisTemplate操作Redis,只不过SpringBoot做了更多的封装,让我们操作Redis更加简便。接下来先介绍RedisTemplate。

    RedisTemplate

    1. RedisTemplate只是提供操作Redis的模板API,底层还是使用Redis Java客户端来实现。
      在这里插入图片描述
    2. 这里说一个细节,SpringBoot2.0之前默认是使用Jedis客户端底层实现,SpringBoot2.0之后就改为使用Lettuce客户端底层实现,如果需要在SpringBoot2.0之后使用Jedis,则需要排除Lettuce依赖,如下所示:
      <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>3.1.0</version>
      </dependency>
      <dependency>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-data-redis</artifactId>
      	<exclusions>
      	    <exclusion>
      	        <groupId>io.lettuce</groupId>
      	        <artifactId>lettuce-core</artifactId>
      	    </exclusion>
      	</exclusions>
      </dependency>
      
    3. 接下来配置Redis连接池,SpringBoot省去了繁杂的XML配置,直接在application.properties配置即可。
      #redis配置
      #Redis服务器地址
      spring.redis.host=127.0.0.1
      #Redis服务器连接端口
      spring.redis.port=6379
      # Redis服务器连接密码(默认为空)
      spring.redis.password=
      #Redis数据库索引(默认为0)
      spring.redis.database=0  
      #连接池最大连接数(使用负值表示没有限制)
      spring.redis.jedis.pool.max-active=50
      #连接池最大阻塞等待时间(使用负值表示没有限制)
      spring.redis.jedis.pool.max-wait=3000ms
      #连接池中的最大空闲连接
      spring.redis.jedis.pool.max-idle=20
      #连接池中的最小空闲连接
      spring.redis.jedis.pool.min-idle=2
      #连接超时时间(毫秒)
      spring.redis.timeout=5000ms
      
    4. 编写测试代码,测试配置是否成功。
      @RunWith(SpringRunner.class)
      @SpringBootTest
      public class AppTest {
      
          @Autowired
          private StringRedisTemplate stringRedisTemplate;
      
          @Test
          public void test(){
              stringRedisTemplate.opsForValue().set("name","zwq");
              System.out.println(stringRedisTemplate.opsForValue().get("name"));
          }
      }
      运行结果:
      	zwq
      
    5. 上面使用的是StringRedisTemplate,它继承了RedisTemplate,从名字看它就是支持Value为String类型的读写操作,也就是Value使用了StringRedisSerializer序列化器,截图验证:
      在这里插入图片描述
      在这里插入图片描述
    6. 我们验证读写对象会不会出现之前使用SpriingData-Redis的乱码问题,编写一个用户实体类
      @Data
      public class User implements Serializable {
          private String name;
          private Integer age;
      }
      
    7. 上面都已经配置好了,所以直接编写测试代码即可。
      @Test
      public void saveUser(){
          User user = new User();
          user.setName("zhangsan");
          user.setAge(22);
          redisTemplate.opsForValue().set("zhangsan",user);
          User zhangsan = (User) redisTemplate.opsForValue().get("zhangsan");
          System.out.println(zhangsan);
      }
      运行结果:
      	User(name=zhangsan, age=22)
      
    8. 在程序代码中读写也是没问题,但是写入到Redis服务器上就乱码了。
      在这里插入图片描述
    9. 这个原因也是序列化与反序列化过程中产生的问题,接下来开始指定序列化器。在SpringBoot中没有了xml配置,所以需要编写一个配置类来配置序列化器,如下代码:
      @Configuration
      public class RedisCnfig {
      
          @Autowired
          RedisConnectionFactory factory;
      
          @Bean
          public RedisTemplate<Object, Object> redisTemplate() {
              RedisTemplate redisTemplate = new RedisTemplate();
              redisTemplate.setConnectionFactory(factory);
              //StringRedisSerializer序列化器
              StringRedisSerializer stringRedisSerializer =new StringRedisSerializer();
              //JdkSerializationRedisSerializer序列化器
              JdkSerializationRedisSerializer jdkRedisSerializer = new JdkSerializationRedisSerializer();
              redisTemplate.setValueSerializer(jdkRedisSerializer);
              redisTemplate.setKeySerializer(stringRedisSerializer);
              redisTemplate.afterPropertiesSet();
              return redisTemplate;
          }
      }
      
    10. 再执行上面测试代码,发现key已经不乱码了,而Value还是出现乱码。
      在这里插入图片描述
    11. 通过把Value的序列化器修改为JSON序列化器,也就是对象与JSON之间的转换,这样就可以解决乱码的问题。
      @Configuration
      public class RedisCnfig {
      
          @Autowired
          RedisConnectionFactory factory;
      
          @Bean
          public RedisTemplate<Object, Object> redisTemplate() {
              RedisTemplate redisTemplate = new RedisTemplate();
              redisTemplate.setConnectionFactory(factory);
              //StringRedisSerializer序列化器
              StringRedisSerializer stringRedisSerializer =new StringRedisSerializer();
              //JdkSerializationRedisSerializer序列化器
              JdkSerializationRedisSerializer jdkRedisSerializer = new JdkSerializationRedisSerializer();
              //Json序列化器
              GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
      //        redisTemplate.setValueSerializer(jdkRedisSerializer);
              redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
              redisTemplate.setKeySerializer(stringRedisSerializer);
              redisTemplate.afterPropertiesSet();
              return redisTemplate;
          }
      }
      
      除了改配置之外,还需要引入下面依赖。
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.5.4</version>
      </dependency>
      
    12. 再执行上面的测试代码,发现Key、Value都不会乱码了。
      在这里插入图片描述

    总结

    1. 这样就把Java操作Redis的技术讲完了,还是和上面说了,这里讲的API比较少,我们还是得自己敲,把API练熟悉了,才能把Redis运用自如,虽然我也还没把Redis运用自如。
    2. 大家觉得OK的话,不妨来个👍或者关注也行。
    展开全文
  • 2017年Python从入门到实战教程

    千人学习 2017-05-03 20:12:33
    通过《2017年Python从入门到实战教程》这系列课程,大家可以掌握python开发。适合任何初级或者转行的人学习。
  • Flutter从入门到实战

    万次阅读 热门讨论 2018-05-28 00:06:52
    Flutter从入门到实战 Flutter概述  Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。  Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高...

    Flutter从入门到实战

    这里写图片描述

    Flutter概述

    Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。
      Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。
      无需移动开发经验即可开始使用。应用程序是用Dart语言编写的,如果您使用过Java或JavaScript之类的语言,则该应用程序看起来很熟悉。使用面向对象语言的经验绝对有帮助,但一些Flutter应用程序甚至是没有编程经验的人写的!

    Flutter的优势

    • 提高开发效率
      • 同一份代码开发iOS和Android
      • 用更少的代码做更多的事情
      • 轻松迭代
        • 在应用程序运行时更改代码并重新加载(通过热重载)
        • 修复崩溃并继续从应用程序停止的地方进行调试
    • 创建美观,高度定制的用户体验
      • 受益于使用Flutter框架提供的丰富的Material Design和Cupertino(iOS风格)的widget
      • 实现定制、美观、品牌驱动的设计,而不受原生控件的限制

    Flutter环境搭建

    Flutter可以在Windows、MacOS、Linux操作系统都可以安装,本文主要以MacOS为例。

    Flutter 安装

    1、获取Flutter SDK

    1、首先,点击下面的链接下载flutter SDK

    2、将下载的flutter解压到指定目录,在终端执行下面命令

    $ cd ~/development
    $ unzip ~/Downloads/flutter_macos_v0.4.4-beta.zip
    

    3、添加flutter到环境变量
    在终端执行第一句,打开配置文件,然后在末尾加上flutter的环境变量,然后再编译配置文件使之生效。

    $ open -e .bash_profile
    $ export PATH=`pwd`/flutter/bin:$PATH
    $ source .bash_profile
    

    2、设置IOS

    1、安装Xcode

    1、通过App Store下载安装Xcode 9.0以后的版本。
    2、配置Xcode命令行工具以使用新安装的Xcode版本 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    3、确保Xcode许可协议是通过打开一次Xcode或通过命令sudo xcodebuild -license同意过了。
    使用Xcode,您可以在iOS设备或模拟器上运行Flutter应用程序。

    2、设置IOS 模拟器

    如果要在IOS模拟器上测试程序,请按一下步骤:
    1、在终端输入命令打开模拟器 open -a Simulator
    2、检查模拟器中的设置,确认模拟器是64位版本并且不低于Iphone5s
    3、根据您的开发机器的屏幕大小,模拟的高清屏iOS设备可能会使您的屏幕溢出。在模拟器的 Window> Scale 菜单下设置设备比例
    4、运行flutter run启动您的应用。

    3、安装到IOS 设备

    要将您的Flutter应用安装到iOS真机设备,您需要一些额外的工具和一个Apple帐户,您还需要在Xcode中进行设置。
    1、安装 homebrew (如果已经安装了brew,跳过此步骤)。
    2、打开终端并运行这些命令来安装用于将Flutter应用安装到iOS设备的工具

    brew update
    brew install --HEAD libimobiledevice
    brew install ideviceinstaller ios-deploy cocoapods
    pod setup
    

    如果这些命令中的任何一个失败并出现错误,请运行brew doctor并按照说明解决问题。

    3、安装Android Studio

    至于安装Android Studio及相关环境变量的配置,这个就很简单了,这里就不做说明了。有一点就是在Android Studio安装完成之后要安装Flutter插件;步骤Preference>plugins>Browes repositories 搜索Flutter 安装并重启Android Studio,就OK了。

    检查Flutter环境配置

    如果您做完了上述的所有准备工作,那么我们可以在终端运行一下命令检查环境是否OK。

    flutter doctor
    

    如果出现下面的结果说明已全部安装完成

    [✓] Flutter (Channel beta, v0.4.4, on Mac OS X 10.13.4 17E202, locale zh-Hans-CN)
    [✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    [✓] iOS toolchain - develop for iOS devices (Xcode 9.3.1)
    [✓] Android Studio (version 3.1)
    [✓] Connected devices (2 available)
    • No issues found!
    
    踩过的坑
    Missing Xcode dependency: Python module “six”.

    如果有其他问题按照提示一步一步做就可以了。不过我遇到一个很坑的东西,就是明明已经安装了Python但是提示说Missing Xcode dependency: Python module "six".按照提示安装sudo easy_install six但是又提示已安装。找了好久最终在GitHub上找到解决办法,就是在终端执行下面的命令,在此附上链接解决办法

    $ python2.x -m pip install six by
    or
    $ brew reinstall python@2
    $ pip install six
    

    Flutter实战

    前面介绍了好多可能大家没啥概念,光说不练假把式,下面我们就来构建一个简单的Flutter工程。
    如果我们Android Studio 安装了Flutter插件,那么我们打开Android Studio 的时候会看到如下图所示有,第二行多了一个start a new Flutter project
    这里写图片描述
    点击我们创建一个新的Flutter程序
    这里写图片描述
    这里写图片描述
    我们创建完进入编辑界面后,我们可以看到主要有4块区域:
    1、工程文件目录.
    2、构建区域在这里可以选择,运行IOS Android 模拟器。
    这里写图片描述
    3、Flutter 程序当前页面的组件树,Flutter 程序的核心原则是一切都是组件(Widget),所以他的所有都是组件。
    4、dart语法分析,我们通过前面的介绍知道,Flutter程序是通过dart语言来写的。

    这样创建完成之后,我们会看到lib目录下有一个main.dart文件,这个就是源代码:

    import 'package:flutter/material.dart';
    
    void main() => runApp(new MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new MaterialApp(
          title: 'Flutter Demo',
          theme: new ThemeData(
        
            primarySwatch: Colors.blue,
          ),
          home: new MyHomePage(title: 'Flutter Demo Home Page'),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
      MyHomePage({Key key, this.title}) : super(key: key);
    
      final String title;
    
      @override
      _MyHomePageState createState() => new _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      int _counter = 0;
    
      void _incrementCounter() {
        setState(() {
          _counter++;
        });
      }
    
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
            title: new Text(widget.title),
          ),
          body: new Center(
            child: new Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                new Text(
                  'You have pushed the button this many times:',
                ),
                new Text(
                  '$_counter',
                  style: Theme.of(context).textTheme.display1,
                ),
              ],
            ),
          ),
          floatingActionButton: new FloatingActionButton(
            onPressed: _incrementCounter,
            tooltip: 'Increment',
            child: new Icon(Icons.add),
          ), 
        );
      }
    }
    

    这段代码其实很简单,首先我们看到main()函数调用了runAPP(),这里简单说下

    runApp函数接受指定的控件(Widget),并使其作为控件树(widget tree)的根控件。
    

    runAPP的入参是下面定义的MyAPP,在MyAPP里面创建了_MyHomePageState的对象作为首页,我们可以看到下面_MyHomePageState里面定义了中间是两个个Text ,底部是一个floatingActionButton。关于dart的语法后续文章详细说明,这里就简单了解一下这个demo:就是点击一次下面的悬浮按钮,中间的数字会加1。
    完了之后我们就可以运行,根据上面的介绍我们选择模拟器运行,如下图所示:
    这里写图片描述

    小结

    总的来说Flutter入门还是非常简单的,dart语法也比较容易上手,个人觉得是一项非常不错的技术。以上如有哪些写的不对的地方欢迎指正。最后附上几个Flutter学习的相关链接
    flutter官网
    flutter中文开发者论坛
    dart中文社区
    demo源码地址

    推荐

    大前端时代,跨端的战斗开始!
    下面为大家推荐一门课程限时1元,赶快扫码领取吧!
    在这里插入图片描述

    展开全文
  • 基础的法入门到蜕变实战案例、神秘前沿技术清晰的实践步骤,可以说CSDN是你找寻资料的最佳宝库,只要你想得到,在这里就可以找得到! 今天我们就来深拔一期有质量的专栏和资源,这些专栏作者可能有些是在校大...

    前言

    CSDN 是全球知名的开发者社区,创建于1999年,经过20来年的知识文档积累已然成为中文开发者的知识宝库;从基础的法入门到蜕变实战案例、从神秘前沿技术到清晰的实践步骤,可以说CSDN是你找寻资料的最佳宝库,只要你想得到,在这里就可以找得到!

    今天我们就来深拔一期有质量的专栏和资源,这些专栏作者可能有些是在校大学生、有些是某领域内的行内大牛,但并不影响他们的文章通俗易懂并且富有深度。从在校大学生我们看到了新一代的奋进,从领域大牛身上我们也看到了无私的技术分享,希望有质量的文章越来越多,共同为行业的进步出一份力。

    宝藏图鉴

    CSDN知识宝藏第一期

    宝藏链接

    作者及干货介绍

    启蒙阶段

    方向: C语言
    作者: 1_bit

    作者介绍: CSDN博客专家、蓝桥签约作者、2020年博客之星TOP5、CSDN新手导师。

    专栏链接: 大话系列之C语言

    专栏介绍: 对话模式的教学、幽默、有趣,深受好评!
    ————————————————————————————

    方向: JAVA
    作者: 布小禅

    作者介绍: 哈喽大家好,我是布小禅,一个网络专业却对编程极其感兴趣的IT小白,目前在学习Java,以自学为主,B站,C站为辅,期待你的关注,每天跟着我进步一点点,日后,可能我们就是大佬了哦。

    专栏链接: Java基础入门

    专栏介绍: 本专栏适合于零基础小白学习Java(因为博主本人也是零基础小白),以幽默风趣的,容易理解的语言,讲述Java基础内容,看了我的专栏,你绝对会对Java有一个自己的理解。不过因为博主水平有限,本专栏仅供入门!
    ————————————————————————————

    方向: Python+图像识别
    作者: 梦想橡皮擦

    作者介绍: 梦想橡皮擦之擦姐,游戏行业研发出身,现任某千万月活 APP 产品经理。她有10年互联网从业经验,写过代码,干过测试,做过管理,创过业。曾2019年主导 Python 爬虫 100 例专栏,是2020年滚雪球学 Python 发起者,也是2021年 Python OpenCV 365 天取经计划发起者。

    专栏链接:

    专栏介绍: 从本篇博客开始,我将真正的从 0 到 1,完完整整给你写一套 Python 语言的教程,把如何快速学会 Python 技巧告诉你。 滚雪球学 Python,力求在知识面完整的程序上,用轻松的文风为大家献上 Python 学习的盛宴,使用爬虫进行实战,100个案例助你成为爬虫高手,后期进阶到 OpenCV,365 天完成国内顶尖的 Python OpenCV 自学之旅,与橡皮擦一起来吧。
    ————————————————————————————

    嵌入式

    方向: 嵌入式系统
    作者: 卓晴

    作者介绍: 清华大学自动化系教师、卓晴博士、全国大学生智能车竞赛总舵主。

    专栏链接:

    专栏介绍: 详解、实战!
    ————————————————————————————

    桌面应用

    方向: PyQt
    作者: LaoYuanPython

    作者介绍: 老猿Python,武汉某企业支撑系统开发主管,从事业务架构及系统架构设计工作。1997年7月武汉大学软件工程国家重点实验室硕士研究生毕业,曾有几十万行C语言开发经验,早年曾和人合作通过反汇编NetWare3.X操作系统代码分析NetWare3的工作机制,相关成果《NetWare3.X深入剖析—工作站与服务器外设篇》1996年在清华大学出版社出版发行。

    他从2019年4月开始开通博客,在不到两年时间内就发表了近1000篇原创,有很多内容有独特见解,特别是在Python基础知识、PyQt、Moviepy、5G以及OpenCV-Python方面有很多剖析,很多发布内容是已有公开资料中没有的。开通的博客专栏文章内容详尽、由浅入深,结合自己的学习体会和总结,适合从零基础开始学习并掌握一定深度的知识。

    专栏链接: 使用PyQt开发图形界面Python应用

    专栏介绍: Qt是跨平台的C++图形界面开发平台,开发的应用可以跨平台使用,PyQt是基于Qt基础之上进行的Python封装,既能利用Qt图形界面开发的便捷性和内部实现的高效性,又能利用Python语言的便捷性和优雅特色。本课程介绍基于Qt Designer的图形设计来实现Python图形界面开发。
    ————————————————————————————

    方向: Qt
    作者: 沉迷单车的追风少年

    作者介绍: C/C++领域新星创作者。

    专栏链接: Qt开发

    专栏介绍: 由浅入深,从最基础的Qt控件、信号与槽、隐式共享布局管理等知识点讲起,一步步深入,学习颜色对话框、文件对话框、分割窗口、停靠窗口、堆栈窗口、可隐藏对话框等Qt特有控件。最后实战阶段,大量的Qt实战项目:音乐播放器、简易浏览器、疫情确诊软件、密码登录系统、多线程下载等,带你在实战中夯实基础,玩转Qt开发!。
    ————————————————————————————

    人工智能+数据分析

    方向: Python+TensorFlow
    作者: Eastmount

    作者介绍: 自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授给自己的学生,帮助更多陌生人。现于武汉大学攻读博士学位。 贵州纵美路迢迢,为负劳心此一遭。收得破书三四本,也堪将去教尔曹。娜美人生,醉美生活。他和她经历风雨,慢慢变老。

    专栏链接: Python+TensorFlow人工智能

    专栏介绍: 该专栏为人工智能入门专栏,采用Python3和TensorFlow实现人工智能相关算法。前期介绍安装流程、基础语法、神经网络、可视化等,中间讲解CNN、RNN、LSTM等代码,后续复现图像处理、文本挖掘、自然语言处理、语音识别、目标检测等应用。基础性文章,希望对您有所帮助~
    ————————————————————————————

    方向: Python+数据分析
    作者: 据分析与统计学之美

    作者介绍: 统计学硕士,写了5个原创文档,下载量1W+ 同时,每一篇原创都是很用心的去写作,只希望我们都能通俗易懂的学到新知识。

    专栏链接: python数据分析实战

    专栏介绍: 该专栏为人工智能入门专栏,采用Python3和TensorFlow实现人工智能相关算法。前期介绍安装流程、基础语法、神经网络、可视化等,中间讲解CNN、RNN、LSTM等代码,后续复现图像处理、文本挖掘、自然语言处理、语音识别、目标检测等应用。基础性文章,希望对您有所帮助~
    ————————————————————————————

    后端

    方向: 量化
    作者: 我是小白呀

    作者介绍: 来自纽约山沟沟的孩子, 平平无奇的程序员. 现就读于麻省大学金融系, 自学计算机和人工智能. 励志为开源社区献出自已一份微薄的力量. 人是为明天活着, 因为记忆中有朝阳晓露。

    专栏链接: 量化基础到我要拿 Python 炒股票, 然后惊呆所有人!

    专栏介绍: 该专栏为量化交易专栏, 使用 python 语言,借助统计学和数学的方法, 以及机器学习的基础内容, 利用计算机技术来进行股票交易. 基础部分为知识点讲解. 实战内容为策略实战, 实现策略选股跑赢大盘. 躺在家里日入三千, 从此不再是梦!
    ————————————————————————————

    方向: 大数据
    作者: webmote

    作者介绍: 一位资深系统架构师、70后大龄码农、擅长.net core、微服务、前端Vue、大数据ETL、系统DevOps运维、CentOS等,关注我,和我一起平坑码代码,组团打怪兽。

    专栏链接: 数据对接-ETL之StreamSet学习之旅

    专栏介绍: StreamSets是一款小白都易上手的,专注于DataOps的低代码大数据ETL开源开发平台,本专栏主要介绍StreamSets的各种场景的使用,手把手帮你从入门到高阶应用。
    ————————————————————————————

    方向: 服务端
    作者: 雨果虾滑猫

    作者介绍: CSDN博客专家,Gitchat专栏作者,付费专栏《PHP问题集锦》。

    专栏链接: php问题解决方案

    专栏介绍: PHP的开发过程中遇到的问题多且复杂,本专栏经过长期积累,总结了大量实际工作中遇到的问题。专栏问题收集包括PHP基础、Yii、Yii2、整合第三方支付、第三方登录等实际项目开发中遇到的难点。
    ————————————————————————————

    方向: 服务端
    作者: 低代码布道师

    作者介绍: 项目管理岗位,擅长协同办公软件的实施与管理,有过十年以上的政务协同办公软件的实施经验。深入学习过小程序云开发,目前专注于低代码领域,作为低代码布道师,负责公众号基础技术文章的编制,期望通过布道让普通人也可以掌握低代码技术,为企业的数字化贡献自己的智慧。

    专栏链接: 腾讯云开发

    专栏介绍: 在日常的互联网应用中,我们使用小程序可以很方便的给商家搭建电商小程序,用于商品的展示、购买。但是小程序主要是面向的顾客,我们还需要给商家提供一套运营管理的后台。如果使用传统方法搭建,我们需要租用服务器,部署SSL证书,搭建中间件,安装数据库等一系列操作,无形中大大增加了实施和运维成本。为了解决搭建效率和费用的问题,本文利用流程的前端技术VUE结合腾讯云提供的后台SDK,可以快速的搭建商家的运营管理后台。
    ————————————————————————————

    方向: 服务端
    作者: 雷学委

    作者介绍: 从业十年余,目前担任高级技术顾问&大数据全栈工程师,主攻大数据可视化生态架构与实施。曾在DevOpsDay国际论坛发表技术演讲,也多次被其他技术组织邀请参与专家讨论,如华为云圆桌会,数说研讨会等。本人平时也广泛学习阿里云栖,InfoQ,腾讯云等大会,线上涉猎丰富,另外也在拓展AI和数据分析算法领域。个人技能涉及大数据全栈、微服务平台架构、DevOps技术栈,自主研发设计过DevOps运维体系,以及大数据分析微服务平台,另外也研发设计过:分布式链路跟踪,自动化作业框架,数据溯源系统架构等。坚持持续学习持续开发,掌握多种编程语言(Java/JS/Python/Scala)和框架。

    专栏链接: 雷学委NodeJS系列

    专栏介绍: 一部能让新手小白能快速入门到精通全栈开发的完全指南。同时,专栏配套了完整丰富的实例代码和文档解析。另外也涉及到开发经验和技术原理的分享,行文风格和代码风格都是极简精准,帮助开发者高效提升开发认知和丰富实践。可以说是,NodeJS开发成神必备。
    ————————————————————————————

    方向: 量化
    作者: 云金杞

    作者介绍: Quant\Econometricians\Programmer\MFIn\CIIA\FRM\CFP。

    专栏链接: 量化投资神器-backtrader源码解析-从入门到精通列

    专栏介绍: 不保证学了一定会赚钱,但是学了您能有更大的可能性赚钱。 您能够更好的了解python的内在机制; 您能够了解backtrader的每个细节; 您能够学会使用backtrader做各种回测; 您能够使用backtrader实现量化交易。
    ————————————————————————————

    方向: 量化
    作者: 技术宅星云

    作者介绍: 技术宅星云(网名),英文名fairy,CSDN博客专家,先后曾在外企惠普,央企中航信工作, 目前担任北京蛙跳科技有限公司后端负责人,负责公司短视频和电商应用后台,擅长JAVA后端技术.。

    专栏链接: Spring Boot 2.x 最佳实践

    专栏介绍: Spring Boot 与各种技术栈整合示例实战教程。
    ————————————————————————————

    方向: 大数据Scala
    作者: Lansonli

    作者介绍: 知名互联网公司高级开发工程师,专注大数据和后端开发,致力成为优秀架构师。

    专栏链接: Scala

    专栏介绍: scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程。
    ————————————————————————————

    方向: java 服务器
    作者: 香菜聊游戏

    作者介绍: 我是香菜,做了十年的游戏服务器,做过码农、创过业。

    专栏链接: 游戏系统设计

    专栏介绍: 这个专栏主要是写游戏服务端子系统的设计,包括任务系统,资源系统,监控系统,抽奖系统,热更系统,邮件系统等等,一周一篇,全部实战代码,展示设计思想和思路,最后给出全部线上源码,带你从0到1实现游戏服务端的源码。

    ————————————————————————————

    算法

    方向: C/C++
    作者: 程序猿是小贺

    作者介绍: 爱学习、知上进、善沟通、懂感恩。

    专栏链接: 数据结构入门

    专栏介绍: 入门级数据结构教程,手把手带领大家学习并了解各种数据结构及基础算法,帮助大家建立初步的算法思想,在成长的路上我们并肩前行,一起迈向更广阔的的天空。
    ————————————————————————————

    方向: C/C++
    作者: 爱做梦的鱼

    作者介绍: 东北大学大数据实验班大三学生,秋招求职中,斩获腾讯、华为、京东、美团等多家offer。我好菜啊,菜得我难过!

    专栏链接:

    专栏介绍: 蓝桥杯各年模拟题及真题。
    ————————————————————————————

    方向: C/C++
    作者: 夜深人静写算法

    作者介绍: 三年ACM,校集训队队长,亚洲区域赛金牌,世界总决赛简单去了一趟,拿不拿奖不重要,重在参与嘛。曾就职网易多年,目前在字节,从前现在将来的愿景是:让天下没有难学的算法!!

    专栏链接: 夜深人静写算法

    专栏介绍: 初高中OI竞赛,大学ACM竞赛,求职面试通用算法。
    ————————————————————————————

    AI医学

    方向: AI医学
    作者: DrugAI

    作者介绍: AI医学博士,国内最大AI医学公号号主,关注人工智能与化学、生物、药学和医学的交叉领域进展,提供“原创、专业、实例”的解读分享。

    专栏链接:

    专栏介绍:

    • RDKit是开源化学信息学与机器学习工具包。本专栏主要介绍RDKit在化学信息学和药学领域的应用:分子读写、分子指纹和描述符、构象与骨架分析、亚结构搜索、聚类分析和化学空间探索、药效团、化学反应、化学信息学数据挖掘以及机器学习、深度学习和人工智能在化学、药学和生物学领域的应用。
    • 人工智能(AI)在化学、生物、医学和药学等领域的应用

    ————————————————————————————

    游戏

    方向: Unity
    作者: God Y.

    作者介绍: 我是God Y.,一名CSDN博主,也是一名世界第九艺术从业者(游戏),同时也是一名来自世界上最强国家进行秃头活动的青年。目前主要关注Unity引擎的项目开发引用,C#、Unity、游戏、VR、AR、安卓都有涉猎。未来很长,一起努力。

    专栏链接: Unity基础知识学习

    专栏介绍: Unity是一个游戏引擎,截至目前为止国内市场市面上70% 以上的手游都是Unity引擎做的。例如王者荣耀、炉石传说等等。本专栏从Unity入门开始,介绍了Unity的故事背景、基本Unity使用教程,Unity新手使用心得等,让你达到Unity的基本入门水平。有了新技术后续也会更新。

    ————————————————————————————

    方向: Java
    作者: 编程界明世隐

    作者介绍: 编程界明世隐 从事Java开发多年,精通Java及各种框架、擅长web开发,对java游戏情有独钟,可谓编程界最强辅助,小AD直接起飞,和我一起冲冲冲!

    专栏链接: Java游戏实例大全

    专栏介绍: 博主自己精心开发的Java小游戏,扫雷、坦克大战、植物大战僵尸、飞机大战、连连看、俄罗斯方块等,文章预计至少15篇,持续更新中。

    ————————————————————————————
    方向: unity
    作者: 陈言必行

    作者介绍: 关注我,有问题一定要私聊我。我是一个从事游戏开发行业的U3D程序猿。CSDN博客专家,5年+编程经验,帮你解惑,助你日常不加班。

    专栏链接: Unity 之 UGUI控件详解

    专栏介绍: Unity 之 UGUI相关子控件详解专栏,系统的整理了UI子控件的属性功能,不用再为寻找某一用法,奔走于各大网站啦!快来关注吧!

    ————————————————————————————

    方向: unity
    作者: 林新发

    作者介绍: 坚持和努力的人才会有旁人所说的幸运! 我的GitHub: https://github.com/linxinfa 我的gitee: https://gitee.com/linxinfa 我的CODE.CHINA:https://codechina.csdn.net/linxinfa。

    专栏链接: unity 宝藏级解决方案

    专栏介绍: Unity3D相关的知识、技术、踩坑、经验。

    ————————————————————————————

    前端

    方向: Vue
    作者: 一百个Chocolate

    作者介绍: 我是 Chocolate,2021届本科生,就职于腾讯,CSDN博客专家,全网同名【一百个Chocolate】,目前从事于前端领域,JS,LeetCode,Vue,React,算法爱好者。座右铭:学如逆水行舟,不进则退!保持狮子座的热情与阳光,与大家持续学习,共奋进!把学习当做一种习惯,受益终身!希望关注我的小伙伴能够喜欢我的文章。2020年经历了春秋招坎坷的历程,有着丰富面试经验,面试复盘总结都记录在博客里,大家可以参考避免踩坑。

    专栏链接: 小狮子前端Vue进阶小册

    专栏介绍: 知识体系设计完善,通俗易懂,带你了解前端,搞定前端!适合了解前端的大致知识框架、面试求职、了解大厂知识点的 Coders。

    ————————————————————————————

    方向: JavaScript
    作者: 余光、

    作者介绍: 一旦走出舒适区,你内心的痛点才是促使你前行的动力。

    专栏链接: JavaScript基础内功

    专栏介绍: 本系列是按照知识吸收的难度排列的,结合思维导图、代码分析、面试真题,帮你一次性建立前端基础知识体系。为未来的进阶打好坚实的基础。10篇万字干货外加面试真题总结,包裹基本类型、作用域、函数执行、原型原型链等等,涵盖了前端知识体系的所有基础知识点和面试高频考点。

    ————————————————————————————

    安全

    方向: 渗透
    作者: 冰 河

    作者介绍: 冰河,《海量数据处理与大数据技术实战》,《MySQL技术大全:开发、优化与运维实战》作者,基于最终消息可靠性的开源分布式事务框架mykit-transaction-message作者。多年来致力于分布式系统架构、微服务、分布式数据库、分布式事务与大数据技术的研究。在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架构经验。对Hadoop,Storm,Spark,Flink等大数据框架源码进行过深度分析,并具有丰富的实战经验。

    专栏链接: 冰河的渗透实战笔记-冰河.pdf

    专栏介绍: 冰河整理的全网首个开源的以实战案例为背景的渗透实战笔记,全书共442页,共计37万字(不计空格)。整本书的内容涵盖:Kali基础、渗透工具、木马制作、钓鱼链接生成、爆破密码、内存溢出攻击、web渗透、数据提权、社会工程学。

    ————————————————————————————

    运维+SEO+可视化+软件工程

    方向: 运维
    作者: 互联网老辛

    作者介绍: 互联网老辛,CSDN博客,致码科技CEO,天使投资人,互联网公司从业12年,曾任职运维架构师,技术VP等职位,自由职业后,直接或间接帮助需要面试的做就业辅导和职业规划,偶尔也会去投资企业客串岗位,目前已帮助近3000名小伙伴做过职业辅导和岗位内推。

    专栏链接: 运维面试秘籍

    专栏介绍: 《运维面试宝典》 这个专栏,是对近1年的学员面试的总结,涵盖了从技术问题到HR问题的方方面面,系统的教你如何避坑,防止因为沟通的问题导致面试的失败。
    专栏设置的主要目的,是帮助更多的小伙伴不因为面试这个环节而错失入职的机会,同时也会有部分职场的内容,帮助更多小伙伴轻松应对职场。同时,在专栏里总结了很多的方法论,可以让教你更好的准备一份简历,准备一份面试,拿到高薪offer, 因为学习这份专栏入职腾讯云,阿里云的小伙伴比比皆是。
    专栏一共80篇文章,后续会根据小伙伴的面试情况或者遇到的问题随时更新,因为每年的面试题都会有变化,所以专栏会持续更新。

    ————————————————————————————

    方向: 可视化
    作者: diviner_s

    作者介绍: 一个靠自学为主,普通本科大二在读的大学生,大数据专业,略懂算法参加过算法比赛,目前正在学习数据可视化相关技术、数据分析、机器学习,致力于在大数据领域更进一步!

    专栏链接: 数据可视化_Echarts

    专栏介绍: 系基于Echarts技术数据可视化分析,该专栏从Echarts基础图标开始一步一步介绍,从图表到布局,从前端到后端,从简单图表到复杂图表的运用。该专栏当前项目将前后端分离,旨在前端数据实时更新。持续继续更新中~

    ————————————————————————————

    方向: 软件工程
    作者: 星期一研究室

    作者介绍: CSDN前端博主 | 星期一研究室,穿梭于前端开发的学习永动机。不止步于捣鼓前端,软件工程,产品分析也爱玩。擅长将艰深晦涩的知识用图文并茂、大白话的方式进行讲解。

    专栏链接: 软件工程

    专栏介绍: 每个软件都有它的架构体系,不是凭空想象就能开发出来的,没有经过设计的软件一般都会存在着诸多问题,包括但不限于数据库设计不合理、需求不断变更等等问题。基于一定的软件工程基础知识做铺垫,能更合理、更高效的设计出一款软件。如果你正在准备软考,这个系列文章可以帮你打牢软考必备知识的基础。如果你正在往软件项目管理的方向走,软件工程系列文章或许有你想要的答案。

    ————————————————————————————

    方向: SEO
    作者: 海拥

    作者介绍: 一个爱好计算机科学,求索于逻辑思维的同时不忘哲学和浪漫主义等人文科学,致力于自然科学之计算机科学和人文科学之哲学与浪漫主义共同发展,永远处于学习进行时并乐于分享技术与快乐的博主。 博文涉及Java、HTML CSS Javascript、数据库、数据结构、微信小程序,SEO(搜索引擎优化),信息安全与密码学等等。 希望我的博文和不定时的blink能帮到你。

    专栏链接: SEO优化秘籍

    专栏介绍: SEO的完整意义和过程随着读者阅读本专栏会越来越清晰。这里只对定义做简单说明。在某种意义上看,SEO是网站、搜索引擎及竞争对手三方博弈的过程。做SEO,虽然不需要细致了解搜索引擎的技术细节,但理解搜索引擎的基本工作原理是必需的,不然只能是知其然,而不知其所以然,不能从根本上理解SEO技巧。

    ————————————————————————————

    敬请期待下一期宝藏干货吧~

    展开全文
  • Gradle从入门到实战 - Groovy基础

    万次阅读 多人点赞 2017-07-25 17:29:04
    Android方向的第一期文章,会专注于Gradle系列,名字叫做『 Gradle从入门到实战』,计划有如下几个课程: Groovy基础 全面理解Gradle 如何创建Gradle插件 分析Android的build tools插件 实战01完成一款...
  • Redis从入门到实战:进阶篇

    千次阅读 2020-04-02 16:57:24
    最近花了一周时间复习巩固Redis,打算写几篇博客记录、分享所复习...Redis从入门到实战入门篇 Redis从入门到实战实战篇 Redis从入门到实战:进阶篇 Redis从入门到实战:完结篇 Redis从入门到实战:进阶篇 ...
  • Python框架Djanggo从入门到实战教程 Django是一个高级Python Web框架, 鼓励快速,简洁, 以程序设计的思想进行开发. 通过使用这个框架, 可以减少很多开发麻烦, 使你更专注于编写自己的app, 而不需要重复造轮子. Django...
  • Vue2.x从入门到实战

    万人学习 2018-01-01 08:26:42
    课程Vue2.x版本的入门,一直到实战课程共58集。包括内部指令、全局API、选项、实例和内置组件、Vue-cli、Vue-router、vuex。后有一门Vue实战,带你作一个快餐店的收银系统。
  • ShaderGraph从入门到实战

    千人学习 2019-09-23 14:15:17
    大智和你一起学习ShaderGraph,在实战中探索。 课程内容 ShaderGraph的基本使用 丰富的实战案例: · 全息效果 · 边缘光效果 · 溶解效果 · 积雪效果 · 扭曲效果 · 干扰效果 ·&...
  • Android物联网开发从入门到实战

    千次阅读 2019-07-29 10:31:28
    《Android物联网开发从入门到实战》内容分为5篇,共计17章,循序渐进地讲解了Android物联网开发的基本知识。 《Android物联网开发从入门到实战获取源码和搭建应用开发环境开始讲起,依次讲解了基础知识篇、...
  • 大数据从入门到实战 - 第3章 MapReduce基础实战

    千次阅读 多人点赞 2021-01-13 17:08:50
    大数据从入门到实战 - 第3章 MapReduce基础实战 一、关于此次实践 1、实战简介 2、全部任务 二、实践详解 1、第 1 关:成绩统计 2、第 2 关:文件内容合并去重 3、第 3 关:信息挖掘 - 挖掘父子关系 叮嘟!这里是小...
  • Python基础入门视频教程:本课程Python入门到纯Python项目实战。超100以上课时,内容非常详细,覆盖了Python知识的方方面面,学完后不仅对Python知识有个系统化的了解,更能利用Python做出类似于“密码加密存储...
  • Python编程从入门到实战

    千次阅读 2018-01-09 21:40:49
    Python编程从入门到实战 书中源码 地址:http://download.csdn.net/download/java_huilong/10197406 更多python视频资料:[http://120.55.52.75:8080/index]
  • PyTorch从入门到实战一次学会

    千人学习 2019-12-29 13:44:33
    【超实用课程内容】 本课程pytorch安装开始讲起,基本计算结构深度学习各大神经网络,全程案例代码实战,一步步带大家入门如何使用深度学习框架pytorch,玩转pytorch模型训练等所有知识点。最后通过 kaggle ...
  • Python入门到实战星选课
  • PHP开发从入门到实战教程分享

    千次阅读 2017-08-23 17:12:17
    PHP开发从入门到实战教程+海量配套资源分享,本教程是源码时代2017年最新推出的PHP开发基础班教程,知识点与时俱进,讲解独到,配备视频所涉及源码,值得每一个初学者下载学习!
  • PyTorch机器学习从入门到实战

    千次阅读 2018-11-05 10:57:30
    校宝在线出品的书籍《PyTorch机器学习从入门到实战》发售了! 购书链接:   内容简介 近年来,基于深度学习的人工智能掀起了一股学习的热潮。本书是使用PyTorch深度学习框架的入门书籍。本书深度学习原理...
  • Echarts视频教程从入门到实战

    千次阅读 热门讨论 2018-04-16 15:13:09
    Echarts视频教程从入门到实战 网盘地址:https://pan.baidu.com/s/1p-G9UbKmXFtnuJEdiLSw2w 密码:0e9u 备用地址(腾讯微云):https://share.weiyun.com/5sKBF8E 密码:4ms8rp 课程目标 可以让你快速零基础...
  • 基础的法入门到蜕变实战案例、神秘前沿技术清晰的实践步骤,可以说CSDN是你找寻资料的最佳宝库,只要你想得到,在这里就可以找得到! 今天我们就来深拔一期有质量的专栏和资源,这些专栏作者可能有些是在校大...
  • Linux程序设计从入门到实战

    千人学习 2019-05-11 23:20:25
    本门课程以Centos为实验环境,核心命令讲解,再gcc/gdb开发环境,直至覆盖460多个常用的类Unix/POSIX API。本课可以有效的节约初学者上手Linxu操作系统的时间。同时,课程结合GNU的开源代码,仿真实现...
  • 《Hive零基础从入门到实战》连载目录

    千次阅读 多人点赞 2019-07-14 21:14:51
    本文是Hive零基础从入门到实战系列的传送门,会持续更新直至本系列完结~ (一)入门篇 01. 环境搭建 02. Linux系统简单操作(上) 03. Linux系统简单操作(中) 04. Linux系统简单操作(下) 05. Hive常用...
  • SEO优化——从入门到实战 陈琪老师专注于SEO领域,从业近10年。 毕业于...
  • 难,浅入深,逐步带领大家了解Flutter,熟悉Flutter的组成部分,并且带领大家学习如何使用Flutter实现UI功能编写。通过对本视频的学习,你将会掌握Flutter常用组件和常用布局构建复杂布局、Flutter路由导航...
  • 人工智能从入门到实战, 轻松玩转PyTorch框架。 校宝在线出的新书《PyTorch机器学习从入门到实战》已由机械工业出版社出版!各大平台有售。 书籍详情(点击查看):机械工业出版社 | 亚马逊 | china-pub | 当当 |...
  • 搞定大数据平台:从入门到实战

    万人学习 2019-01-15 10:17:18
    本课程主要是构建大数据平台,包含目前大数据常用的所有技术组件的环境部署。所有技术组件的安装部署,都是手把手操作,不会出现跳讲和断讲,0基础同学也能一站式搞定大数据平台环境。
  • 2.正则表达式从入门到实战

    万次阅读 多人点赞 2021-02-22 11:41:05
    寻找规律 使用正则符号表示规律 提取信息 一、正则表达式的基本符号 二、在Python中使用正则表达式 三、正则表达式的提取技巧 ...选择一遍百度贴吧的热门帖子,抓取关键信息并保存文本中。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 172,322
精华内容 68,928
关键字:

从入门到实战