• 开源镜像
  • 开源沙龙
  • 媛宝
  • 猿帅
  • 注册
  • 登录
  • 息壤开源生活方式平台
  • 加入我们

开源日报

  • 开源日报第878期:《hutool》

    28 8 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《hutool》
    今日推荐英文原文:《Facebook braces for Apple’s privacy changes》

    今日推荐开源项目:《hutool》传送门:项目链接
    推荐理由:该项目是一个Java工具包类库, 可以对文件,流, 加密解密, 转码, 正则, 线程,XML等Jdk方法进行封装, 组成各种Utils工具类
    今日推荐英文原文:《Facebook braces for Apple’s privacy changes》作者:Queenie Wong
    原文链接:https://www.cnet.com/news/facebook-braces-for-apples-privacy-changes/
    推荐理由:Facebook支持苹果的最新的隐私政策, 这会使得社交app更难通过其他应用上的广告定位某些iphone用户. Facebook提供的最新但是服务可以使得企业使用社交网络的定位在数千个app上投放广告.

    Facebook braces for Apple’s privacy changes

    Facebook said Wednesday that Apple’s upcoming privacy update could make it tougher for the social network to target some iPhone users with ads on other mobile apps.

    Facebook offers a service to businesses called the Audience Network, which lets businesses use the social network’s targeting to run ads on thousands of mobile apps. Facebook collects a trove of data from its users, allowing advertisers to target potential customers based on age, location and other criteria.

    Apple is expected to release an updated mobile operating system called iOS 14 in the fall. As part of the update, the smartphone maker is requiring apps to ask users for permission before collecting and sharing data using a unique code that identifies their mobile Apple devices. Called the advertising identifier or IDFA, this code makes it possible for businesses to better target ads and gauge whether they’re working.

    “For developers and publishers using Audience Network, our ability to deliver targeted ads on iOS 14 will be limited. As a result, some iOS 14 users may not see any ads from Audience Network, while others may still see ads from us, but they’ll be less relevant,” Facebook said in a blog post.

    The social network said it won’t collect the IDFA on its apps on iOS 14 devices. Facebook said it didn’t want to make this change but Apple’s update to its mobile operating system “forced this decision.” The update will make it harder for businesses of all sizes to target new customers and measure the impact of their ads, Facebook said. Apple, which has called privacy a “fundamental human right,” made the update to its operating system so users could be more aware of the data that apps collect.

    Apple’s impact on Facebook’s ad services highlights the differences between how these businesses make money. Apple makes money from selling devices such as laptops and smartphones and has criticized Facebook’s advertising business model. Facebook makes most of its revenue from serving targeted ads, and critics say the company doesn’t do enough to protect user privacy. Facebook launched a new feature last year that lets users see a list of apps and websites that share their online activity with the social network. The feature also lets users clear that history.

    Facebook said Apple’s privacy changes might make its Audience Network service so “ineffective” that it might not make sense for the company to offer it on iOS 14 devices. The company said that in testing, it’s seen more than a 50% drop in Audience Network publisher revenue. More than 1 billion people see an Audience Network ad every month, according to the social network. Facebook said it expects “less impact” to its own ad business.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第877期:《天气预报 wttr.in》

    27 8 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《天气预报 wttr.in》
    今日推荐英文原文:《How Your Favorite Programming Languages Got Their Names》

    今日推荐开源项目:《天气预报 wttr.in》传送门:项目链接
    推荐理由:这个项目是一个天气预报命令行项目,允许用户通过各种参数调整例如预报地区或是输出格式等,从简单的压缩至一行输出,到更为丰富的图片,HTML,命令行文本和 JSON 等输出格式,或是数据更为全面的图表型输出,在可以满足日常使用的同时也便于其他开发者基于这个项目完成一些自定义需求。
    今日推荐英文原文:《How Your Favorite Programming Languages Got Their Names》作者:
    原文链接:https://medium.com/better-programming/how-your-favorite-programming-languages-got-their-names-9916fe997f78
    推荐理由:回顾那些知名语言是如何获得它们的名字的

    How Your Favorite Programming Languages Got Their Names

    What do snakes and coffee have to do with programming, anyway?

    You may have heard the saying that there are only two hard things in computer science, one of which is naming things. Some programming language names make a lot of sense, like Google naming their language Go(lang). Other names — like Python and Java — are not so obvious.

    Let’s explore the history of some of the most iconic programming languages and how they got their name.

    Python

    Python was created by Guido van Rossum as a “hobby” programming project to keep him occupied during the Christmas holidays. For his language, van Rossum wanted a name that was short, unique, and slightly mysterious. Given Python’s “two snakes” logo, you would think that Python is named after the enormous python snakes (capable of swallowing an entire alligator whole!).

    Rather, while in a “slightly irreverent mood”, Guido named it after Monty Python’s Flying Circus, a British comedy series from the 70s. It turns out he was a huge fan of the show and just happened to be reading the show’s scripts at the time.

    Python’s “two snakes” logo has nothing to do with the origin of the name.

    Java

    Java was developed in the early 1990s at Sun Microsystems as part of the Green Project. Creating a new language wasn’t even the point of the project: Java was developed because they needed a processor-independent language that could offer most of what C++ had while being easier to work with. The top-secret Green Team was formed to build the “next wave of computing” beyond the PC, which they believed to be interactive, digitally controlled consumer electronics (a precursor to “smart devices”).


    The Green Team’s grand creation: a wireless, full-color, touchscreen controller known as the *7.

    Java was initially named Oak after a tree outside one of the developer’s windows. However, when Sun’s lawyers determined that Oak was already trademarked, the Green Team convened for a caffeine-fueled brainstorming session and came up with the name Java. They wanted something that reflected the essence of their language: “dynamic, revolutionary, lively and fun”. From a meeting that was described as “fundamentally continuous wild craziness”, Java was a perfect choice.

    While the *7 was a bit ahead of its time and never really took off, the programming language it was built on did — and the rest is history.

    JavaScript

    JavaScript was created by Brendan Eich in 1995 at Netscape — the company behind Navigator, the most popular web browser at the time. Back then, web pages were completely static, but Netscape envisioned the dynamic, interactive web that exists today. Feeling pressure from Microsoft’s Internet Explorer, they hired Eich to integrate a scripting language into their browser.

    Netscape wanted to create a language that was simple and easy to use. Riding off the booming popularity of Java, they pictured the language as the “scripting companion to Java”, similar to how Visual Basic was a complement to C/C++. With an emphasis on rapid development and simplicity, Eich inherited much of Java’s syntax and wrote the first version of JavaScript in only 10 days. It was fittingly named Mocha.
    • “I was under marketing orders to make it look like Java but not make it too big […] It’s just this sort of silly little brother language, right? The sidekick to Java.” — Brendan Eich
    When the language was first integrated into Netscape, it was known as LiveScript. Shortly after, Netscape went all-in on the “Java companion” playbook. They partnered with Sun, renaming their language to JavaScript and touted it side-by-side with Java: JavaScript was advertised as a scripting language for small client-side tasks in the browser, while Java would be promoted as a bigger, professional tool to develop rich web components. Indeed, the origin of JavaScript’s name was a marketing ploy by Netscape to try and fend off Microsoft.

    The C Family (C, C++, Objective-C, C#)

    The first programming language ever is named Ada, credited to Ada Lovelace. Soon after there was a language named B, from which the name C is derived. C was developed by Dennis Ritchie at Bell Labs, considered by many to be the first high-level programming language.

    C has many extensions, including C++, Objective-C, and C#. The names C++ and Objective-C are fairly self-explanatory, while C# is a bit less obvious. C# is musically inspired: a sharp (#) note means that it should be made a semitone higher in pitch. Even more interesting is that the # symbol is a ligature of 4 + symbols in a 2×2 square, perfectly fitting given that C# is an “increment” of C++!

    Swift

    Swift development at Apple in 2010 and was first released four years later. With its primary influence being Objective-C, Apple touts Swift as fast, easy to use, and safe by design. At first, Swift was named Shiny, as though you were building a “shiny new thing”. In fact, it even had the file extension .shiny.

    The name Swift was eventually chosen to reflect its speed — in regards to performance as well as development time. Swift’s logo is of a bird that goes by the same name: Swifts are a family of birds known for their speed and aerial prowess.

    Swift’s logo portrays a speedy bird with the same name.

    Haskell

    Haskell is named after logician Haskell Brooks Curry, known for his work in combinatorial logic. In fact, there’s a programming language named after each one of his names: Haskell, Brook, and Curry! The concept of currying was also named after him.

    A fascinating aspect of Haskell that’s seldom discussed is its logo. You might notice the λ symbol in the logo, an ode to lambda calculus. However, look a bit more carefully and you’ll see that the λ is sandwiched by a “>” and “=”. This comes from the infamous bind operator for Monads: >>=. Haskell’s logo is the bind operator interweaved with a λ.

    The Haskell logo is a combination of the bind operator and the lambda symbol.

    Hopefully, you enjoyed learning a bit about the history of programming languages. I had a ton of fun researching this story as I thought some of these origin stories were absolutely fascinating.

    If you have interesting origin stories of other programming languages that I didn’t cover, please do share! Thanks for reading!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第876期:《装机 Ventoy》

    26 8 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《装机 Ventoy》
    今日推荐英文原文:《Why Breaking Away From Your Favorite Framework Is a Good Thing》

    今日推荐开源项目:《装机 Ventoy》传送门:项目链接
    推荐理由:Ventoy 是一款多ISO启动引导程序,这款工具最大的优点就是无需格式化优盘,用户只需要将所需的 ISO 镜像文件拷贝至U盘中即可在 Ventoy 界面中选择自己想要的 ISO 镜像文件。Ventoy 具有兼容性,支持旧版 BIOS 和 UEFI ,并且也支持像 Win10 这样超过 4GB 的镜像文件。
    今日推荐英文原文:《Why Breaking Away From Your Favorite Framework Is a Good Thing》作者:kay in t veen
    原文链接:https://medium.com/better-programming/why-breaking-away-from-your-favorite-framework-is-a-good-thing-4ea133332d14
    推荐理由:把一个工具使用顺手了之后,不妨把它拆开看看,对它动动手脚,或者换一个用。

    Why Breaking Away From Your Favorite Framework Is a Good Thing

    Frameworks like React, Vue, Laravel, and Symfony are super popular. How to break away and improve your skills

    Growing up as a developer and becoming more senior, I saw more and more the same struggles I worked with in the past years. Learning new tech based on a framework can be a satisfying thing. Within days you make the coolest solutions in little time. But in order to improve, I needed to force myself to dive deep and learn the inner workings before I was able to progress to a higher level.

    Nowadays, frameworks are even more dominant than when I started. In the teams I work with, I see more and more specialized developers working years and years within a very specific framework and application. While these people are super-specialized and have great value, I also see the risk of getting stuck on the same level for years.

    I myself was challenged by well-skilled developers that not only knew just their framework or even one language but also had a broad knowledge of concepts from a vast majority of languages and systems. This made me more curious than ever to know every inner working of the system and its language. It made me a 10x better developer, working faster and making better suggestions on the architecture moving forward, and it made me learn new tech more easily.

    In this article, I give a rundown on how I improved my learning.

    How I Improved My Learning

    I don’t think it’s necessarily bad to start out with a framework when diving into coding in general, but it’s good practice to look further and deeper if you do not exactly know what is going on.

    Starting out with a framework can work for a whole lot of reasons. For starters, within no time you are able to develop your first solutions, documentation is often more friendly, and communities are buzzing with people eager to help.

    When you are already well skilled in Vue, React, Laravel, or Symfony, it’s good practice to dive deeper. There are a lot of developers that are OK with just working code, but being curious about how it works exactly will help your learning and coding a lot in the long run.

    Curiosity is the best asset of a software developer, so always be curious about “why” and “how.” When you develop a solution but don’t understand 100% of what is going on, it’s rewarding to grab a cup of coffee and dive in. I tend to use the following steps:

    Read documentation

    The first and by far the easiest step is to read the official documentation on the topic, either its the language documentation or the documentation of the framework. Sometimes it’s directly clear what happens and how it’s implemented, and I can quickly continue my work while the coffee is still hot.

    But more often than not this is not the case. I need to look further and proceed to the next step.

    Research information on the topic

    The next step would be researching more than just the official documentation. Some Google searching into explanations, tutorials, and Medium articles helps a lot as well. Sometimes articles go into more depth, and this is what you need. Also, checking the official GitHub repository is a big resource as well. Look into issues on the topic, or find the file where the method you are researching is defined and see the git logs about changes on it.

    Keep notes

    During this time-consuming process, it’s important to keep notes and references. This not only helps you retain the knowledge inside your brain, but it’s also, as it’s often written, a best practice for learning to keep notes. I also like it as a reference. I also wrote about note-taking in the article “Want to Actually Improve? Stop Obsessing Over Code Tutorials.”

    In PHP, I use Xdebug to drill down

    For PHP implementation, I generally use Xdebug to drill down to the deepest core of its implementation. It gives an overview of how the application works and routes to different implementations. I see often that frameworks also have a way to overwrite or to plug into implementations to change their behavior. This way, you get a broad overview of how an application or framework is structured and works.

    In search of the concrete implementation of the framework

    Always be looking for the actual implementation of your researched topic. This is often at the deepest level of the framework, and there are often helpers around existing language functions. Questions lead to questions, and there comes note-taking around the corner again. Document the entire process of researching, and if you stumble on a part you don’t understand, learn about that first before proceeding.

    In the end, you will reach the concrete implementation, and you’ll have learned so much along the way that’s very valuable.

    Building New Functionality in Your Framework of Choice

    Another way to improve is by adding new features or functionalities in existing frameworks, instead of only modifying or implementing existing features. This forces you to know and fully understand the structure and inner workings of the framework.

    With the learning you have, you could even build your own small framework. This provides very special challenges you need to overcome, and you’ll learn about researching other frameworks.

    Contribute to Open Source to Level Up

    The frameworks are almost always open source projects with vibrant communities and dedicated contributors. Joining these teams by helping with bugs and building out new feature requests will help you level up super quickly. By doing so you will also receive a lot of feedback on your pull requests by often seasoned developers that will check your code line-by-line. In return for your open source free work, you will receive free coaching and a lot of credit when your feature gets merged in the project.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第875期:《computervision-recipes》

    25 8 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《computervision-recipes》
    今日推荐英文原文:《Apple appears to post Sept. 10 stream details for 5G iPhone event on YouTube》

    今日推荐开源项目:《computervision-recipes》传送门:项目链接
    推荐理由:本项目包含了大量的构建计算机视觉系统的例子, 旨在构建一套全面的工具, 包括计算机视觉算法等内容. 并且本项目从其他的最新项目中获取了宝贵的资料并加以收集整理.
    今日推荐英文原文:《Apple appears to post Sept. 10 stream details for 5G iPhone event on YouTube》作者:Ian Sherr
    原文链接:https://www.cnet.com/news/apple-appears-to-post-september-10-stream-details-for-5g-iphone-event-on-youtube/
    推荐理由:最近关于苹果手机是否禁止使用微信的消息引发全球关注. 又是一年9月到, 不知道在中国市场已经逐渐过去的苹果又会推出一款什么样的新手机呢?

    Apple appears to post Sept. 10 stream details for 5G iPhone event on YouTube

    Apple’s signature secrecy may have slipped a little Thursday, when a Twitter user posted a photo of what appeared to be a scheduled livestream for the iPhone maker’s YouTube account set for Sept. 10.

    “It was on my YouTube subscription page, it is now removed,” the person tweeted.

    Apple didn’t immediately respond to a request for comment. Apple’s YouTube page currently doesn’t have any events scheduled.

    The tweet, and the attention it’s getting from outlets such as 9to5Mac, The Verge and yes, even us, is an example of just how carefully people watch Apple’s movements ahead of its expected announcements of new products, including this fall’s 5G iPhone. Apple traditionally holds a fall event to announce new products ahead of the holiday shopping season, and it’s been the time that the company’s announced new iPhones since 2011’s iPhone 4S.

    This year, Apple’s cloaked the event and its details in the usual secrecy as fans eagerly await the company’s inevitable invitations to the press. The messages typically include an artistic rendering and a title for the event that always seems to hint at something to be announced. But it’s also usually vague enough to light up Twitter with fan theories for the day.

    Unlike in previous years, Apple’s confirmed it’s announcing a new iPhone, but did say the device would arrive a few weeks later than last year’s Sept. 20 launch for the iPhone 11.

    In the meantime, the tea leaf reading and supposed leaks have only begun.

    First published on Aug. 20, 2020 at 11:15 a.m. PT.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 39 40 41 42 43 … 262
下一页→

Proudly powered by WordPress