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

开源日报

  • 开源日报第750期:《缩写 nbnhhsh》

    17 4 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《缩写 nbnhhsh》
    今日推荐英文原文:《When Should You Give Up on a Bug?》

    今日推荐开源项目:《缩写 nbnhhsh》传送门:GitHub链接
    推荐理由:这年头,缩写是用的越来越多了,这玩意可以说是懂的都懂,那不懂的呢?都不懂。为了让那些不懂的人能够理解这种缩写语言,这个项目诞生了:它能把缩写转换为可理解的有可能的中文选项,如果没办法让所有人都hhsh,那就想办法让所有人都能ljlj就行了。
    今日推荐英文原文:《When Should You Give Up on a Bug?》作者:Steven Popovich
    原文链接:https://medium.com/better-programming/when-should-you-give-up-on-a-bug-cc546332b18
    推荐理由:有些 bug 并不该被修复,如果花时间修复它们并不值得的话(比起那些更重要的事)

    When Should You Give Up on a Bug?

    Some bugs are just not worth the hunt

    Programmers are built to fix bugs. When we see something broken, we instantly engage the part of our brain that analyzes what’s going on and why it’s happening. We can quickly put together parts of systems in our head and reason about why something might be broken. We can nanovision to the spot in the codebase and quickly implement a fix.

    And sometimes we can’t. Not all bugs are created equal.

    Sometimes bugs are one-line fixes that can be fixed with little thought. Sometimes bugs require huge architectural changes. Sometimes it’s hard to figure out what’s actually happening.
    Furthermore, there are bugs we shouldn’t fix. Fixing bugs takes a cost-benefit analysis, just like any other part of software development. Here are the factors to consider when deciding whether you should tackle a bug.

    Is There a Workaround?

    Is a bug with a workaround a bug at all? When we have bug, users instinctively try to get around it. This is a major factor in whether you need to fix a bug quickly.

    Let’s say a user can get themselves into a broken state with five clicks, but they can still get the desired results with 10 clicks. This is a workaround. The underlying issue still exists, but at least the user isn’t blocked in doing what they want to do. If a workaround exists, you don’t have as great a need to fix the bug.

    How Hard Is It to Reproduce?

    What’s worse than a bug that’s hard to reproduce? Maybe it happens transitively (random chance), or maybe it happens in a state of the application that’s hard to get the app into (50 clicks of your mouse to get the app into the weird state).

    When steps to reproduce are long, it can decrease the likelihood you’ll be able to fix the bug in a timely manner. So the harder the bug is to reproduce, the less likely that it’ll make business sense to fix it.

    How Much of Your User Base Is Affected?

    If you have a user write in with a problem and you reproduce the bug and realize it’s a bug with only one user’s account, then the total impact of the bug is lower.

    Maybe one user is a lot, though. If your percentage of users affected is high, it may be more important. But if it’s one user out of millions, then it may not be a big enough deal to drop everything and fix.

    How Severe Is It?

    A bug also has severity. When the bug occurs, does some button change color? That’s not so bad. Or does the app crash? That’s worse.

    Severity means how much of the user’s experience is impacted. If the app is still usable when a bug occurs, you may not need to move as quickly to fix it.

    How Long Will It Take to Fix?

    A bug can sometimes be fixed with just swapping around some logic. But if a bug requires a major change, it’s more costly to fix.

    If the bug requires the refactoring of large pieces of code that may or may not be tested, you may be less likely to fix it.

    How Will These Evaluations Change?

    This is a sneaky one, and people seem to forget to factor it in. You can make all these evaluations, but how will these measurements change?

    In a month, will this bug get worse? Do we expect it to start to affect more users? Will upgrading make it go away anyway? Will a workaround stop working at some point? If factors get more severe soon, you may need to move quickly to fix a bug.

    Conclusion

    There’s a not magical equation of whether you should fix a bug. It’s a cost-benefit analysis made with very soft factors that are hard to measure. It requires input from developers and business analysts alike.

    It may seem wrong to not fix every bug in your software. Some people probably cringe at the thought. But bugs exist in the world of business and thus must be analyzed with a cost-benefit analysis. Some bugs just don’t make sense to tackle.

    Thanks for reading!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第749期:《wtfpython》

    16 4 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《wtfpython》
    今日推荐英文原文:《Windows 10 now supports wireless file transfers to and from Samsung phones》

    今日推荐开源项目:《wtfpython》传送门:GitHub链接
    推荐理由:本项目通过各种产生意想不到效果的代码片段, 带领人们更好的探索和理解python语言.
    今日推荐英文原文:《Windows 10 now supports wireless file transfers to and from Samsung phones》作者:Steve Dent
    原文链接:https://www.engadget.com/windows-10-samsung-smartphones-drag-and-drop-073307861.html
    推荐理由:Microsoft和Samsung现在有更好的方法使人们能够在手机和电脑之间传输文件. 最新的windows10版本中, 电脑端和支持该功能的手机可以通过wifi进行拖放文件的操作.

    Windows 10 now supports wireless file transfers to and from Samsung phones

    Getting photos or files from your computer to your phone can turn into a USB cable and email dance, but Microsoft and Samsung now have a better way. The latest Windows 10 Insider build allows you to simply drag and drop files over WiFi to and from any supported Samsung smartphones like the Galaxy S10 or S20, as spotted by SamMobile.

    Microsoft has already started making it easier to work between Android/Samsung devices and PCs. Last month, it introduced copy-pasting from Windows 10 to Samsung phones and it already let you receive notifications and even answer calls from any Android phone. Third-party apps have supported similar features for years (and let’s not forget Microsoft’s ActiveSync for Windows Mobile), but this will make it easier for mainstream users.

    All you need is Microsoft’s “Your Phone” app and Samsung’s “Link to Windows.” You can long press the files or photos you want to move from your phone, then select all the ones you want to transfer to your PC. To transfer files from PC to phone, just drag and drop them to the “Your Phone” window.

    There are a few caveats. File size is limited to 512MB, so it won’t work to get larger HD movies from your computer to your phone, for instance. Transfers are also limited to 100 files, so sending a large batch of photos from your phone to PC also won’t be completely seamless. Finally, your phone and PC will need to be on the same WiFi network and the service requires Samsung’s Link to Windows 1.5, which isn’t necessarily supported on all Galaxy devices.

    Still, I can think of dozens of ways this feature will make my life less of a hassle, considering I have a Galaxy S10 and Windows PC. As mentioned, the feature is only out on the latest Windows 10 Insider build for now, but it should roll out to everyone in the next general release.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/

    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第748期:《算法和数据结构 javascript-algorithms》

    15 4 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《算法和数据结构 javascript-algorithms》
    今日推荐英文原文:《Choose a Day and Work on What You Really Enjoy》

    今日推荐开源项目:《算法和数据结构 javascript-algorithms》传送门:GitHub链接
    推荐理由:该项目包含了多种基于 JavaScript 的算法与数据结构,用于学习和研究。
    今日推荐英文原文:《Choose a Day and Work on What You Really Enjoy》作者:Roberto Hernandez
    原文链接:https://medium.com/better-programming/choose-a-day-and-work-on-what-you-really-enjoy-74424901434d
    推荐理由:抽出一整天为自己而活

    Choose a Day and Work on What You Really Enjoy

    Then see if that makes sense for the rest of your life. Forget everything about money and survival mode for a bit

    (Photo by MI PHAM on Unsplash.)
    I usually wake up between 5:30 and 6:30 a.m. However, I recently woke up at 4:30 a.m. on a certain day — and this wasn’t a random awakening. It was because I had been trapped by a thought throughout the week: What if I choose a day and worked on what I really enjoy without thinking about money or survival?

    So on Friday night, I decided to do things on Saturday that I really enjoy. Doing them made me feel a special freedom and happiness on my own terms.

    Yes, one of those things I enjoy is writing. I really like sharing my thoughts, knowledge, and beliefs with anyone out there. I have realized that someone behind the screen may be touched by my article and therefore give themselves important knowledge to make better decisions, be a better human, or it could push them to chase their dreams.

    But let’s come back to the core of this piece. I recommend you give it a try. Choose a day, and for that whole day, forget any burdens, fears, and expectations.

    I know what you will say: “My friend, that is not as easy as you say.” It is not easy for me either, but believe me, I was in the same situation as you. So put your distractions away, turn off notifications, email, TV, and anything that catches your attention and wins that race for your focus.

    If you have followed my instructions, you are completely alone at this time. It’s you and no one else. I chose a Saturday. I started out by writing like a lion pursuing his prey in open land. I enjoyed every single letter of this piece, every single word, every single paragraph. I visualized you reading this article focusing on every single detail of it. I didn’t mind or keep track of the time. I was just writing like a psychopath.

    The next key points describe what an ideal day is for me. They are my thoughts after doing things I really like and enjoy the most. You can do it too.

    Fly With Time and Be Yourself With Your Craft

    Let yourself experience flying alone to come across your real freedom. Whenever you do things that you enjoy, you will be able to visualize who you really are and everything else will fall apart.

    Under this space of time, you are not worried about time. Your time-related worry will be how to take advantage of it, how to optimize it, how to be more productive and use it wisely. You are doing things while time is flying on the same airplane as you.

    You are not realizing that by doing that stuff, you are mastering your craft. You are provoking side effects. You are becoming a new better version of yourself every single day. Have the courage to go further despite the odds.

    Work Out

    One of the amazing parts of my ideal day is working out early in the morning. I do this for at least 20 minutes. It can just be walking or running. In fact, no matter what you practice or if you combine those exercises with others, what really matters is keeping your mind and body moving forward.

    As you might know, there are a bunch of benefits to working out in the morning. So I leverage these benefits to throw away all excuses or thoughts of going back to bed, sleeping a little bit more, etc.

    Certainly, exercising gives us the capacity to release endorphins and fill our tank of power to face the day. It allows you to start your day in a positive and powerful mood.

    Reading and Researching

    The second thing I enjoy the most is reading and doing research about web development, programming, life, self-improvement, hacks, or trips. I really enjoy reading about trends and the modern approach to solving the requirements of the new world.

    So after I have worked out for 20 minutes, I relax for 10 minutes, then I open my laptop and the first thing that comes to my mind is: Do I have something to read that I didn’t finish yesterday? If not, I take a look at the Medium dashboard and check out what other people I follow have published. I pick the most interesting piece and read it.

    The value of this part is that I learn something new, no matter if this is a new quote, the author’s phrase, point of view, or the way they expressed themselves. Somehow, this makes me feel fulfilled or completely empty, depending on what the author is saying.

    I am a really devoted fan of quick learning. What the hell is quick learning? In my own words, it means picking small pieces from what I read, see, watch, or listen to and then somehow using them. For instance, you can read a lot, but if nothing resonates with you or you don’t take note of anything, you will forget what you read later.

    I have forgotten important parts of what I’ve read. Sometimes, I can’t even remember an article’s headline. So I jot down the author’s arguments or things that make sense and add new information to my brain to improve my decision-making skills.

    Coding and Writing

    After reading and writing notes for almost 30 minutes, one of the most exciting things arrives: coding. Coding and writing are my closest friends. They give me the freedom I need and allow me to sharpen my programming and writing skills.

    I could spend a whole day doing these things without thinking about anything else. When you do things you like, everything around you is set as an automatic pilot. Things start to get done and it seems magical, but it’s not.

    Life does not quite work that way. There is a mental, spiritual, and physical dimension we need to take care of.

    Spending Time With My Loved Ones

    From my point of view, spending time with your loved ones is really the most precious time. Life is ephemeral, and sooner or later, you will not have the opportunity to stay with them or hug them. So spending time with them is the right antidote after a tiring day. It’s the water to hydrate your soul and energy your body needs.

    Take care of them, love and hope for them. They will provide you with the strength to face anything. Doing things you enjoy doesn’t mean you will feel happy all the time. We are just human beings, full of emotions and feelings. We are likely to encounter tough moments and doubts even by doing what we love.

    Compare Your Results With Normal Days

    When I say compare your results, I am not saying that you should see big results after doing things you love. I am talking about your feelings, your accomplishments. How was your progress on your life goals? A normal day probably doesn’t add any meaning to your life. It’s just another wasted day.

    A comparison between these days will prove that you are able to do anything as long as you do things you really love.

    Conclusion

    What is holding you back from doing this every single day?

    There are many reasons. I have given them a name: excuses. They are what hold us back from doing all the things that we really enjoy. All those excuses and fears make our life miserable. As Carl Yung once said, “Every human life contains a potential, and if that potential is not fulfilled, then that life was wasted.”

    Thanks for reading! I really appreciate your priceless time.


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

    14 4 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《滚动条 vuescroll》
    今日推荐英文原文:《What I’ve Learned by Teaching Others Programming》

    今日推荐开源项目:《滚动条 vuescroll》传送门:GitHub链接
    推荐理由:说到为元素加入过量的内容,自然少不了考虑滚动条的存在。现在已经有了很多关于滚动条的库,这个项目就是其中一个,它不仅可以轻松加入滚动条,还可以对滚动条颜色以及其背景等进行单独配置,使得其更容易契合页面本身的风格。

    今日推荐英文原文:《What I’ve Learned by Teaching Others Programming》作者:Stefano Troìa
    原文链接:https://medium.com/better-programming/what-ive-learned-by-teaching-others-programming-ddeed8505c25
    推荐理由:讲课也是一种学习方式

    What I’ve Learned by Teaching Others Programming

    You learn a lot by giving back

    After several years of working in development, I think many feel a call, a need to transmit what they’ve learned during their time as a software developer.

    With your struggles to master a particular skill in mind, it’s awesome to transmit your knowledge and make things easier to learn for others.

    Some months ago, I had the opportunity to teach a Java course. I was very curious. I think many of us are engaged in some form of teaching with colleagues, explaining our code or our approach to solving a particular problem. However, there is a big difference between that and formally teaching students.

    Here’s What I’ve Learned

    1. Be prepared

    Teaching is like going to an interview with dozens of spectators, so it’s important to be prepared.

    You need to define a set of arguments to explain, be confident in this argument, and be prepared to switch the order of arguments according to the trend of your class.

    It’s also important to write the requirements of a project that will be developed by the students during the course. It may be helpful to write a document containing all the steps to develop for each lesson.

    2. Be patient… very patient

    Teaching is beautiful, but it is not for everyone. When we teach something, we have to remember that our students are at the beginning of their journey, so many concepts that are a given for us could be very difficult to understand for them.

    I remember when I was 13 and I started studying programming, iteration and recursion were hard topics to understand for my class. It was strange because they are so different compared to our non-programming-minds.

    So be patient because it takes time to transmit a concept and make it 100% understood. You’ll have to repeat yourself many times and use different examples to explain, but your patience will be rewarded.

    3. Make your students work as a team

    After assigned practical exercises, you will be able to measure the level of any student and you will notice that some students will finish the exercises sooner than others.

    It’s important to build a “student team” so the better students will have to help the others in order to create strong teamwork and understand how important it is to help a colleague who is in trouble.

    The other reason is that when a student tries to explain what they learned, they will be able to truly understand if the concept is clear. This will allow you to discover things that weren’t clear in your explanation.

    4. Language is fundamental

    The main thing a novice teacher will notice is how difficult it is to translate our speech for novice programming students. It’s hilarious for other people listening to our speech because we use technical terms all the time.

    When introducing a technical term, it’s important to explain it with understandable worlds.

    5. Talk about your on-field experiences

    Sometimes in your explanations, you may introduce abstract concepts or best practices to follow. To make these more understandable, it may be worth mentioning real-life experiences where following this best practice helped you solve the problem or avoid some bugs.

    Talking about a project you have done or issues you have faced in the past will conquer your students’ attention before they get confused by a lack of clarity.

    Conclusion

    Teaching is a good experience to measure your skills and understand things that weren’t so clear to you. So see it as a challenge. You don’t have to know everything. It’s OK if you can’t answer a student’s question. Just try to be prepared and fill the gaps as soon as you find them.

    Thanks for reading!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 71 72 73 74 75 … 262
下一页→

Proudly powered by WordPress