每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg


今日推荐开源项目:《Screenshot-to-code-in-Keras 机器学习生成前端代码

推荐理由:

项目介绍

编程实现网页设计的原型一直是一样费时费力的活,工程师往往还需要快速实现并保持还原度。实现静态网页的活如果交由机器自动去处理既能提高效率,将工程师从繁重的劳动中解脱,又能保证还原度。Screenshot-to-code-in-Keras 这个项目就是希望通过深度学习改变前端开发。它将会加快原型设计速度,拉低开发软件的门槛。

目前该项目致力于实现静态原型的还原,对于网页特效等处理还是需要人为进行干预,前端工程师还没有要到下岗的地步啊~如果类似项目继续发展,是否能够做到特效自动实现,业务逻辑自动实现呢,我们拭目以待。到了那一天,前端工程师甚至可能大部分软件工程师都要下岗了,全部代码实现都自动化处理,虽然可能会让工程师掉饭碗,但这又何不是每个工程师向往的那一天呢。

实践

使用相关可以直接看项目 https://github.com/emilwallner/Screenshot-to-code-in-Keras 的 readme 介绍。

《Turning design mockups into code with deep learning》这篇文章将为我们介绍如何通过深度学习实现前端编程的智能化,相应的译文可见戳我

小编抱着初学者尝试的心态,按照相关介绍进行了实践。小编使用的是 mac osx 环境。

首先需要安装有 Python 2.7 和 pip

然后安装项目依赖的一些模块,建议以用户权限安装

pip install keras --user -U
pip install tensorflow --user -U
pip install pillow --user -U
pip install h5py --user -U
pip install jupyter --user -U

然后将项目 clone 到本地,如果你不想在本地跑(因为确实很麻烦),你可以使用 floydhub.com 的相关服务,项目上有相关的介绍。

git clone https://github.com/emilwallner/Screenshot-to-code-in-Keras
cd Screenshot-to-code-in-Keras/local
jupyter notebook

启动之后会打开 jupyter 的页面

运行 Bootstrap 和 Hello_world 两项,如下图,如果在本地跑小心电脑风扇烧起来,下载资源和训练十分耗时耗资源

之后运行 HTML 项目能达到此效果

如果您对深度学习方面或者对改变前端开发工作模式方面十分有兴趣不妨可以研究尝试一下。

三年之后前端工程师们要下岗了么?嗯哼,我猜应该不会。

作者介绍

Emil Wallner

twitter:https://twitter.com/EmilWallner
生活在巴黎,是一个深度学习方面富有经验和想象力的人,通过此项目预言在未来三年内,深度学习将改变前端开发。


今日推荐英文原文:《10 commands every Linux user should know》原作者:Sam Bocetta

原文链接:https://opensource.com/article/18/4/10-commands-new-linux-users

推荐理由:Linux 操作的精髓尽在命令行界面,很多乐趣也来自于这种传统的交互,各种命令很多,但是掌握这常见的10个命令就能应付绝大多数场合。

 

10 commands every Linux user should know

Terminal

Image by : Jamie Cox. Modified by Opensource.com. CC BY 2.0.

You may think you're new to Linux, but you're really not. There are 3.74 billion global internet users, and all of them use Linux in some way since Linux servers power 90% of the internet. Most modern routers run Linux or Unix, and the TOP500 supercomputers also rely on Linux. If you own an Android smartphone, your operating system is constructed from the Linux kernel.

In other words, Linux is everywhere.

But there's a difference between using Linux-based technologies and using Linux itself. If you're interested in Linux, but have been using a PC or Mac desktop, you may be wondering what you need to know to use the Linux command line interface (CLI). You've come to the right place.The following are the fundamental Linux commands you need to know. Each is simple and easy to commit to memory. In other words, you don't have to be Bill Gates to understand them.

1. ls

You're probably thinking, "Is what?" No, that wasn't a typographical error – I really intended to type a lower-case L. ls, or "list," is the number one command you need to know to use the Linux CLI. This list command functions within the Linux terminal to reveal all the major directories filed under a respective filesystem. For example, this command:

ls /applications

shows every folder stored in the applications folder. You'll use it to view files, folders, and directories.

All hidden files are viewable by using the command ls -a.

2. cd

This command is what you use to go (or "change") to a directory. It is how you navigate from one folder to another. Say you're in your Downloads folder, but you want to go to a folder called Gym Playlist. Simply typing cd Gym Playlist won't work, as the shell won't recognize it and will report the folder you're looking for doesn't exist. To bring up that folder, you'll need to include a backslash. The command should look like this:

cd Gym\ Playlist

To go back from the current folder to the previous one, you can type in the folder name followed by cd ... Think of the two dots like a back button.

3. mv

This command transfers a file from one folder to another; mv stands for "move." You can use this short command like you would drag a file to a folder on a PC.

For example, if I create a file called testfile to demonstrate all the basic Linux commands, and I want to move it to my Documents folder, I would issue this command:

mv /home/sam/testfile /home/sam/Documents/

The first piece of the command (mv) says I want to move a file, the second part (home/sam/testfile) names the file I want to move, and the third part (/home/sam/Documents/) indicates the location where I want the file transferred.

4. Keyboard shortcuts

Okay, this is more than one command, but I couldn't resist including them all here. Why? Because they save time and take the headache out of your experience.

CTRL+K Cuts text from the cursor until the end of the line

CTRL+Y Pastes text

CTRL+E Moves the cursor to the end of the line

CTRL+A Moves the cursor to the beginning of the line

ALT+F Jumps forward to the next space

ALT+B Skips back to the previous space

ALT+Backspace Deletes the previous word

CTRL+W Cuts the word behind the cursor

Shift+Insert Pastes text into the terminal

Ctrl+D Logs you out

These commands come in handy in many ways. For example, imagine you misspell a word in your command text:

sudo apt-get intall programname

You probably noticed "install" is misspelled, so the command won't work. But keyboard shortcuts make it easy to go back and fix it. If my cursor is at the end of the line, I can click ALT+B twice to move the cursor to the place noted below with the ^ symbol:

sudo apt-get^intall programname

Now, we can quickly add the letter s to fix install. Easy peasy!

5. mkdir

This is the command you use to make a directory or a folder in the Linux environment. For example, if you're big into DIY hacks like I am, you could enter mkdir DIY to make a directory for your DIY projects.

6. at

If you want to run a Linux command at a certain time, you can add at to the equation. The syntax is at followed by the date and time you want the command to run. Then the command prompt changes to at> so you can enter the command(s) you want to run at the time you specified above

For example:

at 4:08 PM Sat
at> cowsay 'hello'
at> CTRL+D

This will run the program cowsay at 4:08 p.m. on Saturday night.

7. rmdir

This command allows you to remove a directory through the Linux CLI. For example:

rmdir testdirectory

Bear in mind that this command will not remove a directory that has files inside. This only works when removing empty directories.

8. rm

If you want to remove files, the rm command is what you want. It can delete files and directories. To delete a single file, type rm testfile, or to delete a directory and the files inside it, type rm -r.

9. touch

The touch command, otherwise known as the "make file command," allows you to create new, empty files using the Linux CLI. Much like mkdir creates directories, touch creates files. For example, touch testfile will make an empty file named testfile.

10. locate

This command is what you use to find a file in a Linux system. Think of it like search in Windows. It's very useful if you forget where you stored a file or what you named it.

For example, if you have a document about blockchain use cases, but you can't think of the title, you can punch in locate -blockchain or you can look for "blockchain use cases" by separating the words with an asterisk or asterisks (*). For example:

locate -i*blockchain*use*cases*.


There are tons of other helpful Linux CLI commands, like the pkill command, which is great if you start a shutdown and realize you didn't mean to. But the 10 simple and useful commands described here are the essentials you need to get started using the Linux command line.


每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg