海外TECH |
DEV Community |
Getting Started with Go: A Quick Guide. |
https://dev.to/hazarnenni/getting-started-with-go-a-quick-guide-1m95
|
Getting Started with Go A Quick Guide Go also known as Golang is a statically typed compiled programming language designed for simplicity efficiency and ease of use Developed by Google it has gained significant popularity for its clean syntax strong standard library and excellent support for concurrency Whether you re a seasoned programmer or just starting your coding journey this guide will help you take your first steps in the world of Go programming Installation The first step is to install the Go programming language on your system Visit the official Go Downloads page and download the installer suitable for your operating system Follow the installation instructions to set up Go on your machine Setting Up Your Workspace Go has a unique way of organizing your projects You ll want to set up your workspace properly It uses a GOPATH environment variable to specify the root of your workspace Create a directory structure like this ├ーsrc│└ーyourApp├ーbin└ーpkg Your First Go Program While learning a new programming language the iconic Hello World program serves as the inaugural step So Create a file named main go inside the src yourapp directory Open the file in a text editor and write a simple code package mainimport fmt func main fmt Println Hello World To run your program open a terminal navigate to the myapp directory and execute go run main goGo Basics Packages Go programs are composed of packages Each file belongs to a package and the main package is required for executable programs Imports Use the import statement to include packages from the Go standard library or external packages Functions Functions are the building blocks of a Go program The main function is the entry point for executable programs Variables and Types Declare variables with their type explicitly Go has basic types like int string float and more Control Flow Go supports familiar control flow statements like if for and switch Concurrency One of Go s standout features is its built in support for concurrency using Goroutines and Channels Goroutines are lightweight threads and channels allow safe communication between them Exploring the Standard Library Go comes with an extensive standard library that covers everything from file handling to networking Familiarize yourself with the official Go Documentation to leverage these powerful tools With its clean syntax strong standard library and emphasis on concurrency Go is a fantastic language for both beginners and experienced developers Explore the official documentation engage with the community and start building amazing applications with Go |
2023-08-19 17:50:50 |
海外TECH |
DEV Community |
How do I switch from 1 database to 1 database per subdomain rails in saas app |
https://dev.to/suhelrana10/how-do-i-switch-from-1-database-to-1-database-per-subdomain-rails-in-saas-app-21i7
|
rails |
2023-08-19 17:06:47 |
海外TECH |
DEV Community |
LeetCode, Hard: 2818. Apply Operations to Maximize Score. Swift |
https://dev.to/sergeyleschev/leetcode-hard-2818-apply-operations-to-maximize-score-swift-3n60
|
LeetCode Hard Apply Operations to Maximize Score Swift DescriptionYou are given an array nums of n positive integers and an integer k Initially you start with a score of You have to maximize your score by applying the following operation at most k times Choose any non empty subarray nums l r that you haven t chosen previously Choose an element x of nums l r with the highest prime score If multiple such elements exist choose the one with the smallest index Multiply your score by x Here nums l r denotes the subarray of nums starting at index l and ending at the index r both ends being inclusive The prime score of an integer x is equal to the number of distinct prime factors of x For example the prime score of is since Return the maximum possible score after applying at most k operations Since the answer may be large return it modulo Example Input nums k Output Explanation To get a score of we can apply the following operations Choose subarray nums nums is the only element in this subarray Hence we multiply the score by nums The score becomes Choose subarray nums Both nums and nums have a prime score of but nums has the smaller index Hence we multiply the score by nums The score becomes It can be proven that is the highest score one can obtain Example Input nums k Output Explanation To get a score of we can apply the following operations Choose subarray nums nums is the only element in this subarray Hence we multiply the score by nums The score becomes Choose subarray nums nums is the only element in this subarray Hence we multiply the score by nums The score becomes Choose subarray nums Both nums and nums have a prime score of but nums has the smaller index Hence we multipy the score by nums The score becomes It can be proven that is the highest score one can obtain Constraints lt nums length n lt lt nums i lt lt k lt min n n Approach Compute Prime Scores Calculate the prime score for each integer in the array nums Prime score represents the number of distinct prime factors of an integer Initialize a boolean array prime of size upper where upper is the maximum element in nums plus Initialize an integer array primeScore of the same size Set prime and prime to false Iterate over integers from to upper and update primeScore and prime based on their prime factors Compute Next Greater Elements Initialize arrays nextGreaterElement and prevGreaterOrEqualElement of size n where n is the length of nums Use a monotonic stack to find the next greater element with a greater prime score for each element in nums Iterate through nums and maintain a stack of indices For each element pop elements from the stack if their prime score is less than or equal to the current element s prime score Record the index of the top of the stack as the nextGreaterElement if the stack is not empty else set it to n Repeat the above process in reverse to compute prevGreaterOrEqualElement Sort and Process Elements Create an array of tuples num i where num is the value of an element and i is its index in nums Sort the tuples in descending order of the first element num Loop through the sorted tuples and perform the following steps Compute the number of operations as the minimum of i prevGreaterOrEqualElement i nextGreaterElement i i and k Update res by multiplying it with pow num operations modulo MOD using the helper function pow Decrement k by the number of operations If k becomes return res Helper Function for Exponentiation Implement the pow function to calculate exponentiation efficiently using modular arithmetic ComplexityTime complexity O max nums log max nums n log n Accounting for computing prime scores using the stack to compute next greater elements and sorting the tuples Space complexity O max nums n Considering the space required for arrays and the stack used for computation Code Swift class Solution func maximumScore nums Int k Int gt Int let MOD var k k Make a mutable copy of k let n nums count var upper nums max var prime Bool repeating true count upper prime false prime false var primeScore Int repeating count upper for i in lt upper if prime i var j i while j lt upper primeScore j prime j false j i var nextGreaterElement Int repeating n count n var s Int for i in lt n reversed while s isEmpty amp amp primeScore nums i gt primeScore nums s last s popLast nextGreaterElement i s isEmpty n s last s append i var prevGreaterOrEqualElement Int repeating count n s removeAll for i in lt n while s isEmpty amp amp primeScore nums i gt primeScore nums s last s popLast prevGreaterOrEqualElement i s isEmpty s last s append i var res var tuples num Int index Int for i in lt n tuples append nums i i tuples sort a b in a num gt b num for num i in tuples let operations min i prevGreaterOrEqualElement i nextGreaterElement i i k res res pow num operations MOD MOD k operations if k return res return res func pow x Int n Int mod Int gt Int var res var x x var n n while n gt if n res res x mod x x x mod n return res Source GithubContactsI have a clear focus on time to market and don t prioritize technical debt And I took part in the Pre Sale RFX activity as a System Architect assessment efforts for Mobile iOS Swift Android Kotlin Frontend React TypeScript and Backend NodeJS NET PHP Kafka SQL NoSQL And I also formed the work of Pre Sale as a CTO from Opportunity to Proposal via knowledge transfer to Successful Delivery ️ startups management cto swift typescript databaseEmail sergey leschev gmail comLinkedIn LeetCode Twitter Github Website Reddit Quora Medium sergeyleschev️PDF Design Patterns Download |
2023-08-19 17:01:10 |
海外TECH |
DEV Community |
Gestão de tempo e produtividade para Devs |
https://dev.to/ryrden/gestao-de-tempo-e-produtividade-para-devs-2h85
|
Gestão de tempo e produtividade para DevsPor que éimportante gerenciar o tempo Como gerenciar o tempo Dimensão MentalDimensão FisiológicaDimensão TécnicaTécnicas de Gestão de TempoPlanejamento SemanalPlanejamento por ObjetivosPomodoroPor que minutos Por que Pomodoro funciona Matriz de EisenhowerTudo isso na perspectiva de um DesenvolvedorFim Talvez uma das perguntas que mais recebo de pessoas que estão começando a estudar ou trabalhar com desenvolvimento de software é Como vocêconsegue estudar tantas coisas diferentes e ainda ter tempo para trabalhar e se divertir A resposta ésimples Gestão de Tempo Por que éimportante gerenciar o tempo Existem N motivos para gerenciar o tempo mas vou listar apenas alguns dos principais Tempo e Qualidade de vida O tempo éum dos recursos mais valiosos que possuímos e sua gestão pode impactar diretamente na nossa qualidade de vida Gerir o tempo de forma eficiente permite que possamos realizar nossas atividades diárias atingir nossos objetivos e ter momentos de lazer e descanso Produtividade Gerenciar o tempo de forma eficiente aumenta nossa produtividade e eficiência nas tarefas realizadas Isso permite que possamos realizar mais tarefas em menos tempo o que nos dámais tempo livre para fazer outras coisas Equilíbrio Gerenciar o tempo de forma eficiente permite que possamos manter uma vida equilibrada evitar o estresse e a sobrecarga de atividades Isso nos ajuda a manter a saúde física e mental em dia o que éfundamental para o nosso bem estar Motivação Quando estamos motivados e engajados com as tarefas que estamos realizando émais fácil manter o foco e a concentração o que aumenta nossa produtividade e eficiência Por outro lado quando estamos desmotivados e desinteressados nas tarefas émais fácil se distrair e perder tempo com atividades menos importantes Dentre vários outros motivos em resumo háuma frase que gosto fazer referência quando o assunto égestão de tempo Não se gerencia o que não se mede não se mede o que não se define não se define o que não se entende e não hásucesso no que não se gerencia William Edwards Deming Como gerenciar o tempo Antes de entrar nesse tema que éo mais interessante do que vou falar aqui éimportante entender que a gestão do tempo envolve diferentes dimensões que incluem aspectos mentais fisiológicos e técnicos Dimensão MentalNa dimensão mental éimportante gerenciar nossos pensamentos emoções e comportamentos para que possamos manter o foco e a concentração nas atividades que estamos realizando Devemos entender o valor do tempo e estar motivado para aproveitá lo da melhor forma possível Muitas vezes éfácil perder de vista o valor do tempo e cair na armadilha de pensar que sempre haverámais tempo no futuro para fazer as coisas que precisamos fazer Dimensão FisiológicaA dimensão fisiológica diz respeito ao nosso corpo e aos seus limites Como tudo na vida temos um ponto ótimo de produtividade que éo ponto em que conseguimos realizar as tarefas com eficiência e qualidade Se ultrapassarmos esse ponto podemos acabar prejudicando nossa saúde física e mental Para garantir que seu corpor sempre vai estar em potencial de estar próximo do ponto ótimo de produtividade existem mecanismos para tomar maior cuidado Sono Vigília O sono éum dos principais mecanismos de regulação do corpo dormir pouco ou dormir demais prejudica seu desempenho e sua saúde Tenha um horário para dormir e um horário para acordar durma o suficiente para se sentir descansado e disposto para realizar as atividades do dia a dia Fome digestão O corpo precisa de energia para funcionar se vocênão se alimentar corretamente seu corpo não vai ter energia para realizar as atividades do dia a dia Além disso comer demais também pode prejudicar seu desempenho pois o corpo vai gastar energia para digerir a comida e isso pode causar sonolência e cansaço Vocêprecisa sempre estar atento a sua demanda energética uma boa dica que jáemenda no próximo mecanismo écomeçar a fazer exercícios físicos Estresse x Relaxamento Tudo édinâmico e o corpo não édiferente vocêprecisa de momentos de relaxamento para que seu corpo possa se recuperar do estresse causado pelas atividades do dia a dia Équase que uma gamgorra onde ao estressar muito seu corpo mentalmente se faz necessário um estresse físico para que seu corpo possa se recuperar por isso a importância de fazer exercícios físicos Dimensão TécnicaA dimensão técnica engloba as ferramentas e técnicas utilizadas para gerenciar o tempo de forma eficiente Éimportante aprender a utilizar as ferramentas certas e aplicar técnicas que sejam eficazes para o nosso perfil de trabalho Técnicas de Gestão de TempoExistem diversas técnicas que podem ser aplicadas na gestão do tempo Algumas das mais populares são Planejamento SemanalO planejamento semanal éuma das técnicas mais simples e eficazes para gerenciar o tempo A ideia éfazer um planejamento das atividades que serão realizadas durante a semana definindo quais tarefas serão realizadas em cada dia da semana Éimportante ressaltar que o planejamento semanal não deve ser muito detalhado pois isso pode causar ansiedade e estresse O ideal édefinir apenas as atividades mais importantes e deixar o restante para ser definido no dia a dia além disso háum grande perigo de cair na Falácia do Planejamento Falácia do Planejamento A falácia do planejamento éum fenômeno que ocorre quando as pessoas superestimam sua capacidade de realizar tarefas em um determinado período de tempo Para evitar essa armadilha éimportante ser realista e considerar imprevistos que possam surgir durante o dia Por isso éimportante deixar um tempo livre para imprevistos e atividades não planejadas no planejamento semanal Planejamento por ObjetivosEssa técnica émuito utilizada em empresas para definir os objetivos e metas que serão alcançados em um determinado período de tempo A ideia édefinir um objetivo e as metas que serão realizadas para alcançar esse objetivo E Lembrando que objetivo édiferente de meta objetivo éo que vocêquer alcançar e meta éo que vocêvai fazer para alcançar esse objetivo Por exemplo se vocêquer emagrecer seu objetivo éemagrecer e sua meta éfazer exercícios físicos e se alimentar de forma saudável Criar objetivos e metas éimportante para manter o foco e a concentração nas atividades que estamos realizando Além disso éimportante definir metas que sejam realistas e alcançáveis pois isso aumenta a motivação e a produtividade Além disso a criação de KPIs Key Performance Indicators éuma ótima forma de medir o progresso e a eficiência das atividades realizadas Recomendo a leitura KPIs O que são e como definir os indicadores de desempenho da sua empresa PomodoroProvavelmente a técnica mais conhecida quando o assunto égestão de tempo o Pomodoro éuma técnica simples e eficaz para aumentar a produtividade e a eficiência nas tarefas realizadas A ideia édividir o tempo em blocos de minutos separados por intervalos de minutos Durante cada bloco de tempo o objetivo éfocar em uma única tarefa e evitar distrações Trazendo isso para o contexto de desenvolvimento de software émuito comum que durante o desenvolvimento de uma funcionalidade o desenvolvedor acabe se distraindo com outras coisas como responder mensagens no Slack ler e mails etc Isso pode causar atrasos no desenvolvimento da funcionalidade e prejudicar a produtividade do desenvolvedor O Pomodoro ajuda a evitar essas distrações pois o desenvolvedor sabe que teráapenas minutos para trabalhar na funcionalidade e não poderáse distrair com outras coisas durante esse período de tempo Além disso o Pomodoro também ajuda a manter o foco e a concentração o que aumenta a produtividade e eficiência nas tarefas realizadas Por que minutos Por que Pomodoro funciona Há principios seguidos pela técnica Pomodoro que fazem com que ela funcione Estresse x Relaxamento Respeitando a dimensão fisiológica da gestão de tempo ao encontrar um tempo bom ao qual vocêconsegue manter o foco e a concentração vocêconsegue trabalhar de forma mais eficiente e produtiva O tempo de minutos éum tempo bom para a maioria das pessoas mas vocêpode testar outros tempos e ver qual funciona melhor para você Contra o Multitasking Sabemos que por a b que não adianta tentar fazer várias coisas ao mesmo tempo pois isso sóvai nos deixar mais cansados e menos produtivos Por isso o Pomodoro ajuda a evitar o multitasking se vocêtem uma tarefa para ser realizaa dedique minutos para ela e sóela Tempo de Set up O tempo de set up éo tempo que levamos para começar a fazer uma tarefa Ao dedicar somente a uma tarefa por vez vocêminimiza o tempo de set up e consegue ser mais produtivo Lotes de Batelada Príncipio da Engenharia de Produção que diz que émais eficiente a produção de lotes de batelada do que a produção de lotes unitários Isso significa que durante o Pomodoro vocêvai estar acumulando tarefas para serem realizadas na pausa de minutos ou no próximo Pomodoro como responder pessoas no Slack ler e mails etc Além destes principios háduas teorias que explicam o porquêde o Pomodoro funcionar Lei de Parkinson O trabalho se expande de modo a preencher o tempo disponível para a sua realização Ao estipular um tempo para realizar uma tarefa seu cerebro inconscientemente vai se esforçar para realizar a tarefa dentro do tempo estipulado Quantas tarefas em sua vida vocêsabe que faz em minutos mas não a faz por que não existe prazo para ela Agora reflita sobre quantas tarefas que pareciam muito complexas e que vocêachava que levaria horas para realizar mas que vocêconseguiu realizar antes do tempo estipulado simplesmente por que vocêtinha um prazo para ela Princípio de Pareto dos seus resultados sódependem de do seu esforço Para entender esse princípio aplicado ao pomodoro vamos supor que temos uma prova para ser feita em um dia x prazo vocêsabe que tem dias para estudar para essa prova vocêsabe que estudar um pouco do conteúdo da prova todos os dias atéo dia da prova do conteúdo por dia durante dias émuito mais eficiente do que estudar todo o conteúdo da prova no dia anterior a prova Isso acontece por que o seu cerebro vai estar trabalhando no problema durante os dias mesmo que vocênão esteja estudando e quando vocêfor para a ação vocêvai estar mais preparado para resolver o problema Agora na perspectiva pomodoro isso se aplica com os lotes min de pomodoros ao dividir a tarefa vocêse esforça menos e obtêm mais resultados Matriz de EisenhowerQuando estiver tudo um caos e vocênão souber por onde começar a Matriz de Eisenhower pode te ajudar a priorizar as tarefas e organizar o seu dia A ideia édividir as tarefas em quadrantes de acordo com a importância e urgência de cada tarefa Importante e Urgente Tarefas que precisam ser realizadas imediatamente Importante e Não Urgente Tarefas que precisam ser realizadas mas não precisam ser realizadas imediatamente Não Importante e Urgente Tarefas que precisam ser realizadas imediatamente mas não são importantes Não Importante e Não Urgente Tarefas que não precisam ser realizadas imediatamente e não são importantes Éimportantíssimo saber dizer não para tarefas que não são importantes e não são urgentes pois isso vai te ajudar a manter o foco nas tarefas que realmente importam Tudo isso na perspectiva de um DesenvolvedorAgora que jávimos algumas técnicas de gestão de tempo vamos ver como podemos aplicá las na prática para gerenciar o tempo de forma eficiente Eu vocêe a maioria dos desenvolvedores que conheço temos uma rotina de trabalho bem parecida que consiste em reuniões código e review Como podemos aplicar as técnicas de gestão de tempo nesse âmbito Vamos começar pela parte teórica que éa questão da dimensão mental e física Dimensão Mental Éimportante estar motivado para conseguir realizar as tarefas do dia a dia Para isso vocêdeve ter um objetivo claro e bem definido vocêesta desenvolvendo features participando de reuniões fazendo review por quê Defina sua Objetivo e quais serão seus metas para atingir esse objetivo Com isso feito vocêteráum engajamento maior com as tarefas do dia a dia Dimensão Física Não adianta nada estar motivado se vocêestiver cansado com fome sede etc Respeite seu horário de almoço atenda a demanda energética do seu corpo faça exercícios físicos etc Seu corpo também éuma máquina e precisa de manutenção Agora vamos para a parte prática que éa questão das técnicas de gestão de tempo Jáusamos uma técnica na teórica que foi o Planejamento por Objetivos criando os nossos KPIS e metas mas aqui vamos sair da visão macro e ir para a visão micro que éo dia a dia Planejamento semanal Vocêprovavelmente tem uma agenda com todas as suas reuniões daily weekly planning retro seja láqual o ritmo de desenvolvimento adotado na sua empresa crie o hábito de planejar sua semana com antecedência se vocêtem a meta x para a semana use os princípios aprendidos aqui para decidir quais horários vocêvai se se dedicar a isso Atenção não se esqueça de deixar um tempo livre para imprevistos e atividades não planejadas no planejamento semanal pois eles vão acontecer Matriz de Eisenhower Caso vocêtenha tarefas conflitantes devido a um imprevisto ou qualquer outro contratempo use a matriz de Eisenhower para priorizar as tarefas e organizar o seu dia Pomodoro Jáfalei bastante do pomodoro mas vamos a minha perspectiva como eu faço Eu uso lotes de minutos minutos para tarefas que eu tenho uma certa noção do que devo fazer e para tasks que não sei nem por onde começar eu antes crio um pomodoro de minutos para aprender sobre o tema e decidir se consigo a fazer sozinha ou vou precisar de apoio de alguém Fim Tem muitas outras técnicas que deixei de comentar aqui que podem auxiliar como metas S M A R T e OKRs mas acredito que as técnicas que comentei aqui são as mais importantes e que podem ser aplicadas na prática Éimportante lembrar que tudo listado aqui éum processo de melhoria contínua adapte e encontre o que funciona melhor para você Espero que tenha gostado do artigo e que ele possa te ajudar a gerenciar o seu tempo de forma eficiente Se tiver alguma dúvida ou sugestão deixe um comentário abaixo ou entre em contato comigo pelo LinkedIn ou pela aba de contato do meu site |
2023-08-19 17:00:57 |
Apple |
AppleInsider - Frontpage News |
Daily Deals Aug. 19: $150 off Mac Studio, 50% off JBL Tune 230NL TWS Headphones, Up to 25% off Keurig Brewers and Accessories |
https://appleinsider.com/articles/23/08/19/daily-deals-aug-19-150-off-mac-studio-50-off-jbl-tune-230nl-tws-headphones-up-to-25-off-keurig-brewers-and-accessories?utm_medium=rss
|
Daily Deals Aug off Mac Studio off JBL Tune NL TWS Headphones Up to off Keurig Brewers and AccessoriesToday s top deals include up to off Sony headphones off TP Link Deco AX Wi Fi Mesh Wi Fi off a inch Insignia F LED K Smart Fire TV and more Deals Get off a Mac StudioThe AppleInsider crew searches the web for unbeatable deals at ecommerce stores to showcase high quality bargains on popular tech items including deals on Apple gadgets TVs accessories and other gadgets We post our most valuable finds daily to help you stretch your dollar Read more |
2023-08-19 17:19:28 |
海外TECH |
CodeProject Latest Articles |
DryWetMIDI: Notes Quantization |
https://www.codeproject.com/Articles/1204629/DryWetMIDI-Notes-Quantization
|
drywetmidi |
2023-08-19 17:41:00 |
ニュース |
BBC News - Home |
Chernihiv: Russian missile strike kills seven and injures 129, Ukraine says |
https://www.bbc.co.uk/news/world-europe-66554412?at_medium=RSS&at_campaign=KARANGA
|
chernihiv |
2023-08-19 17:08:30 |
ニュース |
BBC News - Home |
William 'sorry' for missing Lionesses World Cup final |
https://www.bbc.co.uk/news/uk-66559702?at_medium=RSS&at_campaign=KARANGA
|
charlotte |
2023-08-19 17:49:19 |
コメント
コメントを投稿