Comments (15)
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.
Can you please provide the full stack trace?
from pulse.
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.
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.
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.
Do you have config caching enabled? Try running artisan config:clear
.
from pulse.
Config cache is disabled, tried running that command and got the same result.
from pulse.
Can you post the contents of 6d5abb4c248f7da5631a485e1d31435e.php
(or whatever the view is where the exception happens)?
from pulse.
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.
Thank you. I'm pretty sure this has something to do with your config file though. It seems it cannot find this entry:
Line 136 in 303fe30
Just for the sake of it can you:
- Share your pulse.php config file?
- SSH into the container and make sure that the config file is properly synced with the project inside the Docker container?
- Make sure cache is also cleared inside the docker container:
sail artisan view:clear && sail artisan config:clear
from pulse.
@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.
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.
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.
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.
Glad you found that 👍
from pulse.
Related Issues (20)
- redis cluster not supported for ingesting data HOT 6
- Support for sqlsrv HOT 3
- Locking and Trimming HOT 2
- Memory leak when running tests. HOT 1
- Running mysql command "optimize" fails on pulse_aggregates HOT 2
- Just an idea: Recording request data when logging exceptions HOT 1
- internal hooks HOT 1
- Feature request: ability to configure how many days of data is kept in pulse entries HOT 4
- Pulse significantly slows down Laravel Octane when using multiple CPU cores HOT 7
- SQLSTATE[HY000]: General error: 1 no such column: true HOT 6
- Feature Request: Extend nav bar with items HOT 2
- Enhancement Request: Customizable Context Tags for Monitoring Entries. HOT 1
- Dashboard with empty screen HOT 2
- Pulse Scalability rocks! - extract Pulse data repository? HOT 1
- Change logo for the dark theme HOT 1
- Integrate Pulse into Nova? HOT 1
- TypeError in `Pulse::rememberUser()` (Logout Event) HOT 1
- 500 Server Error displaying HOT 1
- UI issue (supports-scrollbars:pr-3) HOT 1
- Unexpected Alpine.js Errors in Laravel Pulse Dashboard HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pulse.