<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>fullstack &#8211; Spress</title>
	<atom:link href="https://en.spress.net/tag/fullstack/feed/" rel="self" type="application/rss+xml" />
	<link>https://en.spress.net</link>
	<description>Spress is a general newspaper in English which is updated 24 hours a day.</description>
	<lastBuildDate>Sun, 27 Jun 2021 05:40:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">191965906</site>	<item>
		<title>Baidu Smart Cloud[Cloud Intelligence One]white paper, what kind of full-stack AI development vision is built</title>
		<link>https://en.spress.net/baidu-smart-cloudcloud-intelligence-onewhite-paper-what-kind-of-full-stack-ai-development-vision-is-built/</link>
		
		<dc:creator><![CDATA[editor]]></dc:creator>
		<pubDate>Sun, 27 Jun 2021 05:40:06 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Baidu]]></category>
		<category><![CDATA[built]]></category>
		<category><![CDATA[CloudCloud]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fullstack]]></category>
		<category><![CDATA[Intelligence]]></category>
		<category><![CDATA[Kind]]></category>
		<category><![CDATA[Onewhite]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[smart]]></category>
		<category><![CDATA[Vision]]></category>
		<guid isPermaLink="false">https://en.spress.net/baidu-smart-cloudcloud-intelligence-onewhite-paper-what-kind-of-full-stack-ai-development-vision-is-built/</guid>

					<description><![CDATA[Technology from the media / Liu Zhigang In the era of digital economy, the application of AI and cloud computing technology has become the consensus of the development of all walks of life. With the further deepening of the integration of artificial intelligence and industry, the development of AI has temporarily become a phenomenon of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Technology from the media / Liu Zhigang</p>
<p>In the era of digital economy, the application of AI and cloud computing technology has become the consensus of the development of all walks of life. With the further deepening of the integration of artificial intelligence and industry, the development of AI has temporarily become a phenomenon of the times.</p>
<p>Recently, Baidu Smart Cloud released a series of white papers on the &#8220;Integration of Cloud and Intelligence&#8221; technology and application analysis, drawing a clear &#8220;map&#8221; for the future direction of enterprise AI technology development.</p>
<p>For the problem of how to go to the cloud and how to use AI empowerment in the intelligent upgrade of enterprises, the white paper gives the &#8220;optimal solution&#8221;: under the general trend of integration of cloud and intelligence, build a full-stack model of enterprise AI development.</p>
<p>Three keywords for future enterprise AI development: scenario first, independent innovation, efficiency is the key</p>
<p>An industrial study conducted by Tsinghua University shows that for a new technology to develop for a long time, it needs to be embedded in existing production factors and can continue to create value.</p>
<p>The same is true for companies developing AI technology. Whether a new technology can continue to develop is a prerequisite for self-consistent business. From an enterprise perspective, this is also the purpose of developing AI technology: to empower specific businesses.</p>
<p>Baidu&#8217;s &#8220;Cloud Intelligence One&#8221; white paper also reveals this point.</p>
<p>The white paper mentions: &#8220;The definition of requirements based on business scenarios is the basis for successful AI algorithm model development.&#8221; Baidu found in the process of serving companies that more than 80% of the requirements need to be customized according to actual application scenarios.</p>
<p>Reflected in the development of AI technology, a good AI development platform needs to consider the technology development environment that matches the application scenario.</p>
<p>We take Baidu’s AI development platform as an example. For actual business scenarios such as quality inspection, inspection, OCR, remote sensing image analysis, text classification processing, and product inspection, Baidu has built a series of algorithms, tools and components to help companies in AI During the development process, AI development oriented to scenarios and business was established.</p>
<p>Such AI development may make the application route from AI technology development to the business end shorter, and the investment in AI technology may also be more intuitive to see the effect.</p>
<p>In fact, because of the diversity and complexity of scenarios, companies have very scattered demand for AI technology development, because companies need to integrate with specific businesses. This is why many companies are trying to build their own AI development capabilities, because only with independent technological development can they have sufficient flexibility and adaptability in business applications.</p>
<p> In order to meet such requirements for flexibility and adaptability, Baidu Feida&#8217;s core open source framework has made a lot of optimizations for the deep learning technology needed in the industry. For example, for the development needs of enterprises, Baidu Smart Cloud has launched the Flying Paddle Enterprise Edition, which meets the diverse AI development needs of enterprises through a zero-based EasyDL development platform and a full-featured BML development platform. Judging from the cloud intelligence integration white paper, there are currently two types of developers on Baidu&#8217;s AI open platform, one is AI application developers, and the other is AI algorithm developers. AI application developers may be relatively more familiar with the company&#8217;s own business, but do not have a deep understanding of AI technology. Therefore, a zero-threshold development platform such as EasyDL is needed to meet development needs. For example, an AI model that can simply extract business data and automatically extract features can be made through EasyDL, and it can be deployed on different hardware platforms to meet the application requirements of the enterprise.  For AI algorithm developers, they may pay more attention to the effect of the algorithm than the process from technology development to application. Therefore, on the full-featured BML development platform, they can meet the needs of users through preset models and visual modeling. The demand for development efficiency. In fact, AI technology development platforms such as Baidu Feida should not only meet the flexible needs of enterprises for AI development, but also the efficiency of AI development is also valued by enterprises. Because the development and application of AI technology is not only a technical issue for enterprises, but sometimes it is also a cost issue. This means that the development platform needs to consider the issue of efficiency from the underlying architecture of AI development. Also take Baidu Feipad Enterprise Edition as an example. In the data labeling process of enterprise AI development, the intelligent cleaning and automatic annotation capabilities of Feipad Enterprise Edition can greatly reduce the cost of data annotation. For another example, the continuous iterative optimization capabilities of the Flying Paddle Enterprise Edition based on the data closed-loop realization model can also further improve the efficiency of enterprise AI development. The development of AI technology by enterprises means a certain cost investment. Therefore, it is very important to improve the &#8220;cost-effectiveness&#8221; of AI development. The key to improving the &#8220;cost-effectiveness ratio&#8221; is actually choosing a high-quality AI technology development platform. So, what kind of development platform is considered high-quality? A platform that understands the actual technology development needs of the company better than the company. Take Baidu as an example, AI technology has been implemented smoothly in various fields. For example, in the energy field, it has cooperation with State Grid and Southern Power. In the field of communications, Baidu AI has also successfully landed in China Unicom and mobile companies. At present, the commercialization of AI is smooth, indicating that Baidu has a deep understanding of AI. The deeper the understanding of technology, it means that Baidu better understands the pain points of enterprise AI technology development. Therefore, in terms of technology and understanding of commercialization, Baidu may better help companies develop and apply AI technology. Why cloud intelligence integration is the general trend of future AI technology development The development of enterprise AI technology is inseparable from the general trend of AI technology evolution. The current development and evolution of AI technology has three main characteristics. The first is that under the guidance of low-cost and high-efficiency enterprise needs, AI capabilities have evolved from single-point modular development to technology development and application in multiple business scenarios. In the first stage of the development of AI technology, the development of enterprise AI technology is mostly in the application exploration stage. After the business scenario is found, the development of AI technology is further deepened. This is because enterprise-side AI development requires low-cost and high-efficiency solutions, and it also needs to lay the foundation for technology development for the full application of AI technology in the future. This requires that the AI ​​technology development platform not only meets the needs of enterprise modular AI development, but also needs to meet the needs of comprehensive intelligent upgrades in the future. For example, in the process of upgrading AI technology from a single point of application to multiple business scenarios, companies will inevitably encounter management issues such as the development, application, and operation and maintenance of AI capabilities, such as the sharing of AI data between different businesses. Problems such as engaging in data Lonely Island are formed within the enterprise.  In this regard, Baidu&#8217;s solution is to build a set of AI capability production and centralized management platforms for enterprises, and build an infrastructure for enterprise intelligent upgrades. The advantage of this is that enterprises can form a middle platform of capabilities from AI development to operation and maintenance management. Baidu Smart Cloud is the foundation of this infrastructure. This actually leads to the second feature of the future development of AI technology: Cloud is a platform for large companies to export AI capabilities, and there is a coupling between AI and cloud. For example, a certain industry needs AI vision capabilities and AI knowledge graphs. Through the integration of cloud intelligence, it is possible to meet the needs of enterprises for AI capabilities. This is actually the coupling between AI and cloud. In terms of specific cases, in the cooperation between State Grid and Baidu Smart Cloud, on the basis of the integration of cloud and intelligence, and based on the knowledge graph, Baidu Smart Cloud has built a set of grid fault handling system for State Grid Electric Power, and realized the grid fault handling. The ability of automatic reasoning and judgment and knowledge retrieval has improved the efficiency of power grid fault judgment and disposal by more than 20%. In the development of cloud-intelligence AI, Baidu&#8217;s brain integrates a large-scale AI production platform that integrates software and hardware, and the cloud is a platform for Baidu&#8217;s AI capability output. With such AI technology capabilities, AI has become the intelligent hub of the enterprise, opening up the internal data of the enterprise , Knowledge and business, and can promote more intelligent business innovation. The reason why it has such an ability to develop and apply AI technology is because Baidu has full-stack AI technology and a complete development ecology as the basic support. In addition to coupling, the third characteristic of current AI technology development is the full-stack technology development. Why is Baidu Smart Cloud able to provide so much support for enterprise AI technology development under the integrated cloud and intelligence system? The core reason is that Baidu has full-stack AI technology and capabilities. The full-stack technical capabilities are reflected in the AI ​​development infrastructure, which brings about a more cost-effective AI technology development program. As an infrastructure, cloud intelligence can meet the future needs of enterprises for high performance, high cost performance, and high utilization of AI second-tier facilities on the enterprise side. The second is to provide full-process optimization and development efficiency tuning, and to provide solutions for enterprise customization needs.  For example, Baidu Smart Cloud uses a three-tier infrastructure of AI computing, storage, and containers, and under the AI ​​development architecture that integrates software and hardware. AI and cloud are not simple additions, but fusions at the bottom. Therefore, the performance of the computing layer is higher, and the data The processing speed is faster, the storage layer data processing is faster, and the container layer resource management is more efficient. We take the artificial intelligence platform of State Grid as an example. Based on full-stack AI capabilities, State Grid has built relevant general AI capabilities including image recognition, face recognition, speech and text recognition, and knowledge graphs. On the development side, State Grid has implemented a full-process collaborative development model, enabling model developers, application developers, and business application personnel to have intelligent power service capabilities through the development tools and various interface services provided by the Baidu development ecosystem.  From the enterprise perspective, what enterprises need is to customize AI development solutions on demand. Therefore, AI vendors are required to have sufficient technical capabilities to support them, as well as flexibility in deployment. The demand for AI capabilities of an enterprise is not static, but is constantly adjusted as the business changes. For example, a product with 2 million and 200 million users not only means that the demand for AI computing power has increased, but the focus of AI algorithms may be different. Therefore, AI cloud is a more &#8220;flexible&#8221; solution that can better meet the needs of enterprises. We assume that after 200 million users of this enterprise need to identify users, not only AI data processing is needed, but AI image processing capabilities may also be needed. This means that the AI ​​development platform also needs to have full-stack AI capabilities as the underlying support, so as to meet the needs of different AI capabilities for the future development of enterprises. At present, Baidu has many successful cases in the development of full-stack AI. The experience behind these cases is not only an asset for future enterprise AI development, but also for the development of enterprise full-stack AI capabilities in the future. s help. Written at the end: Giant technology companies are grabbing the big track, such as Baidu, Microsoft and other companies, aiming to build infrastructure in the era of smart economy and become &#8220;water, electricity, and coal.&#8221; The posture of traditional enterprises is to &#8220;lean against the big tree so as to enjoy the cool&#8221;, and use other people&#8217;s technology to efficiently empower themselves. Therefore, when enterprises are upgrading their intelligence and choosing AI &#8220;big trees&#8221;, they must not only pay attention to the present, but also consider the future. The white paper reveals the general trend of AI development in the future. In the future, AI technology will further integrate with the industry and bring technological dividends to various fields</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">27626</post-id>	</item>
		<item>
		<title>The 16-year full-stack developer’s Android development pit record</title>
		<link>https://en.spress.net/the-16-year-full-stack-developers-android-development-pit-record/</link>
		
		<dc:creator><![CDATA[editor]]></dc:creator>
		<pubDate>Tue, 11 May 2021 10:08:09 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[16year]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fullstack]]></category>
		<category><![CDATA[pit]]></category>
		<category><![CDATA[Record]]></category>
		<guid isPermaLink="false">https://en.spress.net/the-16-year-full-stack-developers-android-development-pit-record/</guid>

					<description><![CDATA[Author &#124; Stephan Miller Translator｜ Ma Kewei Planning｜ Tian Xiaoxu This is a story with a complete aftermath. As a full-stack web developer with almost sixteen years of development experience, the author knows all the technologies required to build web applications. In recent years of work projects, the author became an Android developer for the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Author | Stephan Miller</p>
<p> Translator｜ Ma Kewei Planning｜ Tian Xiaoxu This is a story with a complete aftermath. As a full-stack web developer with almost sixteen years of development experience, the author knows all the technologies required to build web applications. In recent years of work projects, the author became an Android developer for the first time. After a period of running-in, the author realized that the developer&#8217;s thinking also needs to be transformed from web development to Android and mobile application development. Most of the wrong paths for the newbies of Android development can be solved by refactoring or modifying the build process in the later stage of the project, and continue to polish until the unit test perfectly covers all the situations required and can also handle some small errors. But the rest of the missing fish are not so easy to solve. These are enough to have a lasting impact in the life of the app and make people want to overthrow the entire project. Some of the mistakes even make the author ashamed to say that he has made mistakes. Pass them. The following will provide some tips to prevent the time paradox (laughs) when you want to go back to the past and redo the project. I hope it can help you prevent the bad troubles that are hard to get rid of. Add in-app update immediately. It wasn&#8217;t until a year after it was released that we plugged the update notification function into our app. If the built-in update reminder function is added at the beginning of the project, then the process is fairly simple, but if it is delayed until later, it will inevitably cause a lot of problems, including: the need to build a custom process manually, and the user to try it on his own Skip the update. Believe me, this feature will be a breakthrough change for your app. Existing users of the app may have become accustomed to the in-app update function through other apps, and even take it for granted that this should be one of the features of the mobile platform. But in fact, it wasn&#8217;t until I personally experienced Android development that I knew that this feature had to be manually added by the developer. When your app unfortunately stops running, users will not look for software update packages, they will only uninstall and then install them, or even worse, they will leave comments in the app store. Restrict API key Let the program run first, and then apply a patch if something goes wrong. Maybe you also have this habit, but please don&#8217;t continue to delay. Point out an article about API keys on Google Cloud Platform, but for other platforms, the same applies. For GCP (Google Cloud Platform), we only need to log in to the Google account and select the API key to be restricted, and the system will jump to the key attribute interface. Select the Android application in &#8220;App Restrictions&#8221; and click &#8220;+&#8221; to add the package name to the API key that needs to be restricted. As for adding certificate fingerprints, you can directly copy the commands on the page and follow the instructions on the right side of the page. It only takes a few minutes to complete. We only started restricting API keys two years after the app was shipped. However, after the restriction, a map function of the app went on strike. After rolling back the changes, it took us a lot of work to find the problem. Most of the official Google software packages used by the app can be perfectly adapted to the code behind the restricted API key. Only one of the maps needs to rewrite the other set of API call codes. If we can consider the limitation of the API key at the beginning of the project and write it into the source code, this will undoubtedly increase the development time, but in the later stage, we can no longer worry about the limitation. The story does not end here. In order to ensure the normal operation of the map and limit the API key, we have to perform a mandatory update. We have background statistics to monitor the user’s update process, and the data shows that 90% of users update only a few weeks after receiving the update notification, while the other 10% still choose when the map is almost completely out of order. Without updating, I don&#8217;t know how they endure this kind of bug. Internal API version control When I was still focusing on web development, I never understood why someone would want to do this. After updating the front-end code, why keep the old version of the API? No matter how you think it is useless waste. However, when the software version used by the user is different, a major update of the API may cause a large-scale software crash. The method of in-app update can help alleviate this problem, but the process will be extremely long. Dividing API versions is more like a quick and simple solution for this kind of software crashes, rather than over-engineering as I once thought. Want to go offline beforehand Our app has practical goals. When we received feedback from users that the app reacted stuck and the response timed out, I was just a novice in mobile app development, and I just came across a new term: Offline First. If the user fails to connect to the Internet, all unuploaded and unsaved things will be lost, and when the connection is restored, they will have to re-enter all the content. The priority offline structure will write the changes to the local database, and then synchronize when there is a network connection. In this way, the user can use the app offline, and the response will be faster when connected to the Internet. The user no longer has to wait for the server to send back a response before proceeding to the next step. <img fifu-featured="1" decoding="async" class="content-picture" src="https://inews.gtimg.com/newsapp_bt/0/13349240774/1000"> The offline priority function may be more difficult to implement in the later stage of the project. The difficulty depends on the complexity of the app&#8217;s data. So please decide as soon as possible whether the app needs it. We are still studying how to better implement this feature in our &#8220;old age&#8221; app&#8230; Choose navigation items carefully If your Android app has a complex structure and many interfaces, it will be more troublesome to modify the navigation items in the later stages of the development process. Our app was directly changed to the form of bottom navigation in the later period. In some situations, the Activity in Android development can be regarded as the code of a certain screen in the app; Fragments, which are only available in Android 3.0, can be understood as the subview code or part of the code in the app. The layout of both is defined through XML. Our navigation points to the main functions in different areas of the app, and these small navigation cards each lead to different sub-functions, connecting more than 30 activities in total. These are just four fragments in this Activity-based app. Navigation drawer is another common navigation form, the main service object is the navigation needs of Activity docking with Activity form. Bottom navigation Because the bottom bar of the app is always visible, its design object is fragment navigation. After adding the bottom bar to the Activity, then we only need to type its related code into the Activity and add its view to the layout of the Activity. In this way, by clicking the button on the bottom sidebar, we can load the fragment into the Activity. So, in order to add the bottom navigation bar in the app, I tried to convert Activity to fragment. The result was very tragic. Excessive bugs directly caused the software to crash and wasted a month of my time. If we only have five or six activities, it may not be too difficult to solve, but in fact our app has more than 30 activities! This directly led me to give up other work this month and focus on adding navigation functions to each Activity. I also tried to create a helper function, but this did not save me much trouble. In the end, I still have to write code for the Activity one by one. At the same time, I also need to add the bottom sidebar to all layouts and make room for this little guy in the existing layouts. In addition, the Activity stack must be programmed to prevent race conditions. Although the process was cumbersome, it was successful in the end, and the effect was not bad. It&#8217;s just that if I can add the bottom navigation bar at the beginning of the project and start the design based on the fragment, it will be much easier. This is just an incomplete list&#8230; Of course, there are many other things to consider when starting your first Android application, such as adding unit tests, not changing the mode of an app after determining it, and so on. But if you have been exposed to other types of development models before, these should be familiar to you. Maybe you will not encounter exactly the same problem as mentioned in the article, but I am afraid it will not be too different. Hope these little tips can help you realize that Android development is very different from other types of development, and the influence of these development decisions may last for a long time. https://triplebyte.com/blog/everything-id-do-differently-if-i-could-go-back-and-rewrite-my-android-app-today</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13097</post-id>	</item>
	</channel>
</rss>