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

开源日报

  • 开源日报第726期:《中文项目榜 GitHub-Chinese-Top-Charts》

    24 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《中文项目榜 GitHub-Chinese-Top-Charts》
    今日推荐英文原文:《Should You Learn VIM as a Developer in 2020?》

    今日推荐开源项目:《中文项目榜 GitHub-Chinese-Top-Charts》传送门:GitHub链接
    推荐理由:语言相通自然更容易了解,这个项目收集了 GitHub 上的中文项目并按主题制作成榜单,很适合推荐给初来乍到的新人来作为项目了解的入门,不过尽管中文项目更容易了解,一直了解中文项目而不涉足其他语言也不是什么好事,GitHub 里的主流语言还是英语,加强阅读能力去探索更广阔的世界才能获取更多知识。
    今日推荐英文原文:作者:
    原文链接:https://medium.com/better-programming/should-you-learn-vim-as-a-developer-in-2020-75fde02c5443
    推荐理由:在没用过它的人眼里,这玩意虽然好用但是据说很难学……

    Should You Learn VIM as a Developer in 2020?

    Introduction

    The discussion of which text editor, which shell, or which OS you use has always been a hot topic for developers to chime in on. I’m sure we all know that one person who is crazy over VIM. I’m sorry to disappoint you, but this post will not be glorifying VIM itself. Instead, this post will be used to discuss why I decided to learn VIM, what VIM solved for me, what it didn’t, and most importantly, should you learn VIM?

    A brief introduction about my programming background as it will give context. I started programming seriously around late 2018 after deciding to pursue it for a career path. Before then, I would often create (pretty bad) scripts for different games I played and run a few websites/game servers as side hustles. Since taking up programming as a career, I have dabbled in several languages, but I find myself doing a lot of work in the JavaScript ecosystem. Now that we’ve got intros out of the way, let’s get started!

    What VIM Didn’t Solve for Me

    VIM didn’t make me a better software engineer. I will say it again: Learning VIM does not make you a better software engineer. At its core, software engineering is agnostic of what shell/editor/OS you develop on. I believe that too many people implicitly have this notion that you need to use X or Y in order to be a “good” software engineer.

    As a newcomer in this industry, I find the general “____ OR BUST” mentality to be cringe and elitist. We’re all creating solutions to complex problems. The toolkit you use to write your solution doesn’t make you a better or worse developer.

    Why I Decided to Learn VIM

    Building habits

    Since I’m a relatively new programmer, I have a lot of room for areas of improvement, and workflow is definitely one of those areas. Before learning VIM, I was never really a person to utilize hotkeys/keybindings to my advantage. I was extremely reliant on using my mouse. When being pitched the typical VIM spiel, the whole “keep your hands on the keyboard” point appealed to me since I have always been a fast typer. I knew in the back of my head that learning VIM wouldn’t lead to any sort of negatives.

    Limitless potential

    When debating if I should learn VIM, I decided to watch a tech talk about it, and the single major takeaway I had from it was that people can use VIM for years and still be improving their usage on the tool.

    This hinted at a few things for me. First, picking up VIM is a huge time investment, but more importantly, you’re always finding ways to level up your craft. As someone who’s a pretty new developer, I want to parallelize my efforts when I can. This is a reiteration of my previous point, but when I incorporate different tools (VIM in this case) into my development workflow, I give myself the ability to kill two birds with one stone.

    I no longer need nano on my Linux servers

    This is a bit of a random tidbit, but coming from someone who has worked in a Linux environment remotely over the years to run a few sites/servers, not knowing VIM was definitely annoying. If I needed to ever modify a config file for a service I was running on a box, it would require me to install nano as my knowledge with VIM was :q!.

    My Work Environment

    In my day-to-day, I utilize VSCode with the VIM plugin. I’ve tried installing VIM plugins such as coc.nvim and developing through the terminal itself, but it wasn’t something I was crazy over. I always really enjoyed the experience of writing code on VSCode. Using the VIM VSCode plugin gives me the same experience of running VIM, but I get to reap the benefits of the ecosystem VSCode provides to me. For me, I get the best of both worlds when utilizing this setup.

    Conclusion

    Should you learn VIM? If you don’t have any sort of habit/strict keybindings for yourself, I think you should at least give it a try. The fact that I had no “comfortable” keybindings/workflow established for myself made learning VIM appealing to me. After learning VIM, I can say that I have gained a new foundation that I am only building off of.

    It took me about two weeks of lightly running through vimtutor before I felt comfortable enabling the VSCode plugin. From there, it took another week of development time to innately navigate through code using the keybindings through muscle memory. The way I see it is I was coding either way for that time. I was able to get more value for my time by picking up VIM.

    Though, I would like to reiterate that, at the end of the day, programmers are creating solutions to problems. Which keybindings/editor/etc. you want to use is entirely based on your preference. The speed at which you edit files is often not the bottleneck in your development work.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第725期:《文言文编程:wenyan》

    23 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《文言文编程:wenyan》
    今日推荐英文原文:《6 Habits of Super Learners》

    今日推荐开源项目:《文言文编程:wenyan》传送门:GitHub链接
    推荐理由:大名鼎鼎的文言文编程语言, 中华传统文化和现代科技文明结合的产物.
    今日推荐英文原文:《6 Habits of Super Learners》作者:Thomas Oppong
    原文链接:https://medium.com/personal-growth/6-habits-of-super-learners-63d466a254fd
    推荐理由:成为一个超级学习者是你在 21 世纪取得成功所需要的最重要的技能之一。在一个瞬息万变的世界里,尽快学习新技能的能力正迅速成为一种必要条件。这篇文章将讲述一个超级学习者必备的一些素质。

    6 Habits of Super Learners

    Becoming a super learner is one of the most important skills you need to succeed in the 21st century. In the age technological change, staying ahead depends on continual self-education — a lifelong mastery of new models, skills and ideas.

    In a world that’s changing fast, the ability to learn a new skill as fast as possible is quickly becoming a necessity. The good news is, you don’t need a natural gift to be better at learning something new even when you have a full-time career.

    Many polymaths (people who have excelled in diverse pursuits) — including Charles Darwin, Leonardo da Vinci and the Nobel prize-winning physicist Richard Feynman — claimed not to have exceptional natural intelligence. We all have enough brainpower to master a new discipline — we use the right tools, approaches, or apply what we learn correctly. Almost anyone can learn anything — with the right technique.

    Better learning approaches can make the process enjoyable. The key to rapid skill acquisition isn’t complicated. If you aim to learn a new skill to improve your career this year, some of these habits can be useful for you. 1. Super learners read a lot

    Reading is to the mind what exercise is to your body. It gives us the freedom to roam the expanse of space, time, history, and offer a deeper view of ideas, concepts, emotions, and body of knowledge.

    Your brain on books is active — growing, changing and making new connections and different patterns, depending on the type of material you’re reading. Highly successful learners read a lot.

    In fact, many of the most successful people share this appreciation for reading — they don’t see reading as a chore but as an opportunity to improve their lives, careers and businesses.

    Elon Musk grew up reading two books a day, according to his brother. Bill Gates reads 50 books per year. Mark Zuckerberg reads at least one book every two weeks. Warren Buffett spends five to six hours per day reading five newspapers and 500 pages of corporate reports.

    In a world where information is the new currency, reading is the best source of continuous learning, knowledge and acquiring more of that currency.

    2. Super learners view learning as a process

    Learning is a journey, a discovery of new knowledge, not a destination. It’s an enjoyable lifelong process — a self-directed and self-paced journey of discovery. Understanding any topic, idea or new mindset requires not only keen observation but more fundamentally, the sustained curiosity.

    “A learning journey is a curated collection of learning assets, both formal and informal, that can be used to acquire skills for a specific role and/or technology area,” writes Sonia Malik of IBM.

    Learning is an investment that usually pays for itself in increased earnings. More than ever, learning is for life if you want to stay relevant, indispensable and thrive in the changing world of work.

    Super learners value the process. They don’t have an end goal, they seek consistent improvement. They keep mastering new principles, processes, worldviews, thinking models, etc. The “ongoing, voluntary, and self-motivated” pursuit of knowledge is important for their maturity.

    3. They adopt a growth mindset

    You can’t go wrong cultivating a growth mindset — a learning theory developed by Dr Carol Dweck that revolves around the belief that you can improve intelligence, ability and performance.

    “The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn and relearn,” argues Alvin Toffler, a writer, futurist, and businessman known for his works discussing modern technologies.

    Cultivating a growth or adaptable mindset can help you focus more on your most desirable goals in life. It may influence your motivation and could make you more readily able to see opportunities to learn and grow your abilities. The ability to keep an open-mind, acquire better knowledge and apply it when necessary can significantly improve your life and career.

    4. Super learners teach others what they know

    According to research, learners retain approximately 90% of what they learn when they explain/teach the concept to someone else, or use it immediately. Teaching others what you know is one of the most effective ways to learn, remember and recall new information. Psychologists, call it the “retrieval practice”. It’s one of the most reliable ways of building stronger memory traces.

    Learn by teaching someone else a topic in simple terms so you can quickly pinpoint the holes in your knowledge. It’s a mental model coined by the famous physicist Richard Feynman.

    Known as the “Great Explainer,” Feynman was revered for his ability to clearly illustrate dense topics like quantum physics for virtually anybody. The Feynman Technique is laid out clearly in James Gleick’s biography, Genius: The Life and Science of Richard Feynman.

    The ultimate test of your knowledge is your capacity to transfer it to another. A better way to learn, process, retain and remember information is to learn half the time and share half the time. Example, instead of completing a book, aim to read 50 percent and try recalling, sharing, or writing down the key ideas you have learned before proceeding.

    5. Effective learners take care of their brains

    Keeping your brain healthy keeps it sharp. What you do or don’t do for your brain can significantly change how your record, process and retrieve information. Everyone wants to live an active life for as long as possible. And that goal depends on robust brain health.

    That means eating lots of foods associated with slowing cognitive decline — blueberries, vegetables (leafy greens — kale, spinach, broccoli), whole grains, getting protein from fish and legumes and choosing healthy unsaturated fats (olive oil) over saturated fats (butter).

    Fruit and vegetables combat age-related oxidative stress that causes wear and tear on brain cells,” says Dr Gary Small, a professor of psychiatry and ageing.

    Our brains naturally decline if we do nothing to protect them. However, if you intervene early, you can slow the decline process — it’s easier to protect a healthy brain than to try to repair damage once it is extensive.

    6. They take short breaks, early and often

    Downtime is crucial to retaining anything you choose to learn. According to recent research, taking short breaks, early and often, can help you learn things better and even improve your retention rate.

    “Everyone thinks you need to ‘practice, practice, practice’ when learning something new. Instead, we found that resting, early and often, maybe just as critical to learning as practice,” said Leonardo G. Cohen, M.D., Ph.D., a senior investigator at NIH’s National Institute of Neurological Disorders and Stroke.

    Better breaks help the brain solidify, memories during the rest periods. Whatever you choose to learn over time, it’s important to optimise the timing of rest intervals for better results.

    Experts at the Louisiana State University’s Center for Academic Success recommends 30–50 minutes sessions. “Anything less than 30 is just not enough, but anything more than 50 is too much information for your brain to take in at one time,” says learning strategies graduate assistant Ellen Dunn.

    Our brains’ neural networks need to time process information, so spacing out your learning helps you memorise new information more efficiently — give your brain enough time to rest and recover.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第724期:《浏览器 browser-2020》

    22 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《浏览器 browser-2020》
    今日推荐英文原文:《5 Git Practices for Effective Work》

    今日推荐开源项目:《浏览器 browser-2020》传送门:GitHub链接
    推荐理由:现在是2020年,浏览器依然可以做很多令人惊奇的事情。该存储库包含当今浏览器中实现的较不知名功能的详尽列表。
    今日推荐英文原文:《5 Git Practices for Effective Work》作者:W3dcos
    原文链接:https://medium.com/better-programming/5-git-practices-for-effective-work-b612e5430bc7
    推荐理由:关于Git使用的几条建议

    5 Git Practices for Effective Work

    Commit early, commit often

    724-1
    (Photo by Aziz Acharki on Unsplash)
    One of Git’s key advantages is flexibility. Git makes it possible to handle small and large projects, and enables a smoother workflow for team members. Tracking changes, maintaining the source code backup, enabling the collaboration of the team, and deploying the source code on the server with a single command are considered to be the power of Git performance.

    Yet, there is lots of stuff you don’t even guess that’s essential for productive work. To increase your work efficiency and achieve better results, we suggest the following points to consider while working.

    1. Make Clean Commits

    Many of you, while fixing a specific bug, may spot another one and try to solve all the things in just a single git commit. Of course, this is not a good habit and can be problematic for you and your team members. Always keep in mind that fixing two different bugs should produce two separate commits. Keep the commits clean and contribute one commit for a single purpose. It will help others check your changes efficiently and make code reviews.

    Also, don’t forget to write good commit messages (we have contributed a whole article on this topic). For that purpose, Git provides tools like the staging area (index) and the ability to stage only some parts of your file.

    2. Commit Early and Often

    Git is responsible for your data when you commit. Do not wait until you get a perfect commit. Split the feature implementation into small chunks and commit often. If you need a little bit more time to complete your work, just keep it updated with the latest changes so as not to get stuck in conflicts. If you commit early and often, you don’t lose work or revert changes, and you can trace your work while using the git reflog command. However, don’t commit a half-done code. If you want to commit just because you need a clean working copy, just use the git stash command instead!

    3. Don’t Change Published History

    Altering an already published history is a bad practice. Why? Let’s explain. Once a commit has been merged into an upstream branch and is visible to other programmers, it’s not recommended to change the history, to avoid conflicts. If you later find out that you litter your commit up, you can create new commits that fix the problem, for example by git revert. However, there are times when altering a published history is perhaps a normal thing, if managed well.

    4. Use Aliases

    Git alias is a shortcut that creates short commands mapping the longer ones. It demands a few keystrokes to run a command simplifying the programmer’s work. For example, we run:

    git commit -m “commit message”

    Instead, we can type:

    git c -m “commit message”

    Cutting a few letters every time will definitely save lots of time! Check out our article 7 Git Tricks to Save You Time.

    5. Use Git Rebase in an Interactive Mode

    There are lots of scenarios when your feature branch is ready to be integrated into the master, but a mess of commits doesn’t let you merge it.

    You may have a bunch of commits in your branch, but once you want to merge it into the master, you should squash those commits into a clean commit. Git rebase interactive comes to help you with that:

    git rebase — interactive <base>

    Thanks to this magic mode, you can clean the history by filtering and modifying the existing sequence of commits.

    To sum up, we undoubtedly can say that Git is a flexible tool that provides almost everything to make your workflow easier. It’s something like a magic world that we’re trying to dive deeper into and explore for you.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第723期:《更快的加载图片 webp_server_go》

    21 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《更快的加载图片 webp_server_go》
    今日推荐英文原文:《How to Write Code With Your Kids at Home》

    今日推荐开源项目:《更快的加载图片 webp_server_go》传送门:GitHub链接
    推荐理由:WebP,一种减小图片大小但是仍然保持一定质量的图片格式,图片越小,在网络传输中速度越快,自然减少了加载时间。对于个人网站来说,如果想要使用转换服务,而不想受到云服务商的限制,或者只是想统一你站点上的 URL 的话,这个项目能够将图片转换为 WebP 格式输出,因为是你自己的服务,当然也不需要更改 URL,在这种情况下相当适用。
    今日推荐英文原文:《How to Write Code With Your Kids at Home》作者:
    原文链接:https://medium.com/better-programming/how-to-write-code-with-your-kids-at-home-f7959fa22dbe
    推荐理由:如果你刚好在家里工作,又刚好需要照看小孩……

    How to Write Code With Your Kids at Home

    Are you locked in at home with kids? Here are some tips to help you stay sane, do some work, and still leave a smile on your kids’ faces

    Worst-case scenario: You are alone, your kid is five years old and full of energy, and your company successfully switched to remote working or you are a freelancer already working from home.

    Everything would work out fine if your kid could stop storming in every five minutes with a question or request:
    • I’m hungry.
    • I’m angry.
    • I’m lonely.
    • I need to poo.
    • Mommy, Daddy, I have a million ideas…
    And we all know that interruptions don’t help anyone write code.

    To really get anything done, you need at least an hour of quiet time. And with the coronavirus here to stay, what can we do? Things still need to be done. Bugs need to be removed, urgent things need to be handled.

    So here are some tips to help you stay sane, write some code, fix some bugs, and still keep your kid happy:
    • Get organized! Make a schedule — not a strict one but something you can follow. Have an emergency entertainment plan ready. The structure will keep you from losing your sanity and the backup plan should prevent all hell from breaking loose.
    • Rhythm. When things are out of control, even us grown-ups feel safer if there is some kind of rhythm — something we can expect every day. Even in extreme times, we can formulate some kind of rhythm. Create a new routine for this new reality.
    • Time blocking works great for me. Just remember that kids have short attention spans. Be sure to break up the day. Don’t try to make an eight-hour chunk as a workday. Smaller chunks are necessary.
    • Have flexible expectations in place.
    • Above all, have patience and remember this is temporary! It won’t be perfect, it won’t be easy, but it will be a time you will always remember.
    • Understand that you’re not going to be as productive during the same amount of time as normal since you will be interrupted. It’s inevitable. Make a plan to do your work maybe during chores or playtime when the kids are occupied.
    • Have a partner who also works from home so you share the workweek. Well, don’t try to find one now if you’re are single.
    • Don’t expect to do it all. Be kind to yourself.
    • If the kids aren’t old enough to understand boundaries and semi-care for themselves, squeeze in your work time either in the mornings or the evenings.
    • Self-care — you can’t pour from an empty cup! Maybe you can squeeze in a nap when they sleep in the afternoon. Or you can make yourself a bath after they fall asleep. Anything that nurtures your soul.
    • Give younger kids 20–30 minutes of real attention every 60–90 minutes and many/most will give you that 60–90 minutes to work.
    • I also pulled the playroom table next to my desk and called it my kid’s “office” to “work” next to Mama.
    • Invite them into the world of coding with Tynker or Scratch.
    • Headphones are also great during this time. Noise-canceling Bluetooth headphones do miracles!
    • Be flexible and know that it’s going to be an adjustment. Give yourself grace. Don’t be too hard on yourself and don’t expect to get as much done as usual.
    • It can feel hard to pull yourself away, but take time to spend some good time with them. Fill their little tanks first at the beginning of each day. Before you know it, they will likely be ready to run off to do their own thing.
    • Schedule important bonding time so your children feel like they aren’t neglected. When they feel connected, they will be more willing to cooperate with you. And they will feel safe to do their own thing. And we need them to do their own thing.
    • When I get overwhelmed it also helps me to know that I don’t have to be perfect. All I have to be is an OK mom and an OK coworker. Did you know that OK meant “Zero killed” during World War I? Zero killed is OK with me.
    • Now is the best time to teach them creativity. Boredom is the best teacher of creativity. Studies confirm that boredom could lead to better creativity.
    • Remember, this is a great learning experience — both for you and your kid. What can you learn from it?

    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 77 78 79 80 81 … 262
下一页→

Proudly powered by WordPress