{"id":21818734,"url":"https://github.com/kamillkaplan/angular7-9-works","last_synced_at":"2026-05-04T16:31:51.359Z","repository":{"id":38527147,"uuid":"191127268","full_name":"KamillKAPLAN/Angular7-9-Works","owner":"KamillKAPLAN","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-07T17:50:24.000Z","size":9154,"stargazers_count":1,"open_issues_count":169,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-26T07:08:48.067Z","etag":null,"topics":["angular"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KamillKAPLAN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2019-06-10T08:24:09.000Z","updated_at":"2021-04-25T15:28:11.000Z","dependencies_parsed_at":"2023-02-07T19:16:47.750Z","dependency_job_id":null,"html_url":"https://github.com/KamillKAPLAN/Angular7-9-Works","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KamillKAPLAN%2FAngular7-9-Works","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KamillKAPLAN%2FAngular7-9-Works/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KamillKAPLAN%2FAngular7-9-Works/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KamillKAPLAN%2FAngular7-9-Works/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KamillKAPLAN","download_url":"https://codeload.github.com/KamillKAPLAN/Angular7-9-Works/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244777176,"owners_count":20508656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular"],"created_at":"2024-11-27T16:14:46.105Z","updated_at":"2026-05-04T16:31:46.320Z","avatar_url":"https://github.com/KamillKAPLAN.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AngularCRUD\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.2.\n\n## Development server\n\nRun `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.\n\n## Code scaffolding\n\nRun `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.\n\n## Build\n\nRun `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.\n\n## Running unit tests\n\nRun `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).\n\n## Running end-to-end tests\n\nRun `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).\n\n## ANGULAR SERVİCE\n\nBir servisin enjekte edilmiş bir bağımlılığı olup olmadığına bakılmaksızın, tutarlılık ve geleceğin kanıtı için açısal servis sınıfını @Injectable() dekoratörüyle her zaman dekore etmemek\n\nBir servisin bileşen seviyesinde kayıtlı olması durumunda servis yalnızca o bileşen için ve onun çocukları tarafından kullanılabilir.\n\nBir servis modül seviyesinde kaydedilmişse, bu servis uygulamadaki tüm bileşenler için kullanılabilir durumdadır.\n\nBir bileşeni bir hizmette kullanmak için onu bileşen sınıfı yapıcısına enjekte edin.\n\n## INPUT\n\n'INPUT' özelliği oluşturmak için özelliği '@Input' dekoratörüyle dekore edin.\n'INPUT' özellikleri, genellikle üst öğeden alt öğeye veri iletmek için kullanılır.\n\n## YAPILAN\nnextEmployee() metodu yazıldı\nngOnChanges özelliği eklendi (display-employee.component.ts)\n\n## Angular property setter vs ngOnChanges\nBir girdi özellik değeri değiştiğinde tespit etmek ve tepki vermek\n  - ngOnChanges Yaşam Döngüsü Kancası\n  - Mülkiyet Belirleyici\n\nngOnChanges\n  - yalnızca tek bir mülkle ilgili değişiklikler yerine tüm değişiklikleri alırız\n  - Birden fazla özellik değiştiğinde yararlı\n\nMülkiyet Belirleyici\n  - Mülkiyet belirleyicisi, belirli bir mülke özgüdür, bu yüzden o mülkün özelliklerinde bir değişiklik yapmayız.\n  - Tek bir mülkü takip etmek istediğinizde kullanışlıdır\n\n## Component Communication (Bileşen İletişimi)\nInput Property (Giriş özelliği) : Verileri PARENT'ten ÇOCUK Bileşenine aktarmak için\n  - Alt öğede, @Input dekoratörüyle bir özellik yaratıyoruz\n  - Daha sonra ana bileşen, ihtiyaç duyduğu verileri ileten alt bileşenin input özelliğine bağlanır\n\nOutput Property (Çıktı özelliği) : ÇOCUK'tan PARENT Bileşenine veri aktarmak için\n\n## Angular Route Guards\n    Route Guard(Bekçi, Korumak)\t\t\t\tKullanımı\n - Devre dışı bırakılabilir\t\t: navigasyonu mevcut rotadan uzak tutun\n - Aktif edilebilir\t\t\t: bir rotaya nöbet navigasyonu\n - Aktif çocuk olabilir\t\t\t: çocuk rotasına navigasyon\n - Yüklenebilir\t\t\t\t: senkronize olmayan bir özellik modülüne navigasyon navigasyon\n - Çözmek\t\t\t\t: rota aktivasyonundan önce rota verilerini alma işlemini gerçekleştirme\n\tRota Koruması kullanmak için üç adım\n  - route guard(koruması) inşa et\n  - korumayı açısal bağımlılık enjeksiyon sistemi ile kaydedin\n  - korumayı bir rotaya bağlamak\n\n## Snapshot(Anlık Görüntü) ve Observable ne zaman kullanılır\n - Snaphost  : rota parametresi değeri değişmezse ve yalnızca başlangıç ​​rota parametresi değerini okumak istiyorsanız\n - Obervable : rota parametresi değeri değişirse ve bu değişikliğe cevaben bazı kodları reaksiyona sokmak ve yürütmek istiyorsanız\n\n## Required(gerekli, lazım) route parameters ve Optional(isteğe bağlı) route parameter arasındaki farklar\n - required(gerekli) route(rota) parametreleri, optional(isteğe bağlı) route(rota) parametreleri olmadığından rota yapılandırmasının bir parçasıdır.\n - Optional(isteğe bağlı) rota parametrelerinin olmadığı desen eşleşmesinde required(gerekli) rota parametreleri kullanılır.\n - isteğe bağlı rota parametreleri, varsa gerekli rota parametrelerinden sonra geçirilmelidir\n - değer basit ve zorunlu olduğunda gerekli bir rota parametresini tercih edin. Örneğin, belirli bir çalışan ayrıntılarını görüntülemek için, ID parametresi zorunludur ve basit bir tam sayıdır.\n - öte yandan, değer isteğe bağlı ve karmaşık olduğunda isteğe bağlı bir rota parametresini tercih edin\n\n## Pipe'ın 2 türü vardır\n - Pure(Saf, Temiz) Pipe\n     - sadece giriş değerinde saf bir değişiklik tespit edildiğinde gerçekleştirilir\n     - saf değişiklik, ilkel bir giriş değerindeki (String, Number, Boolean) veya değiştirilen nesne referansındaki (Array, Date, Object) değişikliktir\n     - hızlıdır\n     - Pipe'ın girişi bir nesne ise ve yalnızca nesnenin özellik değerleri değişse de referans olmadığında pure pipe çalıştırılmaz.\n - Impure(Saf Olmayan, Kirli) Pipe\n -- PURE PIPE'lar hızlıdır, ancak kaynak veriler nesne referansında bir değişiklik yapılmadan güncellenirse filtreleme ve sıralama beklendiği gibi çalışmayabilir\n -- Verileri filtrelemek ve sıralamak için bir IMPURE PIPE kullanılması önerilmez. Çünkü kaynak veriler değişmese bile her değişiklikte işlenir\n -- Önerilen yaklaşım filtreleme ve sıralama kodunu bileşenin kendisine taşımaktır, böylece bu kodun ne zaman çalışması ve yürütmemesi gerektiği konusunda daha iyi kontrol sahibi olursunuz.\n\n## Angular'da Sorgu string'i parametreleri\n - Sorgu parametreleri genellikle route(rota)daki parametrelerin isteğe bağlı olmasını istediğinizde ve bu parametreleri birden fazla route(rota)da tutmak istediğinizde kullanılır.\n - Tıpkı isteğe bağlı route(rota) parametreleri gibi, sorgu parametreleri de route(rota) yapılandırmasının bir parçası değildir ve bu nedenle route(rota) deseni eşleştirmesinde kullanılmaz\n - Preserve(korumak), Passing(geçen)\n\n## Sorgu String Parametreleri Nasıl Okunur\n - Parametrelerin 3 Tipi Vardır\n     - Required(Gerekli) Parameters\n     - Optional(İsteğe bağşlı) Parameters\n     - Query(Sorgu) Parameters\n\n     - has(name)    : eğer parametre bulunursa 'true', bulunmazsa 'false' değerini döndürür.\n     - get(name)    : eğer parametre mevcut ise değeri döndürür, değillse 'null'(boş) değer döndürür.\n     - getAll(name) : eğer bulunursa parametre dizi string'i döndürür, bulunmazsa boş dizi döndürür.\n     - keys         : tüm parametrelerin dizi string'ini döndürür.\n\n## PROJE BİTTİ\n - Sırada GOLANG var. Angular ile yazılan frontend tarası ile Golang ile yazılacak backend birleştirilecek.\n\n\n## PROJEYİ ÇALIŞIRMAK\n - Öncelikle terminal'i açıyoruz. 'json-server --watch db.json' komutunuçalıştırıyoruz. Bu bizim db.json yani veriTabenımızı aktif edre.\n - 'ng --serve --open' komutunu çalıştırıyoruz.Projemizin çalışmasını sağlamaktadır.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamillkaplan%2Fangular7-9-works","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamillkaplan%2Fangular7-9-works","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamillkaplan%2Fangular7-9-works/lists"}