Meta Open Source | LinkedIn (original) (raw)
Software Development
Menlo Park, California 8,198 followers
Empowering diverse communities through open source technology.
About us
Meta is committed to the notion that open source not only provides great technology for developers, but also brings the best out in people. Follow us for updates on Meta's open source.
Industry
Software Development
Company size
10,001+ employees
Headquarters
Menlo Park, California
Updates
- 🔎 Meta Open Source 101 🔎 Infer is a powerful static analysis tool developed by Meta to identify bugs in your code before it hits production. It helps catch issues like null pointer exceptions, resource leaks, and more, ensuring higher code quality - https://fbinfer.com/Let's take a deep dive into how to use Infer! 1️⃣ Getting Started: First, install Infer on your machine. For macOS, use Homebrew: `brew install infer` For other platforms, follow the installation instructions on the GitHub page - https://lnkd.in/enyGXXwb2️⃣ Running Infer: To analyze a project, navigate to the project directory and run Infer with your build command. For example, to analyze an Android project: `infer run -- ./gradlew build` Infer will analyze the code and report potential issues - https://lnkd.in/eqwKEDWJ3️⃣ Reviewing Results: After running Infer, review the generated report to see the list of detected issues: `infer explore` This tool allows you to see error traces leading to each bug reported by Infer, which can be helpful in tracking down the precise cause of each bug - https://lnkd.in/eCJKNYbeInfer helps you catch critical bugs early in the development cycle, improving code reliability and maintainability. Learn more about Infer in one of our ELI5 videos here: https://lnkd.in/gYS7Q4fe
Infer Static Analyzer | Infer | Infer fbinfer.com - 🔎 Meta Open Source 101 🔎 Buck2 is a fast and efficient build system designed to handle large-scale codebases with ease. Developed by Meta, Buck2 focuses on parallel execution, caching, and extensibility to boost developer productivity - https://buck2.build/Let's explore how to use Buck2 below: 1️⃣ Getting Started: Install Buck2 by following the instructions on the Buck2 site - https://lnkd.in/gcR6VRAeOnce installed, initialize a new project: `buck2 init --git` This sets up the basic structure for your project. Learn more: https://lnkd.in/gRYQRy4K2️⃣ Defining Build Rules: Create a BUCK file to define build rules. For example, to build a simple C++ application: ``` cxx_library( name = "example", srcs = glob(["src/**/*.cpp"]), headers = glob(["include/**/*.h"]), deps = [], ) ``` This rule tells Buck2 how to compile your C++ source files and manage headers - https://lnkd.in/gpA3YHne3️⃣ Building the Project: Use Buck2 to build your project. Run the following command in your project directory: ``` buck2 build //:example ``` Buck2 will analyze dependencies and build the specified target efficiently. Buck2 streamlines the build process for large projects, improving performance and scalability. Explore the full documentation to leverage its powerful features and optimize your development workflow: https://buck2.build/
Buck2 build system website | Buck2 buck2.build - 🔎 Meta Open Source 101 🔎 Watchman is a an OSS tool developed by Meta to watch files and record when they change. It’s designed to improve development workflows by triggering actions based on file system events, making it a perfect fit for build systems and IDEs - https://lnkd.in/eYjuNKf1️⃣ Getting Started: Install Watchman on your machine. For macOS, use Homebrew: `brew install watchman` For other platforms, follow the installation instructions on the GitHub page - https://lnkd.in/gnrMGmv72️⃣ Setting Up: Configure Watchman to watch a directory. Create a `.watchmanconfig` file in your project root with no content besides `{}`.Then run: `watchman watch .` This command tells Watchman to start watching your project directory - https://lnkd.in/gGC2cnMk3️⃣ Using Watchman: One of the great uses of Watchman is setting up a trigger to run a script when files change. For example, this operation will run build.sh whenever a JavaScript file in the directory changes: `watchman -- trigger . build '*.js' -- ./build.sh` Learn more about triggers here: https://lnkd.in/gRugVuksWatchman enhances your development workflow by automating tasks based on file changes, boosting efficiency and productivity. To learn more about the project, watch our ELI5 video about Watchman: https://lnkd.in/gnrV6UM5
Watchman - A file watching service | Watchman facebook.github.io - 🔎 Meta Open Source 101 🔎 Hermes is a JavaScript engine optimized for React Native, designed to improve app performance by reducing startup times and memory usage. Perfect for mobile applications, Hermes boosts efficiency and speed - https://lnkd.in/gDWJ_fHcToday, we will explore how to use it: 1️⃣ Getting Started: First, ensure you have React Native set up. Since React Native is now shipped with Hermes, you can initialize a new RN project with Hermes already enabled: `npx react-native init MyApp --version 0.71.0` 2️⃣ Enable Hermes: On apps using older version of RN (pre v0.7), you can enable Hermes support directly. For example for Android, you would need to open `android/app/build.gradle` and add the following configuration: ```project.ext.react = [ enableHermes: true // <- here, enable Hermes. ] ``` And then rebuild your project: `cd android && ./gradlew clean && ./gradlew assembleRelease` 3️⃣ Testing Performance: Measure the performance benefits Hermes brings by comparing your app’s startup time and memory usage with and without Hermes enabled. You can use tools like systrace and Android Profiler to collect data to showcase how improving performance can better user experiences. Hermes optimizes your React Native app, providing faster execution and reduced memory footprint. Watch our ELI5 video about Hermes: https://lnkd.in/gdF5PT72, or dive into the documentation and start enhancing your mobile apps today: https://lnkd.in/gDWJ_fHc.
GitHub - facebook/hermes: A JavaScript engine optimized for running React Native. github.com - 🔎 Meta Open Source 101🔎 RocksDB is a high-performance embedded database for key-value data for fast storage and retrieval. It’s optimized for SSDs and memory-rich environments, making it ideal for large-scale applications. Let's dive into how to use RocksDB (https://rocksdb.org/)! 1️⃣ Getting Started: To setup RocksDB on your local machine, first, clone the RocksDB repository and build it: ``` git clone https://lnkd.in/geaEq4qbcd rocksdb gmake static_lib ``` 2️⃣ Using RocksDB: Include RocksDB in your project and start a simple database. Here is an example of a basic operation in RocksDB with C++ ```#include <rocksdb/db.h> int main() { rocksdb::DB* db; rocksdb::Options options; options.create_if_missing = true; rocksdb::Status status = rocksdb::DB::Open(options, "/tmp/testdb", &db); assert(status.ok()); std::string value; db->Put(rocksdb::WriteOptions(), "key", "value"); db->Get(rocksdb::ReadOptions(), "key", &value); std::cout << value << std::endl; delete db; return 0; } ``` 3️⃣ Advanced Features: Utilize RocksDB’s advanced features like column families for better data organization. Column families help in managing different categories of data efficiently. Here is an example: ``` rocksdb::ColumnFamilyHandle* cf; db->CreateColumnFamily(rocksdb::ColumnFamilyOptions(), "new_cf", &cf); db->Put(rocksdb::WriteOptions(), cf, "key", "value"); db->Get(rocksdb::ReadOptions(), cf, "key", &value); std::cout << value << std::endl; db->DestroyColumnFamilyHandle(cf); ``` RocksDB offers robust performance and flexibility for handling large-scale data operations. Explore the comprehensive documentation and start optimizing your data storage solutions today! We also have an ELI5 video about RocksDB shows the project in action - check it out: https://lnkd.in/gtJArny4
RocksDB | A persistent key-value store rocksdb.org
Join now to see what you are missing
Affiliated pages
- Meta Software Development Menlo Park, CA
- Instagram Software Development
- AI at Meta Research Services Menlo Park, California
- Facebook Software Development
- WhatsApp Software Development Menlo Park, California
- Meta for Business Advertising Services Menlo Park, California
- Oculus VR Computers and Electronics Manufacturing Menlo Park, CA
- Meta for Developers Software Development Menlo Park, California
- Meta for Work Software Development
- Instagram for Business Advertising Services Menlo Park, California
- Meta Foresight Advertising Services Menlo Park, California
- WhatsApp Business Telecommunications
- Messenger for Business Technology, Information and Internet Menlo Park, California
- Hot Studio Design Services San Francisco, CA
- Meta Audience Network Advertising Services Menlo Park, California
- Facebook for Media Publishers Technology, Information and Internet
- Meta Elevate Advertising Services Menlo Park, California
- Unit 2 Games (a Meta studio) Computer Games Royal Leamington Spa, Warwickshire
- BigBox VR Entertainment Providers Seattle, WA
- Facebook Public Affairs Technology, Information and Internet
- Threads Social Networking Platforms
Similar pages
- Google Software Development Mountain View, CA
- Amazon Software Development Seattle, WA
- Microsoft Software Development Redmond, Washington
- Apple Computers and Electronics Manufacturing Cupertino, California
- Netflix Entertainment Providers Los Gatos, CA
- Spotify Musicians Stockholm, Stockholm County
- IBM IT Services and IT Consulting Armonk, New York, NY
- LinkedIn Software Development Sunnyvale, CA
- TikTok Entertainment Providers Los Angeles, California
- Deloitte Business Consulting and Services