Ce mi-a placut la MsSummit.ro

  1. C# everywhere – Building Cross-Platform Apps with Xamarin and MvvmCross
    Flavius-Radu Demian Flavius-Radu Demian – General Manager, Deventure ; Timisoara .Net meetup organizer
  2. PowerBI de la  Building an IoT Solution using Azure Event Hubs, Stream Analytics, Machine Learning, and PowerBI
    Sorin Peste – Technical Evangelist, Microsoft Romania si Petru Jucovschi – Cloud Solution Architect, Microsoft Romania
  3. In pofida titlului de business –  despre telemetrie ( un cuvint la voga) Know your customers, know yours apps! – Alex Mang – CEO, KeyTicket Solutions
  4. Introduction to Windows Workflow Foundation
    Andrei Oros  – Chief Technology Officer, Flowster Solutions

Si in cele din urma prezentarea mea Winking smile Universal Windows App and C# – an unified experience with Cloud help

Vrei sa fii colegul meu ?–job de PM

Daca vrei sa fii colegul meu la EA, te rog sa ma anunti:

Project Manager (Automation Team)

Main Purpose of the Role

Manages a team responsible for the creation and execution of automated test plans to ensure software products efficiently meet design specifications and EA’s quality standards. The ideal candidate will have experience in game testing, project and resource management, test automation, process and tool development.

The main responsibilities for this role are defined as follows:

– Manages the creation and execution of automated test scripts and test cases from specifications

– Establishes deadlines and prioritizes work assignments and assigns projects based on available resources to ensure automated testing is completed on schedule and within budget

– Oversees local tool implementation

– Manages a team of Automation Specialists and Analysts

– Responsible for defining, rolling out, supervising and reporting on test automation processes.

– Anticipates problems and future technical needs and takes necessary steps to address issues. Performs analysis, risk management and documents justification for new initiatives

– develop standards, KPIs, procedures, training manuals and other documentation for projects or internal use

– Participate in developing and maintaining good working relationships with the QA teams, QE and development teams in product development, project management and Automation deliverables.

– Reviews automation testing processes to improve product quality.

– Responsibility for the QA Automation team’s performance


Skills, Experience, Knowledge

Required:

  • Degree in Computer Science or related field
  • Experience in managing teams of various skillsets
  • Strong planning and organizational skills, with an attention to detail
  • Responsive, results-oriented nature with high energy level;
  • Very strong written and spoken communication skills;
  • Analytical, flexible, team-oriented, have good interpersonal and follow up skills with strong attention to detail and ability to multi-task;
  • Technical proficiencies in Microsoft Office products (Word, Excel, PowerPoint and Project);
  • Technical knowledge of gaming platforms (iOS, Android , PS, Xbox)
  • Tenacity, willingness to succeed and commitment to the QA vision;

Desirable:

  • Game industry experience;
  • At least 2 years of experience in managing QA teams
  • Strong organizational and time management skills
  • Ability to learn and adapt quickly (initiative and drive)
  • Ability to organize activities and lead others in accomplishing project goals and objectives.
  • Deep understanding of automated testing concepts, processes and tools (TestArchitect, T-Plan, Calabash etc)

Covariance si contravariance si CQRS si interfaces – partea 2 din 3

Pentru Covariance si Contravariance cititi :http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx
Pentru CQRS cititi http://martinfowler.com/bliki/CQRS.html

Sa presupunem acum ca avem o clasa Implementation si o clasa derivata DerivedImplementation


        public interface IFind
        {

        }

        public class Implementation : IFind
        {

        }

        class DerivedImplementation : Implementation
        {

        }

 

In dulcele stil CQRS , avem urmatoarea clasa de Command:

 public interface ICommand<T>
            where T : IFind
        {
            bool Update(T t);
        }



        public class BaseServiceCommnand<T> : ICommand<T>
            where T : IFind
        {



            public bool Update(T t)
            {
                return true;
            }
            
        }

Ce credeti, se compileaza rindul de mai jos:

ICommand<DerivedImplementation> command = new BaseServiceCommnand<Implementation>();

            Console.WriteLine(command.Update(new DerivedImplementation()));

Daca nu ( si nu!) ce trebuie adaugat ?
( nu, nu va ginditi la DI / IoC – e acelasi lucru)

Raspuns:

{
؛(ʇ ʇ)ǝʇɐpdn ןooq
}
puıɟı : ʇ ǝɹǝɥʍ
<ʇ uı>puɐɯɯoɔı ǝɔɐɟɹǝʇuı ɔıןqnd

Data viitoare , concluzii

Covariance si contravariance si CQRS si interfaces – partea 1 din 3

Pentru Covariance si Contravariance cititi : http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx
Pentru CQRS cititi http://martinfowler.com/bliki/CQRS.html

Acum partea intii – covarianta:

Sa zicem ca vrem sa implementam o parte din CQRS pe interfete:


public interface IFind
        {

        }

        public class ImplementationFind: IFind
        {

        }

        public interface IQuery<T>
            where T : class,IFind, new()
        {
            T Find(int id);

        }
         public class BaseServiceQuery<T> : IQuery<T>
            where T : IFind
        {


            public T Find(int id)
            {
                return new T();
            }
        }

Deci ImplementationFind implementeaza IFind
Ce credeti, se compileaza rindul de mai jos:

IQuery<IFind> da = new BaseServiceQuery<ImplementationFind>();
Console.Write(da.Find(1).GetType());

Daca nu ( si nu!) ce trebuie adaugat ?
( nu, nu va ginditi la DI / IoC – e acelasi lucru)

Raspuns:

{

؛(pı ʇuı)puıɟ ʇ
}
puıɟı : ʇ ǝɹǝɥʍ
<ʇ ʇno>ʎɹǝnbı ǝɔɐɟɹǝʇuı ɔıןqnd

( intrati pe http://www.fliptext.info/ si inversati textul )

Acum ginditi-va si de ce e asa de important un cuvint in C# – de tipul out.

Data viitoare contravarianta

Malware , viruses and .NET

Marți, 13 octombrie 2015, ora 19:00, va fi a opta întâlnire pe anul 2015 a www.adces.ro

Locul de întrunire va fi la Electronic Arts( vezi detalii mai jos) .

Din agendă:

Cristian Pascariu •

  • Brief intro into malware delivered through phishing email and attack strategies
    • How attackers craft phishing email to deliver malware
    • How the malware is embedded into the email
    • Users Interaction with the malware (social engineering aspect)
  • What malware/virus/trojan/evil is made of (structure)
    • Structure of a virus
    • Similarities to a common program and code structure
    • When attackers will learn reflection…
  • Using .NET to build a simple demo virus
    • Difference between the features and bugs
    • High Level language == Ease of developing malware
    • Conclusion = Raising awareness among developers will substantially increase chances of mitigating future potential threats

Durata estimata : 1h..1h30 min (Apoi bergem la bere 😉 )

Data: 13 octombrie 2015, ora 19:00 Locație: sediul Electronic Arts – Afi Park 2 .

Te rog sa iti iei buletinul cu tine.

Harta: https://goo.gl/maps/Kt8ZL

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun: – Metrou, Stația Politehnica – Orice (105, 69, altele ) pina la mall AFI Palace Cotroceni si intrebi de cladirea AFI Park 2.

Telefonul meu este 0728200034

Gasiti pe FB evenimentul la adresa : https://www.facebook.com/events/1004030386285298/

(Rant) Debug versus Release in C

Am avut de facut un deploy la o aplicatie C# care folosea un pachet de NuGET care folosea niste lib-uri compilate de C/ C++ ( cu DllImport). Acestea erau downloadate de pe GitHub .

Mi-a dat eroare ca ii lipseste libraria – culmea, ea exista! Asa ca , impreuna cu un coleg, la ora 18:00, am inceput sa vedem ce avea. Dependency Walker ne-a indicat ca lipsea un dll de debug de VC++ –  si StackOverflow ne-a dat solutia : compilati in Release mode.

De aici ne-am izbit in tot felul de probleme – de la faptul ca lib-urile pe release nu se duceau unde trebuie la faptul ca nu reusea sa linkeze si i se parea ca nu gaseste definitia. De la eroarea ca nu stie sa transforme din LPCST in LPCSTRW  la macrouri pre-processor.

TOTAL : La 20:30 am terminat  de compilat.  DOUA ORE JUMATATE PENTRU COMPILARE DIN DEBUG IN RELEASE.

Remarca finala a colegului : E ok acuma.

Remarca finala a mea: Cine stie ce naiba s-a schimbat din cauza de definitii. E cazul sa retestam tot !