Git Product home page Git Product logo

Comments (15)

sinnbeck avatar sinnbeck commented on July 30, 2024 1

You can also try this. Ssh into your server and start php artisan tinker and then run config('pulse.recorders'); to check if the array is correct.

from pulse.

driesvints avatar driesvints commented on July 30, 2024

Can you please provide the full stack trace?

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

Stacktrace if this helps:

[previous exception] [object] (ErrorException(code: 0): Undefined array key \"groups\" at <PATH_TO_PROJECT>/storage/framework/views/6d5abb4c248f7da5631a485e1d31435e.php:48)
[stacktrace]
#0 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/var/www/vhosts...', 48)
#1 <PATH_TO_PROJECT>/storage/framework/views/6d5abb4c248f7da5631a485e1d31435e.php(48): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/var/www/vhosts...', 48)
#2 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php(37): include('/var/www/vhosts...')
#3 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php(38): Laravel\\Pulse\\Livewire\\Cache->Livewire\\Mechanisms\\ExtendBlade\\{closure}()
#4 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Livewire\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine->evaluatePath('/var/www/vhosts...', Array)
#5 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php(16): Illuminate\\View\\Engines\\CompilerEngine->get('/var/www/vhosts...', Array)
#6 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/View/View.php(207): Livewire\\Mechanisms\\ExtendBlade\\ExtendedCompilerEngine->get('/var/www/vhosts...', Array)
#7 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(239): Illuminate\\View\\View->render(Object(Closure))
#10 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(283): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->Livewire\\Mechanisms\\HandleComponents\\{closure}()
#11 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(231): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->trackInRenderStack(Object(Laravel\\Pulse\\Livewire\\Cache), Object(Closure))
#12 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php(102): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->render(Object(Laravel\\Pulse\\Livewire\\Cache))
#13 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/LivewireManager.php(96): Livewire\\Mechanisms\\HandleComponents\\HandleComponents->update(Array, Array, Array)
#14 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Mechanisms/HandleRequests/HandleRequests.php(86): Livewire\\LivewireManager->update(Array, Array, Array)
#15 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(46): Livewire\\Mechanisms\\HandleRequests\\HandleRequests->handleUpdate()
#16 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Livewire\\Mechanisms\\HandleRequests\\HandleRequests), 'handleUpdate')
#17 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#18 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#19 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#20 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 <PATH_TO_PROJECT>/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 <PATH_TO_PROJECT>/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 <PATH_TO_PROJECT>/vendor/laravel/vapor-core/src/Http/Middleware/ServeStaticAssets.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Laravel\\Vapor\\Http\\Middleware\\ServeStaticAssets->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 <PATH_TO_PROJECT>/app/Http/Middleware/AccessLog.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\AccessLog->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/ActionInstrument.php(51): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Agent.php(428): Scoutapm\\Laravel\\Middleware\\ActionInstrument->Scoutapm\\Laravel\\Middleware\\{closure}(Object(Scoutapm\\Events\\Span\\SpanReference))
#62 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Agent.php(439): Scoutapm\\Agent->instrument('Controller', 'unknown', Object(Closure))
#63 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/ActionInstrument.php(45): Scoutapm\\Agent->webTransaction('unknown', Object(Closure))
#64 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Scoutapm\\Laravel\\Middleware\\ActionInstrument->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#65 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/MiddlewareInstrument.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#66 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Agent.php(428): Scoutapm\\Laravel\\Middleware\\MiddlewareInstrument::Scoutapm\\Laravel\\Middleware\\{closure}(Object(Scoutapm\\Events\\Span\\SpanReference))
#67 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/MiddlewareInstrument.php(31): Scoutapm\\Agent->instrument('Middleware', 'all', Object(Closure))
#68 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Scoutapm\\Laravel\\Middleware\\MiddlewareInstrument->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#69 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/IgnoredEndpoints.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#70 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Scoutapm\\Laravel\\Middleware\\IgnoredEndpoints->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#71 <PATH_TO_PROJECT>/vendor/scoutapp/scout-apm-php/src/Laravel/Middleware/SendRequestToScout.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#72 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Scoutapm\\Laravel\\Middleware\\SendRequestToScout->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#73 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#74 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#75 <PATH_TO_PROJECT>/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#76 <PATH_TO_PROJECT>/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#77 {main}
"} 

from pulse.

sinnbeck avatar sinnbeck commented on July 30, 2024

Sounds like a broken pulse.php file in the config directory. The recorders part that is. Compare it to this https://github.com/laravel/pulse/blob/1.x/config/pulse.php

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

Sounds like a broken pulse.php file in the config directory. The recorders part that is. Compare it to this https://github.com/laravel/pulse/blob/1.x/config/pulse.php

Unfortunately not, compared by eye & with git diff locally and the config is the same as the blob above

from pulse.

driesvints avatar driesvints commented on July 30, 2024

Do you have config caching enabled? Try running artisan config:clear.

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

Config cache is disabled, tried running that command and got the same result.

from pulse.

driesvints avatar driesvints commented on July 30, 2024

Can you post the contents of 6d5abb4c248f7da5631a485e1d31435e.php (or whatever the view is where the exception happens)?

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

By the looks of it, it's a cached blade file. I've attached it as a text file to save on message length.

6d5abb4c248f7da5631a485e1d31435e.txt

from pulse.

driesvints avatar driesvints commented on July 30, 2024

Thank you. I'm pretty sure this has something to do with your config file though. It seems it cannot find this entry:

Recorders\CacheInteractions::class => [

Just for the sake of it can you:

  1. Share your pulse.php config file?
  2. SSH into the container and make sure that the config file is properly synced with the project inside the Docker container?
  3. Make sure cache is also cleared inside the docker container: sail artisan view:clear && sail artisan config:clear

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

@driesvints See config file below, no changes have been made to it so it's the same as what is currently on the 1.x branch.

@sinnbeck I've run the command and attached the output below, by the looks of it, on some of the configurations groups, sample_rate, highlighting, and threshold do seem to be missing. Unfortunately ive not had the time to deep dive into the code to see if these are caught by a null coalescing operator or similar.

pulse config.txt
config-pulse-recorders tinker output.txt

from pulse.

driesvints avatar driesvints commented on July 30, 2024

That all looks good tbh. The output in tinker is the exact same of the config file.

Honestly this is a bizar issue. Have you tried setting up the project outside the docker container to see if you can trigger the same issue? Have you tried rebuilding your images? Tried removing Pulse and reinstalling?

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

That all looks good tbh. The output in tinker is the exact same of the config file.

Honestly this is a bizar issue. Have you tried setting up the project outside the docker container to see if you can trigger the same issue? Have you tried rebuilding your images? Tried removing Pulse and reinstalling?

I'll give that a go - will update you when I've been able to

from pulse.

aj-norman avatar aj-norman commented on July 30, 2024

Hi, sorry for the silence, but I've only been able to have another look today - and I actually have an answer.

On further analysis of our codebase, in our AppServiceProvider we have a piece of code similar to the following:

app('view')->composer('*', function ($view) {
    $view->with([
        'config' => Config::get('custom'),
    ]);
});

It was only when looking at the SlowRequests pulse card's code did I realise that it uses config as one of the parameters for slow-requests.blade.php and realised that our config parameter in our AppServiceProvider was overriding any of pulse cards that used config as a parameter.

By commenting our config global in AppServiceProvider, the dashboard can load it's cards up without errors.

from pulse.

driesvints avatar driesvints commented on July 30, 2024

Glad you found that 👍

from pulse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.