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

开源日报

  • 开源日报第718期:《视频会议 Jitsi Meet》

    16 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《视频会议 Jitsi Meet》
    今日推荐英文原文:《Web-Development Roadmap For Beginners》

    今日推荐开源项目:《视频会议 Jitsi Meet》传送门:GitHub链接
    推荐理由: Jitsi Meet 是一个开源的 WebRTC JavaScript 应用程序,它使用 Jitsi Videobridge 提供高质量,安全和可扩展的视频会议。并且,其客户端在浏览器中运行,而无需在计算机上安装任何软件。
    今日推荐英文原文:《Web-Development Roadmap For Beginners》 作者:Ann Adaya
    原文链接:https://medium.com/better-programming/self-taught-developer-web-development-roadmap-for-beginners-part-1-4-82e005b28cd3
    推荐理由:对初学者的Web开发路线

    Web-Development Roadmap For Beginners

    Before you start, lay out where you think you’re going

    There’s no better time to start than now. There are hundreds of tomorrows and thousands of laters, but remember, yesterday you said tomorrow. So start now.

    There are thousands of new jobs available for web developers each day — the demand is rapidly growing. So why are you still doubting getting started?

    Web development isn’t easy, and it’s not for everyone. It’ll take you time to understand even the basics, so you need to consider a lot of things. Ask yourself what your strengths and weaknesses are. Try to understand the overall flow of web development: How does the internet work? How does data get passed from one end to another? What are the languages you want to learn (and their dependencies)? And how do they function with one another?

    You need to understand the overall view before you can choose which path to take because once you decide, there’s no turning back — kidding. I’m just saying it’s for the best.

    These are some of the fundamentals of web development.

    Front-End Web Development

    From the root word itself, it’s the front of any system. In web development, this is what the user sees — the website itself — the view, the color, the font, and the design. This is where the user interface is created, whether it’s for the web or for mobile. The basic foundation you need to learn in front-end web development is HTML, CSS, and JavaScript.

    Client-side

    This is for front-end development. This requires the browser. such as Google Chrome or Firefox. to run the scripts or codes. This is where the user interacts. The client-side scripting languages are HTML, CSS, and JavaScript.

    HTML

    HTML contains the building blocks of web programming. It usually dictates the arrangement of the content.

    CSS

    CSS is responsible for the design, colors, font size, and some animations too. It helps make the interaction more enjoyable and eye-catching.

    JavaScript

    JavaScript is responsible for the enhancement of the HTML. This is used whenever the webpage needs to be dynamic and have special effects. One of its abilities is it can run on all modern browsers. It’s lightweight and makes the execution process fast, enhancing the user experience to its best.

    Once you’re able to have a grasp of those three front-end foundations, you can then proceed with learning the client-side libraries, which are React, Angular, and Vue.js.

    Back-End Web Development

    This is where you communicate with the database, handles almost all the logic, and send the requested data to the front end.

    A server can be written in different languages. The easiest way to learn, among other choices, is by Node.js which is JavaScript-based. Once you get comfortable with JavaScript, you can easily transition from front end to back end, as they’re both on the same language. Other back-end languages will be mentioned below.

    Server-side

    This is for the back-end development, including the server for its processing. This isn’t visible on the client’s end. It’s working on the backside. The languages for the server or the back end are PHP, ASP.NET, Ruby on Rails, Python, etc.

    What it does:
    • Functions like customization of the website
    • Dynamic inputs and changes to the website content
    • Responses for every data query from the user — a good example is when the user logs in, the verification is done on the back end to check if the user validates a certain authentication
    Working and understanding the database is one of the core functions in back-end development. A database via SQL is the most popular, but there’s also NoSQL and GraphQL.

    Databases

    Databases are where the data of a certain application is stored. There are two common types of databases: SQL and NoSQL.

    The Requirements and a General Overview Before We Start

    You have different options in choosing your text editor.

    1. VS Code: This is the most popular choice. It’s easy to use, and there are hundreds of extensions you can use to make coding fun, enjoyable, and easy.
    2. Atom
    3. WebStorm
    4. Sublime Text
    5. Vim: This is the hardest — it’s way too advanced for now

    Know your operating system (OS)

    Are you using a Mac, Windows, or Linux? An OS is the backbone of any system. Without it, you can’t interact with anything.

    Mac: Developed by Apple for its Macintosh system, Mac’s the most popular choice.

    Windows: Developed by Microsoft, a Windows machine is cheaper than a Mac, but when it comes to the risk of malware, Windows is the most vulnerable.

    Linux: A UNIX-like source software that provides full-memory protection and multitasking operations. It’s open for everyone, but it’s the least used OS.

    Conclusion

    This is a self-taught developer starter series. Feel free to visit my profile for more tools, resources, and tutorials.

    Thanks for reading!


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第717期:《来找茬的 big-list-of-naughty-strings》

    15 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《来找茬的 big-list-of-naughty-strings》
    今日推荐英文原文:《29 Tips for Very Effective Remote Managers and Workers》

    今日推荐开源项目:《来找茬的 big-list-of-naughty-strings》传送门:GitHub链接
    推荐理由:一般来说,让开发人员为程序输入数据比较稳定,而到了正式使用的时候,就会有 99.99% 的非开发人员来输入数据——谁能肯定这里面没有什么人来给你整点新花样呢?这个项目是一个字符串列表,包含了各种可能带来异常的输入数据,虽然里面可能混杂了一些艺术成分……如果系统的输入处理模块连这些都能承受下来,那可就再好不过了。

    今日推荐英文原文:《29 Tips for Very Effective Remote Managers and Workers》作者:Sarah Milstein
    原文链接:https://medium.com/better-programming/29-tips-for-very-effective-remote-managers-and-workers-3b20d897ceb3
    推荐理由:由于非常现实的原因,远程工作的潮流要来了

    29 Tips for Very Effective Remote Managers and Workers

    These days, there are lots of guides for remote work, with lots of good ideas. But the logistics and social dynamics of successful remote arrangements can be quite subtle.

    I’ve been working on and leading remote teams for two decades, and I’m going to share a bunch of tips that I’ve seen covered rarely or never before. When you know these, you can be more intentional, and thus more successful, on distributed teams.

    First, let’s note that not all distributed teams are the same. There are fully remote teams with no shared physical space; partially remote teams where some people work in an office and others work from home; satellite offices where people work in the company’s physical spaces but not in the same ones as their teammates; and various variations on these themes. Many of the tips here apply equally to each of these setups. But some setups — in particular those in which many people are in one office and others are not — require deeper diagnoses and more systemic solutions to really thrive.

    In addition, there can be different roles in distributed work. They may include people who manage distributed teams or who manage individuals in another location; individuals who are remote from their team or manager; people at HQ who work with remote folks or people in satellite offices; and company leaders who can set norms. I’ve structured this piece by role, to help give you clarity about how you can have — and help create — the best experience.

    If you’re in the office and you have coworkers who are elsewhere

    Video is going to be a huge part of how you connect with people outside the office. Don’t leave it to IT alone to set things up. Instead, understand the big social differences that small technical changes can make and lead by example.

    #1. Practice “one on video, all on video.”

    This is one of the most powerful norms you can set in any situation where some people are colocated (i.e., in an office together) and some are remote. If you do nothing else, adopt this practice alone for huge benefits. In a nutshell: if even one person is joining a meeting via video, everyone else joins via their own camera, too (laptop or phone) — -even if a lot the attendees are in the same room and it has a video camera. The individual video is critically important to allow anyone remote to fully see the others and participate. A camera that shows the whole room inevitably cannot show everyone’s faces adequately, and it often cuts off some people in the room altogether. The people in a room together can share a speaker and mic from one laptop or the room system, if there is one. (When you’re sharing sound, everyone else should mute the speakers and mic on their laptop, or you’ll get echoes and ear-piercing feedback.)

    I cannot overstate how big a difference individual video cameras makes for remote participants and meeting quality overall. While this norm requires that everyone schlep their devices to meetings (and that they learn how to reduce distractions from those devices, discussed below), it pays off in better and sometimes shorter meetings, as the remote attendees are able to understand and engage much more quickly and thoroughly. And, happily, it doesn’t lead to any change of connection between the people who are together in person.

    #2. Make some meetings video only.

    Again, if you have some colocated coworkers and some remote, it’s worth deciding which meetings are better held with everyone joining via individual video, from their own desks (even the people in the office). Contrary to what you might expect, many large meetings that tend to focus on presentations rather than discussions, like company or department all hands, can make for great all-video sessions. Rather than feeling like a one-way broadcast, a meeting where everyone joins via video can feel participatory, letting you see your coworkers’ faces. Plus, a dedicated chat — in the video software or the chat software — can bring additional energy and community vibes to these meetings, along with an easy way to share feedback or ask questions on the fly (designate a moderator or two for bigger groups).

    #3. Designate somebody in the room to make sure all the folks on video can see, hear and raise their hands.

    Tell the people in Videoland who their designated rep is, and have that person tell everyone the best way to reach them if something goes wrong (e.g., Slack or Zoom chat).

    If you manage distributed teams

    There are lots of things to try — and you may need to experiment to find the systems that work for your team.

    #4. Use meetings to connect with each other, not for status updates.

    A short daily video call that you use for things other than status updates can make a huge difference in the cohesion and productivity of a team. You might try a running agenda of questions for the team; information people have discovered; small triumphs; lessons learned. Rotate who runs the meeting. (For status updates, try statusbot in Slack, or keep a running list in Trello, a Google doc, or wherever your team captures stuff.)

    #5. Create an agreement about roughly what time you’ll all start and stop messaging and emailing each other.

    The research on this is crystal clear: one of the things people most fear and dislike about remote work is that there’s not an obvious end to the day. Without a commute to break things up, or any other boundaries, you can easily work all night, especially if you’re receiving messages around the clock. Solve this with team agreements about the hours you’ll send out things on Slack, email and other communication tools. In other words, create a start and end of the day by drastically reducing or eliminating the incoming messages that everyone gets and by increasing the expectation that that time away from work is valuable. You can set these agreements by team or for the whole company.

    For example, when I was CEO at Lean Startup Productions, we agreed that nobody would send anything after 7p on weekdays, in whatever timezone they were in, or on weekends. We made exceptions for the week or two before big events that we produced. We didn’t limit the hours people could work; if somebody liked to work evenings or needed the flexibility to get something done on the weekends, we had the freedom to do that. But our work couldn’t fill up anyone else’s inboxes during off-hours. Even though we spanned time zones, so you’d still get messages before and after your normal work day, you got far fewer of them — and our shared agreement that we wouldn’t see each other online during certain hours was a powerful incentive to stop working and spend time on our lives outside the company.

    Software can really help you out here. In your email app, look for an option like “schedule send” or use a tool like Boomerang that will let you schedule messages to go out at a time you choose. Write messages during vampire hours, schedule them to arrive in your coworkers’ inboxes during normal work hours. On Slack or other messaging systems, look for “Do not disturb” settings to turn off notifications after hours. Conversely, when you can see your coworkers have those settings turned on, don’t worry about sending them messages! They won’t see them until they log in.

    #6. Make it friendly.

    Some teams find it helps them feel more co-present to say hello via chat when they log in each morning and goodbye when they head out each night. Agree on a standard and model it.

    #7. Say hello to each other’s families and pets.

    There’s a distinct kind of intimacy you get from seeing people regularly in their homes, among their things and beloved people and animals. Take advantage of that by encouraging people to bring their families and pets in front of the camera and to give tours of their homes. This can have the bonus effect of making parenting a more respected part of people’s lives, often a particular challenge for women. (Of course, be sensitive to people who don’t want to bring their families or homes onscreen. It’s comfortable for a lot of people, but not everyone.)

    #8. Set up coworking time over video.

    Book team time for long blocks (an hour or two) when you’ll all be doing heads down work quietly together. Sounds hokey, works incredibly well.

    #9. Make it normal to jump on video to ask quick questions.

    If your team is used to asking each other questions casually, agree that if you have something short to discuss, you’ll ping each other and ask for five minutes on video, rather than book calendar time or try to work out complicated things in Slack. (In Slack, use the command /zoom to get an instant Zoom link for anyone in that channel/DM.) Of course, if you discuss something that other people should know, bring it back to a team channel or meeting.

    #10. Use software to suggest informal meetings.

    Tools like Donut, which integrates with Slack, will automatically suggest coffee dates for coworkers. While colocated team members can go out for coffee, remote coworkers can simply share coffee over video or can jump on a call while you each take a walk in your own locations.

    #11. Use standalone chat (like Slack) sometimes and the video system’s built-in chat other times.

    When you’re holding a big video meeting, designate where the group will ask questions, share kudos for presenters, share files, etc. While the chat that’s built in to most video systems is usually easier to monitor while you’re onscreen, it may have limitations: people might not be able to see the chat transcript from the minutes before they joined; the transcript may be automatically erased at the end of the meeting; it may not have good emoji support; it may not be well integrated with your file system; it may be hard to find. On the other hand, it can be hard to keep an eye on a second system that probably has all those features, like Slack. Decide which set of benefits and tradeoffs are most important to you and announce early and often in the meeting where attendees should join for chat. In most video systems, you can turn off the chat feature, which is helpful for larger groups that you want to steer to another system. Again, for bigger groups, designate a chat monitor or two.

    #12. Use the video mute/unmute button to your advantage.

    One the most useful things about video calls for smaller groups- — under about a dozen- — is that if everyone but the speaker sets themselves to mute, you can each unmute when you want to signal that you’d like to talk. In many meetings, this visual cue lends to smoother conversation, where more people can participate without interrupting each other to get attention. (In bigger meetings where it’s hard to see each other unmute, it’s often necessary to use the video system’s hand-raising function or chat feature to signal that somebody wants to chime in.)

    #13. Hold team dinners over video.

    A couple times a year, book an evening to join each other for dinner (or drinks) over your laptops, from home. Include family members, show each other what you’re eating (you can even all try cooking the same thing), and talk about anything not related to work.

    #14. Play an online game together.

    At Mailchimp, where I work now, many distributed teams are fond of online Pictionary-like games, like skribbl.io, for occasional bonding.

    If you manage individual reports who are somewhere else

    Bear in mind that you and your direct reports may have different ways of forming trust. You can be sensitive to those different styles and maintain good communication standards at the same time.

    #15. Have one or two short video calls per week to talk about anything but work — especially when the relationship is new.

    10 minutes is a good amount of time, scheduled.

    #16. If you’re not clear what your reports are focusing on, set up a status bot in Slack or use another mechanism that automatically asks people what they’re up to.

    It can ask for a sentence once a day, once a week, every other day — you get the idea.

    #17. If you’re not clear what your reports are producing, agree on a standard for updates.

    That might be a weekly bulleted list, a daily note, or links to work artifacts.

    No matter where you are, you can use video better

    These tips refer to Zoom as the video software. But most video systems will give you similar options.

    #18. Fill your screen with the video display.

    You’re in a video meeting, but maybe there’s something interesting happening in Slack! Your brain wants to check! It really wants to check! But your coworkers can tell — -no, really, everyone can tell — -when you’re reading something else. Colocated teams sometimes ban laptops and/or phones for this reason. But distributed teams have to sit in front of screens to see each other. Reduce the temptation to check messages and increase your ability to focus on your meeting by setting your display to fill the screen — ideally the screen with your camera, as noted above. If you need to have a document open for the meeting, try setting the video display and the document side-by-side, and using both to fill the screen. If you don’t want to fill the whole screen with video, you can achieve a similar effect by turning off or hiding all your other software. But I find there’s something extra effective about maximizing the video display.

    (Bonus points for turning off distracting notifications from the rest of your software: email, Slack, calendar, etcetera. If you find you’re still distracted by the option to check your messages, lots of people say that taking notes, especially by hand, or doodling on paper during the meeting helps them stay focused. Just remember to look up regularly, especially in smaller meetings, so everyone else can see your lovely face.)

    #19. Actively choose Speaker vs Gallery View.

    Zoom lets you choose whether the screen is fully filled by the active speaker or whether you see everyone tiled equally in a gallery, like the Brady Bunch opening credits. (In the upper right corner, look for “Speaker View” or “Gallery View.”) If you’re in a 1:1, try speaker mode so that you aren’t distracted by looking at yourself next to your coworker. If you’re in a meeting that’s more than two, choose Gallery mode so that you can see how everyone else is responding to what’s being discussed. People often say that in remote meetings, they lose the ability to read body language; but if you use Gallery mode, you gain the ability to read more faces during the meeting .

    #20. Screenshare with care.

    In Zoom, when one person is sharing their screen, it blocks everyone from seeing each other readily. Turn on screensharing only when you’re actively using it, and turn it off as soon as the presentation is done or during any mid-game discussion so that everyone can see each other. Alternatively, have everyone following along in the deck or doc you’re presenting, rather than screensharing it.

    #21. Split Zoom to see the meeting participants and the screenshare.

    If somebody is presenting in Zoom, you can split the screen so that you can see at least some of the people. First , choose Gallery View (in the upper right corner). Next, once somebody has started screensharing, mouse over the right edge of the shared area to get a little bar that you can grab and slide to the left. That lets you reduce the screenshare window and see more people. Or, if you have two monitors, Zoom video settings let you have dual windows open- — one for seeing the other people, and one for seeing the presenter or shared screen.

    #22. Look in or at least toward the camera.

    A common problem: you have two screens set up, and the thing you’re looking at — the display of other people or the meeting notes or screenshare — -appears on the screen where you don’t have your camera. So what other people see is you looking away from them, or they may be staring up your nose. I hope it’s obvious that this is bad for teamwork. You can solve this problem by intentionally looking at the camera, especially when you’re speaking (this appears to them as if you’re making eye contact, which is desirable!). Or you can find settings that ensure the display you see and your camera are on the same screen. In some cases, you may have to drag the display into the right spot.

    #23. Avoid backlighting.

    When you’re in front of a window or bright light, your camera will focus on the lighted area, and you’ll appear dim, sometimes to the point of being impossible to see, as if you’re in witness protection. (Click around to see yourself on camera — -in Zoom, Gallery View will show you everyone in the meeting, including yourself — -and gauge whether you need to move.)

    #24. Add your full name to the screen name other people see.

    Displaying names is especially important if you’re in meetings where the participants don’t all know each other.

    #25. Add a photo of yourself to your profile.

    Sometimes you’ll need to turn off your camera for bandwidth, or because you’re moving around and don’t want to make everyone else seasick. In those cases, seeing a picture of you can help others feel more connected to you than staring at a blank screen or anonymous avatar.

    Four more good ideas

    Here are a handful of additional ideas to try to improve the dynamics of your distributed workplace.

    #26. Meet in person sometimes!

    If you have the budget and coworkers who are able to travel, encourage periodic team meetings in person, and consider an annual company all hands in person. Generative meetings — for planning or other creative work — are particularly good candidates for getting together, especially if you need to spend a full day or more on the topic. With a baseline of in-person interactions, your distributed communications will feel deeper and easier.

    #27. Hold an internal conference via video.

    To help generate good energy across the organization, book a four- or six-hour internal conference once or twice a year, and do the entire thing over video. Pull together an organizing group with input from different departments. Pick some themes you want to emphasize. Let people who don’t normally get a lot of air time hold lightning talks for everyone and run discussion sessions in breakout video rooms. Designate Slack channels or other spots for chatter throughout the day. I’ve run these at Mailchimp and 18F. They’re a low cost way to have a high impact on company cohesion, and we always get a lot of requests to hold them repeatedly.

    #28. Change starts at the bottom and the top.

    Many of the tips I’ve described here work best when company leaders are modeling them and the practices are widely adopted. But if you’re not the CEO, you easily start using some of the tips at the team level or even for your 1:1s. Often, grassroots efforts pay off, and when other people see small-scale successes, they start trying the tactics, too.

    #29. Change is hard!

    I’ll end with a very useful meta-tip. Let’s say you want to try something new to improve your distributed practices — maybe “one on video, all on video” — but your coworkers are resisting the change because they don’t want to carry their laptops to meetings, and they don’t see the benefit of individual video. Change is hard! You can lower the risk that they’ll wind up committing to something they hate, and thus lower their impulse to say no, by asking them to try the new approach for a limited period of time (three weeks, or three months, or whatever makes sense for your situation). You’ll put a date in the calendar for the end of that period, and at that point, you’ll all discuss whether and how the change is working.

    At the end of the time period, not only will you have more relevant experiences to draw on, but you’ll also all have a chance to be more intentional about how you’re creating your distributed environment. Ultimately, that’s the key to making any workplace work well — and you’ll gain that advantage almost incidentally.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第716期:《java工程师进阶:advanced-java》

    14 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《java工程师进阶:advanced-java》
    今日推荐英文原文:《YouTube will slowly start monetizing coronavirus videos following creator anger》

    今日推荐开源项目:《java工程师进阶:advanced java》传送门:GitHub链接
    推荐理由:互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,后端同学必看,前端同学也可学习
    今日推荐英文原文:《YouTube will slowly start monetizing coronavirus videos following creator anger》作者:Julia Alexande
    原文链接:https://www.theverge.com/2020/3/11/21174212/youtube-coronavirus-monetization-ads-susan-wojcicki-sensitive-subject-phil-defranco
    推荐理由:Youtube 正在重新评估其政策,试图让一些创作者将他们制作的关于新型冠状病毒爆发的视频货币化。这对敢于发布新冠病毒真相的视频制作者是一种鼓励。

    YouTube will slowly start monetizing coronavirus videos following creator anger

    YouTube is reassessing its policies in an effort to let some creators monetize videos they make about the novel coronavirus outbreak.

    A few weeks ago, YouTube notified creators in one of its Creator Insider episodes that any video talking about the novel coronavirus or COVID-19, the disease caused by the novel coronavirus, would face automatic demonetization. The novel coronavirus was declared a sensitive topic, defined as a recent event with a “loss of life, typically as a result of a pre-planned malicious attack.” These videos are not suitable for advertising. While they are allowed to stay on YouTube because they don’t violate the content guidelines, creators can’t make money from the platform’s built-in ad service. That’s changing.

    YouTube CEO Susan Wojcicki issued a letter today to creators addressing coronavirus coverage and what it means for people who want to cover it. Creators like Philip DeFranco, who’s a source of news for many YouTube users, has covered the ongoing outbreak, for example. DeFranco joked about the instant demonetization policy on Twitter yesterday, prompting a response from Wojcicki. The CEO noted that the sensitive subjects policy “was designed to apply to short-term events of significant magnitude, like a natural disaster.” It’s clear that applying the same policy to an event like a coronavirus outbreak doesn’t work.

    “In the days ahead, we will enable ads for content discussing the coronavirus on a limited number of channels, including creators who accurately self-certify and a range of news partners,” Wojcicki wrote. “We’re preparing our policies and enforcement processes to expand monetization to more creators and news organizations in the coming weeks.”

    Monetization will roll out to select news partners and creators first. For creators, YouTube will start with people who accurately report how the content of their videos complies with advertiser-friendly guidelines. The company will continue to expand monetization to more creators in the coming weeks.

    Wojcicki’s letter also addressed the spread of misinformation surrounding COVID-19 on YouTube, stating that the company is working hard to fight the spread of harmful videos. YouTube will “continue to quickly remove videos that violate our policies when they are flagged, including those that discourage people from seeking medical treatment or claim harmful substances have health benefits.”

    “Finding trustworthy content is especially critical as news is breaking, and we’ll continue to make sure YouTube delivers accurate information for our users,” Wojcicki wrote.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第715期:《机器学习 PyTorch》

    13 3 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《机器学习 PyTorch》
    今日推荐英文原文:《Say Hello to the New GitHub CLIs》

    今日推荐开源项目:《机器学习 PyTorch》 传送门:GitHub链接
    推荐理由:PyTorch 是一个开源的、基于 Python 的可续计算包,提供两个高级功能:具有强大的GPU加速的张量计算(如NumPy),和包含自动求导系统的的深度神经网络。
    今日推荐英文原文:《Say Hello to the New GitHub CLIs》 作者:Calvin Nguyen
    原文链接:https://medium.com/better-programming/say-hello-to-the-new-github-clis-7e2612fb3918
    推荐理由:顾名思义,本文介绍了一些使用 Git Hub CLI 的方法。如果你是 Git Hub 的忠实用户但是又觉得网页和终端转换繁琐的话,不妨试试这个吧。

    Say Hello to the New GitHub CLIs

    All you need to know about using GitHub from your terminal

    (Source by Github)
    GitHub tools are all great, but sometimes, I get exhausted as I’m coding and have to switch from my terminal/text editor to do many clicks in the browser, just to create or view a PR.

    Luckily, on March 6th, 2020, GitHub released a new cool GitHub CLI, with which you can do everything you do on github.com on your local terminal. There are three main commands in this beta version that I will discuss below:

    1. Issue
    2. Pull Request (PR)
    3. Repo

    macOS: Easy Install With brew

    brew install github/gh/gh
    

    Upgrade

    brew update && brew upgrade gh
    

    Windows

    gh is available via Scoop:
    scoop bucket add github-gh https://github.com/cli/scoop-gh.git
    scoop install gh
    
    For Linux and other platforms, please refer to this GitHub page.

    1. gh issue [create, list, view, status]

    Create an issue

    ~/Documents/MyProject (master)$ gh issue create
    Creating issue in calvinqc/MERN-template
    ? Title Deployment To Google App Engine
    ? Body <Received>
    ? What's next? Submit
    https://github.com/calvinqc/MERN-template/issues/1
    
    Or, if you still prefer editing in the browser, quickly enter:
    $ gh issue create --web
    

    List all issues

    $ gh issue list
    Issues for calvinqc/MERN-template
    
    #1  Deployment To Google App Engine
    

    View an issue

    $ gh issue view 1
    
    Then, it will redirect me to the issue link. Or you can preview it in your local as well:
    $ gh issue view 1 --preview
    

    Status

    $ gh issue status
    Relevant issues in calvinqc/MERN-template
    Issues assigned to you
      There are no issues assigned to you
    Issues mentioning you
      There are no issues mentioning you
    Issues opened by you
      #1 Deployment To Google App Engine about 9 minutes ago
    

    2. gh pr [status, list, view, checkout, create]

    Create a PR

    ~/Documents/project/MyProject (gh-testing)$ gh pr create
    Enumerating objects: 9, done.
    Counting objects: 100% (9/9), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (5/5), done.
    Writing objects: 100% (5/5), 444 bytes | 444.00 KiB/s, done.
    Total 5 (delta 4), reused 0 (delta 0)
    remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
    To github.com:calvinqc/MERN-template.git
       1c179cb..7953ecc  HEAD -> gh-testing
    Branch 'gh-testing' set up to track remote branch 'gh-testing' from 'origin'.
    Creating pull request for gh-testing into master in calvinqc/MERN-template
    ? Title Change sha256 to bcrypt
    ? Body <Received>
    ? What's next? Submit
    https://github.com/calvinqc/MERN-template/pull/2
    
    As you can see, if there’s one thing that I love about gh pr create, it is that it will push your commit to your working branch and create a PR within a few seconds.

    List/view/status with PR (same with the issue)

    $ gh pr list
    Pull requests for calvinqc/MERN-template
    #2  Change sha256 to bcrypt  gh-testing
    $ gh pr view 2
    Opening https://github.com/calvinqc/MERN-template/pull/2 in your browser
    $ gh pr status
    Relevant pull requests in calvinqc/MERN-template
    Current branch
      #2  Change sha256 to bcrypt [gh-testing]
       - Checks passing
    Created by you
      #2  Change sha256 to bcrypt [gh-testing]
       - Checks passing
    Requesting a code review from you
      You have no pull requests to review
    

    Checkout a PR

    This is very similar to a regular branch checkout.
    $ gh pr checkout 2
    

    3. gh repo [clone, create, fork, view]

    Clone a repo

    $ gh repo clone [email protected]:calvinqc/MERN-template.git
    

    Create/view a repo

    $ gh repo create gh-cli-is-awesome
    $ gh repo view calvinqc/gh-cli-is-awesome
    Opening github.com/calvinqc/gh-cli-is-awesome in your browser.
    

    Fork a repo

    $ gh repo fork calvinqc/MERN-template
    

    Future Improvement

    Since this is still in beta version and I have not found any bugs yet, I believe that these cool Git CLIs will help improve productivity for many developers.

    That’s it for this beta version. It makes my development better, and I like it!

    With GitHub CLIs; less clicking, more typing — the more productive I am.

    Thanks for reading and I hope it makes you feel happier!


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

Proudly powered by WordPress