Computer Science and Programming
156K subscribers
452 photos
32 videos
37 files
746 links
Channel specialized for advanced topics of:
* Artificial intelligence,
* Machine Learning,
* Deep Learning,
* Computer Vision,
* Data Science
* Python

Admin: @otchebuch

Memes: @memes_programming

Ads: @Source_Ads,
https://telega.io/c/computer_science
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
ViperGPT: Visual Inference via Python Execution for Reasoning

ViperGPT,
a framework that leverages code-generation models to compose vision-and-language models into subroutines to produce a result for any query.


Github:
https://github.com/cvlab-columbia/viper

Paper:
https://arxiv.org/pdf/2303.08128.pdf

Project:
https://paperswithcode.com/dataset/beat

๐Ÿ‘‰@computer_science_and_programming
๐Ÿ‘225๐Ÿ‘Ž7
This media is not supported in your browser
VIEW IN TELEGRAM
Test of Time: Instilling Video-Language Models with a Sense of Time

GPT-5 will likely have video abilities, but will it have a sense of time? Here is answer to this question in #CVPR2023 paper by student of University of Amsterdam to learn how to instil time into video-language foundation models.

Paper:
https://arxiv.org/abs/2301.02074

Code:
https://github.com/bpiyush/TestOfTime

Project Page:
https://bpiyush.github.io/testoftime-website/

๐Ÿ‘‰ @computer_science_and_programming
๐Ÿ‘180๐Ÿ‘Ž7
DragGAN.gif
20.6 MB
Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold

Paper:
https://arxiv.org/abs/2305.10973

Github:
https://github.com/XingangPan/DragGAN

Project page:
https://vcai.mpi-inf.mpg.de/projects/DragGAN/

๐Ÿ‘‰ @computer_science_and_programming
๐Ÿ‘182๐Ÿ‘Ž10
๐Ÿ”ญ GRES: Generalized Referring Expression Segmentation

New benchmark (GRES), which extends the classic RES to allow expressions to refer to an arbitrary number of target objects.

๐Ÿ–ฅ Github: https://github.com/henghuiding/ReLA

โฉ Paper: https://arxiv.org/abs/2306.00968

๐Ÿ”Ž Project: https://henghuiding.github.io/GRES/

๐Ÿ“Œ New dataset: https://github.com/henghuiding/gRefCOCO

๐Ÿ‘‰ @computer_science_and_programming
๐Ÿ‘131โค1๐Ÿ‘Ž1
80+ Jupyter Notebook tutorials on image classification, object detection and image segmentation in various domains
๐Ÿ“Œ Agriculture and Food
๐Ÿ“Œ Medical and Healthcare
๐Ÿ“Œ Satellite
๐Ÿ“Œ Security and Surveillance
๐Ÿ“Œ ADAS and Self Driving Cars
๐Ÿ“Œ Retail and E-Commerce
๐Ÿ“Œ Wildlife

Classification library
https://github.com/Tessellate-Imaging/monk_v1

Notebooks - https://github.com/Tessellate-Imaging/monk_v1/tree/master/study_roadmaps/4_image_classification_zoo

Detection and Segmentation Library
https://github.com/Tessellate-Imaging/

Monk_Object_Detection
Notebooks: https://github.com/Tessellate-Imaging/Monk_Object_Detection/tree/master/application_model_zoo

๐Ÿ‘‰ @computer_science_and_programming
๐Ÿ‘305๐Ÿ‘Ž16
This media is not supported in your browser
VIEW IN TELEGRAM
๐—›๐—ผ๐˜„ ๐˜๐—ผ ๐˜๐—ฒ๐˜€๐˜ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—”๐—ฃ๐—œ๐˜€ ๐—ฑ๐—ถ๐—ฟ๐—ฒ๐—ฐ๐˜๐—น๐˜† ๐—ณ๐—ฟ๐—ผ๐—บ ๐—ฉ๐—ถ๐˜€๐˜‚๐—ฎ๐—น ๐—ฆ๐˜๐˜‚๐—ฑ๐—ถ๐—ผ ๐—–๐—ผ๐—ฑ๐—ฒ?

You can immediately do this from your Visual Studio Code, as Postman just released a VS Code extension that integrates API building and testing into your code editor.

What you can do with the extension:

๐Ÿ”น๐—ฆ๐—ฒ๐—ป๐—ฑ (๐—บ๐˜‚๐—น๐˜๐—ถ๐—ฝ๐—ฟ๐—ผ๐˜๐—ผ๐—ฐ๐—ผ๐—น) ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐˜€
๐Ÿ”น๐—ฆ๐—ฒ๐—ป๐—ฑ ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ต๐—ถ๐˜€๐˜๐—ผ๐—ฟ๐˜†
๐Ÿ”น๐—จ๐˜€๐—ฒ ๐—ฐ๐—ผ๐—น๐—น๐—ฒ๐—ฐ๐˜๐—ถ๐—ผ๐—ป๐˜€
๐Ÿ”น๐—จ๐˜€๐—ฒ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐˜ ๐—ฒ๐—ป๐˜ƒ๐—ถ๐—ฟ๐—ผ๐—ป๐—บ๐—ฒ๐—ป๐˜๐˜€
๐Ÿ”น๐—ฉ๐—ถ๐—ฒ๐˜„ ๐—ฎ๐—ป๐—ฑ ๐—ฒ๐—ฑ๐—ถ๐˜ ๐—ฐ๐—ผ๐—ผ๐—ธ๐—ถ๐—ฒ๐˜€

โžก๏ธCheck it here
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘248โค3๐Ÿ‘Ž3
Backend Burger ๐Ÿ”
๐Ÿ‘329๐Ÿ‘Ž17โค3
This media is not supported in your browser
VIEW IN TELEGRAM
Wondering how C++, Java, Python Work?

๐Ÿ”ต C++
C++ is like the superhero of programming languages. It's a compiled language, meaning your code is transformed into machine code that your computer can understand before it runs. This compilation process is crucial for efficiency and performance. C++ gives you precise control over memory and hardware, making it a top choice for systems programming and game development. It's like wielding a finely-tuned instrument in the world of code! ๐ŸŽธ๐Ÿ’ป

๐Ÿ”ด Java
Java, on the other hand, is the coffee of programming languages. It's a compiled language too but with a twist. Java code is compiled into bytecode, which runs on the Java Virtual Machine (JVM). This bytecode can run on any platform with a compatible JVM, making Java highly portable and platform-independent. It's a bit like sending your code to a virtual coffee machine that serves it up just the way you like it on any OS! โ˜•๏ธ๐Ÿ’ผ

๐Ÿ Python
Python is the friendly neighborhood programming language. It's an interpreted language, which means there's no compilation step. Python code is executed line by line by the Python interpreter. This simplicity makes it great for beginners and rapid development. Python's extensive library ecosystem and easy syntax make it feel like you're scripting magic spells in a magical world! ๐Ÿช„๐Ÿ

In the end, the choice of programming language depends on your project's needs and your personal preferences. Each language has its strengths and weaknesses, but they all share the goal of bringing your ideas to life through code. ๐Ÿš€๐Ÿ’ก

So, whether you're crafting the perfect C++ masterpiece, brewing up Java applications, or scripting Python magic, remember that programming languages are the tools that empower us to create amazing things in the digital realm. Embrace the language that speaks to you and keep coding! ๐Ÿ’ป๐ŸŒŸ
๐Ÿ‘520๐Ÿ‘Ž6
This media is not supported in your browser
VIEW IN TELEGRAM
What is Kafka?

Kafka is an open-source, distributed event streaming platform that serves as the central nervous system for data in modern enterprises. It's designed to handle real-time data feeds, process them efficiently, and make them available for a variety of applications in real-time.

๐Ÿ›  Use Cases:
- Real-time Analytics
- Log Aggregation
- Event Sourcing
- Data Integration
- Machine Learning Pipelines
๐Ÿ‘405๐Ÿ‘Ž5๐Ÿ”ฅ1
๐Ÿ‘420๐Ÿ‘Ž21
This media is not supported in your browser
VIEW IN TELEGRAM
Docker Architecture and Components

1. Docker Daemon (dockerd):
- ๐—ฅ๐—ผ๐—น๐—ฒ: Manages Docker containers on a system.
- ๐—ฅ๐—ฒ๐˜€๐—ฝ๐—ผ๐—ป๐˜€๐—ถ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐—ถ๐—ฒ๐˜€: Building, running, and managing containers.

2. Docker Client (docker):
- ๐—ฅ๐—ผ๐—น๐—ฒ: Interface through which users interact with Docker.
- ๐—–๐—ผ๐—บ๐—บ๐—ฎ๐—ป๐—ฑ๐˜€: build, pull, run, etc.

3. Docker Images:
- ๐——๐—ฒ๐—ณ๐—ถ๐—ป๐—ถ๐˜๐—ถ๐—ผ๐—ป: Read-only templates used to create containers.
- ๐—ฅ๐—ผ๐—น๐—ฒ: Serve as the basis for creating containers.
- ๐—ฅ๐—ฒ๐—ด๐—ถ๐˜€๐˜๐—ฟ๐˜†/๐—›๐˜‚๐—ฏ: A storage and distribution system for Docker images.

4. Docker Containers:
- ๐——๐—ฒ๐—ณ๐—ถ๐—ป๐—ถ๐˜๐—ถ๐—ผ๐—ป: Runnable instances of Docker images.
- ๐—ฅ๐—ผ๐—น๐—ฒ: Encapsulate the application and its environment.

5. Docker Registry:
- ๐—ฅ๐—ผ๐—น๐—ฒ: Store Docker images.
- ๐—ฃ๐˜‚๐—ฏ๐—น๐—ถ๐—ฐ ๐—ฅ๐—ฒ๐—ด๐—ถ๐˜€๐˜๐—ฟ๐˜†: Docker Hub.
- ๐—ฃ๐—ฟ๐—ถ๐˜ƒ๐—ฎ๐˜๐—ฒ ๐—ฅ๐—ฒ๐—ด๐—ถ๐˜€๐˜๐—ฟ๐˜†: Can be hosted by users.
๐Ÿ‘188๐Ÿ‘Ž4
This media is not supported in your browser
VIEW IN TELEGRAM
Top 12 Tips for API Security:

- Use HTTPS
- Use OAuth2
- Use WebAuthn
- Use Leveled API Keys
- Authorization
- Rate Limiting
- API Versioning
- Whitelisting
- Check OWASP API Security Risks
- Use API Gateway
- Error Handling
- Input Validation
๐Ÿ‘147โค1
Angular 17 and the new angular.dev site has been officially released.

Here's a summary of what's new.
๐Ÿ‘53
Is AI making a real impact in the way you work or is it all hype? Stack Overflow recaps some of the top insights from their 2023 Developer Survey.๐Ÿ’ก

Explore what developers are thinking about the benefits, accuracy, and use cases for GenAI here.
๐Ÿ‘38
Prod Software Release

1. Planning:
- Identify the goals and features for the upcoming release.
- Prioritize tasks based on importance and dependencies.
- Define timelines and allocate resources accordingly.

2. Development:
- Programmers start coding based on the planned features.
- Regular code reviews and collaboration to maintain code quality.
- Version control systems track changes for better collaboration.

3. Building Artifact:
- Compile the source code into executable or deployable artifacts.
- Generate documentation and other necessary files.
- Automation tools can be used to streamline this process.

4. Testing:
- Conduct various levels of testing (unit, integration, system, etc.).
- Identify and fix bugs or issues.
- Ensure compatibility with different platforms and configurations.

5. Release:
- Once testing is successful, prepare for the release.
- Generate release notes documenting changes and updates.
- Coordinate with other teams for a smooth rollout.

Environments:
- Set up different environments for development, testing, and production.
- Ensure consistency across environments to minimize deployment issues.
- Monitor and troubleshoot any discrepancies between environments.
๐Ÿ‘117
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿ”ต REST vs ๐ŸŸฃ GraphQL

๐Ÿ”ต REST:
๐Ÿ‘‰ Stands for Representational State Transfer
๐Ÿ‘‰ Well-established and widely adopted
๐Ÿ‘‰ Uses predefined endpoints for data retrieval
๐Ÿ‘‰ Great for simple, stateless operations

๐ŸŸฃ GraphQL:
๐Ÿ‘‰ A modern query language for APIs
๐Ÿ‘‰ Allows clients to request exactly what they need
๐Ÿ‘‰ Reduces over-fetching and under-fetching of data
๐Ÿ‘‰ Empowers front-end developers with data control

Which one is right for your project? ๐Ÿค”

Use ๐Ÿ”ต REST if:

Simplicity and Convention: REST is straightforward and relies on a set of conventions. If you have a simple API with well-defined endpoints and actions, REST might be a good choice.

Caching: RESTful APIs are typically easier to cache because the URLs for resources remain consistent. This can lead to better performance in scenarios where caching is crucial.

Existing Ecosystem: If you're working with legacy systems or integrating with third-party APIs that follow REST principles, it may make sense to stick with REST for consistency.

Use ๐ŸŸฃ GraphQL if:

Flexibility: GraphQL allows clients to request exactly the data they need, which can lead to reduced over-fetching and under-fetching of data. This flexibility is especially beneficial for complex applications with varying data requirements.

Efficiency: With GraphQL, you can often make a single request to fetch related
data, reducing the number of API calls required compared to REST, which might require multiple requests to different endpoints.

Real-time Data: If you need real-time updates and subscriptions, GraphQL's ability to provide live data can be a significant advantage.

Team Expertise: If your development team is comfortable with GraphQL and prefers its query language, it might lead to faster development and easier maintenance.
๐Ÿ‘126
This media is not supported in your browser
VIEW IN TELEGRAM
HTTP status codes are three-digit numbers that are returned by a web server in response to a client's request made to the server via HTTP (Hypertext Transfer Protocol).

These status codes provide information about the outcome of the request, indicating whether it was successful, encountered an error, or needs further action. They are an essential part of the HTTP protocol, helping both clients (e.g., web browsers) and servers communicate effectively.
๐Ÿ‘143๐Ÿ‘Ž7
This media is not supported in your browser
VIEW IN TELEGRAM
6 Database Types You Must Know

1. Relational Database ๐Ÿ’ผ
- Data Model: Organizes data into tables with rows and columns.
- Examples: MySQL, PostgreSQL, Oracle, SQL Server.
- Key Features: ACID compliance, strong data consistency, structured data storage, support for SQL queries, well-suited for complex transactions and reporting.

2. Document Database ๐Ÿ“„
- Data Model: Stores data in semi-structured or JSON-like documents.
- Examples: MongoDB, CouchDB, Firebase Firestore.
- Key Features: Flexible schema, horizontal scalability, support for semi-structured data, well-suited for content management systems and real-time applications.

3. In-Memory Database ๐Ÿš€
- Data Model: Stores data entirely in the system's main memory (RAM).
- Examples: Redis, Memcached, Apache Ignite.
- Key Features: Ultra-fast data retrieval, low-latency, suitable for caching, session management, and real-time analytics.

4. Graph Database ๐ŸŒ
- Data Model: Represents data as nodes and edges to model relationships.
- Examples: Neo4j, Amazon Neptune, ArangoDB.
- Key Features: Efficient querying of complex relationships, graph traversal, suitable for social networks, recommendation systems, and fraud detection.

5. Time-Series Database ๐Ÿ“ˆ
- Data Model: Optimized for time-ordered data points, like sensor readings or log files.
- Examples: InfluxDB, Prometheus, TimescaleDB.
- Key Features: Efficient storage and retrieval of time-series data, aggregations, retention policies, ideal for monitoring, IoT, and event data.

6. Spatial Database ๐ŸŒ
- Data Model: Designed for storing and querying spatial or geographic data.
- Examples: PostGIS (extension for PostgreSQL), MongoDB Geospatial, Microsoft SQL Server Spatial.
- Key Features: Geospatial indexing, support for spatial data types (points, polygons, lines), useful for location-based services, GIS (Geographic Information Systems), and map applications.
๐Ÿ‘215๐Ÿ‘Ž1
This media is not supported in your browser
VIEW IN TELEGRAM
6 API Architectural designs You Must Know

1. REST ๐ŸŒ
Representational State Transfer - REST is like a classic library where you request specific books and receive them as they are. It's simple and widely used for web APIs, like ordering a la carte from a menu ๐Ÿฝ.

2. GraphQL ๐Ÿš€
GraphQL is like a customizable buffet ๐Ÿด where you ask for exactly what you want and get a tailored plate. It allows clients to request only the data they need, reducing over-fetching.

3. SOAP ๐Ÿงผ
SOAP (Simple Object Access Protocol) is like sending a letter ๐Ÿ’Œ with detailed instructions, complete with a table of contents. It's more structured but can be heavier than REST or GraphQL.

4. gRPC ๐Ÿš„:
gRPC is like a high-speed train ๐Ÿš„ for communication between services. It uses Protocol Buffers for efficient data exchange and supports streaming and bidirectional communication.

5. WebSockets ๐ŸŒ๐Ÿ’ฌ
WebSockets are like real-time phone calls โ˜Ž๏ธ for the web. They enable two-way communication, perfect for chat apps and live updates.

6. MQTT ๐Ÿ“ก
MQTT (Message Queuing Telemetry Transport) is like a radio broadcast ๐Ÿ“ป, designed for low-bandwidth, high-latency, or unreliable networks. Ideal for IoT devices and sensor data.
๐Ÿ‘169
5 books for Software Engineers

1. Clean Architecture (Martin)
2. Building Microservices (Newman)
3. Unit Testing (Khorikov)
4. Domain Driven Design (Evans)
5. Head First Design Patterns (Freeman & Robson)

What is your favourite? Comment bellow.
๐Ÿ‘222๐Ÿ‘Ž7
12 Design Patterns You Must Know

1. Factory Pattern ๐Ÿญ
Imagine a factory that produces different products. Similarly, this pattern creates objects without specifying their exact class, making code flexible and extendable. ๐Ÿงฉ

2. Observer Pattern ๐Ÿ”
Like subscribing to updates! Objects (observers) register to watch changes in a subject. When the subject changes, observers are notified automatically. ๐Ÿ“ก๐Ÿ””

3. Singleton Pattern ๐Ÿ•Š
Ensures a class has only one instance globally accessible. Useful for managing shared resources like databases. ๐ŸŒ๐Ÿ”’

4. Builder Pattern ๐Ÿ› 
Building complex objects step by step. Think of it as assembling Lego bricks to create something intricate without the mess! ๐Ÿงฑ๐Ÿ—

5. Adapter Pattern ๐ŸŒ‰
Converts the interface of one class into another interface clients expect. Makes incompatible components work together. ๐Ÿ”Œ๐Ÿ”Œ

6. Decorator Pattern ๐ŸŽˆ
Like adding toppings to your pizza! Dynamically adds responsibilities to objects without changing their code. A flexible alternative to subclassing. ๐Ÿ•โœจ

7. Proxy Pattern ๐Ÿ•ถ
Controls access to an object, acting as a stand-in with additional functionality, like lazy loading. ๐Ÿ”’๐Ÿ”

8. Strategy Pattern ๐ŸŽฏ
Switching strategies seamlessly! Allows selecting algorithms during runtime. Useful when you want to provide multiple ways to accomplish a task. ๐ŸŽฎ๐Ÿ”„

9. Command Pattern โŒจ๏ธ
Encapsulates requests as objects, allowing parameterization of clients with different requests and queuing of requests. Think of it as a to-do list for your program. ๐Ÿ“‹๐Ÿ“Œ

10. Template Pattern ๐Ÿ“„
Standardized process steps! Defines the structure of an algorithm, letting subclasses override specific steps. Ideal for reusable workflows. ๐Ÿ“Š๐Ÿ“ˆ

11. Iterator Pattern ๐Ÿ”„
Tour guide for collections! Provides a way to access elements of a collection without exposing its underlying representation. ๐Ÿšถโ€โ™‚๏ธ๐Ÿ—บ

12. State Pattern ๐Ÿšฆ
Like a traffic light! Allows an object to change its behavior when its internal state changes. Keeps your code organized as states pile up. ๐Ÿšฅ๐Ÿ”„
๐Ÿ‘140๐Ÿ‘Ž4