Dev

593 readers
1 users here now

Um lugar legal para debater e conversar sobre programação e desenvolvimento de software no Brasilsilsilsil

Seja um bom programador, e leia a documentação oficial da comunidade no post fixado.

Obrigado, e divirta-se!


Geral

➤ Regras

➤ Wiki do c/Linux

➤ Megathread do c/Dev

Relacionado

➤ c/Python

Chat

Sala de Bate-Papo (chat room)

dev

founded 3 years ago
MODERATORS
26
1
submitted 2 years ago* (last edited 2 years ago) by abobla@lemm.ee to c/dev@lemmy.eco.br
 
 

Tradução feita pelo chat gpt:

GitLab supostamente atraiu o interesse de compradores e está considerando uma venda. À medida que a IA e a computação em nuvem impulsionam aquisições no setor de tecnologia, essas fusões e aquisições estão sendo cada vez mais analisadas.

Visão geral da empresa e posição no mercado

Com uma avaliação de cerca de 8 bilhões de dólares, o GitLab se posicionou como um player essencial no espaço de desenvolvimento de software. Sua plataforma integra automaticamente várias ferramentas e oferece uma ferramenta comum para design de software pelas equipes de desenvolvimento, operações e segurança. O GitLab tem mais de 30 milhões de usuários registrados e é usado por mais da metade das empresas da Fortune 100, tornando-se um player significativo nesse espaço.

Curiosamente, a sede do GitLab fica em São Francisco, mas a empresa opera totalmente de forma remota, com todos os seus funcionários trabalhando de diferentes partes do mundo. Essa estrutura única ajudou a posicionar o GitLab como um pioneiro na indústria de tecnologia no movimento de trabalho remoto.

Pessoas familiarizadas com o assunto disseram que o GitLab contratou banqueiros de investimento para ajudar. Há vários compradores potenciais interessados na empresa, mas aparentemente, pode haver agora um candidato principal: a empresa de monitoramento em nuvem Datadog, com um valor de mercado de 44 bilhões de dólares. Seu software de atendimento ao cliente permite que programadores e outros trabalhem juntos usando ferramentas baseadas em nuvem, enquanto monitoram sua produtividade, especialmente quando mais pessoas trabalham remotamente.

As chances de um acordo são consideradas para daqui a semanas, se não forem inexistentes. A natureza confidencial dessas discussões destaca quão espinhosas e de alto risco podem ser as negociações com gigantes da tecnologia.

O impacto nas ações do GitLab já começou: as ações inicialmente subiram até 11,5% antes de estabilizarem com um ganho de cerca de 7% no meio do dia, quando as notícias de que a empresa estava explorando opções vieram à tona, segundo fontes. O fato de que as ações reagiram dessa forma sugere que os investidores, pelo menos, viram uma venda como uma boa notícia.

O analista da Needham, Mike Cikos, disse que a aquisição tem sido antecipada há anos. Isso pode parecer um tanto contra-intuitivo para muitos investidores, que talvez considerassem empresas como AWS e Google Cloud como compradores muito mais prováveis. No entanto, Cikos vê sinergias entre o GitLab e o Datadog, mostrando a combinação em scale-ups que surpreenderam alguns nas consolidações do setor de tecnologia.

Cenário competitivo e desafios

Dada sua posição no mercado, o GitLab ainda enfrenta desafios significativos. As ações da empresa caíram 16% este ano, pois os investidores estão preocupados com possíveis cortes nos gastos dos clientes. Em contraste, o índice de Software de Aplicação do S&P 500 subiu quase 3% no mesmo período.

O GitLab tem rivais fortes para enfrentar, incluindo a Microsoft, que, em grande parte graças à compra do GitHub por 7,5 bilhões de dólares em 2018, exerce uma pressão competitiva significativa. Consequentemente, essa pressão competitiva também apresentou desafios de precificação para o GitLab, conforme relatado nas declarações financeiras mais recentes da empresa.

A empresa sediada em São Francisco relatou uma receita de 169,2 milhões de dólares, um aumento de 33% em relação ao mesmo período do ano anterior, no seu último trimestre, e anunciou que foi a primeira vez que ficou com fluxo de caixa positivo. No entanto, a empresa também divulgou os desafios de precificação que está enfrentando à medida que a concorrência aumenta em sua indústria.

A estrutura de propriedade única do GitLab torna a possibilidade de um acordo ainda mais fascinante. O fundador e CEO, Sid Sijbrandij, detém 45,51% das ações com direito a voto por meio de ações de dupla classe. Isso complica ainda mais qualquer potencial acordo, pois a Alphabet — empresa-mãe do Google, que inclui um braço de capital de risco — mantém uma participação de 22,2% das ações com direito a voto no GitLab.

Tendências da indústria e contexto mais amplo

Uma venda do GitLab faria parte de uma onda mais ampla de consolidações no setor de tecnologia. Segundo a Dealogic, no primeiro semestre de 2024, o setor de tecnologia foi responsável pela maior participação na atividade global de fusões e aquisições (M&A), envolvendo 327,2 bilhões de dólares em negócios. Isso representa um aumento substancial em relação ao ano anterior, com o valor dos negócios do setor saltando em quase 42%.

Essa prevalência de negócios de M&A é motivada pela necessidade das empresas de ampliar sua gama de serviços oferecidos devido ao cenário global de negócios em rápida mudança, com players significativos em diversos setores, desde inteligência artificial até computação em nuvem. Por exemplo, o conglomerado de tecnologia Alphabet estaria em negociações avançadas para adquirir a startup de cibersegurança Wiz por cerca de 23 bilhões de dólares. Anteriormente, rumores indicavam que a Alphabet havia considerado uma proposta de compra para a fabricante de software de marketing HubSpot.

A indústria de tecnologia está se consolidando, e a potencial venda do GitLab seria um dos maiores eventos em ferramentas de desenvolvimento de software e serviços de nuvem deste ano. Se esse negócio específico ocorrerá ou não, e quais serão suas implicações para a comunidade tecnológica em geral, ainda está por ser determinado.

27
28
 
 

Desculpa o rant.

Minha nossa, depois de testar algumas IDEs ou editores de texto extensíveis, comecei a mexer no emacs e estou muito surpreso.

Instalando o spacemacs, praticamente tudo roda perfeitamente, linting, syntax highlighting, formatação, etc. Adicionando 15 linhas de elisp na configuração, auto formatação, verificações do arquivo ao digitar, tema do explorador de arquivos (dired) e shell e tudo mais funcionando exatamente como eu quero.

Go? Funcionando. Fortran? Funcionando. Python, markdown, JS, etc idem. E sem precisar caçar extensões, nem nada, só uma função em elisp: antes de salvar, coloque o black pra formatar ou usar o flycheck pra linting e outras coisas.

As keybindings são meio estranhas, mas tem o evil mode, que é um emulador do vim dentro do emacs, então pra usuários de vim ou neovim fica super fácil.

No fim, só falta ~~um bom editor de texto~~ nada.

29
30
 
 

Bom dia, galera.

Eu e meu irmão estamos com uma ideia de software e eu queria saber se a stack que escolhi pode seguir o caminho que quero (sem boilerplate, usando os princípios do kiss e monolítico, para só chegar e plugar).

O software seria um single page application usando jquery + API do pocketbase (no front só sei usar jquery, se houver algo mais simples e rápido de codar o spa, só falar), enquanto no back, usaria o pocketbase como um framework para autenticação, autorização, roles, gerenciamento de usuários e logs, enquanto que o roteamento, APIs, banco de dados, etc, seriam escritas em go (estendendo o pocketbase) usando o echo e o gorm com sqlite (não quero ficar mexendo com as configurações dos bancos de dados), com o caddy como reverse proxy e https.

Pensei em ser assim por já ter trabalhado na base do micro serviços pra tudo e ter visto o custo do back explodir. Então queria fazer algo simples, sem firulas e que possa ser simples de dar deploy num vps (o back viraria um arquivo compilado estaticamente).

31
 
 

Comecei a programar com javascript, python, ruby, e php, todas de auto nível, tipagem dinâmica, gerenciadores de bibliotecas simples (menos javascript). Eu sinto que estou perdendo uma oportunidade de aprender umas coisas legais com c e c++.

Eu acabei de começar com c++, fiz uns scriptzinhos bobos que pegam informações do sistema em /sys.

Bom, eu só queria saber se tem algo de importante que preciso aprender com essas linguagens (sendo um desenvolvedor web meio iniciante meio mediano, não sei bem meu nível rs).

Aliás, uma perguntinha, eu vi que as libs são distribuídas pelo gerenciador de pacotes da distro linux, então, em uma equipe de desenvolvedores, como vocês lidam com as diferentes versões das libs em cada distro? alguém que usa arch vai ter libs muito mais atualizadas do que quem usa um debian, por exemplo.

32
 
 

Bora bater um papo sobre IDE?

33
34
1
yes (lemmy.eco.br)
submitted 2 years ago by br4b0@lemmy.eco.br to c/dev@lemmy.eco.br
 
 
35
36
 
 

Algumas entidades da Universidade de São Paulo (USP) campus Ribeirão Preto vão organizar durante o ano de 2024 o projeto Regulação e Governança da Inteligência Artificial, que vai promover diversos eventos híbridos centrados em questões ligadas ao tema.

O primeiro deles, Regulação da inteligência artificial e impactos na economia do Brasil, será realizado no dia 28 de fevereiro, a partir das 14h, no Anfiteatro da Faculdade de Direito de Ribeirão Preto.

O palestrante será o professor da Faculdade de Direito da Universidade Presbiteriana Mackenzie Vicente Bagnoli. Ele vai avaliar a estratégia apresentada pelo PL 2338/23 sob a perspectiva do direito concorrencial, verificando se as big techs serão favorecidas e o quanto essa regulação da inteligência artificial pode impactar a economia do Brasil.

O evento terá transmissão pelo canal do Instituto de Estudos Avançados de Ribeirão Preto no YouTube. Haverá certificado para participantes.

Mais informações no link.

37
 
 

Glauco Arbix, professor da FFLCH/USP, publicou um artigo de opinião no Jornal da USP sobre o uso de ferramentas de inteligência artificial no direito.

O índice de erro de ferramentas como ChatGPT quando em uso na área legal pode chegar a incríveis 80%.

38
39
 
 

O edital deve ser publicado nos próximos 30 dias.

40
41
42
43
44
 
 
45
 
 

Vocês acham que um ciclo contínuo de dias de trabalho é mais produtivo do que pausar no meio da semana e retornar no dia seguinte?

Eu prefiro mover para a sexta, além de prolongar o final de semana (o que é bom para mim) também não me faz precisar retornar o pensamento na quinta e gastar um tempo relembrando aonde eu estava.

Por outro lado, não sei se alguém começa a se sentir fadigado numa terça e acha um descanso na quarta muito mais eficiente para manter as ideias frescas.

46
 
 
47
48
49
 
 

cross-posted from: https://lemmy.pt/post/1751204

Tenho investido algum tempo do meu dia a dedicar-me a este pequeno site pessoal. Gostaria de continuar a expandi-lo com coisas escritas por mim! :) Em algum momento sei que gostaria de fazer uma espécie de webring. Ou seja na minha visão seria uma página do meu site onde colocaria links para outros sites que gosto e que sigo activamente. Assim sendo gostaria de criar aqui um sitio para que a malta que tem partilhasse os seus sites pessoais e pudéssemos falar dos mesmos :)

50
 
 

Agora a pouco eu estava mexendo no meu projeto em Ruby on Rails, e acabei encontrando essa pasta, lá dentro tá cheio de dependência de javascript. A usa coisa que instalei relacionada ao node foi o bootstrap.

Deletei a pasta, e aparentemente tá tudo funcionando normalmente

Tem coisa pra caramba aí, algumas até faziam sentido, mas o resto... por quê tem coisa relacionada ao electron aí?

Só essa pasta tem 104,1 MB de tamanho!

$ ls -1
accepts
acorn
aggregate-error
ajv
ajv-errors
ajv-keywords
alphanum-sort
@ampproject
ansi-colors
ansi-html-community
ansi-regex
ansi-styles
anymatch
aproba
argparse
array-buffer-byte-length
arraybuffer.prototype.slice
array-flatten
array.prototype.reduce
array-union
array-uniq
array-unique
arr-diff
arr-flatten
arr-union
asn1.js
assert
assign-symbols
async
async-each
async-limiter
atob
autoprefixer
available-typed-arrays
@babel
babel-loader
babel-plugin-dynamic-import-node
babel-plugin-macros
babel-plugin-polyfill-corejs2
babel-plugin-polyfill-corejs3
babel-plugin-polyfill-regenerator
balanced-match
base
base64-js
batch
big.js
binary-extensions
bluebird
bn.js
body-parser
bonjour
boolbase
bootstrap
brace-expansion
braces
brorand
browserify-aes
browserify-cipher
browserify-des
browserify-rsa
browserify-sign
browserify-zlib
browserslist
buffer
buffer-from
buffer-indexof
buffer-xor
builtin-status-codes
bytes
cacache
cache-base
call-bind
caller-callsite
caller-path
callsites
camelcase
caniuse-api
caniuse-lite
case-sensitive-paths-webpack-plugin
chalk
chokidar
chownr
chrome-trace-event
cipher-base
class-utils
clean-stack
cliui
coa
collection-visit
color
color-convert
color-name
color-string
commander
commondir
component-emitter
compressible
compression
compression-webpack-plugin
concat-map
concat-stream
connect-history-api-fallback
console-browserify
constants-browserify
content-disposition
content-type
convert-source-map
cookie
cookie-signature
copy-concurrently
copy-descriptor
core-js
core-js-compat
core-util-is
cosmiconfig
create-ecdh
create-hash
create-hmac
cross-spawn
crypto-browserify
css-blank-pseudo
css-color-names
cssdb
css-declaration-sorter
cssesc
css-has-pseudo
css-loader
cssnano
cssnano-preset-default
cssnano-util-get-arguments
cssnano-util-get-match
cssnano-util-raw-cache
cssnano-util-same-parent
csso
css-prefers-color-scheme
css-select
css-select-base-adapter
@csstools
css-tree
css-what
cyclist
debug
decamelize
decode-uri-component
deep-equal
default-gateway
define-data-property
define-properties
define-property
del
depd
des.js
destroy
detect-file
detect-node
diffie-hellman
dns-equal
dns-packet
dns-txt
domain-browser
domelementtype
dom-serializer
domutils
dot-prop
duplexify
ee-first
electron-to-chromium
elliptic
emoji-regex
emojis-list
encodeurl
end-of-stream
enhanced-resolve
entities
errno
error-ex
es-abstract
es-array-method-boxes-properly
escalade
escape-html
escape-string-regexp
eslint-scope
esprima
esrecurse
es-set-tostringtag
es-to-primitive
estraverse
esutils
etag
eventemitter3
events
eventsource
evp_bytestokey
execa
expand-brackets
expand-tilde
express
extend-shallow
extglob
fast-deep-equal
fast-json-stable-stringify
faye-websocket
figgy-pudding
file-loader
fill-range
finalhandler
find-cache-dir
find-up
findup-sync
flatted
flatten
flush-write-stream
follow-redirects
for-each
for-in
forwarded
fragment-cache
fresh
from2
fs-minipass
fs.realpath
fs-write-stream-atomic
function-bind
function.prototype.name
functions-have-names
@gar
gensync
get-caller-file
get-intrinsic
get-stream
get-symbol-description
get-value
glob
global-modules
global-prefix
globals
globalthis
globby
glob-parent
gopd
graceful-fs
handle-thing
has
has-bigints
has-flag
hash-base
hash.js
has-property-descriptors
has-proto
has-symbols
has-tostringtag
has-value
has-values
hex-color-regex
hmac-drbg
homedir-polyfill
hpack.js
hsla-regex
hsl-regex
html-entities
http-deceiver
http-errors
http-parser-js
http-proxy
http-proxy-middleware
https-browserify
iconv-lite
icss-utils
ieee754
iferr
immutable
import-cwd
import-fresh
import-from
import-local
imurmurhash
indent-string
indexes-of
infer-owner
inflight
inherits
ini
internal-ip
internal-slot
interpret
ip
ipaddr.js
ip-regex
is-absolute-url
is-accessor-descriptor
is-arguments
isarray
is-array-buffer
is-arrayish
is-bigint
is-binary-path
is-boolean-object
is-buffer
is-callable
is-color-stop
is-core-module
is-data-descriptor
is-date-object
is-descriptor
is-directory
isexe
is-extendable
is-extglob
is-fullwidth-code-point
is-glob
is-negative-zero
is-number
is-number-object
is-obj
isobject
is-path-cwd
is-path-in-cwd
is-path-inside
is-plain-obj
is-plain-object
is-regex
is-resolvable
is-shared-array-buffer
is-stream
is-string
is-symbol
is-typed-array
is-weakref
is-windows
is-wsl
jest-worker
jquery
@jridgewell
jsesc
json5
json-parse-better-errors
json-parse-even-better-errors
json-schema-traverse
js-tokens
js-yaml
killable
kind-of
klona
last-call-webpack-plugin
lines-and-columns
loader-runner
loader-utils
locate-path
lodash
lodash.debounce
lodash.get
lodash.has
lodash.memoize
lodash.uniq
loglevel
lru-cache
make-dir
map-cache
map-visit
md5.js
mdn-data
media-typer
memory-fs
merge-descriptors
merge-stream
methods
micromatch
miller-rabin
mime
mime-db
mime-types
mini-css-extract-plugin
minimalistic-assert
minimalistic-crypto-utils
minimatch
minimist
minipass
minipass-collect
minipass-flush
minipass-pipeline
minizlib
mississippi
mixin-deep
mkdirp
move-concurrently
ms
multicast-dns
multicast-dns-service-types
nanomatch
negotiator
neo-async
nice-try
node-forge
node-libs-browser
node-releases
normalize-path
normalize-range
normalize-url
@npmcli
npm-run-path
nth-check
num2fraction
object-assign
object.assign
object-copy
object.getownpropertydescriptors
object-inspect
object-is
object-keys
object.pick
object.values
object-visit
obuf
once
on-finished
on-headers
opn
optimize-css-assets-webpack-plugin
os-browserify
pako
parallel-transform
parent-module
parse-asn1
parse-json
parse-passwd
parseurl
pascalcase
path-browserify
path-complete-extname
path-dirname
path-exists
path-is-absolute
path-is-inside
path-key
path-parse
path-to-regexp
path-type
pbkdf2
p-finally
picocolors
picomatch
pify
pinkie
pinkie-promise
pkg-dir
p-limit
p-locate
p-map
pnp-webpack-plugin
popper.js
portfinder
posix-character-classes
postcss
postcss-attribute-case-insensitive
postcss-calc
postcss-color-functional-notation
postcss-color-gray
postcss-color-hex-alpha
postcss-colormin
postcss-color-mod-function
postcss-color-rebeccapurple
postcss-convert-values
postcss-custom-media
postcss-custom-properties
postcss-custom-selectors
postcss-dir-pseudo-class
postcss-discard-comments
postcss-discard-duplicates
postcss-discard-empty
postcss-discard-overridden
postcss-double-position-gradients
postcss-env-function
postcss-flexbugs-fixes
postcss-focus-visible
postcss-focus-within
postcss-font-variant
postcss-gap-properties
postcss-image-set-function
postcss-import
postcss-initial
postcss-lab-function
postcss-load-config
postcss-loader
postcss-logical
postcss-media-minmax
postcss-merge-longhand
postcss-merge-rules
postcss-minify-font-values
postcss-minify-gradients
postcss-minify-params
postcss-minify-selectors
postcss-modules-extract-imports
postcss-modules-local-by-default
postcss-modules-scope
postcss-modules-values
postcss-nesting
postcss-normalize-charset
postcss-normalize-display-values
postcss-normalize-positions
postcss-normalize-repeat-style
postcss-normalize-string
postcss-normalize-timing-functions
postcss-normalize-unicode
postcss-normalize-url
postcss-normalize-whitespace
postcss-ordered-values
postcss-overflow-shorthand
postcss-page-break
postcss-place
postcss-preset-env
postcss-pseudo-class-any-link
postcss-reduce-initial
postcss-reduce-transforms
postcss-replace-overflow-wrap
postcss-safe-parser
postcss-selector-matches
postcss-selector-not
postcss-selector-parser
postcss-svgo
postcss-unique-selectors
postcss-value-parser
postcss-values-parser
prepend-http
p-retry
process
process-nextick-args
promise-inflight
proxy-addr
prr
p-try
public-encrypt
pump
pumpify
punycode
q
qs
query-string
querystring-es3
querystringify
@rails
randombytes
randomfill
range-parser
raw-body
readable-stream
read-cache
readdirp
regenerate
regenerate-unicode-properties
regenerator-runtime
regenerator-transform
regex-not
regexp.prototype.flags
regexpu-core
regjsparser
remove-trailing-separator
repeat-element
repeat-string
require-directory
require-main-filename
requires-port
resolve
resolve-cwd
resolve-dir
resolve-from
resolve-url
ret
retry
rgba-regex
rgb-regex
rimraf
ripemd160
run-queue
safe-array-concat
safe-buffer
safer-buffer
safe-regex
safe-regex-test
sass
sass-loader
sax
schema-utils
select-hose
selfsigned
semver
send
serialize-javascript
serve-index
serve-static
set-blocking
set-function-name
setimmediate
setprototypeof
set-value
sha.js
shebang-command
shebang-regex
side-channel
signal-exit
simple-swizzle
snapdragon
snapdragon-node
snapdragon-util
sockjs
sockjs-client
sort-keys
source-list-map
source-map
source-map-js
source-map-resolve
source-map-support
source-map-url
spdy
spdy-transport
split-string
sprintf-js
ssri
stable
static-extend
statuses
stream-browserify
stream-each
stream-http
stream-shift
strict-uri-encode
string_decoder
string.prototype.trim
string.prototype.trimend
string.prototype.trimstart
string-width
strip-ansi
strip-eof
stylehacks
style-loader
supports-color
supports-preserve-symlinks-flag
svgo
tapable
tar
terser
terser-webpack-plugin
through2
thunky
timers-browserify
timsort
to-arraybuffer
to-fast-properties
toidentifier
to-object-path
to-regex
to-regex-range
ts-pnp
tty-browserify
typedarray
typed-array-buffer
typed-array-byte-length
typed-array-byte-offset
typed-array-length
type-is
@types
unbox-primitive
unicode-canonical-property-names-ecmascript
unicode-match-property-ecmascript
unicode-match-property-value-ecmascript
unicode-property-aliases-ecmascript
union-value
uniq
uniqs
unique-filename
unique-slug
unpipe
unquote
unset-value
upath
update-browserslist-db
uri-js
urix
url
url-parse
use
util
util-deprecate
util.promisify
utils-merge
uuid
v8-compile-cache
vary
vendors
vm-browserify
watchpack
watchpack-chokidar2
wbuf
@webassemblyjs
webpack
webpack-assets-manifest
webpack-cli
webpack-dev-middleware
webpack-dev-server
webpack-log
webpack-sources
websocket-driver
websocket-extensions
which
which-boxed-primitive
which-module
which-typed-array
worker-farm
wrap-ansi
wrappy
ws
xtend
@xtuc
y18n
yallist
yaml
yargs
yargs-parser
yarn
yocto-queue
view more: ‹ prev next ›