Professional Documents
Culture Documents
A. GIT:
What is jira?
Jira:
Jira Software unlocks the power of agile by giving your team the tools to easily create
& estimate stories, build a sprint backlog, identify team commitments & velocity,
visualize team activity, and report on your team's progress.
To give your team a tour through a complete project, the following guide contains two
tutorials that show a simple agile workflow at a small software company. This guide
touches on some of the most used features and follows the development team at
Teams in Space as they work to improve their next generation space travel software.
In this simple workflow, a manager sets up and runs a project while individual users
add content and work with issues within a sprint. The following pages are set up to
follow this structure and are divided into two tutorials:
Getting Started as a Jira Software Manager: A guide for managers who set up and run
the agile project
Getting Started as a Jira Software User: A guide for users who work on and resolve
issues
Main feature:
Manage and track project progress
Manage bugs, features, work, improvements or any issues
Search quickly with the JIRA Query Language filter
Build workflows that are compatible with each project's requirements
Provide many types of statistical reports with many different types of charts suitable
for many types of projects, many users
Easy integration with other systems (such as Email, Excel, RSS...)
Can run on most hardware platforms, operating systems and databases
Advantages:
Easily choose a variety of projects with different purposes
Easily plan, divide tasks for members
Create an efficient workflow
Easily manage multiple software projects at the same time
JIRA Query Language filter for quick search
Easily provide project analysis reports quickly, accurately and efficiently
Over 950 add-ons offering advanced features
User-friendly interface, clear, easy to operate, suitable for all types of users
Disadvantages:
High cost, after 7 days trial, the larger the business, the more it will cost: $10 per
month for up to 10 accounts; from 11-100 accounts is $7/account/month
It takes a lot of time and effort to set up, so it is only effective for large projects, not
suitable for small and medium projects (under 3 months).
Work on an issue
1.In the Active sprints of your board, select the issue in the In Progress column. The
issue is displayed in the Issue Detail view.
2.In the Issue Detail view, select Edit from the 'cog' drop-down. The 'Edit Issue'
dialog will be displayed.
3.If the issue is not assigned to you yet, type your name in the Assignee field.
4.Add some technical details about the issue as necessary.
5.Note, you may want to specify a component or a version (if components and
versions have been configured for your project), or add attachments as needed, etc.
When you're done adding technical details, click the Update button.
Collaborate with your team
1.Select the issue to add a comment.
2.In the Issue Detail view, locate and click the Comment button.
3.In the Comment text box, type your comment.
4.To email other users about your comment, simply mention these users in the
Comment text box (by typing @User's Name). An email will be sent to the users'
email addresses that are registered with their Jira accounts.
5.Click the Add button to save the comment.
Create a branch
1.Select the issue for which you want to create a branch.
2.In the Issue Detail view, locate the Development panel, and click Create branch.
The Create branch dialog will be displayed.
3.Include the issue key in the branch name. If you have workflow triggers configured,
the status of the issue may automatically transition to 'In Progress'. See Configuring
workflow triggers for more information.
4.Enter other details for the branch as necessary.
5.Click the Create branch button. Your branch will be created in your source
repository.
Finish your work
1.Locate your card in the Active sprints of your board.
2.Drag and drop the card to the Done column. If you have workflow triggers
configured, the status of the issue may automatically transition to 'Closed'. You can
skip the next steps. See Configuring workflow triggers for more information.
3.Select the Resolution for the issue from the drop-down menu.
4.Provide details as necessary.
5.Select Close Issue.
D. Eclipse debugger IDE
What is Eclipse?
In the context of computing, Eclipse is an integrated development environment (IDE)
for developing applications using the Java programming language and other
programming languages such as C/C++, Python, PERL, Ruby etc.
The Eclipse platform which provides the foundation for the Eclipse IDE is composed
of plug-ins and is designed to be extensible using additional plug-ins. Developed
using Java, the Eclipse platform can be used to develop rich client applications,
integrated development environments and other tools. Eclipse can be used as an IDE
for any programming language for which a plug-in is available.
The Java Development Tools (JDT) project provides a plug-in that allows Eclipse to
be used as a Java IDE, PyDev is a plugin that allows Eclipse to be used as a Python
IDE, C/C++ Development Tools (CDT) is a plug-in that allows Eclipse to be used for
developing application using C/C++, the Eclipse Scala plug-in allows Eclipse to be
used an IDE to develop Scala applications and PHPeclipse is a plug-in to eclipse that
provides complete development tool for PHP.
Licensing
Eclipse platform and other plug-ins from the Eclipse foundation is released under the
Eclipse Public License (EPL). EPL ensures that Eclipse is free to download and
install. It also allows Eclipse to be modified and distributed.
What programming language is used to make Eclipse?
Eclipse IDE is written mostly in Java and some native parts are written in C/C++.
Eclipse can run on major operating systems like Windows, Mac and Linux. So if you
are using Eclipse IDE, you are actually running a Java application.
Advantages:
Facilitate seamless integration of tools within each and across different content types
and tool providers.
Supports building multiple tools.
Supports an unlimited set of tool vendors, including independent software vendors
(ISVs).
Tools for manipulating any content type (including HTML, Java, C, JSP, EJB, XML,
and GIF) are supported.
Supports both GUI and non-GUI-based application development environments.
Runs on many operating systems, including Windows and Linux.
Take advantage of the popularity of the Java language to write tools.
Due to using SWT/JFace, it probably loads faster
Disadvantages:
Complicated installation
Hardware-consuming Eclipse is also quite memory-intensive to install, so now eclipse
has fixed it with Eclipse Luna version, no need to install it.
Consume machine memory: running eclipse also consumes a lot of computer
memory, so to use it your machine also needs a relatively high configuration.
Lack of consistency because there are too many plugins
E.PYTHON
List
len(list) Trả về độ dài của list
list.extend(seq) Phụ thêm các nội dung của seq vào cuối
list
list.insert(index, obj) Chèn đối tượng obj vào trong list tại index
đã cho
list.sort([func])
Sắp xếp các đối tượng của list, sử dụng
hàm so sánh nếu được cung cấp
Tuples
Lists and Tuples contains items separated by commas.
Difference between them:
+Lists are enclosed within square brackets [ ]. And their elements and size can be
changed.
+Tuples are enclosed within parentheses ( ). And cannot be updated.
+Tuples can be thought of as read-only lists.
Using Asterisk*
Dictionary
Python’s dictionary work like associative arrays or hashes found in Perl and consist of
key-value pairs.
Dictionaries are enclosed by curly braces { }.
values can be assigned and accessed using square braces [ ].
Dictionary Items
Function
Define function with def keyword, the function in python also have arguments and
return value
pyserial
check com port:
Configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
port='/dev/ttyUSB1',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)
ser = serial.Serial(
port='COM5',\
baudrate=9600,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=0)
while True:
for c in ser.read():
line.append(c)
if c == '\n':
print("Line: " + ''.join(line))
line = []
break
ser.close()
default(o) - Implemented in the subclass and returns the serialized object for o.
encode(o) - Like the json.dumps() method, it returns a JSON string of a Python
data structure.
iterencode(o) – Represents strings one by one and encodes the object o.
With the help of the encode() method of the JSONEncoder class, we can also encode
any Python object.
Fabric
Fabric is a powerful Python library used as a tool to interact between SSH and
computer system more easily. It will help automate a wide range of tasks from app
deployment to system administration.
sudo apt install fabric
run (fabric.operations.run/fabric.api.run)
sudo (fabric.operations.sudo/fabric.api.sudo)
local: executes only one local command.
run: execute a remote command.
sudo: execute a sudo remote command.
get (fabric.operations.get/fabric.api.get)
Get this command is quite similar to scp command. Its main purpose is to copy/move
file(s) from the remote system to your computer. When using get, you need to pay
attention to 2 parameters:
remote_path
local_path
put (fabric.operations.put/fabric.api.put)
Put and get vice versa. Put push data to the remote and get pull data from the remote.
prompt (fabric.operations.prompt/fabric.api.prompt)
It will reboot the remote system.You can set that time wait by parameter wait.
cd (fabric.context_managers.cd/fabric.api.cd
Example: