teleren/devto huggingface dataset:
PostgreSQL Inheritance
Published: 2023-03-30 14:50:27

PostgreSQL has table inheritance feature. This concept is from object-oriented databases. In PostgresSQL a table can inherit from one or more other tables. Child table inherits column(s) along with all check constraints and not null constraints from one or more parent tables.
Inheritance allows a table to inherit some of its column attributes from one or more other tables, creating a parent-child relationship. This causes the child table to have each of the same columns and constraints as its inherited table (or tables), as well as its own defined columns.
When performing a query on an inherited table, the query can be instructed to retrieve either all rows of a table and its descendants, or just the rows in the parent table itself. The child table, on the other hand, will never return rows from its parent.

```
CREATE TABLE cities (
    name            text,
    population      float,
    altitude        int     -- (in ft)
);

CREATE TABLE capitals (
    state           char(2)
) INHERITS (cities);
```

In this case, a row of capitals inherits all attributes (name, population, and altitude) from its parent, cities. The type of the attribute name is text, a native PostgreSQL type for variable length ASCII strings. The type of the attribute population is float, a native PostgreSQL type for double precision floating-point numbers. State capitals have an extra attribute, state, that shows their state. In PostgreSQL, a table can inherit from zero or more other tables, and a query can reference either all rows of a table or all rows of a table plus all of its descendants.

Table inheritance is, to be sure, a power tool and thus something to use only when it brings an overall reduction in complexity to the design. Moreover, the current documentation doesn't provide a lot of guidance regarding what the tool actually helps with and where are the performance costs and because inheritance sits orthogonal to relational design, working this out individually is very difficult.

When a table is queried, by default, all child tables are also queried and their results appended to the result. Because of exclusion constraint processing, this takes out an ACCESS SHARE lock on all child tables at planning time. All rows are cast back to the type of the table target (in other words you get the columns of the table you queried).

Inheritance can be extended to use in a lot of places as per the user's requirement and thus is one of the most powerful features of PostgreSQL.

Want to extract all these type of benefits of PostgreSQL along with Graph Database features look at:
[Apache AGE](https://age.apache.org/)
[Apache AGE Github](https://github.com/apache/age)
Setup Symlink di CPanel
Published: 2023-03-30 14:47:07

Cara Membuat Symlink di cPanel
Setidaknya ada 3 cara yang bisa anda gunakan, untuk membuat symlink di cPanel hosting. Berikut 3 cara yang bisa Anda pilih.

Cara 1. Membuat symlink melalui SSH
Untuk pengguna layanan hosting Medium keatas serta Cloud hosting, Anda dapat membuat symlink cPanel melalui SSH. Berikut adalah langkah-langkah membuat symlink melalui SSH cPanel:

Login ke cPanel hosting Anda.
Klik menu Terminal.
Masukkan perintah dengan format berikut:
ln -s target_path link_path
Contoh: misalkan Anda ingin membuat symlink laravel dari folder laravel/storage/app/public ke public_html/storage gunakan syntax berikut:

ln -s /home/usernamecpanel/laravel/storage/app/public /home/usernamecpanel/public_html/storage
(sesuaikan usernamecpanel sesuai username cPanel hosting Anda)

Cara 2. Membuat symlink melalui script PHP
Apabila paket hosting yang Anda gunakan belum support SSH, maka Anda bisa membuat symlink melalui script php.

Buatlah sebuah file, misalnya bernama symlink.php. Lalu anda bisa mengisi script tersebut, menggunakan contoh script PHP symlink sebagai berikut:

<?php
    $target = $_SERVER['DOCUMENT_ROOT']."/../laravel/storage";
    $link = $_SERVER['DOCUMENT_ROOT']."/storage";
    if(symlink( $target, $link )){
        echo "OK.";
    } else {
        echo "Gagal.";
    }
?>
Keterangan :

Pada bagian “$target = $_SERVER[‘DOCUMENT_ROOT’].”/../laravel/storage“;” Silahkan sesuaikan path target storage folder yang digunakan.
Lalu, pada bagian “$link = $_SERVER[‘DOCUMENT_ROOT’].”/storage“;” . Silahkan sesuaikan ke path dimana folder storage akan di link kan.
Untuk menjalankan script tersebut silahkan langsung akses melalui https://namadomainanda.com/namafilesymlink.php atau sesuaikan dengan nama file php yang anda buat. Apabila setelah di eksekusi muncul “OK” . Berarti symlink folder storage Anda berhasil di buat.

Cara 3. Membuat symlink melalui Cron Job
Apabila paket hosting yang Anda miliki kebetulan tidak memiliki akses SSH, Anda masih tetap bisa membuat symbolic link dengan mudah, dengan menggunakan bantuan Cron Jobs.

Sebagai contoh, kali ini kami ingin membuat symbolic /public_html/dataku, yang diarahkan ke sebuah direktori yang berlokasi di /home/usercpanel/dataku. Berikut langkah-langkahnya:

Login ke cPanel, masuk ke menu Cron Jobs. Pilih Common Settings, kemudian pilih Once Per Minute. Pada kolom command, masukkan perintah berikut:

ln -s /home/usercpanel/dataku /home/usercpanel/public_html/dataku


Tunggu sekitar 1 menit, kemudian masuk ke File Manager, dan masuk ke public_html. Symbolic link dataku sudah berhasil dibuat. Apabila symbolic link dataku diklik, maka akan diarahkan ke dalam direktori /home/usercpanel/dataku.


Kembali lagi ke menu Cron Jobs, kemudian hapus cron jobs yang sudah dibuat sebelumnya. Langkah ini penting dilakukan, supaya cron job yang sudah dibuat tidak terus menerus terproses oleh cPanel.
Resolvendo problemas no HackerRank: Subconjuntos não divisíveis
Tags: javascript, beginners, programming
Published: 2023-03-30 14:44:00

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje, analisar valores que estão dentro de um array e se a soma de subconjuntos criados por eles pode ser divisível por um valor de `k`. Vejamos mais informações com a explicação detalhada e sua resolução.

**Non-Divisible Subset -**

Dado um conjunto de inteiros distintos, imprima o tamanho de um subconjunto máximo de `S` onde a soma de 2 números em `S´`  não é divisível por `k`. Veja o exemplo:

- S = [1, 2, 3, 4, 5, 6] 
- K = 3 

Aqui, podemos formar um subconjunto maximal de S como S´= [ 3 , 1, 4 ]. Para verificar, podemos pegar todos os pares possíveis de elementos de S` e verificar se a soma de quaisquer dois elementos é divisível por k = 3 ou não.

Aqui 3 + 1 = 4, que não é divisível por 3. Além disso, 3 + 4 = 7 também não é divisível por 3. E outro par possível que podemos verificar é 1+4 = 5, que também não é divisível por 3. Portanto, satisfaz a condição!

Vejamos o código:

```
function nonDivisibleSubset(k, s) {
    // Write your code here
  let answer = 0;
  let arr = new Array(k).fill(0);
  
    s.map(val => {
      arr[val % k]++;
    })


    if (arr[0] > 0) answer++;
    for (let i = 1; i < k; i++) {
        if (arr[i] == 0) continue;
        if (i + i == k) answer++;
        else {
            answer += Math.max(arr[i], arr[k - i])
            arr[i] = 0;
            arr[k - i] = 0;
        }
    }
    return answer;
}
```

O código começa inicializando uma variável "answer" com o valor zero e cria um array chamado "arr" com k posições, preenchendo todas com zero.

Em seguida, a função percorre o array s e, para cada elemento, incrementa em 1 a posição do array "arr" correspondente ao resto da divisão do elemento por k. Esse processo serve para contar quantos elementos de s têm cada resto de divisão por k.

Após contar quantos elementos de s têm cada resto de divisão por k, a função verifica se há algum elemento no array s que é divisível por k (isto é, tem resto de divisão igual a zero). Se houver, incrementa a variável "answer" em 1.

Em seguida, a função percorre o array "arr" do índice 1 até o índice k-1. Para cada índice i, a função verifica se existe algum elemento no array "arr" correspondente à posição k-i. Se existir, significa que um subconjunto pode ser formado com elementos que têm resto de divisão igual a i ou k-i, já que a soma desses restos é igual a k.

Nesse caso, a função incrementa a variável "answer" com o valor máximo entre a quantidade de elementos com resto de divisão igual a i e a quantidade de elementos com resto de divisão igual a k-i. Depois disso, a função zera as posições do array "arr" correspondentes aos restos de divisão igual a i e k-i.

Por fim, a função retorna o valor de "answer", que representa o tamanho do maior subconjunto de elementos de s que não são divisíveis por k.


O resultado será:

```
4 3
1 7 2 4

input -> 3
```

Assim, concluímos mais um _Resolvendo problemas no HackerRank: _até a próxima.
Operatorlar haqida
Tags: webdev, javascript, tutorial, programming
Published: 2023-03-30 14:27:46

Assalomu aleykum xurmatli dasturchi bugun sizlar bilan operatorlar xaqida otamiz operatorlar bu ozgaruvchilar va qiymat ustida operatsiyalar bajarashish uchun ishlaydi
`misol uchun`

```
print(5+5)
print(5-5)
print(5*5)
print(5/5)
```
python operatorlarni guruhlarga boladi
**arifmetik oeratorlar
belgilash operatorlar
taqqoslash operatorlari
mantiqiy operatorlar
identifikatsiya operatorlari
a'zolik operatorlar
bitli operatorlar 
**
Hello everyone
Tags: react, reactnative, beginners, node
Published: 2023-03-14 02:58:08


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rlsqao1sovakotf379j9.PNG)Hi Community
I'm a frontend developer and starting with my first project.
Tech Stack (React, SprintBoot)

My challenge to start this project is when, I ejecut the command **npm start** in the terminal shows me this error. 

> frontend@0.1.0 start
> react-scripts start

node:internal/fs/utils:347
    throw err;
    ^
Error: ENOENT: no such file or directory, lstat 'C:\Users\Yelitza\AppData\Local\Temp; C:'
    at Object.realpathSync (node:fs:2580:7)
    at Object.<anonymous> (C:\Users\Yelitza\Desktop\demo\demo\src\frontend\node_modules\temp-dir\index.js:9:13)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (C:\Users\Yelitza\Desktop\demo\demo\src\frontend\node_modules\tempy\index.js:5:17)
    at Module._compile (node:internal/modules/cjs/loader:1254:14) {
  errno: -4058,
  syscall: 'lstat',
  code: 'ENOENT',
  path: 'C:\\Users\\Yelitza\\AppData\\Local\\Temp; C:'
}



I validated the path variable in Win and Appearance&Behavior and, edited both paths but, the same error. 

I need your help to guide me about it

Thanks for your support
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7p4uprfmabv4270wfmy.PNG)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bfovm84wart8pd1ujii7.PNG)
Moving DevEx from DevRel to Engineering
Tags: devrel, devex, engineering, reorg
Published: 2023-03-30 14:23:50

---
title: Moving DevEx from DevRel to Engineering
published: true
description: The hard (and hidden!) truth on reorgs
tags: devrel, devex, engineering, reorg
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-03-28 15:58 +0000
---

I wasn't sure if I wanted to share this, but I've had a few folks ask about our reorg out of DevRel and into Engineering.

Please enjoy this stream of conscious [listicle](https://en.wikipedia.org/wiki/Listicle).

This is what I have energy to write right now. 

## Things I expected

* Different manager
* Different peer group (first time ever having peer managers!) 
* Different position on an org chart
  * Reporting to VP (now) vs. director (previously)
  * Still second-level as CTO, still within Products
* Our scope increased to own SDKs, a new function entirely
* Our scope decreased - removed Community Slack, Community Hub, and Community Forum

## Things I didn't expect

* We immediately received +1 headcount.
  * Prior to the reorg, I wasn't anticipating hiring this year.
  * Hiring is hard, but it's been _very_ hard recently.
* Engineering recently streamlined hiring, which was vastly different from the process and way we hired in DevRel.
  * Outcome: we had to rework our hiring process immediately.
* Engineering had completely shifted away from quarterly planning and OKRs. DevRel did both quarterly planning and OKRs.
  * Outcome: we had to shift to smaller incremental improvements and more of a continuous delivery style.
* New manager career path, streamlined with other Engineering Managers.
  * But I don't feel like an Engineering Manager...?
* Updated DevEx Engineer career path (to be closer to streamlined Eng career path, but ultimately needed to stay separate).
  * This is still a change, and changes to people's inflight career paths are hard.
* Community feedback was ok, but specific customers' feedback was best.
  * Puts us in direct conflict with building for _everyone_, paying customer or not.
  * Note - this was a company shift, so no matter where we sat I think this would have been a change.
* We were labeled as a product development team (Docs & SDKs), but often function as a support team too, particularly for Docs.
  * This means we have a LOT of interrupt driven work.
  * Some seasonality too - weeks before the 2x yearly minor releases we see a huge uptick in PR reviews.
* Nearly constant (re)introductions and internal team marketing to describe scope changes.
  * These have slowed, but I'm still finding some people think we are part of DevRel, not Eng.
Bounie Launching On Product Hunt Tomorrow
Tags: webdev, react, javascript, news
Published: 2023-03-30 14:11:01

Todays a very exciting day for me as my new website [Bounie](https://bounie.com/) will be launching on Product Hunt! So first of all, what is Bounie? Bounie is a news website where anyone can contribute. It all starts with a good headline. Users can then contribute related information, images, links and opinions to build out a full story. This results in articles that are dynamic feeds of engaging content instead of traditional walls of text.

I give a full demo of Bounie in the video below, check it out if you want to learn more:

{% embed https://www.youtube.com/watch?v=-1Xv8K8nxAA %}

Please sign up for Bounie and let me know what you think of it! And keep an eye out for it on Product Hunt tomorrow. I greatly appreciate it!

Since this is dev.to you're probably curious about the technology I used for Bounie. Here is a breakdown of the technology I used to Build it:

Codebase:
- Next.js: I really enjoy working with this framework and the ease of deploying both the frontend and backend on Vercel
- NextAuth: A great user authentication library, currently I only support signing in with Google
- MUI: This is a new favourite of mine. I used to be all about writing pure custom scss for my websites but recently I discovered MUI and have fallen in love with it. No more class names! I strongly suggest you check it out if you are looking for a great way to style your components.
- Prisma: This is my goto library for querying my DB. It reminds me of working with Laravel query builder back in the day.

Infrastructure:
- PostgreSQL: The DB I decided to go with. I love working with SQL queries.
- Render: The platform I use to host my DB. I really like Render, its super easy to get up and running with.
- Vercel: Since this is a Next.js site it made sense to go with Vercel for hosting. I love their UI and they have pretty generous pricing for new websites with a moderate amount of traffic.
- Backblaze B2: A much cheaper S3 compatible file hosting service. Its been a breeze to work with and they even offer free downloads if you use Cloudflare DNS for serving the files.
- Cloudflare: The DNS choice I decided to go with to setup a Proxy for Backblaze. Cloudflare is full of rich features, although many of them I can't take advantage of since they require setting up a Proxy, which Vercel recommends not doing with there service since it can cause some big issues, especially with your cache.

That sums up the technology I used at a high level, please let me know if you have any questions!

Thanks for reading this post and once again, please sign up for [Bounie](https://bounie.com/) and let me know what you think. Together we can reinvent the news!

[bounie.com](https://bounie.com/)
Por que ter seguidores no Instagram é importante?
Published: 2023-03-30 14:10:17

A importância de ter muitos seguidores no Instagram: saiba como a [Turbo Seguidor](https://turboseguidor.com) pode ajudar a impulsionar seu perfil.

O Instagram se tornou uma das principais plataformas de comunicação e marketing digital da atualidade, com um número crescente de usuários e empresas buscando visibilidade e sucesso no mundo virtual. Neste cenário, ter um grande número de seguidores no Instagram é fundamental para quem deseja estabelecer sua marca e atrair mais oportunidades. Mas por que é tão importante aumentar seus seguidores? E como o [Turbo Seguidor](https://turboseguidor.com) pode ajudar nessa tarefa?

Em primeiro lugar, ter um alto número de seguidores no Instagram aumenta sua credibilidade e autoridade dentro da plataforma. Perfis com muitos seguidores são vistos como mais confiáveis e relevantes, o que pode atrair ainda mais pessoas e possibilitar parcerias comerciais, principalmente se você for um influenciador digital, empresário ou profissional autônomo.

Além disso, ao ter uma base sólida de seguidores, suas chances de alcançar um público mais amplo e engajado aumentam significativamente. Isso ocorre porque o algoritmo do Instagram favorece conteúdos de perfis populares, fazendo com que suas publicações apareçam com mais frequência no feed e na página "Explorar" dos usuários.

Outro fator importante é que, ao contar com um grande número de seguidores, você se torna uma referência em seu nicho de atuação. Isso pode abrir portas para parcerias com outras marcas e influenciadores, além de atrair clientes e seguidores interessados no que você tem a oferecer.

Agora que você entende a importância de ter muitos seguidores no Instagram, é hora de aprender como o www.turboseguidor.com pode ajudar a impulsionar seu perfil. O Turbo Seguidor é uma plataforma que você pode [comprar seguidores](https://turboseguidor.com), curtidas e visualizações para perfis no Instagram.

Com uma estratégia eficiente e segura, o Turbo Seguidor.com garante um crescimento orgânico e real, evitando a aquisição de seguidores falsos e inativos. A plataforma utiliza boas práticas de SEO e ações de marketing para atrair seguidores interessados em seu conteúdo, tornando seu perfil mais atrativo e visível para o público.

Em suma, ter muitos seguidores no Instagram é crucial para o sucesso de sua marca, influência ou negócio na plataforma. O Turbo Seguidor oferece soluções eficazes para impulsionar seu perfil, garantindo um crescimento consistente e sustentável. Invista no aumento de seguidores e destaque-se no competitivo mundo do Instagram.
Do you want to make an artificial intelligence chat bot instantly?
Tags: ai, chatgpt
Published: 2023-03-30 14:07:14

U can discover [Ora](https://ora.sh/create) from here! Also u can see other chatbots.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t4gnzgxpofehhxht95f8.png)
[Atatürk AI](https://ora.sh/vivid-sapphire-l86y/atatürk-ai)
First Look at Amazon DataZone
Tags: aws, datascience
Published: 2023-03-30 14:05:41

AWS has released a public preview of an impressive suite of capabilities called [Amazon DataZone.](https://aws.amazon.com/datazone/)

This is based on a thorny problem in trying to tap the potential of business data: data is often trapped within the corporate silo where it was created, e.g. Sales, Operations, Marketing, etc. Even when we succeed in breaking through the silo to get access to some other group's data, we have a host of additional problems: cleaning the data, normalizing data definitions, questions of compliance (encryption, the handling of personally identifying information, retention policy, etc.), and making it easy to use.

Businesses have tried solving this problem by centralizing the data access problem in a new group, sometimes called Data Science. This group is in charge of the data lake, and cleaning and describing all the data sources. This is _almost_ a good idea, but it creates an unfortunate bottleneck; the agility of the business is hampered by the need to get the data source tidied and blessed by an overworked group of people who are not the domain experts in any of the data sources they're made responsible for. The capabilities of the Data Science team are stretched thin and they don't scale with the appetite for business data.

A new, decentralized approach to these problems was described by Zhamak Dehghani from ThoughtWorks. It's called [Data Mesh,](https://martinfowler.com/articles/data-mesh-principles.html) and it's based on the idea that each data source should be treated as a data _product_, and the owners of the data source are _also_ the owners of the data product. You can think of a data source as a kind of API, and many groups can contribute to the shared catalog, including providing the documentation and access rules. The final piece of the Data Mesh puzzle is that governance should be federated rather than centralized.

Amazon appears to be taking this approach seriously, and DataZone is a system of systems for connecting producers of data with consumers from a hub that is self-service for both kinds of participants. From their product page, the key features are:

- catalog: Search for published data, request access, and start working with your data in days instead of weeks.
- projects: Collaborate with teams through data assets, and manage and monitor data assets across projects.
- portal: Access analytics with a personalized view for data assets through a web-based application or API.

It's clear you still need the data specialists, but they can be the ones empowering disparate groups with these new capabilities so they can begin to be autonomous. It's consistent with the concept of a platform team from [Team Topologies.](https://teamtopologies.com/)

I look forward to getting my hands dirty with Amazon's new offering. I don't know how good their implementation is yet, but I have become convinced that this architecture is a source of significant competitive advantage.

(image credit Rhk111, CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons)