#component : serving, or helping, to form
- French: composant
- German: die Komponente
- Italian: componente
- Portuguese: componente
- Spanish: componente
------------
Try Christian's word chain building game @ https://wordwallgame.com
Grand vidage de placard pour celles et ceux qui ont du matériel qui traine, on a un réparateur en passe d'être à court de pièces #repair #laptop #component
Oui c'est du ytb je sais
https://youtube.com/shorts/JB8Hoy8lKX4?si=dkJeHHDowzSPQHhJ

As a teenager, the only thing I ever bought at Radio Shack was a 45 RPM record at Christmas, as a loss leader to get people in.
It's not that I was buying stuff elsewhere. It's that I did not relate to anything they sold.
Not sure if I shared this here but I did the album art for my firned Kent aka @chaircrusher 's latest "LAP" on Component Recordings. Kent asked for something like a black metal logo. I did my best and I'll tell you those are not easy to draw. There's a little improv in there as well as some math. Anyway check the album out for crazy good electronics. #chaircrusher #component #componentrecordings
Https://neoacevedo.gumroad.com/l/yii2-storage
Yii2 component for storage management in cloud. It supports AWS S3, Azure Blob Storage, Google Cloud Storage but also it can be used for local storage.
#yii2 #php #dev #component #extension #azureblobstorage #azurefilestorage #googlecloudstorage #s3 #aws

Yii2 Storage A complete extension for file storage management in Yii2 that supports multiple cloud and local storage providers.Features ✅ Multiple providers: Amazon S3, Azure Blob Storage, Google Cloud Storage and local storage ✅ File validation: Control of allowed file extensions and types ✅ Flexible configuration: Support for path prefixes and custom configurations ✅ Easy integration: Compatible with Yii2 forms and models ✅ URL management: Automatic generation of public URLs for files Tags: #storage #component #upload #file #extension #aws #azure #google #yii2Demo. File upload form is in the index.InstallationThis extension is distributed as a ZIP file that must be manually extracted.This documentation asumes the user is familiar with AWS S3, Azure Blob Storage and/or Google Cloud Storage service(s).Installation steps: Download the yii2-storage component ZIP file Extract to a directory of your choice within the project:components/neoacevedo/yii2-storage/ Configure repository in your composer.json project:"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" }, { "type": "path", "name": "neoacevedo/yii2-storage", "url": "components/neoacevedo/yii2-storage" } ] Regenerate autoloader:Option 1: Direct installation composer require neoacevedo/yii2-storage Option 2: Add to the require section of your composer.json project { "require": { "neoacevedo/yii2-storage": "dev-main" } } Then run:composer update ConfigurationOnce the extension is installed, configure the storage component in your Yii2 application configuration file (config/web.php or common/config/main.php):Amazon S3'components' => [ 'storage' => [ 'class' => 'neoacevedo\yii2\storage\S3Storage', 'accessKey' => 'YOUR_IAM_ACCESS_KEY', 'secretAccessKey' => 'YOUR_IAM_SECRET_ACCESS_KEY', 'bucket' => 'your-bucket-name', 'region' => 'us-east-1', // AWS Region 'directory' => 'uploads/', // Directory within the bucket (optional) 'acl' => 'public-read', // File ACL (optional) 'storageClass' => 'STANDARD', // Storage class (optional) 'presignedUrl' => true, // Signed URLs (optional) 'presignedUrlExpiration' => '+1 hour', // Expiration time (optional) 'allowedExtensions' => 'pdf,jpg,jpeg,gif,png,bmp,doc,docx,xls,xlsx' ], ], Azure Blob Storage'components' => [ 'storage' => [ 'class' => 'neoacevedo\yii2\storage\AzureBlobStorage', 'accountName' => 'YOUR_STORAGE_ACCOUNT_NAME', 'accountKey' => 'YOUR_STORAGE_ACCOUNT_KEY', 'container' => 'your-container-name', 'directory' => 'uploads/', // Directory within the container (optional) 'cdn' => 'https://your-cdn.azureedge.net', // CDN URL (optional) 'hierarchicalNamespace' => false, // true for Data Lake Gen2 (optional) 'allowedExtensions' => 'pdf,jpg,jpeg,gif,png,bmp,doc,docx,xls,xlsx' ], ], Google Cloud Storage'components' => [ 'storage' => [ 'class' => 'neoacevedo\yii2\storage\GoogleCloudStorage', 'projectId' => 'YOUR_PROJECT_ID', 'bucket' => 'your-bucket-name', 'keyFileContent' => file_get_contents('/path/to/service-account-key.json'), // JSON file content 'directory' => 'uploads/', // Directory within the bucket (optional) 'cdn' => 'https://your-cdn.googleusercontent.com', // CDN URL (optional) 'presignedUrl' => true, // Signed URLs (optional) 'presignedUrlExpiration' => 3600, // Expiration time in seconds (optional) 'allowedExtensions' => 'pdf,jpg,jpeg,gif,png,bmp,doc,docx,xls,xlsx' ], ], Local Storage'components' => [ 'storage' => [ 'class' => 'neoacevedo\yii2\storage\LocalStorage', 'directory' => '@webroot/uploads/', // Physical storage directory 'cdn' => 'https://your-cdn.com', // CDN URL (optional) 'allowedExtensions' => 'pdf,jpg,jpeg,gif,png,bmp,doc,docx,xls,xlsx' ], ], UsageBasic Usage with Component<?php // In your controller use yii\web\UploadedFile; public function actionUpload() { $fileManager = Yii::$app->storage->getFileManager(); if (Yii::$app->request->isPost) { $fileManager->uploadedFile = UploadedFile::getInstance($fileManager, 'uploadedFile'); if ($fileManager->validate() && Yii::$app->storage->save($fileManager)) { // File uploaded successfully $fileUrl = Yii::$app->storage->getUrl($fileManager->fileName); Yii::$app->session->setFlash('success', 'File uploaded successfully: ' . $fileUrl); } else { Yii::$app->session->setFlash('error', 'Error uploading file.'); } } return $this->render('upload', ['fileManager' => $fileManager]); } Direct Usage without Component<?php use neoacevedo\yii2\storage\S3Storage; use yii\web\UploadedFile; public function actionUpload() { $storage = new S3Storage([ 'accessKey' => 'YOUR_IAM_ACCESS_KEY', 'secretAccessKey' => 'YOUR_IAM_SECRET_ACCESS_KEY', 'bucket' => 'your-bucket-name', 'region' => 'us-east-1', 'directory' => 'uploads/', 'allowedExtensions' => 'pdf,jpg,jpeg,gif,png,bmp' ]); $fileManager = $storage->getFileManager(); $fileManager->uploadedFile = UploadedFile::getInstance($fileManager, 'uploadedFile'); if ($storage->save($fileManager)) { return $storage->getUrl($fileManager->fileName); } return false; } Form IntegrationIn the Controller:public function actionCreate() { $model = new YourModel(); $fileManager = Yii::$app->storage->getFileManager(); if ($model->load(Yii::$app->request->post())) { $fileManager->uploadedFile = UploadedFile::getInstance($fileManager, 'uploadedFile'); if ($fileManager->validate() && Yii::$app->storage->save($fileManager)) { $model->file_path = $fileManager->fileName; if ($model->save()) { return $this->redirect(['view', 'id' => $model->id]); } } } return $this->render('create', [ 'model' => $model, 'fileManager' => $fileManager ]); } In the View:<?php use yii\widgets\ActiveForm; $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?> <?= $form->field($model, 'name')->textInput() ?> <?= $form->field($fileManager, 'uploadedFile')->fileInput([ 'accept' => 'image/*,.pdf,.doc,.docx', 'class' => 'form-control' ]) ?> <div class="form-group"> <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?> </div> <?php ActiveForm::end(); ?> Available Methods// Get file manager $fileManager = Yii::$app->storage->getFileManager(); // Save file $success = Yii::$app->storage->save($fileManager); // Get file URL $url = Yii::$app->storage->getUrl('filename.jpg'); // Delete file $deleted = Yii::$app->storage->delete('filename.jpg'); // List of files/directories in the bucket. Optional: directory name ending with '/' to list its contents. $files = Yii::$app->storage->list(); Advanced Configuration ExamplesMultiple Configuration'components' => [ 'storageImages' => [ 'class' => 'neoacevedo\yii2\storage\S3Storage', 'accessKey' => 'YOUR_ACCESS_KEY', 'secretAccessKey' => 'YOUR_SECRET_KEY', 'bucket' => 'images-bucket', 'region' => 'us-east-1', 'directory' => 'images/', 'allowedExtensions' => 'jpg,jpeg,gif,png,bmp' ], 'storageDocuments' => [ 'class' => 'neoacevedo\yii2\storage\S3Storage', 'accessKey' => 'YOUR_ACCESS_KEY', 'secretAccessKey' => 'YOUR_SECRET_KEY', 'bucket' => 'documents-bucket', 'region' => 'us-east-1', 'directory' => 'documents/', 'allowedExtensions' => 'pdf,doc,docx,xls,xlsx' ], ], LicenseThis project is licensed under the GPLv3 License. See LICENSE file for more details.SupportIf you encounter any issues or have questions, please send an email to [email protected].
So I had - past tense - one of those cheap but incredibly useful and surprisingly capable MCU-based component testers. You know the ones - they cost about twenty bucks, can identify virtually any 2- or 3-terminal device you stick in their (usually ZIF) socket, as well as telling you things like which leads are gate/source/drain, base/collector/emitter, anode/cathode, or whatever else you might want to know about a lot of electronic components.
Absent-mindedly put an electrolytic capacitor into it tonight without discharging it. Had about 22 volts in it... hence, one ex-tester. I let the magic smoke out, without actually releasing any smoke or smell.
Oops.
#electronics #hobby #MagicSmoke #oops #ComponentTester #LCR #LCRMeter #component #transistor
Ich suche für ein kleine Projekt nach einem 3x4 Keypad mit Zahlen. Etwa so wie dieses hier: https://www.adafruit.com/product/3845
Es soll aber kleiner als die 70mm x 51mm sein.
I am looking for a 3x4 keypad with numbers for a small project. Something like this: https://www.adafruit.com/product/3845
However, it should be smaller than 70 mm x 51 mm.
#followerpower #esp32 #esp8266 #arduino #component #electronic #electronics #elektronik #diy #Mikrocontroller #microcontroller #hardware #maker