Internal vs Public

Care este diferenta intre cele doua clase :

class Employee
    {
        public int MyProperty { get; set; }
    }
    

si

internal class Employee
    {
        internal int MyProperty { get; set; }
    }

Care o preferati?

ADCES–editia 9 pe 2016- VS Extensions and PowerBI

Din agenda:
1. VS Extensions Andrei Ignat, http://msprogrammer.serviciipeweb.ro/

Vom arata citeva din cele mai folosite extensii de productivitate in Visual Studio si vom dezvolta rapid una.

2. Build awesome interactive dashboards with Microsoft Power BI , Sorin Peste, Technical Evangelist, Microsoft Romania
Do you want to build great-looking reports and dashboards from your existing data? Then how about using a zero-deployment solution with amazing visuals, which you can point to any type of data, regardless of whether that data lives in your own datacenter, in the cloud, or in external services like Google Analytics, Microsoft Bing or SalesForce. You have the choice of web-based and desktop interfaces to build and visualize your data, and you can also embed them into your own applications and websites. Your users can ask questions about your data in real time, in natural language, right from your dashboard. Come to this session to see how Power BI can transform the way you understand your data.

3. Dupa aceea bergem la bere ( inca nu stim unde, asteptam propuneri)

Inregistrari pe http://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/events/232939325/

Te aștept la eveniment!
(Apoi bergem la bere )

Playlist 5 Minutes .NET

 

Acestea sunt videourile de la 5 Minutes .NET

https://www.youtube.com/playlist?list=PL4aSKgR4yk4OnmJW6PlBuDOXdYk6zTGps

Title Description Url
5MinSimpleDI Simple DI with Structure Map with logging as an example. Code Source at  https://github.com/ignatandrei/ToolsAndUtilities/tree/master/VS2015/SimpleDI https://www.youtube.com/watch?v=dBhCFR0Jf60
5MinSimplePlugin Simple plugin demo in C#. Event and Interface.Code at https://github.com/ignatandrei/ToolsAndUtilities/tree/master/VS2015/EventsAndPlugins https://www.youtube.com/watch?v=S06xlpvus-I
5MinPluginOffice plugins in office( with powerpoint example) https://www.youtube.com/watch?v=4n1_L207qEM
5MinMVVM_JS MVVM with javascript tutorial https://www.youtube.com/watch?v=clXDXeSmvss
5MinIIS_SEO How to do basic SEO in IIS
( If it does not install from WebPI( Web Platform Installer) , follow http://forums.iis.net/t/1229831.aspx?SEO+Toolkit )
https://www.youtube.com/watch?v=2q4jVmFAZIE
5MinRegularExpression Regular Expression Regulazy C# https://www.youtube.com/watch?v=7xWKF5vDTiQ
5MinSelenium Selenium for testing Web GUI with C#
Source code at http://ignatandrei.github.io/ToolsAndUtilities/
https://www.youtube.com/watch?v=dHs1A7QX3PI
5MinCopyConstructorReflection Copy constructor and reflection in .NET
Source code at http://ignatandrei.github.io/ToolsAndUtilities/
https://www.youtube.com/watch?v=Bjx3YlBUmeQ
5MinIlMerge ILMerge -merging dll's https://www.youtube.com/watch?v=dCrOQGXCblo
5MinComObjectIDisposable Marshal.ReleaseComObject with IDisposable https://www.youtube.com/watch?v=2qbAcSjL1gU
5MinComObject Comk objects in .NET. Destroy Com Objects one by one with Marshal.ReleaseComObject. Test with Excel. Full source code on http://ignatandrei.github.io/ToolsAndUtilities/ https://www.youtube.com/watch?v=B92H4nan5z8
5MinOCR OCR in .NET https://www.youtube.com/watch?v=wOQLimzYqAM
5MinCleanProject Clean project and send by email https://www.youtube.com/watch?v=V7isHUXX2wA
5MinVersioning Versioning in .NET https://www.youtube.com/watch?v=45WhlpwIOW8
5MinCrypt Crypting and Crypting in .NET. Also, make a duration of life example https://www.youtube.com/watch?v=kKq0DjvFpok
5Min AppContext Sharing licence via AppContext in .NET https://www.youtube.com/watch?v=GMgn4o3yPqw
5Min Instrumentation Stack trace and arguments value https://www.youtube.com/watch?v=qe2kpuuWXkw
5Min Partial Methods Partial Methods in .NET ( C#) https://www.youtube.com/watch?v=C7pGbr-BbfA
5MinClassExtensions class extensions in .NET https://www.youtube.com/watch?v=etHhNxBeSQc
5Min Debug Debug class in .NET- https://www.youtube.com/watch?v=86JDZrg0yQg
5MinCleanProject Clean Visual Studio project and send sources https://www.youtube.com/watch?v=hswxZmH2beA
5min Static – constructor and variables 5min Static – constructor and variables in C# https://www.youtube.com/watch?v=2DD2vN4q95s
5Min Memory Cache Caching in .NET with MemoryCache https://www.youtube.com/watch?v=BL5yo_p7x-E
5MinIDisposable IDisposable example and tutorial https://www.youtube.com/watch?v=L4U48uNiMVs
5MinThrowVsThrowEx C# throw versus throw ex https://www.youtube.com/watch?v=Deigld3Bqko
5Min Usefull Attributes Attributes in C# DebuggerDisplay and DebuggerStepThrough https://www.youtube.com/watch?v=ShBr1GgpZKs
5MinIValidatableObject Validation in .NET : how to validate with Required and how to make different validations depending on state of the object( new, edit)

Code at :  http://msprogrammer.serviciipeweb.ro/

https://www.youtube.com/watch?v=rjj0jjj3rxM
5MinAsyncException Differences handling Async Exceptions in C# – async / await https://www.youtube.com/watch?v=1a9s74IfSE8
5MinAsync HOw to modify code form sync to async in C# https://www.youtube.com/watch?v=02oO0YaTEyM
5Min iMacrosAHK iMacros and AutoHotkey to automate tedious work https://www.youtube.com/watch?v=wsbPWMdviGM
5min Zip C# zip files https://www.youtube.com/watch?v=fnyjEwPAQ9E
5MinPSR PSR for recording help files https://www.youtube.com/watch?v=FWpE09QiIx8
5MinParseWebPage parsing web page with C# https://www.youtube.com/watch?v=ENrQ1ete8xw
5MinFileHelpers File Helpers to read any kind of file https://www.youtube.com/watch?v=NSKGIx7UGbE
5Min Logging Logging in .NET https://www.youtube.com/watch?v=OvzcBTm3Sow
5min Send emails and SMTP4Dev Sending emails in C# and receiving fast with SMTP4Dev https://www.youtube.com/watch?v=AIDu3M_Wzes
5Min Memory Profiler ( User Object and/or memory leaks) Memory profiler with Ants .
http://msprogrammer.serviciipeweb.ro/
https://www.youtube.com/watch?v=c3Db6YrZMlg
5min SFHB Demo about how to generate help files from your projects in Visual studio with SFHB , https://github.com/EWSoftware/SHFB https://www.youtube.com/watch?v=evM12-NsueU
5min – .TT files in Visual Studio Demo about .tt files in Visual studio and some examples in C# https://www.youtube.com/watch?v=RJZ2lXaAtCY

Top programmers

Am citit de curind pe Quora http://qz.com/457873/what-do-software-engineers-who-earn-500000-a-year-do/?utm_source=qzfbarchive 

Pe scurt: “

Type one worker

Grabs an empty bucket or two, goes to the sweet water lake, fills them up, comes back, and makes twenty people happy. He gets to drink some of that water along the way, and once he gets back, takes some of the water home.

Type two worker

Disregards how much of a “fair share” of water he’s getting. Instead of grabbing a bucket, he grabs a shovel and a little cup, and disappears for a while. He’s digging a stream from the lake towards the village.”

Ce te faci atunci cind tu esti tehnicul si , de fapt, cel de tipul doi este un tip de marketing care are toti banii pentru unelte( tools) , marketing, publicitate si vinzari? Si doar construiesti devierea de la riu – totusi, nu iei nici o cota parte?

IOT RpiCar si ASP.NET Core + Docker

Miine, 9 august 2016, va invitam la intilnirea ADCES din 9 august 2016

Vor fi doua prezentari
1. IOT RpiCar, prezentat de Alexandru Badita, http://alexandru360.blogspot.ro/2016/06/rpicar.html

Din cuprins:
Raspberry Pi Jessie – Linux
Discutie – prezentare hardware (Controller servo-motor, conexiune webcam)
Discutie – instalare si configurare NodeJS + software conex
Prezentare proiect RpiCar – server + pagina web de control al masinii

Prezentarea a doua:
ASP.NET Core + Docker , prezentat de Victor Hurdugaci, programator la Microsoft. In prezent lucreaza in echipa de ASP.NET iar in trecut a lucrat la Azure WebJobs, Azure SDK, si compilatorul de X++ din Dynamics AX.
Mai multe detalii despre el:
https://victorhurdugaci.com
https://twitter.com/victorhurdugaci

Descriere:
– Ce e nou in ASP.NET Core
– Introducere in Docker
– Dezvoltare de aplicatii ASP.NET Core folosind Docker
– Publicarea aplicatiilor ASP.NET Core in Docker

Job @ EA

Pozitie Descriere
Software Engineer in Test

1+ years of experience developing websites or web applications in Java
1+ years of experience writing automation test scripts and test cases utilizing Selenium
1+ years of experience as a QA

Software Quality Engineer 5+ years’ experience working with C++ and/or C#.
QA Manager 4+  years’ experience working as People Manager
Automation Specialist Training or experience with software testing tools (selenium preferred); experience working with  C#, Java, SQL, and web design

Pentru mai multe detalii, va rog sa ma contactati

Architecti–din nou

Am citit de multe ori Joel Spolsky, http://www.joelonsoftware.com/items/2008/05/01.html si http://www.joelonsoftware.com/articles/fog0000000018.html .

Problema este ca ei nu isi dau seama.

De ce scriu asta? Pentru ca am citit un blogpost nou , http://mkartak.blogspot.ro/2016/07/unknown-disposables-disposing-of-non.html .

Treaba ar fi rezolvata mai simplu daca IContract ar fi

IContract: IDisposable

si ar fi utilizat un simplu using.


using (IContract contract = new ContractFactory().Create()){



}

Pentru ca nu se vrea , probabil din considerente arhitecturale , considera ca e mai simplu acest cod:

using (DisposableInterface<IContract> contract = new DisposableInterface<IContract>(new ContractFactory().Create()))

{

IContract instance = contract.Instance;

// all the interaction now happens with the "instance" reference

}

}

Doua pareri

1.Despre Software Engineering Manager , “in viziunea lui Crossover”  (https://www.linkedin.com/pulse/un-semnal-pentru-pia%C5%A3a-de-cine-%C3%AEl-recep%C5%A3ioneaz%C4%83-sorin-zavelita ) :

“Software Engineering Managerul – în viziunea Crossover – este cel ce îşi proiectează şi construieşte de la zero propria echipă globală virtuală compusă din arhitecţi, dezvoltatori şi testeri de software, pe care apoi o gestionează zi de zi, o motivează şi monitorizează pentru a-i îmbunătăţi productivitatea, eficienţa şi calitatea rezultatelor.

El este cel responsabil, în faţa clientului, de calitatea şi cantitatea rezultatelor livrate de echipa sa, precum şi de respectarea deadline-urilor agreate şi asumate.

La Crossover ne aşteptăm ca unui manager de echipe de dezvoltare software să nu îi lipsească îndemânarea practică, dexteritatea ce rezultă din anii de experienţă practică de lucru ca senior developer (hands-on experience).

Are nevoie să fie la zi cu tehnologiile şi limbajele de programare de bază (Java, .NET, Cloud, NoSQL) deoarece trebuie să înţeleagă aprofundat şi să revizuiască cu uşurinţă codul pe care dezvoltatorii din echipa sa îl scriu (cod review).

E de dorit să nu-şi fi pierdut automatismele bune, viteza de lucru ca dezvoltator, calitatea de a scrie şi revizui cod, să se fi menţinut activ şi în formă ca profesionist pe partea creativă de execuţie.” ( gata citatul, uf!)

In afara de faptul ca trebuie sa aiba “viteza de lucru ca dezvoltator” ( scrie si cod, probabil!)nu reusesc sa inteleg de ce lipseste din enumerare faptul de a fi un bun UX / UI specialist + DBA pentru BD relationale . Ca altfel le face cam pe toate…

2.Talks by Softbinator , https://www.facebook.com/events/1613650625613183/ 

 

Am ajuns pe la sfirsitul primei parti . Era despre”

Valentin Radu → How to write the code of your own life
Unfortunately, there is no stack overflow for life. You cannot copy-paste a script for every situation you encounter in your life and solve problems with it. In real life, there are many sources of information and ways to stay connected.
In this session, Valentin Radu will share some shortcuts about how to code in real life, how to choose the right paths, how to realize if it is worth to be an entrepreneur or an employee and what tech opportunities are in this current context.” .

Si , cum ziceam, la sfirsit era un mesaj de genul “corporatiile iti maninca timpul – pe cind daca faci ce iti place vei fi fericit “. Intr-o expresie scurta: “Groaznic!”

A doua prezentare a fost tehnica – din pacate , doar istorica si fara exemple. Ar fi putut fi interesanta daca avea si niste aplicabilitate aratata…

 

Stiu ca pare un parti-pris – insa imi dau seama ca evenimentele de la ADCES ( http://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/#past ) sunt mai terre-a-terre – cu exemple de cod si lucruri care iti folosesc ca programator ( ultima a fost despre Optical Character Recognition in .NET si despre Jet Brains tools)

OCR and .NET PROFILING & JETBRAINS TOOLS

1. Andrei Ignat, http://msprogrammer.serviciipeweb.ro/

Titlu: OCR 

Continut:

Andrei va face doua demo despre 2 solutii de Optical Character Recognition :
a)One Note ( https://github.com/ignatandrei/OneNoteOCR )
or
b) Windows Runtime ( https://code.msdn.microsoft.com/Uses-the-OCR-Library-to-2a9f5bf4#content or https://github.com/Microsoft/Windows-universal-samples )

2. Vlad Vizitiu, https://buildingsteps.wordpress.com/

Title: .NET PROFILING & JETBRAINS TOOLS

Content:

Vlad o sa arate tool-urile de la JetBrains si la ce folosesc ele:
Dot Trace
Dot Memory
Dot Cover
Dot Peek

Apoi bergem la bere!

PS 0: Intilnirea este la sala de relaxare de la Ubisoft. Telefonul meu este 0728200034.

Va puteti inscrie la http://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/events/231734166/ 

PS 1: Avem si o licenta de JetBrains free

[quote]1-year individual subscriptions for your User Group to any single JetBrains Toolbox product[/quote]

Hardware sharing prin ADCES

ADCES pune la dispozitia programatorilor din Romania Raspberry PI si Kinect.

Trebuie sa indepliniti doar conditiile urmatoare:

1. Sa vreti sa faceti un proiect cu ele ( pentru idei vedeti http://lmgtfy.com/?q=raspberry+pi+project)

2. Sa le inapoiati dupa o luna in aceeasi stare in care le-ati primit.

3. Daca proiectul e interesant sa tineti o prezentare ADCES despre ce ati facut.

Daca aveti device-uri cu care nu aveti ce face, puteti sa le donati si sa le punem pe pagina cu mentiunea numelui vostru ( sau nu, daca vreti sa ramineti anonimi)

Pentru mai multe detalii vedeti http://www.adces.ro/hardware-share/