コード例 #1
0
ファイル: ComparisonCore.cs プロジェクト: Majardom/CourseWork
        public void LoadVoiceSample(string speakerName, byte[] sample)
        {
            if (string.IsNullOrEmpty(speakerName))
            {
                throw new ArgumentException(nameof(speakerName));
            }

            if (sample == null || sample.Length == 0)
            {
                throw new ArgumentException(nameof(sample));
            }

            var speakerToUpdate = Speakers.FirstOrDefault(x => x.Name == speakerName);
            var voiceSample     = new VoiceSample(sample, _sampleRate);

            if (speakerToUpdate != null)
            {
                for (int i = 0; i < speakerToUpdate.Samples[0].MelFrequency.Length; i++)
                {
                    speakerToUpdate.Samples[0].MelFrequency[i] = (speakerToUpdate.Samples[0].MelFrequency[i] + voiceSample.MelFrequency[i]) / 2;
                }
            }
            else
            {
                var speaker = new Speaker(speakerName);
                speaker.Id = Guid.NewGuid().ToString();
                speaker.Samples.Add(voiceSample);
                Speakers.Add(speaker);
            }
        }
コード例 #2
0
        public async Task LoadSpeakersAsync(RadListView lv)
        {
            if (lv == null)
            {
                IsBusy = true;
            }

            try
            {
                Speakers.Clear();

                var items = await DependencyService.Get <IDataStore <Speaker> >().GetItemsAsync(true);

                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                bool wasManualRefresh = lv != null;

                Crashes.TrackError(ex, new Dictionary <string, string>
                {
                    { "Location", "SpeakersViewModel" },
                    { "Method", "LoadSpeakersAsync" },
                    { "WasManualRefresh", wasManualRefresh.ToString() },
                });
            }
            finally
            {
                lv?.EndRefresh(true);
                IsBusy = false;
            }
        }
コード例 #3
0
        async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            try
            {
                IsBusy = true;

                var service = DependencyService.Get <AzureService>();
                var items   = await service.GetSpeakers();

                Speakers.Clear();
                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("Error: " + e.Message);
                await Application.Current.MainPage.DisplayAlert("Error!", e.Message, "OK");
            }
            finally
            {
                IsBusy = false;
            }
        }
コード例 #4
0
        public async void OnNavigatingTo(INavigationParameters parameters)
        {
            var data = await SpeakerService.GetAsync();

            Speakers.Clear();
            foreach (var item in data)
            {
                Speakers.Add(new Speaker
                {
                    Name          = item.Name,
                    Bio           = item.Bio,
                    HeadshotImage = item.PhotoLink,
                    Sessions      = item.Sessions.Select(x => new Session
                    {
                        Title        = x.Title,
                        Description  = x.Description,
                        IsFavorite   = false,
                        Room         = x.Room,
                        TimeSlot     = x.TimeSlot,
                        TimeSlotName = x.TimeSlotName,
                        Track        = x.Category.ToSessionTrack(),
                        Speaker      = new Speaker
                        {
                            Name          = item.Name,
                            HeadshotImage = item.PhotoLink
                        }
                    })
                });
            }
        }
コード例 #5
0
ファイル: Listener.cs プロジェクト: ram66351/VRBooth
        /// <summary>
        /// Handles data from network connected to specific client id
        /// </summary>
        /// <param name="id">unique id of a remote client</param>
        /// <param name="bytes">array of received data (samples)</param>
        private void HandleRawData(int id, string name, byte[] bytes)
        {
            if (!_listening)
            {
                return;
            }

            lock (_lock)
            {
                Speaker speaker;

                if (!Speakers.ContainsKey(id))
                {
                    speaker        = new Speaker(id, name, transform);
                    speaker.IsMute = IsSpeakersMuted;

                    Speakers.Add(id, speaker);

                    SpeakersUpdatedEvent?.Invoke();
                }
                else
                {
                    speaker = Speakers[id];
                }

                speaker.HandleRawData(bytes);
            }
        }
コード例 #6
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                var items = await _speakersService.GetAllSpeakersAsync();

                Speakers.Clear();
                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #7
0
        public void AddSpeaker()
        {
            Speaker          speaker = new Speaker();
            SpeakerViewModel vm      = new SpeakerViewModel(speaker);

            Speakers.Add(vm);
            Model.Speakers.Add(speaker);
        }
        private void Initialize()
        {
            var serviceCall = _speakerService.GetAll();

            foreach (var speaker in serviceCall)
            {
                Speakers.Add(speaker);
            }
        }
コード例 #9
0
 internal void AddSpeakersFromIds(List <string> ids)
 {
     foreach (string speakerId in ids)
     {
         JSONSpeakerInfoModel speaker;
         if (idSpeakers.TryGetValue(speakerId, out speaker))
         {
             Speakers.Add(speaker);
         }
     }
 }
コード例 #10
0
        // インターネットから speaker のデータをすべて取ってくる
        async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;


                //using (var client = new HttpClient())
                //{
                //    //サーバーから json を取得します
                //    var json = await client.GetStringAsync("http://demo4404797.mockable.io/speakers");

                //    //json をデシリアライズします
                //    var items = JsonConvert.DeserializeObject<List<Speaker>>(json);

                //    //リストを Speakers に読み込ませます
                //    Speakers.Clear();
                //    foreach (var item in items)
                //        Speakers.Add(item);
                //}

                var service = DependencyService.Get <AzureService>();
                var items   = await service.GetSpeakers();

                Speakers.Clear();
                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                // ポップアップアラートを表示
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #11
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                /*using (var client = new HttpClient())
                 * {
                 *  // grab json from server
                 *  var json = await client.GetStringAsync("http://demo4404797.mockable.io/speakers");
                 *
                 *  var items = JsonConvert.DeserializeObject<List<Speaker>>(json);
                 *
                 *  Speakers.Clear();
                 *  foreach (var item in items)
                 *  {
                 *      Speakers.Add(item);
                 *  }
                 * }*/

                var service = DependencyService.Get <AzureService>();
                var items   = await service.GetSpeakers();

                Speakers.Clear();
                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }
            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FreeSpokenDigitsDataset" /> class.
        /// </summary>
        ///
        /// <param name="path">The path where datasets will be stored. If null or empty, the dataset
        /// will be saved on a subfolder called "data" in the current working directory.</param>
        ///
        public FreeSpokenDigitsDataset(string path)
        {
            this.basePath  = path;
            this.webClient = ExtensionMethods.NewWebClient();
            this.Records   = new RecordCollection(this);

            if (!Directory.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }

            foreach (string line in GetFileList())
            {
                if (line.Contains("\"path\":"))
                {
                    string   name   = line.Split(new[] { "path\":" }, StringSplitOptions.None)[1].Trim(' ', '"');
                    string[] parts  = name.Replace(".wav", "").Split('_');
                    var      record = new Record(
                        digit: int.Parse(parts[0]),
                        speaker: parts[1],
                        index: int.Parse(parts[2]));

                    if (this.Records.Contains(record))
                    {
                        throw new Exception();
                    }
                    this.Records.Add(record);
                }
            }

            this.Digits    = new SortedSet <int>();
            this.Speakers  = new SortedSet <string>();
            this.FileNames = new SortedSet <string>();
            foreach (Record r in Records)
            {
                Digits.Add(r.Digit);
                Speakers.Add(r.Speaker);
                FileNames.Add(r.FileName);
            }

            // From README.md: "The test set officially consists of the first 10% of the recordings.
            // Recordings numbered 0-4 (inclusive) are in the test and 5-49 are in the training set."
            Testing  = new RecordCollection(this, Records.Where(x => x.Index >= 0 && x.Index <= 4));
            Training = new RecordCollection(this, Records.Where(x => x.Index >= 5 && x.Index <= 49));
        }
コード例 #13
0
        public bool CreateSpeaker(Speaker speaker)
        {
            bool isError = false;

            try
            {
                db.addSpeaker(speaker);
            }
            catch (Exception ex)
            {
                isError = true;
                Console.WriteLine(ex);
                Console.WriteLine("Failed to update the Database ---  check error ABOVE");
            }

            Speakers.Add(speaker);
            return(isError);
        }
コード例 #14
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                using (var client = new HttpClient())
                {
                    //grab json from server
                    var json = await client.GetStringAsync($"{Constants.ApplicationURL}/tables/speakers?ZUMO-API-VERSION=2.0.0");

                    //Deserialize json
                    var items = JsonConvert.DeserializeObject <List <Speakers> >(json);

                    //Load speakers into list
                    Speakers.Clear();
                    foreach (var item in items)
                    {
                        Speakers.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #15
0
        async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                using (var client = new HttpClient())
                {
                    //grab json from server
                    var json = await client.GetStringAsync("https://demo3864976.mockable.io/speakers");

                    //Deserialize json
                    var items = JsonConvert.DeserializeObject <List <Speaker> >(json);

                    //Load speakers into list
                    Speakers.Clear();
                    foreach (var item in items)
                    {
                        Speakers.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #16
0
        public async Task OnLoadAsync(INavigationParameters parameters, int attempt = 0)
        {
            try
            {
                var data = await SpeakerService.GetAsync();

                if (data == null)
                {
                    return;
                }

                Speakers.Clear();
                foreach (var item in data.OrderBy(x => x.Name))
                {
                    Speakers.Add(new Speaker
                    {
                        Name     = item.Name,
                        Bio      = item.Bio,
                        Headshot = ImageSource.FromStream(() => new MemoryStream(item.Photo)),
                        Sessions = item.Sessions.Select(x => new Session
                        {
                            Title        = x.Title,
                            Description  = x.Description,
                            IsFavorite   = false,
                            Room         = x.Room,
                            TimeSlot     = x.TimeSlot,
                            Day          = x.Day,
                            TimeSlotName = x.TimeSlotName,
                            Track        = x.Category.ToSessionTrack(),
                            Speakers     = x.Speakers.Select(s => new Speaker
                            {
                                Name     = s.Name,
                                Headshot = ImageSource.FromStream(() => new MemoryStream(s.Photo))
                            })
                        })
                    });
                }
            }
            catch (Exception)
            {
                await ErrorRetryManager.HandleRetryAsync(this, parameters, attempt);
            }
        }
コード例 #17
0
        public SpeakerRepository()
        {
            using (WebClient client = new WebClient())
            {
                string        json = client.DownloadString("https://randomuser.me/api/?result=10");
                resultsRandom data = Newtonsoft.Json.JsonConvert.DeserializeObject <resultsRandom>(json);

                foreach (results item in data.results)
                {
                    Speaker sp = new Speaker();
                    sp.FirstName = item.name.first;
                    sp.LastName  = item.name.last;
                    sp.PicUrl    = item.picture.medium;
                    sp.SpeakerId = item.login.uuid;

                    Speakers.Add(sp);
                }
            }
        }
コード例 #18
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                using (var client = new HttpClient())
                {
                    IsBusy = true;

                    var service = DependencyService.Get <AzureService>();
                    var items   = await service.GetSpeakers();

                    Speakers.Clear();
                    foreach (var item in items)
                    {
                        Speakers.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #19
0
        private async void ActivateAsync()
        {
            if (Speakers.Any())
            {
                return;
            }

            var allSpeakers = await _speakers.AllAsync();

            var groupedSpeakers = from speaker in allSpeakers
                                  orderby speaker.FirstName
                                  group speaker by speaker.FirstName.Substring(0, 1)
                                  into speakerGroup
                                  select new Grouping <string, Speaker>(speakerGroup.Key, speakerGroup);

            foreach (var grouping in groupedSpeakers)
            {
                Speakers.Add(grouping);
            }
        }
コード例 #20
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                using (var client = new HttpClient())
                {
                    //grab json from server
                    var json = await client.GetStringAsync("https://xamarinassemblebaires.azurewebsites.net/tables/speakers?ZUMO-API-VERSION=2.0.0");

                    var items = JsonConvert.DeserializeObject <List <Speaker> >(json);

                    Speakers.Clear();
                    foreach (var item in items)
                    {
                        Speakers.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #21
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;
                using (var client = new HttpClient())
                {
                    var json = await client.GetStringAsync("http://demo4404797.mockable.io/speakers");

                    var items = JsonConvert.DeserializeObject <List <Speaker> >(json);

                    //Speakers = new ObservableCollection<Speaker>(items);
                    Speakers.Clear();
                    foreach (var item in items)
                    {
                        Speakers.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #22
0
ファイル: ComparisonCore.cs プロジェクト: Majardom/CourseWork
        public void InitializeCore(List <SpeakerModel> speakersData)
        {
            if (speakersData == null || speakersData.Count == 0)
            {
                throw new ArgumentException(nameof(speakersData));
            }

            foreach (var speakerData in speakersData)
            {
                var speaker = new Speaker(speakerData.Name)
                {
                    Id = speakerData.Id
                };
                foreach (var dataSample in speakerData.Features)
                {
                    var sample = new VoiceSample(dataSample.Features.Split(';').Select(x => double.Parse(x.Replace('.', ','))).ToArray());
                    sample.Id = dataSample.Id;
                    speaker.Samples.Add(sample);
                }

                Speakers.Add(speaker);
            }
        }
コード例 #23
0
        private async Task SetupDeviceListAsync()
        {
            await _meetingConfigView.Dispatcher.BeginInvoke(new Action(() =>
            {
                ClearDeviceList();
                CachedCameras.ForEach((camera) =>
                {
                    MainCameras.Add(camera);
                    SecondaryCameras.Add(camera);
                });

                CachedMicrophones.ForEach((microphone) =>
                {
                    MainMicrophones.Add(microphone);
                    SecondaryMicrophones.Add(microphone);
                });

                CachedSpeakers.ForEach((speaker) =>
                {
                    Speakers.Add(speaker);
                });
            }));
        }
コード例 #24
0
        //TODO: ADD UpdateSpeaker() here

        async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                // TODO: Get data from Azure.
                var items = new List <Speaker> ();

                Speakers.Clear();
                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #25
0
        private async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            Exception error = null;

            try
            {
                IsBusy = true;

                var items = await AzureDataManager.DefaultManager.GetSpeakersAsync();

                Speakers.Clear();

                foreach (var item in items)
                {
                    Speakers.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex);
                error = ex;
            }
            finally
            {
                IsBusy = false;
            }

            if (error != null)
            {
                await Application.Current.MainPage.DisplayAlert("Error!", error.Message, "OK");
            }
        }
コード例 #26
0
        public async Task GetSpeakers()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            using (var client = new HttpClient())
            {
                var json = await client.GetStringAsync("http://demo4404797.mockable.io/speakers");

                var speakers = JsonConvert.DeserializeObject <List <Speaker> >(json);

                Speakers.Clear();
                foreach (var speaker in speakers)
                {
                    Speakers.Add(speaker);
                }
            }

            IsBusy = false;
        }
コード例 #27
0
        public DbContext()
        {
            var adam_furmanek = new Speaker
            {
                Id    = 1,
                Name  = "Adam Furmanek",
                About = "Obecnie pracuję w Amazonie w dziale Prime Video, gdzie zajmuję się personalizacją rekomendacji dla użytkowników, uczeniem maszynowym i szeroko rozumianym big data. Wcześniej przez wiele lat pracowałem jako programista .NET, nieobcy był mi także fullstack JS (React, Angular, node), aplikacje mobilne (iOS), a karierę zaczynałem jako programista Javy. Ukończyłem Informatykę na AGH ze specjalizacją w systemach rozproszonych i sieciach komputerowych.\r\n\r\nW pracy zawsze interesuje mnie pełne zrozumienie platformy, systemu operacyjnego, frameworków i bibliotek, dlatego często dekompiluję binarki, debuguję kod maszynowy i schodzę na poziom maszyny wirtualnej lub systemu operacyjnego. W wolnych chwilach rozwijam bibliotekę do ILP, prowadzę bloga Random IT Utensils i gram na keyboardzie.",
                Photo = "adam_furmanek2017.jpg"
            };
            var krzysztof_owsiany = new Speaker
            {
                Id    = 2,
                Name  = "Krzysztof Owsiany",
                About = "Programowaniem pasjonuję się od ćwierćwiecza. Jako dzieciak zakochałem się w programowaniu. Od tego czasu miałem wiele różnych związków językowo-technologicznych. Obecnie najmocniej rozwijam się w obszarach .NET. Prowadzę własną firmę GemuStudio. Pracuję obecnie głównie jako podwykonawca i dostarczam oprogramowanie lub moduły oprogramowania Contact Center. Wcześniej przez wiele lat rozwijałem system do monitorowania/sterowania, analizy, prezentacji obiektów telemetrycznych z branży WOD-KAN.\r\n\r\nPo godzinkach zawsze coś knuję:\r\n\t• Blog: http://mrdev.pl, \r\n\t• Podcast: http://mrdev.pl/after-conf,\r\n\t• Wystąpienia: http://mrdev.pl/prelekcje,\r\nWłasne projekty: http://mrdev.pl/thenv.",
                Photo = "krzysztof_owsiany2018.jpg"
            };

            var michal_jankowski = new Speaker
            {
                Id    = 3,
                Name  = "Michał Jankowski",
                About = "Michał - Microsoft MVP Azure, architekt, programista, projektant, lider zespołu, a w wolnym czasie trener. Przygodę z programowaniem zaczął ponad dwadzieścia lat temu od Basic’a i Assemblera dla komputerów 8-bitowych. Od ponad dziesięciu lat uczestniczy w tworzeniu oprogramowania na platformę .NET dla największych światowych firm. W tym czasie brał udział w wytwarzaniu aplikacji desktopowych, mobilnych oraz webowych pełniąc różne role. Obecnie specjalizuje się w rozwiązaniach chmurowych – Microsoft Azure, a w szczególności powiązanych z trendem Serverless.\r\nPrywatnie miłośnik podróży oraz fotografii. W wolnym czasie prowadzi bloga www.jankowskimichal.pl, twórca rozwiązań open-source oraz aplikacji mobilnych.",
                Photo = "michal_jankowski2018.jpeg"
            };

            var joanna_lamch = new Speaker
            {
                Id    = 4,
                Name  = "Joanna Lamch",
                About = "Programistka, fanboy Microsoftu z iPadem w ręku, kociara. W branży IT od 15 lat w obrębie Microsoft Technology Stack. Koder C# z doświadczeniem w wielu technologiach na różne platformy docelowe. Obecnie developer w projektach mobilnych (Xamarin). Zwolenniczka Defensive Coding, SOLID, uczenia poprzez mentoring i ułatwiania życia programisty z wykorzystaniem dobrodziejstw współczesnego DevOps\'u.",
                Photo = "joanna_lamch2018.jpg"
            };

            var kamil_mrzyglod = new Speaker
            {
                Id    = 5,
                Name  = "Kamil Mrzygłód",
                About = "Software developer, konsultant, trener, architekt(mniej więcej w takiej kolejności :) Certyfikowany specjalista od Azure oraz aspirujący ekspert od chmury.",
                Photo = "kamil_mrzyglod.jpg"
            };

            var speaker6 = new Speaker
            {
                Id    = 6,
                Name  = "Maciej Jędrzejewski",
                About = "Programista, prelegent, bloger oraz jeden z głównych twórców strony poświęconej społeczności .NET - http://netdevelopers.pl. Autor szkoleń związanych z .NET i Angular. Absolwent Politechniki Wrocławskiej. Angular freak. W wolnym czasie oglądam polską ekstraklasę i piszę swój pierwszy kryminał.",
                Photo = "maciej_jedrzejewski.png"
            };


            Speakers.Add(adam_furmanek);
            Speakers.Add(krzysztof_owsiany);
            Speakers.Add(michal_jankowski);
            Speakers.Add(joanna_lamch);
            Speakers.Add(kamil_mrzyglod);
            Speakers.Add(speaker6);

            var session1 = new Session
            {
                Id         = 1,
                Time       = "14:00 - 15:00",
                Title      = "3… 2… 1… Lift off… CosmosDB",
                Speaker    = michal_jankowski,
                About      = "Azure CosmosDB jest jednym z najgorętszych tematów w ostatnim czasie. Technologia ta, baza danych NoSQL, pozwala na budowanie wysoko skalowalnej, rozproszonej bazy danych o prawie natychmiastowym dostępie do danych. Możliwości tego rozwiązania są olbrzymie. \r\n\r\nA czy Ty znasz jego potencjał?\r\n\r\nJeśli nie, to ta sesja jest dla Ciebie. W jej trakcie zostaną przedstawione główne funkcjonalności Azure CosmosDB. Zastanowimy się, czy różni się ona od bazy relacyjnej. Jak wpływa to na jej projektowanie. Jakie są jej mocne i słabe strony. A przede wszystkim poznamy możliwości jej zastosowania przy budowaniu wysokowydajnych aplikacji.",
                YoutubeUrl = "https://www.youtube.com/embed/zTPjVqe-sN4"
            };

            var session2 = new Session
            {
                Id         = 2,
                Time       = "15:00 - 16:00",
                Speaker    = speaker6,
                Title      = ".NET Core, Docker i Heroku - together forever",
                About      = ".NET CORE, DOCKER I HEROKU - TOGETHER FOREVER - Napisałeś aplikację ichcesz ją pokazać światu. Następny krok to jej opublikowanie. Tylko gdzie to zrobić? Heroku to rozwiązanie, które w oparciu o AWS zapewni Ci łatwy i przyjemny proces konfiguracji aplikacji i jej deploymentu. Co więcej, podczas rejestracji nie będziesz potrzebował żadnych kart kredytowych. Brzmi bardzo dobrze. Tylko po co w takim razie stosować Dockera dla aplikacji .NET? Podczas prezentacji przejdziemy przez cały proces - od stworzenia aplikacji w .NET Core, konfiguracji Dockera, aż po deployment do Heroku. Będzie się działo!",
                YoutubeUrl = "https://www.youtube.com/embed/6Jb3ZsOD7nA"
            };

            var session3 = new Session
            {
                Id         = 3,
                Time       = "16:00 - 17:00",
                Speaker    = kamil_mrzyglod,
                Title      = "Azure Functions - pisanie własnych rozszerzeń",
                About      = "Azure Functions, jako koronny przykład technologii serverless w Azure, potrafi zaskakiwać. Teoretycznie - FaaS pełną gębą gdzie abstrakcja goni abstrakcję a całość to zamknięty sandbox, którego cieżko odpakować. Praktycznie - całkiem fajny framework, którego można wyginać wedle uznania - pod warunkiem, że wiesz czego(i jak) używać. Podczas prezentacji zobaczycie jak działa model rozszerzeń w tej usłudze i na co zwrócić uwagę używając wersji V1 oraz V2.",
                YoutubeUrl = "https://www.youtube.com/embed/YHwcZzIlkok"
            };

            var session4 = new Session
            {
                Id         = 4,
                Time       = "17:00 - 18:00",
                Speaker    = krzysztof_owsiany,
                Title      = "IL — między piekłem a niebem.",
                About      = "Czym jest IL? Wykorzystanie narzędzi do analizy pisanego kodu. Nie zabraknie też powiązanych tematów: JIT, CLR, CTS, CLS, class, struct, boxing, kompilacja, dekompilacja, mnemoniki, manifest, metadane.",
                YoutubeUrl = "https://www.youtube.com/embed/7yn17s8cOIE"
            };

            var session5 = new Session
            {
                Id         = 5,
                Time       = "18:00 - 19:00",
                Speaker    = joanna_lamch,
                Title      = "WebAssembly and .NET",
                About      = "WebAssembly będą następną dużą rzeczą w świecie IT. Już teraz nie tylko jest o nich głośno ale zaczynają zmieniać oblicze aplikacji webowych.  Aplikacje webowe to przecież JavaScrip co to ma z .NETem i C# wspólnego? Microsoft eksperymentuje z razorem w przeglądarce czyli Blazor\'em. Jednak nie tylko Blazor możliwy jest do uruchomienia jako WebAssembly, mamy też Ooui oraz Uno, a wszystko to oparte na Mono. Czyli .NET w przeglądarce i WebAssembly w pigułce. ",
                YoutubeUrl = "https://www.youtube.com/embed/kAGZDaxVSvY"
            };


            var session6 = new Session
            {
                Id         = 6,
                Time       = "19:00 - 20:00",
                Speaker    = speaker6,
                Title      = "Machine Learning w .NET - czyli podróż tam i z powrotem",
                About      = "Sztuczna inteligencja, machine learning - przyszłość, a nawet teraźniejszość w systemach na całym świecie. Analiza danych, podejmowanie na ich podstawie decyzji. Czym są te zagadnienia, w jaki sposób rozpocząć przygodę z machine learning w .NET? - na te i inne pytania odpowiem podczas prezentacji.",
                YoutubeUrl = "https://www.youtube.com/embed/Gr7-jeQCNQA"
            };

            var session7 = new Session
            {
                Id         = 7,
                Time       = "20:00 - 21:00",
                Title      = "Bebechy wyjątków",
                Speaker    = adam_furmanek,
                About      = "Wiesz jak rzucić i złapać wyjątki, ale czy wiesz, jak są one zbudowane pod spodem? Czy znasz SEH, VEH, VCH, SJLJ i inne technologie w Windowsie? Czy wiesz, po co C# wprowadził exception filters i jak złapać StackOverflowException?\r\n\r\nW trakcie prezentacji poznamy szczegóły implementacyjne mechanizmów do łapania wyjątków. Zobaczymy kod z wielu języków, zarówno z poziomu procesora i WinAPI, jak również z C++, IL czy C#. Pokażę także kiedy bloki finally nie są wykonywane, jak ratować się w przypadku poważnych błędów w dostępie do pamięci, a także jak w C# złapać absolutnie wszystko, nawet StackOverflowException.",
                YoutubeUrl = "https://www.youtube.com/embed/Y_Anjb1U0Bo"
            };

            Sessions.Add(session1);
            Sessions.Add(session2);
            Sessions.Add(session3);
            Sessions.Add(session4);
            Sessions.Add(session5);
            Sessions.Add(session6);
            Sessions.Add(session7);
        }
コード例 #28
0
ファイル: Talk.cs プロジェクト: devcrafting/MixIT
 public void AddSpeaker(Speaker speaker)
 {
     Speakers.Add(speaker);
 }
コード例 #29
0
        public DbContext()
        {
            var piotrAndDarek = new Speaker
            {
                Id    = 1,
                Name  = "Piotr Gankiewicz & Dariusz Pawlukiewicz",
                About = @"Piotr:

                        Microsoft MVP,
                        trener Bottega IT Minds,
                        a na co dzień inżynier oprogramowania rozwijający klienta sieci Ethereum Blockchain w Nethermind.Zwolennik Domain Driven Design,
                        CQRS oraz systemów rozproszonych.Kontrybutor open source i prelegent na konferencjach branżowych.Współtwórca platformy DevMentors.io.

                        Dariusz:
                        Absolwent wydziału Cybernetyki na Wojskowej Akademii Technicznej.Microsoft MVP. Miłośnik języka C# oraz platformy .NET Core. Entuzjasta DDD, CQRS oraz wszelkich zagadnień związanych z systemami rozproszonymi. Regularnie prowadzi bloga foreverframe.net, a okazjonalnie pojawia się na spotkaniach oraz konferencjach programistycznych w roli prelegenta. Współtwórca platformy DevMentors.io.
                ",
                Photo = "piotr_darek.jpg",
            };

            var joannaLamch = new Speaker
            {
                Id    = 2,
                Name  = "Joanna Lamch",
                About = @"Koderka pełną piersią, fangir Microsoftu z iPadem w ręku, kociara. W branży IT od wielu lat zawsze w okolicach C# oraz technologi Microsoft.
                        Zwolenniczka Defensive Coding,
                        SOLID,
                        uczenia poprzez mentoring,
                        samorozwoju i kultury DevOps.Community lover,
                        wspierająca Gruba.IT,
                        współorganizatorka Śląskiej Grupy Microsoft.Blogger and speaker wannabe. ",
                Photo = "joanna_lamch_squere.jpg"
            };

            var piotrStapp = new Speaker
            {
                Id    = 3,
                Name  = "Piotr Stapp",
                About = @"Programista, inżynier, rzemieślnik, projektant i rowerzysta.
                        Korzysta z każdej technologii, która prowadzi do celu.
                        Wierzy w ludzi, a nie w papiery. Jest wyznawcą DevOps i wszelkiej automatyzacji.
                        Jak przystało na człowieka inteligentnego, prowadzi bloga – https://stapp.space/
                        Od czerwca 2018 znany jako 'główny' dotnetomaniak.
                        Na codzień główny architekt w FinAi oraz Microsoft MVP.",
                Photo = "piotr_stapp2017.jpeg"
            };

            var kamilGrzybek = new Speaker
            {
                Id    = 4,
                Name  = "Kamil Grzybek",
                About =
                    @"Architekt, Team Leader oraz programista związany z technologią .NET od ponad 11 lat. Absolwent Politechniki Warszawskiej i kierunku Informatyka o specjalizacji Inżynieria Oprogramowania. Zwolennik podejścia Software Craftsmanship, Agile, automatyzacji, Czystego Kodu oraz pragmatycznego rozwiązywania problemów zgodnie z ich klasą. Pasjonat tematów związanych z architekturą oprogramowania i projektowaniem systemów. Entuzjasta i praktyk Domain-Driven Design. Przemyślenia dotyczące wytwarzania oprogramowania opisuje na swoim blogu http://www.kamilgrzybek.com i Twitterze: @kamgrzybek.

                    Związany z firmą ITSG Global, gdzie jako architekt, programista i konsultant odpowiedzialny jest za wytwarzanie oprogramowania dla firm z branży finansowej, medycznej i Big Data.

                    Prywatnie - mąż, tata ukochanej córeczki, opiekun niesfornego psa, biegacz - amator i pasjonat samodoskonalenia żyjący zgodnie z Sokratesową dewizą - 'wiem, że nic wiem'.",
                Photo = "kamil_grzybek.jfif"
            };

            var januszNowak = new Speaker
            {
                Id    = 5,
                Name  = "Janusz Nowak",
                About =
                    @"Senior software developer with 12 years of experience specialized on Microsoft and Web technologies, enterprise solutions architecture, programming and Azure Cloud computing, Paas, Saas, focused on Application Life Cycle Management.I have worked with multiple Microsoft Technologies starting from .NET 1.1 and VS2003 up to .NET 4.5 and VS2017 , Microsoft SQL Server, SharePoint Server, Team Foundation Server, Visual Studio Team Services keeping the big and small picture what is going on.",
                Photo = "janusz_nowak.jpg"
            };

            var pawelHaracz = new Speaker
            {
                Id    = 6,
                Name  = "Paweł Haracz",
                About =
                    @"Pasjonat rozwiązań chmurowych. Mający głowę w chmurach. Uczestnik meetupow, konferencji. Zainteresowaniem do architektury mikroserwisowej jak rownież do serverlessowej. Jego znakiem rozpoznawczym jest słowo „Awesome”",
                Photo = "pawel_haracz.jpg"
            };



            Speakers.Add(piotrAndDarek);
            Speakers.Add(joannaLamch);
            Speakers.Add(piotrStapp);
            Speakers.Add(kamilGrzybek);
            Speakers.Add(januszNowak);
            Speakers.Add(pawelHaracz);


            var session1 = new Session {
                Speaker = piotrAndDarek, Title = "Convey - prosty przepis na mikroserwisy", Time = "Piątek (4.10) 18:00 - 19:00", About = @"Systemy rozproszone od ostatnich lat znów zyskują na popularności, a wszechobecne narzędzia związane z szeroko pojętą infrastrukturą, wdrożeniem czy orkiestracją usług pojawiają się niczym grzyby po deszczu. Z czym jednak musi się zmierzyć programista, aby stworzyć swój własny mikroserwis, a następnie zintegrować go z pozostałymi aplikacjami? Czy ekosystem platformy .NET Core jest wystarczająco przyjazny i bogaty w biblioteki wspomagające rozwój takiej architektury? Na te oraz inne pytania poszukamy odpowiedzi w trakcie prezentacji.", YoutubeUrl = "https://www.youtube.com/embed/oFkYQbPqZYs"
            };
            var session2 = new Session {
                Speaker = joannaLamch, Title = "Internet of Things on Azure", Time = "Piątek (4.10) 19:00 - 20:00", About = @"W roku 2020 będzie 4 razy więcej podłączonych urządzeń niż ludzi na świecie.
                To ogromny rynek dla nowych projektów i nowych umiejętności.Azure proponuje kilka gotowych komponentów oraz pokazuje jak takie projekty realizować.Opowiem o architekturze referencyjnej i klockach do jej zbudowania. Rzucę trochę światła na IoT w oparciu o chmurę Microsoft.", YoutubeUrl = "https://www.youtube.com/embed/hKu9BPqCgpM"
            };
            var session3 = new Session {
                Speaker = piotrStapp, Title = "Orkiestracja to zło (konieczne)", Time = "Piątek (4.10) 20:00 - 21:00", About = @"Mała lekcja historii:

- 20+ lat temu instalowaliśmy gry z dyskietek
- 15 lat temu instalacje odbywały się za pomocą płyt CD
- 10 lat temu nikt nie słyszał o mikro-serwisach
- 6 lat temu docker nie istniał
A teraz nagle orkiestracja to 'must - have' i nie da się pracować bez niej.

                Na przykładzie Kubernetes(ludzie mówią, że to teraz 'TA' technologia) spojrzymy sobie na to czym jest orkiestracja,
                jakie problemy ona rozwiązuje(o ile je mamy) i co możemy uzyskać.", YoutubeUrl = "https://www.youtube.com/embed/pvALPQS1oTk"
            };
            var session4 = new Session {
                Speaker = kamilGrzybek, Title = "From Anemic to Rich Domain Model: Refactoring live session.", Time = "Sobota (5.10) 11:00 - 12:00", About = @"Czy masz już dosyć utrzymywania i rozwijania kodu spaghetti? Czy wielka kula błota tocząca się po Twoim repozytorium kodu uniemożliwia Ci dostarczanie wartości biznesowej? Czy zmiana w jednej klasie wywołuje lawinę zmian niczym strzał z shotgun'a? Jeżeli przynajmniej na jedno pytanie odpowiedziałeś twierdząco to czas włożyć 'Refactoring Hat' i zaprowadzić należyty porządek w kodzie. Na sesji programowania 'na żywo' zostaną zaprezentowane techniki jak zmienić Model Domenowy z anemicznego na czysty i bogaty w zachowanie. Refaktoryzacja pełną gębą - Martin Fowler będzie dumny.", YoutubeUrl = "https://www.youtube.com/embed/1mdpT71q6cQ"
            };
            var session5 = new Session {
                Speaker = januszNowak, Title = "Use Azure DevOps to deploy Azure Function in Docker on Raspberry Pi.", Time = "Sobota (5.10) 12:00 - 13:00", About = @"Using Azure DevOps Pipelines for creating and running Azure Functions in Container on Raspberry Pi.
Azure DevOps Pipelines how to create containers and making deploy of container for running Azure Functions on Raspberry Pi.", YoutubeUrl = "https://www.youtube.com/embed/yPjF4MZjCl8"
            };
            var session6 = new Session {
                Speaker = pawelHaracz, Title = "Jak Event-driven Development pozwolił zbudować skalowalny system", Time = "Sobota (5.10) 13:00 - 14:00", About = @"W prezentacji zostanie przedstawiona droga jak zbudowana platforma do obsługi urządzeń iot przestała być wydajna oraz co musiało zostać zmienione aby system był gotowy na obsłużenie kilku tysięcy urządzeń.", YoutubeUrl = "https://www.youtube.com/embed/Ox4KROdpZG0"
            };

            Sessions.Add(session1);
            Sessions.Add(session2);
            Sessions.Add(session3);
            Sessions.Add(session4);
            Sessions.Add(session5);
            Sessions.Add(session6);
        }