glamoroustoolkit v1.0.300

  • Glamorous Toolkit
    • About this book
    • Get started
    • A short history of Glamorous Toolkit
    • How to give feedback
    • About this version of Glamorous Toolkit
  • A tour of the environment
    • GT in 7' videos
      • Getting started with GT in 7'
      • Exploring the GitHub REST API in 7'
      • Inspecting objects with custom views in 7'
      • Understanding Lepiter in 7'
      • How to find stuff in GT in 7'
      • Smalltalk Syntax in 7'
      • How to set up a GT GitHub repo in 7'
    • Scripting, linking, documenting: Lepiter overview
    • Handling objects: Inspector overview
    • Managing code: Coder overview
    • Basic shortcuts
  • Case studies of Moldable Development
    • Working with a REST API: the GitHub case study
    • Browsing the OpenAPI description of GitHub
    • Exploring GitHub through GraphQL
    • Exploring your Twitter data
    • Working with AT Protocol
    • Editing Rust sources through the Language Server Protocol
    • Analyzing JavaScript React Native: the Zooniverse case study
    • Analyzing Ruby on Rails: the Whitehall case study
    • Analyzing feature toggles from a Python project: the Open edX case study
    • Visualizing yarn.lock files using JavaScript and Pharo
    • Documenting the domain: the Ludo game case study
    • Glamorous Toolkit as a case study
      • Quantifying the need for custom tools
      • Explaining the squarified treemap algorithm
      • Explaining the text editor's selection mechanism
      • Optimizing the links in the book for first time readers
      • Testing user interactions: the Spotter case study
      • Detecting the correct positioning of a dropdown
      • Identifying an editor bug by inspecting wrapped Rust objects
    • PetitParser SPL case study
      • PetitParser SPL case study slideshow
      • SPL
      • Parsing SPL tokens
      • Debugging SPL grammar rules
      • Extracting a class from a PetitParser script
      • Testing a PetitParser class
      • Using PetitParser to build an AST
      • Implementing an SPL interpreter
      • SPL Facade
  • Tutorials
    • A tour through Pharo
      • Pharo architecture
      • A gentle introduction to Pharo Smalltalk
        • Smalltalk method syntax on a postcard
        • Understanding Smalltalk message syntax
        • Understanding Smalltalk method syntax
        • Understanding Pharo built-in data types
        • Understanding Smalltalk control structures
        • Working with collections in Pharo
        • Implementing a stack machine
      • A gentle introduction to classes and methods in Smalltalk
      • Introducing test examples and code cleaning
      • Understanding self and super
      • Understanding Smalltalk classes and metaclasses
      • Understanding reflection
      • Smalltalk history
    • Querying Pharo code
    • Rewriting Pharo code
    • Drawing graphs with Mondrian by example
    • Building treemaps
    • Example-driven development by example
    • Memory Game
      • Implementing the Memory Game model
      • Implementing the Memory Game model logic
      • Building the Memory Game graphical elements with Bloc
      • Playing the Memory Game
      • Building the Memory Game graphics directly with the Sparta canvas
    • Ludo Game
      • Implementing a Ludo Game as a moldable development exercise
        • Smalltalk Introductory lecture
        • Ludo Exercise 5
        • Ludo Exercise 6
      • Creating the basic Ludo Board model
      • Adding simple list views for Ludo Players and Squares
      • Placing tokens on the Ludo Board
      • Creating the Ludo Board view
      • Implementing the Ludo Die in the Playground
      • Introducing rules to the Ludo Board Game
      • Adding a feedback region to the Ludo Board
      • Tracking the state of the Ludo game play
      • Testing the Ludo corner cases
      • Ludo Refactoring — merge Game and Board
      • Refactoring scenario with Ludo
      • Ludo Game with first-class moves
      • Fixing Ludo autoplay and storeStrings
    • Parsing with PetitParser2
    • Logging with Beacon
    • Traversing graphs with DeepTraverser
  • Explanations
    • Moldable Development
      • Explainable software
      • Developers spend most of their time figuring systems out
      • The contextual nature of software and the importance of tools
      • Moldable Development roles: Facilitator and Stakeholder
        • Facilitator
        • Stakeholder
      • The Moldable Development Environment
      • Mapping Moldable Development
      • Example-driven
      • What is the difference between Moldable Development and ...
      • Moldable Development patterns
        • Moldable object
        • Viewable data wrapper
        • Contextual playground
        • Viewable entity
        • Custom action
        • Project diary
        • Example object
        • Simple view
        • Collection wrapper
        • Landscape picture
        • Narrative picture
    • Glamorous Toolkit and Pharo
      • A code size analysis
    • One rendering tree
      • Geometry, visual and layout bounds explained
      • How Mondrian relates to Bloc
  • Moldable Development Exercises
    • Implementing a moldable Stack Machine
    • Exploring IMDB movie lists
    • Exploring a publications database
    • Implementing a Sudoku solver (open-ended)
  • How to ...
    • How to get started with Moldable Development
    • How to troubleshoot GT
      • What to do when GT hangs?
      • How do I recover my work after a crash?
      • What to do if GT is becomes slow and unresponsive?
      • I can't load or commit to repos. What's wrong?
      • What can I do if my repository is detached and I cannot commit my changes?
      • What should I do if I get an error during Lepiter reload?
      • How do I add a Lepiter database to an existing repo?
    • How to work with Lepiter
      • How to get started with Lepiter (FAQ)
        • How to create a Lepiter page?
        • Where are my pages stored?
        • How do I add new snippets?
        • How do I move snippets around within a Lepiter page?
        • How to format text in Lepiter pages?
        • How do I rename a Note?
        • How do I find my pages?
        • How do I move a page to a different database?
        • How do I search within a Lepiter page?
        • How do I create a Table of Contents for a Lepiter database?
        • How do I move a bunch of snippets from one page to another?
      • How to measure the size of the current knowledge base
      • How to visualize the current knowledge base
      • How to snippets for managing the default logical database
        • How to compute the local sync database status for the default database
        • How to reload the content of the default logical database
        • How to programatically register a new database to a logical database
        • How to load another properties file in the default logical database
        • How to replace the default logical database instance
      • How to fix Lepiter loading errors
    • How to get started with Coder (FAQ)
      • How to create a new class?
      • How to add a method to a class?
      • How to add a slot to a class?
      • How to change the package or subpackage of a class?
      • How to rename a class or method?
      • How to evaluate some code?
      • How to search for methods?
    • How to work with GitHub
      • How to configure Git username and email address
      • How to deal with "Detached Working Copy" message
      • How to configure GitHub credentials
        • How to configure GitHub SSH key authentication
        • How to configure GitHub token authentication
        • How to make GitHub credentials persistent
      • How to set up a new GitHub repo
        • How to set up a baseline
      • How to set up a home section
    • How to ... graphics related
      • How to change the default fonts in GT
      • How to scale the UI
      • How to take a screenshot
      • How to set the extent of the current window
      • How to create a standalone app
      • How to show a picture from a URL
    • How to parse and manipulate other languages
      • How to parse sources in different languages
      • How to translate an ANTLr parser into SmaCC
      • How to rewrite code in other languages
    • How to work with the file system
    • How to work with a remote code synced image
    • How to work with external child processes
    • How to execute external commands
      • How to extract meta information using ExifTool
      • How to display MacOS native notifications
    • How to log Zinc events using Beacon
    • How to snippets for Glamorous Toolkit development
      • How to update the content of all opened GtWorld instances
      • How to find where a database is stored on disk
      • How to measure the performance of delivering remote announcements
      • How to profile PharoLink remote calls
      • How to clone, load and release GlamorousToolkit from sources for development
        • How to clone GlamorousToolkit repositories for development
        • How to load Glamorous Toolkit code for development
        • How to create a Glamorous Toolkit release for development
      • How to create a new GT Vm from a new release of the Pharo Vm
    • How to install Glamorous Toolkit
      • How to use gt-installer
      • How to build a development version of Glamorous Toolkit
      • How to install Glamorous Toolkit with Nix
    • How to view the startup and shutdown lists
    • How to parse Loader and Cloner logs
  • Components
    • Lepiter
      • Class comments as live documents
      • Snippets
        • Text snippet
        • Pharo snippet
        • Example snippet
        • Element snippet
        • PharoLink snippet
        • JavaScript snippet
          • JavaScript debugger setup & example
        • Python snippet
          • Python Debugger Setup & Example
        • GraphQL snippet
        • Wardley Map snippet
        • Rewrite snippet
      • Multilanguage notebook
      • Extending Lepiter with custom snippets and annotations
      • Announcements for changes in a Lepiter knowledgebase
    • Inspector
      • Inspector views
    • Coder
      • Programmatic code evaluation
    • Spotter
      • Debugging exceptions in Spotter processors
      • Converting old Spotter searches to use new Spotter
    • Debugger
      • Extending the debugger through moldable exceptions
        • Configuring moldable exceptions
        • Examples of moldable exceptions
        • Usages of moldable exceptions in Glamorous Toolkit
    • Transcript
    • Presenter
    • Examples
      • Running checks as part of the development cycle
    • Visualizer
      • Mondrian
      • Treemap
      • Plotter
      • Connector
    • Phlow
      • How to test phlow views
    • SmaCC
      • SmaCC scopes
    • PetitParser
    • Famix
    • Beacon
      • Logging VM messages using Beacon
        • Accessing VM log messages using Beacon
        • Printing VM log messages to the console
      • An example of moldable logging using Beacon
    • DeepTraverser
    • Remote
      • JSLink
      • PharoLink
      • PythonBridge
      • RemoteRunner
        • Remote Runner - checks, examples and tests
      • Inspecting remote objects using Remote Phlow
        • Using a simulation for inspecting objects
        • List Views in Remote Phlow
    • Releaser
      • Profiling the execution of a release
        • Example of parsing a Releaser log for Glamorous Toolkit
    • Completer
    • Graphical stack
      • Driller
      • Sparta
      • Bloc
        • Bloc Elements
          • Bloc Visual Properties
            • Element Border
        • Layouts explained
        • Layout constraints
        • Layout resizers
      • Brick
        • Asynchronous widgets & futures
        • Widgets
          • Accordion
          • Text editor
          • Lists
          • Button
            • Playing with label aptitudes for buttons
            • Learning how button model works
            • Building a custom button appearance
          • Breadcrumb
          • Checkbox
          • Dropdown
          • Pager
      • Scripter
        • Scripter creation
        • Scripter actions
    • Futures, Promises & Streams
      • Futures
      • Promises
        • Promise then:, asyncThen:, and then:otherwise: usage
      • Streams
    • gt4gemstone
      • Connecting to the Gemstone repository
        • Setting up the Gt4Gemstone connection
        • Managing the Gt4Gemstone server connection
        • Using Gt4Gemstone to inspect objects
      • Installing a gt4gemstone release into GemStone
        • Downloading the gt4gemstone release
        • Checking the loaded gt4gemstone version inside a GemStone extent
        • Loading gt4gemstone inside a GemStone extent
      • Directly installing GemStone and loading gt4gemstone for development
        • Directly loading gt4gemstone into a Rowan stone for development
      • Configuring GemStone on MacOS
      • Manually installing gt4gemstone into a GemStone extent
        • Loading GT server code into a Rowan stone
        • Loading GT server code into a non-Rowan stone
        • Exporting GT server code for loading in a non-Rowan stone
      • Programatically evaluating code in GemStone
      • GemStone code synchronisation
      • Geolife GPS trajectory dataset example
      • gt4gemstone development
        • GemStone session registry and manager user interface
    • gt4magritte
      • How to define a Magritte form field
      • How to build a Magritte form
  • Technical Aspects
    • Architectural report
      • Managing dependencies constraint
      • Ensuring repositories have a Jenkins file
      • Pages containing missing references - allowed failures
    • Analysing the size of code-related entities
    • Analysing the image size and its evolution
    • Exploring Undeclared Variables
    • Exploring repositories used when loading GT
      • Managing forked projects in GT
    • Changes to the base Pharo image
      • Exploring extension methods to the base image
      • Patches/changes to the base Pharo Image
        • Issues related to patches to the base image
    • Exploring deprecated Glamorous Toolkit classes
  • Glossary of Terms
    • baseline
    • Example
    • feenk
    • Java
    • JavaScript
    • JSON
    • GitHub
    • Language Server Protocol (LSP)
    • Markdown
    • Nix
    • OpenAPI
    • Pharo
    • React
    • React Native
    • Rust
    • Software Assessment
    • Smalltalk
    • Wardley Map
    • XML
    • x86_64

React

https://reactjs.org

Powered by Lepiter | Privacy Policy