Sunteți pe pagina 1din 25

Jonathan White

WWW.LYNDA.COM - TRAINING COURSES COMPLETED

1. FOUNDATIONS OF PROGRAMMING: FUNDAMENTALS


Date: 02/08/2016

Course time: 4h 47m

Skill level: Beginner

URL: https://www.lynda.com/Developer-Programming-Foundations-tutorials/Making-most-
course/83603/90427-4.html

1. Introduction
1.1. Welcome
1.2. Making the most of this course
1.3. Using the exercise files
2. Programming Basics
2.1. What is Programming
2.2. What is a programming language?
2.3. Writing source code
2.4. Compiled and interpreted language
3. Core Programming Syntax
3.1. Why JavaScript
3.2. Creating your first program in JavaScript
3.3. Requesting Input
4. Variables and Data Types
4.1. Introduction to variables and data types
4.2. Understanding strong, weak, and duck-typed languages
4.3. Working with numbers
4.4. Using characters and strings
4.5. Working with operators
4.6. Properly using white space
4.7. Adding comments to code for human understanding
5. Writing Conditional Code
5.1. Building with the if statement
5.2. Working with complex conditions
5.3. Setting comparison operators

1
Jonathan White

5.4. Using the switch statement


6. Modular Code
6.1. Breaking your code apart
6.2. Creating and calling functions
6.3. Setting parameters and arguments
6.4. Understanding variable scope
6.5. Splitting code into different files
7. Iteration: Writing Loops
7.1. Introduction to iteration
7.2. Writing a while statement
7.3. Creating a for loop
8. More about strings
8.1. Cleaning up with string concatenation
8.2. Finding patterns in strings
8.3. Introduction to regular expressions
9. Collections
9.1. Working with arrays
9.2. Array behaviour
9.3. Iterating through collections
9.4. Collections in other languages
10. Programming Style
10.1. Programming style
10.2. Writing pseudocode
11. Input and Output
11.1. Input/output and persistence
11.2. Reading and writing from the DOM
11.3. Event driven programming
11.4. Introduction to file I/O
12. When Things Go Wrong
12.1. Introduction to debugging
12.2. Tracing through a section of code
12.3. Understanding error messages
12.4. Using debuggers
13. Introduction to Object Orientation
13.1. Introduction to object-oriented languages
13.2. Using classes and objects

2
Jonathan White

13.3. Reviewing object-oriented languages


14. Advanced Topics
14.1. Memory management across languages
14.2. Introduction to algorithms
14.3. Introduction to multithreading
15. Exploring the Languages
15.1. Introduction to languages
15.2. C-based languages
15.3. The Java world
15.4. .NET languages: C# and Visual Basic.NET
15.5. Ruby
15.6. Python
15.7. Objective-C
15.8. Libraries and frameworks
16. Conclusion
16.1. Where to go from here

On Python: Unlike Ruby, this is a very concise readable language that's easy to get started
with. So how would we get started? Well, there are several IDEs and editors that support
Python. Two common ones would be the Eclipse IDE with the extension PyDev that helps for
Python development and Komodo as well. Although you'll find many programmers' text editors
will support Python. Python interpreters are available on every platform and actually built into
recent additions of Mac OS X, but the single best resource for getting started would be the
website python.org.

3
Jonathan White

2. HTML ESSENTIAL TRAINING


Date: 03/08/2016

Course time: 5h55m

Skill level: Beginner

URL: https://www.lynda.com/HTML-tutorials/Welcome/170427/196125-4.html

HTML is the programming language that powers the web. And like any language, once you
master it, you can begin to create your own content, whether that's simple websites or complex
web applications. This course provides an in-depth look at the essentials: the syntax of HTML
and best practices for writing and editing your code. Senior staff author James Williamson
reviews the structure of a typical HTML document, and shows how to section pages and format
your content with HTML. Plus, learn how to create links and lists, and find out how HTML works
with CSS and JavaScript to create rich, engaging user experiences. So open a text editor,
watch these videos, and begin learning to author HTML the right way.

Topics include:

 Why is HTML important?


 Exploring an HTML document
 Formatting content
 Displaying images
 Using nav, article, and div elements
 Linking to pages and downloadable content
 Creating lists
 Controlling styling (fonts, colors, and more)
 Writing basic scripts

0. Introduction
0.1. Welcome
0.2. Using the exercise files
0.3. Using the challenges
1. Introducing HTML
1.1. The importance of HTML
1.2. Basic HTML syntax

4
Jonathan White

1.3. The current state of HTML


1.4. HTML resources
1.5. Choosing a code editor
2. Basic Page Structure
2.1. Exploring an HTML document
2.2. DOCTYPE declarations
2.3. The document head
2.4. The document body
2.5. Understanding content models
3. Formatting Page Content
3.1. Formatting content with HTML
3.2. Using headings
3.3. Formatting paragraphs
3.4. Controlling line breaks
3.5. Emphasizing text
3.6. Displaying special characters
3.7. Controlling whitespace
3.8. Displaying images
3.9. Challenge: Formatting page content
3.10. Solution: Formatting page content
4. Structuring Content
4.1. The value of structure
4.2. Controlling document outlines
4.3. The nav element
4.4. The article element
4.5. The section element
4.6. The aside element
4.7. The div element
4.8. Other semantic elements
4.9. Using WAI-ARIA roles
4.10. Challenge: Adding sectioning content
4.11. Solution: Adding sectioning content
5. Creating Links
5.1. Exploring the anchor element
5.2. Linking to pages within your site
5.3. Linking to external pages

5
Jonathan White

5.4. Linking to downloadable


5.5. Linking to page regions
5.6. Challenge: Creating links
5.7. Solution: Creating links
6. Creating Lists

6
Jonathan White

3. JAVASCRIPT ESSENTIAL TRAINING


Date:
Course time: 5h31m
Skill level: Beginner
URL: https://www.lynda.com/JavaScript-tutorials/JavaScript-Essential-Training/81266-
2.html?srchtrk=index%3a1%0alinktypeid%3a2%0aq%3ajavascript+essential%0apage%3a1
%0as%3arelevance%0asa%3atrue%0aproducttypeid%3a2
Use JavaScript to add new features and a richer, more compelling user interface on web
pages. This course keeps current best practices and practical uses for JavaScript in mind,
while covering syntax, working with the DOM, and developing and debugging across multiple
platforms, devices, and browsers. Author Simon Allardice also shows how to progressively
enhance and gracefully degrade web pages, and take advantage of the world of JavaScript
libraries now available.

Topics include:

 Understanding the structure of JavaScript code


 Creating variables, functions, and loops
 Writing conditional code
 Sending messages to the console
 Working with different variable types and objects
 Creating and changing DOM objects
 Event handling
 Working with timers
 Debugging JavaScript
 Building smarter forms
 Working with CSS, HTML5, and JavaScript
 Using regular expressions

0. Introduction
0.1. Welcome
0.2. What you should know
0.3. Using the exercise files
1. Getting Started
1.1. Introduction to JavaScript

7
Jonathan White

1.2. Creating your first JavaScript


1.3. Getting to know the tools and applications
2. Core JavaScript Syntax

8
Jonathan White

4. UP AND RUNNING WITH VBA IN EXCEL


Date: 25/10/2016
Course time: 3h
Skill level: Advanced
URL: https://www.lynda.com/Excel-tutorials/Welcome/62906/68822-4.html
In Up and Running with VBA in Excel, Excel and VBA expert Curt Frye introduces object-
oriented programming and shows how to automate routine tasks and provide custom
functionality to enhance Excel performance and efficiency. This course introduces the Visual
Basic for Applications programming language, covers creating subroutines and functions to
hold code, and provides a solid grounding in the Excel 2007 object model. Programming
techniques are demonstrated through real-world examples. Exercise files accompany the
course.

Topics include:

 Working in the Visual Basic Editor


 Adding code to a macro
 Creating, exporting, and deleting code modules
 Declaring and using variables
 Managing variable scope
 Defining arrays
 Managing workbooks and worksheets with VBA
 Repeating tasks with loops
 Debugging VBA code
 Cutting, copying, and pasting cell data
 Running and triggering event procedures

0. Introduction
0.1. Welcome
0.2. Using the exercise files
1. Introducing Visual Basic for Applications (VBA)
1.1. Introducing object-oriented programming
1.2. Examining the Excel object model
1.3. Working in the Visual Basic editor
1.4. Setting VBA project properties

9
Jonathan White

1.5. Creating, exporting and deleting code modules


1.6. Creating a subroutine or function
1.7. Controlling procedure scope and visibility
1.8. Adding comments to the code
1.9. Running a VBA routine
1.10. Adding code to a recorded macro
2. Defining Variables, Constants, and Calculations
2.1. Introducing Excel VBA data types
2.2. Declaring variables and requiring declaration before use
2.3. Managing variable scope
2.4. Defining static variables and constants
2.5. Creating a calculation using mathematical operators
2.6. Defining arrays
2.7. Defining and using object variables
2.8. Streamlining code references using With…End With statements
3. Adding Logic to Your VBA Code
3.1. Repeating a task using a For… Next loop
3.2. Repeating a task with a Do loop
3.3. Performing a task when conditions are met using If… Then
3.4. Selecting which action to take using a Case statement
4. Debugging your VBA Code
4.1. Managing errors using On Error statements
4.2. Stepping through a subroutine or function
4.3. Setting breakpoints in the code
4.4. Verifying output using the Immediate window
4.5. Watching a value in a routine
5. Managing Workbook Elements and Data in VBA
5.1. Writing a value to a cell
5.2. Cutting, copying and pasting cell data
5.3. Finding values in cells
5.4. Referring to cells using the offset function
5.5. Concatenating text strings
5.6. Returning part of a string
5.7. Managing worksheets with VBA
5.8. Managing workbooks with VBA
6. Adding Advanced Elements to Your Workbook

10
Jonathan White

6.1. Turning off screen updating within a macro


6.2. Using worksheet functions in a macro
6.3. Acquiring values using an input or message box
6.4. Calling a subroutine from another subroutine
7. Using Excel Events in Your VBA code
7.1. Running a procedure when you open, close, or save a workbook
7.2. Running a procedure when a cell range changes
7.3. Triggering a procedure using a specific key sequence
8. Putting it all together
8.1. Applying techniques in a Capstone project
9. Conclusion
9.1. Goodbye

11
Jonathan White

5. UP AND RUNNING WITH MATLAB


Date: 27/10/2016
Course time: 1h30m
Skill level: Intermediate
URL: https://www.lynda.com/MATLAB-tutorials/Installing-MATLAB/124067/138166-4.html
MATLAB is one of the most popular programming languages today for engineers and
scientists, and with good reason—it allows data analysts to work efficiently with large amounts
of data. Let author Patrick Royal show you how to harness the MATLAB tools and gain a level
of fluency with the language. He shows how to work with the core syntax, which is significantly
different than other programming languages; create scripts and functions; debug your
program; and finally, work with plots, annotations, and images. The final chapter covers
external toolboxes—extensions and libraries that automate, complement, and enhance
existing MATLAB functionality.

Topics include:
 Installing MATLAB
 Working with MATLAB variables
 Working with matrix and scalar operations
 Creating functions
 Understanding performance considerations
 Building basic plots
 Creating responsive programs
 Editing variables manually
 Working with the Statistics Toolbox

0. Introduction
0.1. Welcome
0.2. What you need to know
0.3. Using the exercise files
1. General Concepts
1.1. Installing MATLAB
1.2. Understanding the MATLAB interface
1.3. Working with MATLAB variables
1.4. Everything is a matrix
1.5. Understanding data structures

12
Jonathan White

2. Core MATLAB syntax


2.1. Basic commands
2.2. Using built-in functions and variables
2.3. Working with matrix and scalar operations
2.4. Control flow
2.5. Understanding data types
3. Programming in MATLAB
3.1. How are program files stored
3.2. Viewing and editing programs
3.3. Creating scripts
3.4. Creating functions
3.5. Debugging
3.6. Performance considerations
3.7. Adding program documentation
4. Data Representations
4.1. Creating basic plots
4.2. Adding annotations
4.3. Working with images
4.4. Creating responsive programs
4.5. Editing variables manually
5. External Toolboxes
5.1. What are MATLAB toolboxes
5.2. Statistics Toolbox
5.3. Symbolic Math Toolbox
5.4. Optimization Toolbox
6. Conclusion
6.1. Where to go from here

13
Jonathan White

6. SOLIDWORKS 2016 ESSENTIAL TRAINING


Date: 13/11/2016
Course time: 5h43m
Skill level: Beginner
URL: https://www.lynda.com/SOLIDWORKS-tutorials/SOLIDWORKS-2016-Essential-
Training/418967-
2.html?srchtrk=index%3a1%0alinktypeid%3a2%0aq%3asolidworks%0apage%3a1%0as%3a
relevance%0asa%3atrue%0aproducttypeid%3a2
This training course will teach you the essential tools and modeling techniques to design
efficiently in SOLIDWORKS—the world's leading CAD software for product design and
development. We use the simple but effective "why, what, how" method of teaching, with the
end goal of creating manufacturing-ready parts and assemblies.

Author Gabriel Corbett first shows how to create 2D sketches and use the Extrude and Revolve
tools to turn those sketches into 3D parts. Then he shows how to create more complex
geometry with sweeps, lofts, and cuts. Then we jump into lessons covering modifier tools such
as Fillet, Chamfer, Draft, and Shell. Then you learn how to create uniform standard holes with
the Hole Wizard, and use the pattern and mirror features to reuse geometry. Next we combine
parts into assemblies and create a moving assembly from parts and subassemblies. Finally,
we create accurately annotated drawings, ready to hand off to a manufacturer.

Topics include:

 Creating your first 3D part


 Creating sketches
 Modeling with the Extrude and Revolve features
 Applying materials, colors, and backgrounds
 Sketching basic shapes and polygons
 Creating offset geometry
 Moving, copying, and rotating elements
 Working with planes, axes, and the coordinate system
 Creating smooth and angled corners with fillets and chamfers
 Advanced part modeling with the Loft and Sweep features
 Using the Hole Wizard
 Designing with blocks
 Building assemblies and subassemblies
 Mating parts

14
Jonathan White

 Using design tables


 Adding parts and assemblies to drawings
 Adding dimension notations to a drawing

0. Introduction
0.1. Welcome
0.2. What do you already know?
0.3. Using the exercise files
1. Introduction to SOLIDWORKS
1.1. Launching SOLIDWORKS for the first time
1.2. Navigating in the 3D workspace
1.3. SOLIDWORKS templates
1.4. Saving, renaming, and managing files
2. SOLIDWORKS Quick Start
2.1. Creating your first 3D part
2.2. Building your first assembly
2.3. Making your first CAD drawing
2.4. Basic steps for 3D modelling
3. Basic Part Modelling
3.1. Creating sketches
3.2. Understanding relationships
3.3. Using the extrude feature
3.4. Using the Extruded Cut feature
3.5. Creating revolved features
3.6. Making revolved cuts
4. Sketch Tools
4.1. Line and Centreline tools
4.2. Using the Rectangle tool
4.3. Circles and arcs
4.4. Slots and ellipses
4.5. Sketching polygons
4.6. Creating text
4.7. Using equations and linked variables
4.8. Using the Spline tool
5. Modifying Sketches
5.1. Trimming and extending portions of a sketch
5.2. Creating offset geometry

15
Jonathan White

5.3. Moving, copying, and rotating elements


5.4. Erasing, undoing, and redoing actions
5.5. Using the Mirror tools
5.6. Creating repeating patterns in a sketch
5.7. Using construction lines to build robust sketches
5.8. Using the Convert Entities tool
5.9. Adding fillets and chamfers to sketches
6. Reference Geometry
6.1. Working with planes
6.2. Making an axis
6.3. Creating a coordinate system
7. Part modifications
7.1. Adding fillets to a part
7.2. Chamfering edges
7.3. Applying draft
7.4. Using the Shell command
7.5. Using the Mirror command
7.6. Creating linear patterns
7.7. Creating circular patterns
8. Advanced Part Modelling
8.1. Loft tool
8.2. Refining a lofted shape with guide
8.3. Making lofted cuts
8.4. Creating swept shapes
8.5. Making swept cuts
8.6. Using the Wrap command
8.7. Boundary boss and base
8.8. Intersect tool
8.9. Working with configurations
9. Hole Wizard
9.1. Getting started with the Hole Wizard
9.2. Understanding hole types and standards
9.3. Positioning holes in 3D
10. Blocks
10.1. Working with reusable sketches and blocks
10.2. Creating blocks

16
Jonathan White

10.3. Designing with blocks


11. Building Assemblies
11.1. Starting an assembly
11.2. Arranging, copying, moving, and rotating parts in assemblies
11.3. Mating parts together in an assembly
11.4. Working with subassemblies
11.5. Making linear patterns
11.6. Creating circular patterns
11.7. Using the Toolbox
11.8. Downloading premade parts from the Internet
12. Advanced Mates
12.1. Working with mate types
12.2. Mating parts with advanced mates
12.3. Mating parts with Path Mate
12.4. Mechanical mates
12.5. Mating parts by aligning planes
13. In-Context Modelling
13.1. Linking sketches to other parts
13.2. Linking to layout sketches
13.3. Using the Hole Wizard in context
14. Using Design Tables
14.1.

17
Jonathan White

7. UP AND RUNNING WITH PYTHON


Date: 31/05/2017

Course time: 2h 24m

URL: https://www.lynda.com/Python-tutorials/Up-Running-Python/122467-2.html

Get a quick intro to Python, the popular and highly readable object-oriented language. Joe
Marini provides an overview of the installation process, basic Python syntax, and an example
of how to construct and run a simple Python program. Learn to work with dates and times,
read and write files, and retrieve and parse HTML, JSON, and XML data from the web.

Topics include:

 Installing Python
 Choosing an editor/IDE
 Working with variables and expressions
 Writing loops
 Using the date, time, and datetime classes
 Reading and writing files
 Fetching Internet data
 Parsing and processing HTML

0. Introduction
0.1. Welcome
0.2. What you should already know
0.3. Using the exercise files
1. Preparing the Development Environment
1.1. Installing Python
1.2. Choosing an editor/IDE
1.3. Installing the developer tools
2. Python Basics
2.1. Building Hello World
2.2. Variables and expressions
2.3. Python functions
2.4. Conditional structures

18
Jonathan White

2.5. Loops
2.6. Classes
3. Working with Dates and Times
3.1. The date, time, and datetime classes
3.2. Formatting time output
3.3. Using timedelta objects
3.4. Working with calendars
4. Working with Files
4.1. Reading and writing files
4.2. Working with OS path utilities
4.3. Using file system shell methods
5. Working with Web Data
5.1. Fetching Internet data
5.2. Working with JSON data
5.3. Parsing and processing HTML
5.4. Manipulating XML
6. Conclusion
6.1. Goodbye

19
Jonathan White

8. LEARNING APTANA STUDIO 3


Date: 31/05/2017

Course time: 1h 19m

URL: https://www.lynda.com/Aptana-Studio-tutorials/Deploying-FTP-site/100265/115378-
4.html#tab

Aptana Studio is one of the most popular free web development tools, and it works on most
operating systems, including Windows, Mac OS X, and Linux. Join Joe Marini in this course
as he takes a quick tour of Aptana Studio and shows off its tools for building rich HTML sites
that integrate CSS and JavaScript. The course covers the software step-by-step, from
installing Aptana Studio, creating and editing new HTML documents, and leveraging tools like
Content Assist and code snippets that help your project progress faster and more accurately,
to the final steps involved in testing and deploying your site.

Topics include:

 Installing Aptana Studio on Windows and OS X


 Creating a new file from scratch or from a template
 Creating a new web project
 Importing an existing web project
 Editing code
 Viewing code changes with Quick Diff
 Keeping track of your to-do list with Tasks
 Adding new code snippets and templates with bundles
 Previewing projects
 Deploying your website to an FTP server

0. Introduction
0.1. Welcome
0.2. What you should already know
0.3. Using the exercise files
1. The Aptana Studio User Interface
1.1. Introducing Aptana Studio on Windows and Mac OS X
1.2. Exploring the user interface
1.3. Setting up basic preferences
2. Creating and Editing Documents

20
Jonathan White

2.1. Creating a new blank file


2.2. Creating a new file from a template
2.3. Editing file templates
3. Using Projects
3.1. Creating a new project
3.2. Importing an existing project
3.3. Using the local history
4. Editing Code
4.1. Setting coding preferences
4.2. Using the Editing area
4.3. Using Content Assist
4.4. Using snippets
4.5. Using Quick Diff
4.6. Using tasks
4.7. Using the Outline view
4.8. Working with perspectives
5. Working with Bundles
5.1. Using bundles
5.2. Installing new bundles
6. Testing and Deploying
6.1. Previewing a project in the browser
6.2. Configuring browser previews
6.3. Deploying to an FTP site
7. Conclusion
7.1. Goodbye

21
Jonathan White

9. PROGRAMMING: PYTHON - GET UP AND RUNNING


This course is designed to get you up and running with the Python Programming Language. It
provides an overview of the installation process, basic Python syntax, and an example of how
to construct and run a simple Python program. You will learn to work with dates and times,
read and write files, and retrieve and parse HTML, JSON, and XML data from the web. This
course takes about 2.5 hours to complete.

Course information:

Intended audience: Anyone interested in learning the Python language either as a first
computing language, or in support of a project.

Prior knowledge: This course is not intended to be a general introduction to the Fundamentals
of Programming. You should already be familiar with Basic Principles of Programming such as
variables, and functions, and statements etc.

Resources: You will need a current browser or lynda.com mobile app

Software: If you want to download and use the exercise files, you will need access to the
relevant applications

Format: Online course via lynda.com

Further information: You will need to sign in to lynda.com (see link above) using your SSO
credentials. The course is delivered through a browser or via an IOS or Android app. It is
possible to download the course for off-line viewing.

22
Jonathan White

10. PROGRAMMING: PYTHON - ESSENTIAL TRAINING


Python has become the scripting language of choice for many large organizations. This course
demonstrates how to use Python 3 to create well-designed scripts and maintain existing
projects. This course covers the basics of the language syntax and usage, as well as advanced
features such as objects, generators, and exceptions. This course takes about 6.5 hours to
complete.

Course information: Intended audience: Anyone interested in creating well-designed scripts


in Python for new projects or in support of existing applications.

Prior knowledge: This course assumes some familiarity with programming. If you are new to
programming you want to start with the course Programming: Python - Get up and Running

Resources: You will need a current browser or lynda.com mobile app

Software: If you want to download and use the exercise files, you will need access to the
relevant applications

Format: Online course via lynda.com

Further information: You will need to sign in to lynda.com (see link above) using your SSO
credentials. The course is delivered through a browser or via an IOS or Android app. It is
possible to download the course for off-line viewing.

23
Jonathan White

11. ITLP COURSES


11.1. Matlab: An introduction (evening course)
Matlab is a high-performance language for technical computing. This course provides a
working introduction to the Matlab technical computing environment. Themes of data analysis,
visualization, and programming are explored throughout the course.

Course information

Intended audience: Anyone wishing to learn the basics of an interactive matrix manipulation
program

Prior knowledge: No prior knowledge of Matlab is required. Basic computer literacy is


expected. Some basic understanding of the concepts of programming is useful. The
Programming: Concepts course covers these aspects

Resources: A course book must be purchased when you attend the course (included in the
Cost below)

Software: Matlab

Format: Presentation with practical exercises

Attended: February 2016

11.2. Programming: Concepts


This module is for those with no programming experience who either want/need to take one of
our programming courses, or who are just curious about some of the concepts involved in
programming.

Intended audience: Those with no programming background who are considering learning a
computer language

Prior knowledge: No previous knowledge of computers or programming is assumed

Resources: A course book must be purchased when you attend the course (included in the
Cost below)

Software: None

24
Jonathan White

Format: Presentation, practical exercises and some group work

Where next?: Programming courses

11.3. Programming: Good coding practices


What makes good code? These three one-hour sessions are designed for science researchers
who have to write scripts as part of their work, and want to improve their code. Unlike a
"programming" course, these sessions focus on maximising productivity in a scientific setting.
The teaching will be fairly language-agnostic but examples will be drawn from Matlab and
Python. In the sessions we will discuss the factors that contribute to well-written programs,
focusing on style, clarity, technique and robustness. As scientific programmers, you will
discover how to move from writing a series of one-use scripts, to writing well-planned,
transparent, re-usable code.

Course information

Intended audience: Scientists who have to do some programming as part of their research
work. For example, people who write experiment scripts, or data analysis scripts as part of
their experimental work, would find the course most useful. The course initially originated for
psychologists and neuroscientists who use Matlab or Python, but would also be useful to
scientists from other disciplines and users of other packages.

Prior knowledge: This course is aimed at those who already have 2-3 years experience of
writing code.

Software: Weeks 1 and 2 are language-agnostic; week 3 is more tailored to those writing in
Matlab or Python.

Format: Presentation with practical exercises

25

S-ar putea să vă placă și