CAIET DE PRACTICĂ
Anul III INFO+MATE-INFO
(INFORMATICA/MATEMATICA+INFORMATICA)
FACULTATEA DE STIINTE
UNIVERSITATEA DIN CRAIOVA
Tutore
Student
Maties Catalin Lazar
TEMA DE PRACTICA:
DEZVOLTAREA APLICAȚIILOR MOBILE
Târgu-Jiu
2021-2022
CUPRINS
Responsabil de practica/Mentor:
Numele şi prenumele__ BOBARU DANIELA/NICULESCU GEORGE/POPESCU
CRISTINEL/IONESCU MARIAN _______
Gradul didactic_______________LECTOR/PROF.UNIV.DR/CONFERENTIAR/SEF LUCRARI__
Telefon, e-mail: 0723147474/danielabobaru@yahoo.com
Compania organizatoare a stagiului de practica:
Denumire_____________ CENTRUL DE CALCUL _______________________
Sediul social___________________ TG. JIU _______________________________
Domeniul de activitate___________________6202______________________
(se va menţiona codul CAEN)
Protecţia biodiversităţii
Toti membrii grupului tinta vor primi informatii privind protectia biodiversitatii, si vor fi
incurajati sa opteze pentru utilizarea materialelor si produselor ecologice, naturale, durabile,
reciclabile, si sa limiteze pe cat posibil consumul de energie neregenerabila si productia de deseuri
menajere si de constructii.
In data de 22 mai, membrii echipei de proiect impreuna cu studentii vor sarbatori „Ziua
Internationala a Biodiversitatii”. Se va acorda o importanta deosebita actiunilor care vizeaza
reciclarea hartiei, consumul redus de hartie prin utilizarea acestora pe ambele fete. In cadrul
stagiilor de practica studentii vor fi incurajati sa faca propuneri cu privire la protectia
biodiversitatii si de utilizare a materialelor reciclabile.
Caietele de practica va contine o sectiune ”Protecţia biodiversităţii” si studentii vor fi
incurajati sa identifice aspecte privind protectia biodiversitatii in cadrul activitatii practica si sa
propuna solutii.
Diversitatea biologică sau biodiversitatea reprezintă termenul științific pentru varietatea
vieții pe Pământ si se referă nu doar la specii, ci și la ecosisteme sau la diferențele ce apar la o
singură specie. Fiecare lucru viu, inclusiv omul, este implicat in legaturi sau relații de
interdependenta (speciile trăiesc împreună și depind una de cealaltă), formand ecosistemele.
Este nevoie de ecosisteme pure, nepoluate, ecologice, deoarece ele curăță apa, purifică
aerul, păstrează solul, reglează clima, reciclează substanțele nutritive. Ele stau la baza intregii
civilazatii, oferă materii prime și hrana, ajuta la regenerarea resurselor, astfel ca se poate spune ca
omul nu ar putea trăi fără "serviciile/ajutorul ecosistemelor". Ecosistemele reprezinta capitalul
natural al omenirii.
Activitatile omului influenteaza biodiversitatea prin modificarea mediului natural de
existentă al unor specii/plante. Exista mari dferente de metode si actiuni ce se intreprind pentru
protectia elementelor componente ale unui ecosistem (protectia biodiversitatii). Pentru specii care
traiesc in apa este nevoie de anumite cerinte; pentru cele terestre sunt alte cerinte etc.
Biodiversitatea este principalul indicator al sănătății unui ecosistem. O mare varietate de
specii se vor confrunta si ele cu amenințările disparitiei dacă anumite specii (poate chiar numai o
specie) sunt afectate si dispar. Disparitia unei specii creeaza un dezechilibru si poate avea efecte
neprevazute. Chiar daca exista poluare (in limite suportabile), schimbări climatice sau activități
umane, întregul ecosistem se poate adapta și supraviețui, dar dispariția unei specii poate avea
efecte necontrolate.
De aceea, este necesar sa se aduca la cunostinta oamenilor, implicit a tinerilor, a studentilor
din grupul tinta al proiectului „Primul pas pentru o cariera de succes!” despre importanta
„protectiei biodiversitatii”.
„Protectia biodivesitatii” este foarte importanta, deoarece varietatea vietii de pe pamant
asigura purificarea apei si aerului, pastrarea fertilitatii solului, regenararea materiilor prime, adica
este responasabila de sanatatea intregului ecosistem.
Se vor prezenta de către studenți la această secțiune aspectele identificate privind protectia
biodiversitatii in cadrul activitatii de practica si se vor propune solutii.
{
"JWT_PRIVATE_KEY": "default",
"DB_CONN": "mongodb://localhost/car-rental"
}
{
"JWT_PRIVATE_KEY": "",
"DB_CONN": ""
}
{
"JWT_PRIVATE_KEY": "test",
"DB_CONN": "mongodb://localhost/car-rental-test"
}
#ifndef Py_CPYTHON_ABSTRACTOBJECT_H
# error "this header file must not be included directly"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef PY_SSIZE_T_CLEAN
# define _PyObject_CallMethodId _PyObject_CallMethodId_SizeT
#endif
/* Convert keyword arguments from the FASTCALL (stack: C array, kwnames: tuple)
format to a Python dictionary ("kwargs" dict).
The type of kwnames keys is not checked. The final function getting
arguments is responsible to check if all keys are strings, for example using
PyArg_ParseTupleAndKeywords() or PyArg_ValidateKeywordArguments().
Duplicate keys are merged using the last value. If duplicate keys must raise
an exception, the caller is responsible to implement an explicit keys on
kwnames. */
PyAPI_FUNC(PyObject *) _PyStack_AsDict(
PyObject *const *values,
PyObject *kwnames);
The size is chosen to not abuse the C stack and so limit the risk of stack
overflow. The size is also chosen to allow using the small stack for most
function calls of the Python standard library. On 64-bit CPU, it allocates
40 bytes on the stack. */
#define _PY_FASTCALL_SMALL_STACK 5
PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(
PyThreadState *tstate,
PyObject *callable,
PyObject *result,
const char *where);
assert(callable != NULL);
tp = Py_TYPE(callable);
if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) {
return NULL;
}
assert(PyCallable_Check(callable));
offset = tp->tp_vectorcall_offset;
assert(offset > 0);
ptr = (vectorcallfunc *)(((char *)callable) + offset);
return *ptr;
}
keywords must only contain strings and all keys must be unique.
func = PyVectorcall_Function(callable);
if (func == NULL) {
Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
return _PyObject_MakeTpCall(tstate, callable, args, nargs, kwnames);
}
res = func(callable, args, nargsf, kwnames);
return _Py_CheckFunctionResult(tstate, callable, res, NULL);
}
// Backwards compatibility aliases for API that was provisional in Python 3.8
#define _PyObject_Vectorcall PyObject_Vectorcall
#define _PyObject_VectorcallMethod PyObject_VectorcallMethod
#define _PyObject_FastCallDict PyObject_VectorcallDict
#define _PyVectorcall_Function PyVectorcall_Function
#define _PyObject_CallOneArg PyObject_CallOneArg
#define _PyObject_CallMethodNoArgs PyObject_CallMethodNoArgs
#define _PyObject_CallMethodOneArg PyObject_CallMethodOneArg
assert(arg != NULL);
args = _args + 1; // For PY_VECTORCALL_ARGUMENTS_OFFSET
args[0] = arg;
tstate = PyThreadState_GET();
nargsf = 1 | PY_VECTORCALL_ARGUMENTS_OFFSET;
return _PyObject_VectorcallTstate(tstate, func, args, nargsf, NULL);
}
PyAPI_FUNC(PyObject *) PyObject_VectorcallMethod(
PyObject *name, PyObject *const *args,
size_t nargsf, PyObject *kwnames);
assert(arg != NULL);
return PyObject_VectorcallMethod(name, args,
2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
}
PyAPI_FUNC(PyObject *) _PyObject_CallMethodIdObjArgs(
PyObject *obj,
struct _Py_Identifier *name,
...);
assert(arg != NULL);
return _PyObject_VectorcallMethodId(name, args,
2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
}
/* Get the memory area pointed to by the indices for the buffer given.
Note that view->ndim is the assumed size of indices. */
PyAPI_FUNC(void *) PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices);
/* Implementation in memoryobject.c */
PyAPI_FUNC(int) PyBuffer_ToContiguous(void *buf, Py_buffer *view,
Py_ssize_t len, char order);
/* Copy the data from the src buffer to the buffer of destination. */
PyAPI_FUNC(int) PyBuffer_IsContiguous(const Py_buffer *view, char fort);
#define PyIter_Check(obj) \
(Py_TYPE(obj)->tp_iternext != NULL && \
Py_TYPE(obj)->tp_iternext != &_PyObject_NextNotImplemented)
/* Assume tp_as_sequence and sq_item exist and that 'i' does not
need to be corrected for a negative index. */
#define PySequence_ITEM(o, i)\
( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) )
#define PY_ITERSEARCH_COUNT 1
#define PY_ITERSEARCH_INDEX 2
#define PY_ITERSEARCH_CONTAINS 3
#ifdef __cplusplus
}
#endif
#ifndef Py_CPYTHON_BYTEARRAYOBJECT_H
# error "this header file must not be included directly"
#endif
/* Object layout */
typedef struct {
PyObject_VAR_HEAD
Py_ssize_t ob_alloc; /* How many bytes allocated in ob_bytes */
char *ob_bytes; /* Physical backing buffer */
char *ob_start; /* Logical start inside ob_bytes */
Py_ssize_t ob_exports; /* How many buffer exports */
} PyByteArrayObject;
PyAPI_DATA(char) _PyByteArray_empty_string[];
#ifndef Py_CPYTHON_CODE_H
# error "this header file must not be included directly"
#endif
#ifdef WORDS_BIGENDIAN
# define _Py_OPCODE(word) ((word) >> 8)
# define _Py_OPARG(word) ((word) & 255)
#else
# define _Py_OPCODE(word) ((word) & 255)
# define _Py_OPARG(word) ((word) >> 8)
#endif
/* Bytecode object */
struct PyCodeObject {
PyObject_HEAD
int co_argcount; /* #arguments, except *args */
int co_posonlyargcount; /* #positional only arguments */
int co_kwonlyargcount; /* #keyword only arguments */
int co_nlocals; /* #local variables */
int co_stacksize; /* #entries needed for evaluation stack */
int co_flags; /* CO_..., see below */
int co_firstlineno; /* first source line number */
PyObject *co_code; /* instruction opcodes */
PyObject *co_consts; /* list (constants used) */
PyObject *co_names; /* list of strings (names used) */
PyObject *co_varnames; /* tuple of strings (local variable names) */
PyObject *co_freevars; /* tuple of strings (free variable names) */
PyObject *co_cellvars; /* tuple of strings (cell variable names) */
/* The rest aren't used in either hash or comparisons, except for co_name,
used in both. This is done to preserve the name and line number
for tracebacks and debuggers; otherwise, constant de-duplication
would collapse identical functions/lambdas defined on different lines.
*/
Py_ssize_t *co_cell2arg; /* Maps cell vars which are arguments. */
PyObject *co_filename; /* unicode (where it was loaded from) */
PyObject *co_name; /* unicode (name, for reference) */
PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) See
Objects/lnotab_notes.txt for details. */
void *co_zombieframe; /* for optimization only (see frameobject.c) */
PyObject *co_weakreflist; /* to support weakrefs to code objects */
/* Scratch space for extra data relating to the code object.
Type is a void* to keep the format private in codeobject.c to force
people to go through the proper APIs. */
void *co_extra;
/* This value is found in the co_cell2arg array when the associated cell
variable does not correspond to an argument. */
#define CO_CELL_NOT_AN_ARG (-1)
PyAPI_DATA(PyTypeObject) PyCode_Type;
#define PyCode_Check(op) Py_IS_TYPE(op, &PyCode_Type)
#define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars))
/* Public interface */
PyAPI_FUNC(PyCodeObject *) PyCode_New(
int, int, int, int, int, PyObject *, PyObject *,
PyObject *, PyObject *, PyObject *, PyObject *,
PyObject *, PyObject *, int, PyObject *);
PyAPI_FUNC(PyCodeObject *) PyCode_NewWithPosOnlyArgs(
int, int, int, int, int, int, PyObject *, PyObject *,
PyObject *, PyObject *, PyObject *, PyObject *,
PyObject *, PyObject *, int, PyObject *);
/* same as struct above */
/* Creates a new empty code object with the specified source location. */
PyAPI_FUNC(PyCodeObject *)
PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno);
/* Return the line number associated with the specified bytecode index
in this code object. If you just need the line number of a frame,
use PyFrame_GetLineNumber() instead. */
PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int);
29.
30.
31.
32.
Data _______________________________________
Tutore_________ PURDESCU BUSUIOC ALINA ____________________________
Compania_______ CENTRUL DE CALCUL SA________
Semnătura
Ștampila
Precizări suplimentare:
Proiectul de practică se va intocmi in spatiile libere de la punctul V (documentele anexate
completate de student, vor reprezenta până la 50% din lucrare) şi va fi prezentat la susţinerea
colocviului.
Practica se finalizează cu susţinerea COLOCVIULUI DE PRACTICĂ, la care studenţii
vor prezenta:
a) Certificat de practica eliberat de unitatea la care au efectuat practică;
b) Caietul de practică - completat pe parcursul perioadei de practică;
c) Proiectul de practică, întocmit detaliat, în conformitate cu precizările prezentate la
punctele II şi V.
d) Fişa de evaluare a competenţelor dobândite de student în cadrul activităţii de practică.