hybridview / configurationsectiondesigner Goto Github PK
View Code? Open in Web Editor NEWMoved from CodePlex, which is closing.,
License: MIT License
Moved from CodePlex, which is closing.,
License: MIT License
In the most recent Visual Studio version (15.5.3), after adding a new .csd file and immediately afterwards renaming it, causes Visual Studio to crash.
The exception in the eventlog is:
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Microsoft.VisualStudio.Shell.Interop.IVsHierarchy.SetProperty(UInt32, Int32, System.Object)
at Microsoft.VisualStudio.PlatformUI.HierarchyItem.set_RenameLabel(System.String)
at Microsoft.VisualStudio.PlatformUI.HierarchyRenameItemTransaction.Commit(Microsoft.Internal.VisualStudio.PlatformUI.RenameItemCompletionFocusBehavior)
at Microsoft.Internal.VisualStudio.PlatformUI.EditableItemTextBox.OnKeyDown(System.Windows.Input.KeyEventArgs)
at System.Windows.UIElement.OnKeyDownThunk(System.Object, System.Windows.Input.KeyEventArgs)
at System.Windows.Input.KeyEventArgs.InvokeEventHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
at System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawKeyboardActions, Int32, Boolean, Boolean, Int32)
at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(System.Windows.Interop.MSG ByRef, System.Windows.Input.ModifierKeys)
at System.Windows.Interop.HwndSource.OnPreprocessMessage(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at System.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate, System.Object)
at System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.HwndSource+WeakEventPreprocessMessage.OnPreprocessMessage(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.ThreadMessageEventHandler.Invoke(System.Windows.Interop.MSG ByRef, Boolean ByRef)
at System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(System.Windows.Interop.MSG ByRef)
at Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.PreTranslateInput(Microsoft.VisualStudio.OLE.Interop.MSG ByRef, Boolean)
I have a solution containing several projects, one has an existing configuration section designer object created originally in the VS2013 and for another project in this solution I need to add a new configuration section designer object. In both projects, pressing save in the designer of the CSD file throws dozens of errors to the VS error list.
I had this problem with the latest binary downloaded from this Github project so I also downloaded source and rebuilt the project myself and installed my own build of the extension. Both show the same behavior. What am I doing incorrectly here?
And get this error:
An exception occured while running the CsdFileGenerator on this file. See the Error List for details. E=System.InvalidOperationException: Could not find TextTemplate directory. Try reinstalling the Configuration Section Designer.
at ConfigurationSectionDesigner.CsdFileGenerator.get_TextTemplateFolder()
at ConfigurationSectionDesigner.CsdFileGenerator.GenerateFromTextTemplate(String fileExtension)
at ConfigurationSectionDesigner.CsdFileGenerator.GenerateAllContent(String fileExtension)
at ConfigurationSectionDesigner.CsdFileGenerator.GenerateContent(String element)
at ConfigurationSectionDesigner.VsMultipleFileGenerator`1.Generate(String wszInputFilePath, String bstrInputFileContents, String wszDefaultNamespace, IntPtr[] rgbOutputFileContents, UInt32& pcbOutput, IVsGeneratorProgress pGenerateProgress)
The UI renders a dropdown with the value (None). The textbox is otherwise disabled.
When I create new project with new simplified format csd cannot generate contet.
===================
07.05.2019 10:12:06
Recoverable
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: The "Compile" rule is missing the "AutoGen" property.
at Microsoft.Verify.Operation(Boolean condition, String unformattedMessage, Object arg1, Object arg2)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.DynamicTypeBrowseObject.<<VSLangProj-FileProperties-get_IsCustomToolOutput>b__38_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.VisualStudio.Threading.JoinableTask`1.CompleteOnCurrentThread()
at Microsoft.VisualStudio.Threading.JoinableTaskFactory.Run[T](Func`1 asyncMethod, JoinableTaskCreationOptions creationOptions)
at Microsoft.VisualStudio.ProjectSystem.ProjectMultiThreadedService.ExecuteSynchronously[T](Func`1 asyncAction)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.DynamicTypeBrowseObject.VSLangProj.FileProperties.get_IsCustomToolOutput()
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.DynamicTypeBrowseObject.VSLangProj80.FileProperties2.get_IsCustomToolOutput()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAPropertyInfo.get_Value()
at Microsoft.VisualStudio.Modeling.Shell.SubordinateFileHelper.GetChildProjectItemIds(IVsHierarchy parentHierarchy, UInt32 parentItemId)
at Microsoft.VisualStudio.Modeling.Shell.SubordinateFileHelper.GetChildProjectItemFileNames(IVsHierarchy parentHierarchy, UInt32 parentItemId)
at Microsoft.VisualStudio.Modeling.Shell.DocData.QuerySaveFile(String fileName, tagVSQuerySaveFlags querySaveFlags)
at Microsoft.VisualStudio.Modeling.Shell.DocData.SaveDocData(VSSAVEFLAGS flags, String& fileName, Int32& saveCanceled)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass685_0.<<SaveItem>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass571_0.<<HrMutate>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.VisualStudio.Threading.JoinableTask`1.CompleteOnCurrentThread()
at Microsoft.VisualStudio.ProjectSystem.ProjectMultiThreadedService.ExecuteSynchronously[T](Func`1 asyncAction)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectNode.<>c__DisplayClass568_0.<HrInvoke>b__0()
at Microsoft.VisualStudio.ProjectSystem.VS.HResult.Invoke(Func`1 action, IServiceProvider vsShellServiceProvider, IProjectFaultHandlerService projectFaultHandlerService, UnconfiguredProject project)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)
at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()
at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>g__action|0()
at GuardMethodClass.GuardMethod(Func`1 , Func`2 , Func`2 )
===================
Thanks for breathing some life back into this awesome tool.
I've used it successfully before on other projects but using v2.0.3-alpha.2
gives these errors.
Any ideas?
Severity Code Description Project File Line Suppression State
Error Compiling transformation: '<invalid-global-code>' does not contain a definition for 'Store' and no extension method 'Store' accepting a first argument of type '<invalid-global-code>' could be found (are you missing a using directive or an assembly reference?) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 35
Error Compiling transformation: '<invalid-global-code>' does not contain a definition for 'AddDomainModel' and no extension method 'AddDomainModel' accepting a first argument of type '<invalid-global-code>' could be found (are you missing a using directive or an assembly reference?) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 25
Error Compiling transformation: '<invalid-global-code>' does not contain a definition for 'Errors' and no extension method 'Errors' accepting a first argument of type '<invalid-global-code>' could be found (are you missing a using directive or an assembly reference?) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 29
Error Compiling transformation: '<invalid-global-code>.configurationsectionmodelValue' is inaccessible due to its protection level MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 8
Error Compiling transformation: '<invalid-global-code>.ConvertConfigurationSectionModelRelativePathToTemplateRelativePath(string)' is a new virtual member in sealed class '<invalid-global-code>' MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 12
Error Compiling transformation: '<invalid-global-code>.Host.get' is a new virtual member in sealed class '<invalid-global-code>' MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 646
Error Compiling transformation: '<invalid-global-code>.Host.set' is a new virtual member in sealed class '<invalid-global-code>' MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 650
Error Compiling transformation: '<invalid-global-code>.hostValue' is inaccessible due to its protection level MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 648
Error Compiling transformation: '<invalid-global-code>.Initialize()': no suitable method found to override MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 23
Error Compiling transformation: '<invalid-global-code>.this[GenerationEnvironment.ToString]': property or indexer must have at least one accessor MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: 'GeneratedTextTransformation' does not contain a definition for 'ConfigurationSectionModel' and no extension method 'ConfigurationSectionModel' accepting a first argument of type 'GeneratedTextTransformation' could be found (are you missing a using directive or an assembly reference?) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 17
Error Compiling transformation: 'GeneratedTextTransformation.TransformText()': not all code paths return a value MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 7
Error Compiling transformation: 'ModelingTextTransformation.ConvertModelRelativePathToTemplateRelativePath(string, string, string)' is inaccessible due to its protection level MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 16
Error Compiling transformation: 'object' does not contain a definition for 'Initialize' MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 28
Error Compiling transformation: ; expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 634
Error Compiling transformation: A get or set accessor expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: A namespace cannot directly contain members such as fields or methods MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 640
Error Compiling transformation: Array size cannot be specified in a variable declaration (try initializing with a 'new' expression) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 635
Error Compiling transformation: Expected catch or finally MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 248
Error Compiling transformation: Identifier expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: Invalid token '(' in class, struct, or interface member declaration MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 635
Error Compiling transformation: Invalid token ')' in class, struct, or interface member declaration MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 636
Error Compiling transformation: Invalid token '=' in class, struct, or interface member declaration MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 635
Error Compiling transformation: Invalid token 'catch' in class, struct, or interface member declaration MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 633
Error Compiling transformation: Syntax error, ',' expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 633
Error Compiling transformation: Syntax error, '[' expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: Syntax error, ']' expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: The name 'GenerateCollectionElement' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 117
Error Compiling transformation: The name 'GetXsdTypeName' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 153
Error Compiling transformation: The name 'itemType' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 202
Error Compiling transformation: The name 'PopIndent' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 365
Error Compiling transformation: The name 'PushIndent' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 348
Error Compiling transformation: The name 'WriteLine' does not exist in the current context MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 353
Error Compiling transformation: The type or namespace name 'GenerationEnvironment' could not be found (are you missing a using directive or an assembly reference?) MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: Type expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: Type or namespace definition, or end-of-file expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Error Compiling transformation: { expected MyApp.Configuration D:\Dev\MyApp\tools\MyApp.Configuration\JwtAuth.csd 638
Microsoft Visual Studio Professional 2015
Version 14.0.25420.01 Update 3
Microsoft .NET Framework
Version 4.7.02053
The directives in the text templates for xml files are not replaced "correctly" and the resulting xml file has its xml definition not at the top of the file, which breaks the file. The directives are replaced with blank lines.
The problem is very well described HERE.
It must be said, that the bug itself is not in the CSD-Project (See the commect of Sebastian in the Stackoverflow discussion above), but nevertheless there is a solution/workaround, which is also described there(See the comment of B3ret).
In case the link is dead later:
Sebastian:
The real reason is that every generated Template (it's cs code) has a \r\n in public virtual string TransformText() { this.Write(" \r\n");, so your answer is just working because the newline added by pressing return after each included template is omitted. – Sebastian May 21 '15 at 10:48
B3ret:
To add to Tony's answer: You can avoid the very long lines by adding the linebreaks within the T4 brackets like so:
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ output extension=".ttinclude" #> <#@ Import Namespace="System.Collections.Generic" #> <#@ Include file="Usings.tt" #><#@ Include file="PropertyTypeEnum.tt" #><#@ Include.... #><#@ Include.... #><#@ Include.... #><#@ some other stuff
answered Nov 8 '13 at 14:02
B3ret
What I did in the CSD-Project was to format the directives like so:
#><#@ output extension=".config"
#><#@ assembly name="System.Configuration.dll"
#><#@ assembly name="Microsoft.VisualStudio.Shell.Interop.8.0"
#><#@ assembly name="Microsoft.VisualStudio.Shell.Interop.11.0"
...
...
#><# Prepare(); #><?xml version="1.0"?>
This I did in the following files:
ConfigurationSectionDesignerSample.tt
ConfigurationSectionDesignerSchema.tt
source.extension.tt
Has anyone ever tried to save the configuration using the object model generated by this tool?
First problem: calling ConfigurationManager.GetSection as initialization, does not fill the CurrentConfiguration property, hence Save() cannot be called at all. Editing the generated file solves that problem - until next regeneration. However the base.BaseAdd() method does not seem to modify the collection. The interesting thing is base.Clear() clears the collection (in memory) but Save() does not have any effect. No exceptions, no messages, no nothing.
This whole configuration thing is simply a mess I know. And I really appreciate the effort writing a tool for this. And it works for reading, so I am wondering if anyone have tried it to use for writing?
Because I could not find any clues about how it supposed to work.
All the help is appreciated, Thanks
Getting an error after installing CSD.VS2017.vsix, from AppData\Roaming\Microsoft\VisualStudio\15.0_e960bf7d\ActivityLog.xml:
LegacySitePackage failed for package [ConfigurationSectionDesignerPackage]Source: 'ConfigurationSectionDesigner.DslPackage' Description: Could not load file or assembly 'ConfigurationSectionDesigner.Dsl, Version=2.0.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) System.IO.FileLoadException: Could not load file or assembly 'ConfigurationSectionDesigner.Dsl, Version=2.0.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) File name: 'ConfigurationSectionDesigner.Dsl, Version=2.0.1.0, Culture=neutral, PublicKeyToken=null' at ConfigurationSectionDesigner.ConfigurationSectionDesignerPackageBase.Initialize() at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)
happy to make some updates to the wiki on setting up VS2015 env - i think it is locked down?
A RegExValidator configured with the RegEx:
^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
fails to validate values such as https://www.google.com
:
An exception of type 'System.Configuration.ConfigurationErrorsException' occurred in System.Configuration.dll but was not handled in user code
Additional information: Valore della proprietà 'endpoint' non valido. Errore: Il valore non è conforme alla stringa regex di convalida '^(ht|f)tp(s?)://0-9a-zA-Z(:(0-9))(/?)([a-zA-Z0-9-.?,'/\+&%$#_])?$'.
(I have removed the validator, re-run the application and checked the value, and it is https://www.google.com
indeed so validation should pass). The RegEx comes from http://urlregex.com/ and is correct (you can test it on http://regexstorm.net/tester).
I can't figure if it has something to do with special characters escaping or not.
The generated Attribute is:
[global::System.Configuration.RegexStringValidatorAttribute("^(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\." +
"\\?\\,\\\'\\/\\\\\\+&%\\$#_]*)?$")]
When adding a new external enum the source dll is locked and source dll project wont build. This occurs every time an enum is added and the only way to resolve the issue is to close the solution and reopen it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.