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

开源日报

  • 开源日报第1026期:《English-level-up-tips-for-Chinese》

    2 2 月, 2021
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《English-level-up-tips-for-Chinese》
    今日推荐英文原文:《Ignore the Reddit-fueled spike, GameStop is actually still in trouble》

    今日推荐开源项目:《English-level-up-tips-for-Chinese》传送门:项目链接
    推荐理由:这是让你受益匪浅的英语进阶指南.里面的单词表尽量涵盖时下流行的语言,目的是帮助你更方便的看英文文档。 工程巨大,需要较长的时间进行整理。
    今日推荐英文原文:《Ignore the Reddit-fueled spike, GameStop is actually still in trouble》作者:Oscar Gonzalez
    原文链接:https://www.cnet.com/news/gamestop-stock-run-gives-it-a-bigger-market-cap-than-several-actual-video-game-companies-gme/
    推荐理由:GameStop 本周一直受到关注,因为其股价飞涨,并经历了几次大幅波动。 自从上周四以来,由于 Reddit 购买该公司股票的动静不断,股价已上涨了近十倍。但实际上, GameStop 公司的行情并没有表面上这么火爆.

    Ignore the Reddit-fueled spike, GameStop is actually still in trouble

    GameStop has been at the center of attention this week as its stock price skyrocketed and endured several massive swings. Share prices have increased almost tenfold since last Thursday, thanks to a growing movement on Reddit to buy the company’s stock. As exciting as it might be to try to make some money off this crazy situation, it’s imperative to understand that GameStop, fundamentally, isn’t doing so hot.

    The share price for GameStop — $325 when the market closed on Friday — doesn’t tell the whole story about the company. Indeed, one of the reasons for its stratospheric gains is because so many institutional investors were betting on it to fail — to an absurd degree. That type of investing, known as short-selling, opened the door to individuals who coordinated their efforts online to drive up the price.

    Stock prices have, at some level, always been disconnected from reality for the average American (just stack 2020’s stock market gains against the pandemic-fueled economic collapse), but this GameStop roller-coaster ride throws all logic and basic investment principles out the window. To those on the WallStreetBets subreddit that’s the point.

    Lost in all the hoopla is that GameStop continues to falter when it comes to all the important metrics for a company, with declining sales and the closing of 462 stores last year. Let’s take a look at how GameStop is performing as an actual business, and not just as the target of some enthusiastic individual investors.

    How is GameStop really doing?

    Not that great. According to its fiscal third-quarter earnings report from December, GameStop’s sales declined 30% from the previous year. This comes during a pandemic, when the video game industry experienced months of increased revenue as Americans stayed home and played games because of lockdowns. But sales at retail stores suffered due to locations closing or the limited flow of customers as a result of those same lockdowns.

    It also doesn’t help that digital sales for games reached new heights during the pandemic. Major publishers such as Sony, EA and Take-Two reported that digital purchases surpassed physical sales in 2020, according to Daniel Ahmad, an analyst at Niko Partners. Microsoft’s Game Pass, which lets gamers access more than 100 games for $15 a month, hit 18 million subscribers, CEO Satya Nadella said on the company’s second-quarter earnings conference call.

    Cloud gaming also grew in 2020. Microsoft’s xCloud and Nvidia’s Geforce Now launched last year, following Google’s Stadia service, which came out in late 2019. These services let players stream games without the need for physical copies of games or even consoles.

    In September 2019, GameStop CEO George Sherman tried to get gamers back into stores by turning a few test stores into hangouts for customers. But the company closed 462 stores in 2020, with plans to shutter more than 1,000 stores total by March. It still has more than 5,000 stores in the US.

    What’s the company worth?

    On Dec. 1, GameStop’s stock price was $15.80, which gave it a market value of slightly more than $1 billion. As of Friday, the retailer’s shares were trading at $325, valuing the company at more than $22 billion. That puts it at No. 464 on the Fortune 500 list, right behind video game publisher Activision Blizzard. The jump in stock price vaulted the value of GameStop over that of game publishers Ubisoft, Take-Two and Square Enix.

    Was GameStop going to go out of business?

    Though the retailer struggled in recent years, it wasn’t on death’s door.

    “I actually think they are in a good position to grow revenue and earnings again with the console launches,” said Wedbush analyst Michael Pachter. “Earnings power like that supports a price in the high teens or low 20s.”

    Pachter has GameStop’s stock at a target price of $16. Keep in mind this is just one analyst’s assessment.

    What’s important to know is that GameStop’s skyrocketing shares don’t equate to financial success. The problems it had back in December are still there now.

    Remember that while deciding whether this is a roller coaster you’d want to brave.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第1025期:《合成大西瓜 bigwatermelon》

    1 2 月, 2021
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《合成大西瓜 bigwatermelon》
    今日推荐英文原文:《The Worst Mistake You Can Make in a Technical Interview》

    今日推荐开源项目:《合成大西瓜 bigwatermelon》传送门:项目链接
    推荐理由:虽然不知道为什么但是最近流行的这个游戏想要获得高分着实需要些技术成分,这个项目自然也是一种技术成分——直接给游戏增加了更换水果的新功能,这个项目还另外还拉了一个未改动过源码的分支以供后来者继续改出各种各样的新要素进去。
    今日推荐英文原文:《The Worst Mistake You Can Make in a Technical Interview》作者:Mandi Gunningham
    原文链接:https://medium.com/better-programming/the-worst-mistake-you-can-make-in-a-technical-interview-fd04dc67510a
    推荐理由:尽管在面试过程中的话题应该尽可能掌握在自己的范围内,但也不要为自己说不了解而感到过于担忧

    The Worst Mistake You Can Make in a Technical Interview

    Interviewers aren’t robots, but they can read you like a polygraph machine

    One thing that the tech industry can agree on is that technical interviews suck. Unfortunately, we also agree that they are necessary.

    The ideal compromise is that applicants will prepare for technical interviews and employers will not try to stump us. This is the way most of my technical interviews have gone, and I always let my interviewers know that I appreciate their humanity.

    On the other hand, we’re all human and we make mistakes. If there is one mistake you can avoid during an interview, though, it should be this: Do not speak to a topic that you do not understand.

    This can be difficult advice, but it’s crucial to remember while you’re sitting across the table from the hiring manager with your adrenaline pumping. Buzzwords are not your friend.

    What To Expect

    I have not interviewed somewhere like a FAANG, where technical interviews go on for hours and days. That’s not my bag. I do, however, have pretty broad interview experience with various tech companies, from startup to Fortune 100.

    In my experience, interviewers are usually rooting for you. They are not trying to stump you or stress you out. They need you to be as comfortable as possible so that they can properly evaluate your skill level.

    Therefore, during a typical interview, they will likely ask questions at varying levels of difficulty on different technical topics that are relevant to their workflow. If they touch on a topic or technology that you’re not comfortable with, you need to be prepared to confidently say “I don’t know.”

    This is important for multiple reasons. First, by being willing to state that you don’t know the answer, you show your ability to be humble. No one wants to work with a know-it-all. Also, it’s clear when you don’t actually know, so don’t try to fake it till you make it in this scenario.

    On that note, being willing to admit when you don’t know something gives the interviewer an accurate assessment of your skill level. No one knows everything, and they don’t expect you to. If you know a little, definitely say so, but don’t let it get away from you. Otherwise, throw in something like “I’d have to research that” or “…but I’d love to learn more about the topic” to let them know you can take the initiative.

    Finally, in my opinion, here’s the most important reason to admit to not knowing an answer: It keeps you from rambling on incoherently. You know the phrase from your 1000-level creative writing class, “show, don’t tell”? Well, this is the opposite. Don’t show them how little you know about the topic, just give them a quick “Hmm, I’m not familiar with that concept — I’d have to do some research” and move on. As long as that’s not your answer to every question, they will respect it.

    Resist the Urge!

    Now, with all of that in mind, here is my even better advice. Don’t bring up a topic just to get in a buzzword.

    We all know tech industry meetings are often just a jumble of buzzwords and acronyms, but don’t let that be your interview. Speak clearly about the topics you do know, and don’t go throwing around buzzwords just to sound like you’re with the times.

    You should only bring up a topic if you can confidently answer the follow-up: “Interesting, tell me more about that.” If that is scary to you, just drop it.

    Be aware, I’m only giving this advice because I’ve made this mistake myself and it literally cost me a job offer. Obviously, no one intends to commit this faux pas, but when under pressure and unable to answer a question, it’s in our human nature to BS just a little. Resist the urge!

    Embarrassing Story Time

    Now that you’ve got the idea, learn from my cringe-tastic experience!

    I got lucky with my first developer job and got into the company via some solid networking. There was an interview process, but it was not an intense technical challenge. Therefore, when it came time to start looking for my next role, I was not very practiced with code screenings and technical challenges.

    Early on in the process, I got an interview with a large company for a data-driven, machine learning role. It had been a few years since I graduated at that point, so my algorithmic knowledge had degraded. I started studying up on my data structures, algorithms, and all that jazz.

    I aced my first two interviews, which were more personal, less technical. They comprised problem-solving and general situational questions. That is my strength — I can spin any experience into a life lesson learned. And honestly, it’s not just spin, but that’s a topic for another time. We’re talking technical today.

    Finally it came time for the technical interview. This was to be my second-ever technical interview, and I expected it to be more in-depth than my first. I was nervous, to say the least!

    The interview began with a code challenge. I was given lines of code that were out of order, and I had to put the lines in order to create a functioning algorithm. Not super difficult, but stressful nonetheless — it included at least one nested loop, and with no context that’s more confusing than you’d expect!

    Either way, I did very well on this part. One of the interviewers even said that I did better than he had during his interview! I was feeling encouraged at that point.

    Next it was time to discuss the code. It was a very simple encryption algorithm, more string manipulation than anything, so I was able to keep up. Eventually, though, we got to the dreaded question: How could we improve this code?

    I floundered. I took my time to read through the code again. I made a suggestion — something about stronger encryption. Not what they were asking.

    Then I made the dreaded mistake. I suggested that since there was a nested loop that it would be possible to improve the time complexity. Now, I knew something about the topic, enough to know that, generally, nested loops are not super-efficient.

    However, I didn’t know enough to hold an intelligent conversation or actually suggest an improvement. The interviewer was giving me nothing. I said we could improve the time complexity, and he said, “Interesting, how?” That’s the moment where I could have gracefully backed out by stating that nested loops generally weren’t efficient (tell them what you do know), but that I didn’t have an improvement off the top of my head (no bullshit).

    Obviously, I didn’t do that, though, or this story would be very different. He was trying to ask illuminating questions and point me in the right direction, but I was officially in panic mode. We went around in a few circles before I finally tapped out. It was embarrassing, to say the least.

    The interview ended pretty much at that point. I don’t even remember them asking me any more questions. I knew it was over at that point. I didn’t get the callback and finally heard from my recruiter that they were passing on me.

    Life Lesson Learned

    Honestly, I don’t regret it. I learned a true life lesson from that interview. Here’s my spin: I learned that confidently stating what you don’t know is humble and necessary at times. I have never made that mistake again.

    I also went and watched a few tutorial videos on time complexity the next day. The topic came up in the interview for my most recent role, and I was able to discuss it intelligently. I calculated the complexity for an algorithm I had written and confidently stated that there was not a more efficient alternative.

    That felt good. It felt like redemption.

    On the other hand, my current role is full-stack while my previous roles have been purely data-driven backend. So when the topic of JavaScript and React came up, my go-to response was, “I don’t know — I’d have to look that up.” Everyone was okay with that, and the interview moved on.

    Here’s the Recap

    • If you don’t know the answer, say so!
    • Do tell them what you know about the topic, but stop short of BSing.
    • Study up afterward to be more prepared in the future.
    Good luck out there!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第1024期:《wifi-password》

    31 1 月, 2021
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《wifi-password》
    今日推荐英文原文:《5 Ways To Increase Your Software Development Speed》

    今日推荐开源项目:《wifi-password》传送门:项目链接
    推荐理由:该项目能够在命令行快速获取 wifi 密码,并能够生成二维码,方便移动端连接。
    今日推荐英文原文:《5 Ways To Increase Your Software Development Speed》作者:Jacob Veal
    原文链接:https://medium.com/better-programming/5-ways-to-increase-your-software-development-speed-2ea989d8d8cc
    推荐理由:一些提高软件运行速度的方法和工具。

    5 Ways To Increase Your Software Development Speed

    Invest in these developer tools to produce greater returns in the long run

    How can we ship features faster? Why are we not hitting our target dates?

    These are questions from product managers that software developers often hear when the project is not progressing as projected.

    The answer to these questions is to listen to the development teams and allow them the time to remove bottlenecks and reduce constraints in their workflow.

    The ongoing goal for software development teams should be in the realm of building and shipping high-quality software quickly at a sustainable pace.

    Throwing more engineers at the project — or them working more hours will not move up the target dates. It will only slow down the team or burn them out.

    Investing in iteration speed increases the software development team’s velocity over time.

    My team and I have spent a significant amount of time improving our workflows, and the investments have most definitely paid off.

    We achieved this by communicating the pain points that were slowing us down to our product owner. Our product owner then battled with managers for the time we needed to fix them.

    So here’s what we did…

    Monolithic Repository

    We had three repositories for the application before combining them into one. A repository for the user interface, API, infrastructure of the application, and some other ones included as submodules.

    Having all of the source code in a single repository greatly simplified our development and made code reviews more effective. Instead of having to open two or three pull requests for a feature, there was only one. The team could now review all the related code changes in a single view. Sure, this increased the size of our pull requests, but the trade-off was worth it.

    Our continuous integration pipelines have also benefited from this improved structure. We no longer needed complex logic or submodules to keep track of the API, user interface, or infrastructure versions required for deployments. Every related change stayed together in perfect harmony.

    Readable Code

    Our application’s tech stack used Elasticsearch for the database. As the number of features we implemented grew, so did the complexity of our queries and aggregations.

    We were having a hard time understanding the queries, which of course, increased the effort it took to modify them. This difficulty limited the number of developers capable of working on them and resulted in knowledge silos within the team.

    We spent the time to simplify the queries by using a more readable query syntax called Elasticsearch DSL. We then documented the behavior of them like an 8th grader was going to read it.

    Long story short, we spent the time improving the readability of the code. This aspect of coding should never be overlooked — but invested in instead. Everyone on the team is now able to read and modify the queries without requiring much effort.

    Rapid Local Development

    Like many applications, ours uses AWS cloud-native services like Lambda, Kinesis, SQS, and API Gateway.

    Our workflow required pushing up any new code changes and then deploying them to a development environment before testing them. This process took way too much time. Even with one developer using this flow, but we had about 15.

    The goal is to reduce the time in the feedback loop as much as possible when testing code changes.

    We invested our time to create a process where we didn’t have to deploy our changes to get feedback. We used a combination of docker-compose services and Localstack. A developer can now run the entire application on their workstation with a single command, docker-compose up.

    Efficient CI/CD Pipelines

    Our continuous integration pipelines were slow and error-prone.

    We would fix one issue, and then another one would appear. Not only did we experience blockers, but our deployments and integration tests were taking way too long to complete.

    We fixed our problems by overhauling and optimizing our build processes by using pre-built docker images and parallelization wherever possible.

    Prebuilding our docker images saved on average two and half minutes, and since we were using them for multiple build steps, the time savings stacked.

    The continuous integration/delivery pipeline is the backbone of software development. Any downtime or inefficiencies have a direct negative impact on development speed. So operations must run smoothly and efficiently.

    We adapted a dev-ops culture within our team to address issues and further improve processes, and it has significantly paid off.

    Stable Automated Integration Tests

    Having fully automated integration tests that pass consistently can be challenging to achieve depending on the application’s nature — but they pay off in the long game.

    Because our application used Elasticsearh, saving data is eventually consistent. The data is not immediately available for retrieval until it has been indexed. The eventual consistencies were a challenge for our integration tests.

    We overcome this challenge by utilizing retry mechanisms based on specific HTTP error codes thrown by the API. So when an API call from a test received a 404, it would wait for a sec and then retry the API call.

    Spending time to improve our tests and testing framework gave us more confidence our application was behaving as intended.

    Closing Thoughts

    The improvements we made gradually started to increase the number of stories we completed within a sprint. It didn’t require working more hours or a carrot in our faces.

    These examples and suggestions may not apply to your project, but I hope they have given you ideas or inspiration to start investing in iteration speed. It’s a mindset shift that teams need to adapt to help them work smarter, not harder.

    Thank you for taking the time to read my article!


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

    30 1 月, 2021
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《SmartRefreshLayout》
    今日推荐英文原文:《Google will soon allow gambling apps in the US Play Store》

    今日推荐开源项目:《SmartRefreshLayout》传送门:项目链接
    推荐理由:下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android 智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的 Header 和 Footer。
    今日推荐英文原文:《Google will soon allow gambling apps in the US Play Store》作者:Corinne Reichert
    原文链接:https://www.cnet.com/news/google-will-soon-allow-gambling-apps-in-the-us-play-store/
    推荐理由:谷歌周四宣布,美国的Android用户将很快通过Play商店访问博彩和赌博应用。 自3月1日起,某些州将允许在线赌场游戏,体育博彩,彩票和每日幻想体育应用程序。

    Google will soon allow gambling apps in the US Play Store

    Android users in the US will soon gain access to betting and gambling apps through the Play Store, Google announced Thursday. As of March 1, online casino games, sports betting, lotteries and daily fantasy sports apps will be allowed in certain states.

    You can see a complete list of what types of gambling apps are allowed in each state on Google’s support website.

    “We allow real-money gambling apps, ads related to real-money gambling and daily fantasy sports apps that meet certain requirements,” Google’s support page now says.

    To be eligible, app makers must complete a gambling application form, comply with state and country laws where the app is being used and have a valid gambling license for each state or country it wants to operate in. These apps must be rated adult only and display information about responsible gambling.

    Apps must also ensure they prevent minors from being able to use the app, and the app cannot be a paid app on Google Play or use Google Play in-app billing.

    Gambling and betting apps are also available in Australia, Belgium, Brazil, Canada, Colombia, Denmark, Finland, France, Germany, Ireland, Japan, Mexico, New Zealand, Norway, Romania, Spain, Sweden and the UK.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 2 3 4 5 6 … 262
下一页→

Proudly powered by WordPress