{"id":17057283,"url":"https://github.com/abdurrahmanekr/nodejs-golang-addon","last_synced_at":"2025-04-12T17:34:28.416Z","repository":{"id":44434976,"uuid":"504791513","full_name":"abdurrahmanekr/nodejs-golang-addon","owner":"abdurrahmanekr","description":"Node.js GoLang Addon","archived":false,"fork":false,"pushed_at":"2022-06-18T11:56:13.000Z","size":1140,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T11:51:15.550Z","etag":null,"topics":["addon","golang","node-addon","node-addon-api","node-golang","nodejs"],"latest_commit_sha":null,"homepage":"","language":"C++","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/abdurrahmanekr.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":null,"support":null}},"created_at":"2022-06-18T08:50:19.000Z","updated_at":"2022-12-14T10:36:03.000Z","dependencies_parsed_at":"2022-09-23T08:31:25.750Z","dependency_job_id":null,"html_url":"https://github.com/abdurrahmanekr/nodejs-golang-addon","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/abdurrahmanekr%2Fnodejs-golang-addon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdurrahmanekr%2Fnodejs-golang-addon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdurrahmanekr%2Fnodejs-golang-addon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdurrahmanekr%2Fnodejs-golang-addon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdurrahmanekr","download_url":"https://codeload.github.com/abdurrahmanekr/nodejs-golang-addon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248605734,"owners_count":21132221,"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":["addon","golang","node-addon","node-addon-api","node-golang","nodejs"],"created_at":"2024-10-14T10:26:51.720Z","updated_at":"2025-04-12T17:34:28.393Z","avatar_url":"https://github.com/abdurrahmanekr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js'e Go Eklentisi Yazmak\n\nBu proje [Node.js, Golang ve Electron.js Kullanarak Performanslı Masaüstü Uygulamalar Geliştirmek](https://avarekodcu.com/konu/55/nodejs-golang-ve-electronjs-kullanarak-performansli-masaustu-uygulamalar-gelistirmek) başlığı altında yayınlanmıştır.\n\nProjenin amacı Go'nun yüksek CPU kullanımındaki avantajını Node.js ile birleştirerek resim işleme, video işleme, makine öğrenmesi ve aklınıza gelebilecek her uygulamada kullanmaktır.\n\nElectron'da masaüstü uygulaması yapmak istiyorsunuz ve bu uygulama offline şekilde CPU kullanımı yüksek bir iş yapacak diyelim. Bu durumda Node.js eklentisi yazarak çözüm bulabilirsiniz. Ancak C++'ın zorluğuyla uğraşmanız gerekecek. Bu projede buna gerek kalmadan sadece bir köprü kodla Go yazarak istediğinizi yüksek CPU kullanımına sahip bir uygulama yapabilirsiniz. Üstelik web servislerle ve JSON ile uğraşmaya gerek kalmadan direkt JS içerisinde kullanabiliyorsunuz.\n\nÖrneğin anlaşılması için:\n\n```js\nconst HighCPUModule = require('./build/Release/addon');\n\nHighCPUModule.cutImage(\n    '/path/to/file',\n    [400, 500],\n    (loading) =\u003e console.log(loading + '% of the process is done.'),\n)\n.then((res) =\u003e console.log('Process done. result path: ' + res))\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdurrahmanekr%2Fnodejs-golang-addon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdurrahmanekr%2Fnodejs-golang-addon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdurrahmanekr%2Fnodejs-golang-addon/lists"}