Innowise sammendrag om utvikling av mobilapper

Summarize article with AI

Velkommen til Innowise mobile digest, din ultimate kilde for alt som har med mobilutvikling å gjøre. I denne omfattende samlingen gir vi deg de siste nyhetene, grundige gjennomganger og uvurderlige veiledninger innen det stadig skiftende området mobilutvikling. Utforsk eksempler fra virkeligheten og suksesshistorier der revolusjonerende løsninger har omformet bedrifter og bransjer. I tillegg omfatter vårt håndplukkede utvalg av artikler ulike sammenkoblede emner som gir innsikt i og perspektiver på fremtiden tilmobilteknologi.

Er du på utkikk etter et erfarent mobilutviklingsteam?

Du kan stole på at Innowise lager en førsteklasses mobilapp som passer til dine forretningsmål.

Pakken dev_pilot for å opprette et Flutter-prosjekt

We are excited to introduce our newly released package, “dev_pilot,” developed by Innowise. This package aims to simplify the installation process for Dart projects, enabling developers to set up new projects quickly and efficiently.

Til å begynne med fungerer dev_pilot som et verdifullt verktøy for utviklere som ønsker å fremskynde opprettelsen av Flutter-prosjekter. Det tilbyr et interaktivt kommandolinjegrensesnitt (CLI) som veileder brukerne gjennom å gi prosjektdetaljer som prosjektnavn, funksjoner og smaker. Deretter genererer pakken den nødvendige katalog- og filstrukturen, noe som effektivt sparer tid og reduserer innsatsen.

Koden til dev_pilot er skrevet i Dart, et moderne programmeringsspråk som er mye brukt til å utvikle mobil- og webapplikasjoner.nettapplikasjoner. Koden følger Dart-kodingskonvensjonene og har en velorganisert og lett forståelig struktur.

To accomplish various tasks like I/O operations, logging, and validation, the code incorporates several essential packages and libraries, including dart:io, dcli, mason_logger, and others. Leveraging existing packages and libraries demonstrates the package’s judicious use of available resources, avoiding unnecessary reinvention.

The main method serves as the entry point to the package, acting as the central hub for all operations. It initiates by verifying whether the provided argument is “create.” If the argument satisfies the condition, the package proceeds to prompt the user for additional project details, such as the project name, features, and previously mentioned flavors.

To facilitate diverse tasks, the package relies on various services like DirectoryService, FileService, InputService, and others. The use of these services contributes to the code’s modularity and ease of maintenance, as they are thoughtfully organized.

Another notable feature of the code is the utilization of “await” and “async” to handle asynchronous operations. This approach significantly improves code performance and responsiveness, showcasing a commendable implementation choice.

Dev_pilot forenkler prosessen med å opprette et nytt Flutter-prosjekt, slik at du enkelt kan innlemme funksjoner, smaker, pakker og generere kodemaler for forskjellige prosjektkomponenter. I tillegg inneholder pakken integrerte validatorer for å sikre nøyaktig brukerinndata.

Her er en oversikt over hvordan Dev_pilot fungerer:

It verifies whether the argument passed is “create”.

The dev_pilot package for creating a Flutter project

It verifies whether the argument passed is “create”.

mobile app development digest

Den kontrollerer om Dart-versjonen faller innenfor det akseptable området. 

I så fall blir brukeren bedt om å oppgi et prosjektnavn.

The dev_pilot package for creating a Flutter project

Den spør brukeren om de ønsker å angi en egendefinert bane for prosjektet.

The dev_pilot package for creating a Flutter project

Hvis brukeren velger å oppgi en bane, blir de bedt om å angi ønsket bane.

Den spør om brukeren ønsker å legge til funksjonsmoduler i prosjektet.

The dev_pilot package for creating a Flutter project

Hvis brukeren bestemmer seg for å inkludere funksjonsmoduler, blir de bedt om å angi navnene på de ønskede modulene.

Den spør brukeren om de vil legge til smaker i prosjektet.

The dev_pilot package for creating a Flutter project

Hvis brukeren velger å legge til smaker, blir de bedt om å skrive inn navnene på de ønskede smakene.

Den spør brukeren om de vil legge til pakker i prosjektet.

The dev_pilot package for creating a Flutter project

Hvis brukeren bestemmer seg for å legge til pakker, blir de bedt om å velge en modul og angi navnene på pakkene. Denne prosessen gjentas til brukeren bestemmer seg for ikke å legge til flere pakker.

Flutter Lab Innowise

I april lanserte selskapet vårt et Flutter-laboratorium som svar på etterspørselen i markedet. I erkjennelsen av mangelen på fagfolk med relevant kunnskap tok vi initiativ til å løse dette problemet.

Kravene til deltakerne inkluderer ferdigheter i muntlig engelsk på minimum nivå B1, en grunnleggende forståelse av datavitenskapelige konsepter og velutviklede sosiale ferdigheter. Forhåndskunnskap om Dart/Flutter er ikke nødvendig for søkere.

The course will consist of 14 lessons, during which “students” will learn Dart/Flutter and work on their own pet project. Following each lesson, a mentor will assess the understanding of the theory covered and conduct a code review. The instructors for this course are Flutter developers Alexander Guzich and Alexey Lebedev.

Når denne nyheten publiseres, nærmer den første gruppen seg slutten. Men hvis den første lanseringen viser seg å være vellykket, planlegger vi å gjenta kurset for påfølgende grupper.

Mobil utvikling

iOS

Denne samlingen omfatter en kombinasjon av YouTube-samlinger, casestudier fra virkeligheten og informative gjennomganger med tilhørende veiledninger.

Sikkerhet fra et mobilt perspektiv

Kilde:Medium

Artikkelen gir en kortfattet oversikt over klientapplikasjonssikkerhet på ulike nivåer, og omfatter aspekter fra serverkommunikasjon til programkode. Viktige punkter som diskuteres inkluderer:

  • Risikoer knyttet til bruk av mobile enheter, som datatyveri, skadevare og phishing-angrep.
  • Sikkerhetsnivåer for mobile applikasjoner.
  • Betydningen av sikkerhetstiltak og gjennomføringen av dem.
  • Beste praksis for å forbedre mobilsikkerheten, inkludert bruk av sterke passord, regelmessige programvareoppdateringer, unngå usikrede Wi-Fi-nettverk og utvise forsiktighet med mistenkelige lenker eller e-poster.
Mobile development

Rosetta, I’m sorry to say goodbye

Kilde:Medium

Med lanseringen av Xcode 14.3 har Apple avviklet støtten for Rosetta og antydet subtilt til utviklere behovet for å tilpasse prosjektene sine til Apple Silicon. Cyan-utvikleren delte en historie om hindringene selskapet deres møtte med hovedproduktet og tredjepartsløsningen som hjalp dem med å eliminere bruken av Rosetta.

Sammendrag:

  • Forklaring av Rosetta.
  • How the utilization of Rosetta was determined in the case of “Cyan”.
  • Tiltak for å løse problemet.

Samlet sett et tydelig eksempel på å tilpasse rammeverket til realitetene til ARM64 MacBooks, med vår anbefaling.

Forstå virkningen av syklomatisk kompleksitet på kodekvaliteten i Swift

Kilde:Holy Swift

Denne artikkelen går i dybden på begrepet syklomatisk kompleksitet iRask programvareutviklingog gir anbefalinger for å minimere den. Syklomatisk kompleksitet måler kodekompleksitet basert på antall beslutningspunkter eller stier i koden.

Forfatteren foreslår flere strategier for å redusere syklomatisk kompleksitet i Swift, inkludert:

  • Erstatte nestede if-else-setninger med guard-setninger.
  • Dele opp omfattende funksjoner i mindre, modulære funksjoner.
  • Bruke switch-setninger i stedet for if-else-setninger når det er mulig.

Videre utforsker artikkelen bruken av funksjonelle programmeringsprinsipper, for eksempel bruk av høyere ordens funksjoner som map, filter og reduce, for å forenkle koden og redusere kompleksiteten.

Samlet sett er dette en verdifull ressurs for Swift-utviklere som ønsker å forbedre forståeligheten, vedlikeholdbarheten og effektiviteten til koden sin.

Bufring av innhold med NSCache

Kilde:andyIbanez.com

Forfatteren understreker betydningen av hurtigbufring av innhold i iOS-apper for å forbedre ytelsen og minimere datamengden som overføres over nettverket. Artikkelen konsentrerer seg først og fremst om å bruke NSCache, den innebygde hurtigbuffermekanismen i iOS, til å hurtigbufre innhold i iOS-applikasjoner. NSCache fungerer som et nøkkelverdilager som administrerer innholdet og automatisk frigjør objekter som ikke lenger er nødvendige.

Artikkelen gir flere eksempler på bruk av NSCache i iOS-applikasjoner, inkludert hurtigbufring av bilder, JSON-data og nettinnhold. I tillegg gir artikkelen beste praksis for bruk av NSCache, for eksempel innstilling av et maksimalt antall objekter og implementering av en policy for cache-evakuering for å kontrollere minnebruken.

Content caching with NSCache

Slik lagrer du data i iOS: UserDefaults, nøkkelringer og smørbrød

Kilde lenke

Denne omfattende og informative veiledningen gir verdifull innsikt i datalagring i iOS. Med tanke på utfordringene som har forstyrret mange utviklere, viser dette materialet seg å være spesielt viktig. I denne ressursen gir senioriOS-utviklerred_mad_robot dykker ned i lagringsmotorer, bruken av dem og fordelene og ulempene ved hver tilnærming.

Forfatteren analyserer nøye følgende verktøy:

  • UserDefaults – ideal for storing user settings and flags.
  • Keychain – ensures secure data storage.
  • Lists – suitable for storing application configurations or libraries.
  • Databases – recommended for handling large amounts of diverse data.
  • NSCache – designed for temporary data storage.

Videre gir denne veiledningen en grundig analyse av ulike databaser som er tilgjengelige på iOS:

  • Realm på tvers av plattformer, kjent for sin raske ytelse og brukervennlige API.
  • Native Core Data, som tilbyr et grafisk grensesnitt for modeller og ulike lagringstyper, noe som forenkler testing.
  • SQLite, som muliggjør direkte bruk av SQL-språk uten behov for ekstra tunge tredjepartsbiblioteker i prosjektet.

Denne ressursen er avgjørende for utviklere som ønsker en omfattende forståelse av iOS-datalagringsalternativer.

How to store data in iOS UserDefaults, Keychains, and sandwiches

iOS Conf SG 2023

Kilde:Youtube

iOS Conf SG is the largest iOS developer conference in Southeast Asia. It makes sense to find out what was discussed at the event this year! This playlist will help you with this: here are the highlights and speeches of the conference. Hundreds of developers from all over the world share their ideas, discoveries, developments – where else can you find such a source of insights useful for work, if not there?

Mestring av lerret i SwiftUI

Kilde:Swift med Majid

Du kan tegne 2D-grafikk i SwiftUI ved hjelp av Shape API, men rammeverket konverterer til slutt alle former til SwiftUI-representasjoner og gjengir dem. Denne tilnærmingen har sine fordeler og ulemper. Heldigvis kan du tegne rik 2D-grafikk uten å måtte kombinere flere former. Denne artikkelen forteller deg bare hvordan du bruker Canvas-visningen i SwiftUI.

Viktig utvikler

Kilde:Youtube

This is not the article’s title, but rather the channel’s name. Caio and Mike, two developers who are a couple, manage an iOS development channel that boasts over 500 videos. This is no exaggeration. The videos are thoughtfully organized into various categories, such as:

  • Bygge iOS-apper med Swift, TDD og ren arkitektur.
  • Live iOS Dev Mentorings.
  • Ren iOS-arkitektur.
  • Rene iOS-kodebaser.
  • Komponere iOS View Controllers, og så videre.

It’s important to note that the collection comprises both recent videos on current topics and videos dating back 2-5 years. This is actually beneficial, especially for beginners, as older releases can provide a solid foundation. Nevertheless, it’s essential to consider the freshness of the information you’re consuming.

Identifying Core Data’s ability to perform lightweight migrations before loading the container

Kilde lenke

This is a remarkable demonstration of platform reverse engineering. When developing an application using the Core Data framework, it is common to design a data model that undergoes multiple modifications. The author discovered an alternative approach that eliminates the need to delete all the data and reload it, which can unnecessarily strain the server and drain users’ device batteries. The text explores a simpler method that aims to minimize the repercussions of data structure changes and mitigate their adverse effects.

Android

We have selected three materials that offer in-depth guides on the nuances of Android development. Below, we will provide a brief description of each guide and include the respective links. You can then decide whether or not you find these lengthy reads valuable. Let’s proceed!

Jo nyere, jo bedre: hvordan vi gikk fra GSON til Kotlinx.serialization

Kilde lenke

Dette materialet fokuserer på opplevelsen av overgangen fra GSON til Kotlinx.serialization, fortalt av en Android-utvikler fra Tinkoff Investments.

But let’s start with a brief introduction to the star of the show: Kotlinx.Serialization. It is a serialization library developed by JetBrains specifically for Kotlin, designed to support multiple platforms and formats. The library comprises a compiler plugin, a core library, and several auxiliary libraries that facilitate various data serialization protocols.

I denne veiledningen vil du oppdage:

  • Styrkene til Kotlinx.serialization, inkludert den sømløse kompatibiliteten med Kotlin og andre fordeler den tilbyr.
  • De nødvendige trinnene du må gjennomføre når du migrerer til Kotlinx.serialization.
  • Uunngåelige utfordringer du kan støte på i løpet av migrasjonsprosessen, og hvordan du kan håndtere dem på en effektiv måte.
  • A comprehensive performance comparison between GSON and Kotlinx.Serialization, showcasing how the application’s performance improves after the migration.
  • Bemerkelsesverdige funksjoner introdusert i den nyeste versjonen av biblioteket.

Campuskart i Android-appen

Kilde lenke

EnAndroid-utvikler from UMNO Digital shares insights about his personal project, which can be easily inferred from the article’s title. It revolves around a common scenario: a vast educational institution with numerous buildings, where locating the right audience, library, or department becomes a quest in itself. The author proposes a solution to this problem through an interactive map, and the guide provides a step-by-step description of how to create such a map. Interestingly, this approach could potentially be applicable to other similar structures like hospitals or large industries.

De viktigste kravene til kartet er at det enkelt skal kunne importeres i applikasjonen og oppdateres uavhengig av den. Ellers vil brukerne bare motta den nye kartversjonen etter å ha verifisert og oppdatert hele applikasjonen gjennom appbutikken. Derfor må kartet oppfylle følgende betingelser:

  • Vis plasseringen av publikum, bygninger og gi ruteinformasjon.
  • Opprettes ved hjelp av en egen modul for å aktivere tegnefunksjoner.
  • ligge på en egen server for å sikre raske oppdateringer.

Veiledningen fortsetter deretter med en trinnvis forklaring av hvordan ideen kan omsettes til virkelighet. Veiledningen omfatter blant annet

  • Deler opp kartet i komponenter som veier, bygninger med mer.
  • Opprette og tegne kartdiagrammet (som kan høres enkelt ut, men forfatteren erkjenner at det finnes fallgruver og utfordringer).
  • Velge et egnet bibliotek for gjengivelse av de ulike lagene i kartet.
  • Koble kartet til geografiske koordinater.

Hvert trinn er beskrevet i detalj, noe som gjør det relativt enkelt å følge med (selv om forfatteren innrømmer at det finnes visse vanskeligheter og utfordringer). Denne veiledningen fungerer som et utgangspunkt for å utvikle en enkel løsning som kontinuerlig kan forbedres og videreutvikles. Den gjør det mulig å legge til nye elementer og funksjoner, endre grensesnittet og gjøre generelle forbedringer. Oppsummert gir den verdifull veiledning, og vi anbefaler den på det sterkeste.

Campus map in Android app

Hvordan vi reduserte lanseringstiden for Android-apper med 77%

Kilde:Medium

Selv om tittelen kan virke som clickbait eller potensielt tvilsom, er den faktisk en utmerket veiledning for å redusere lanseringstiden for applikasjoner. Teamet bak bildelingsappen Turo deler trinnene de tok og hvordan de målte resultatene.

Her er et sammendrag av artikkelen:

  • Den opprinnelige tilstanden til applikasjonslanseringen og hvordan den fungerte før optimalisering.
  • Forbedringene som er implementert av teamet inkluderer innføring av en splash-skjerm, utsettelse av synkrone nettverksforespørsler, optimalisering av disk input/output (I/O) og andre relevante teknikker.
  • Måling av oppnådde forbedringer og sporing av potensielle problemer.

In case the guide doesn’t cover everything, the authors have also provided additional links to supplementary materials on the topic.

How we reduced Android app launch time by 77%

Flutter

Denne omfattende veiledningen omfatter ulike emner knyttet tilFlutter utvikling. It covers the latest trends in Flutter for the current year, provides a detailed case study on video streaming with Flutter, introduces a code generation tool, and offers practical tips for improving technical skills. And there’s even more valuable content that awaits you in this guide.

16 ideer for å forbedre Flutter-ferdighetene dine (avansert veikart)

Kilde:Medium

The title itself suggests the importance of continuously honing one’s professional skills. This practical guide offers valuable tips to enhance your abilities, making it suitable for both novice and seasoned Flutter developers. The suggestions include:

  • Dybdegående utforskning av Flutter-widgeter.
  • Bruk av ulike animasjoner og overganger.
  • Innlemme strømmer og reaktiv programmering.
  • Leveraging Flutter’s built-in testing tools.
  • Utforske alternative Flutter-rammeverk.

I tillegg gir artikkelen nyttige anbefalinger og ressurser for å holde seg oppdatert med de siste fremskrittene i Flutter-fellesskapet.

6 ting du kan ta med deg fra Flutter 2023-veikartet

Kilde:Medium

Hvis du har ambisjoner om å avansere på dette feltet, er denne teksten et must. Den gir en oversikt over Flutter-strategien for 2023, med et spesielt fokus på nettutvikling. Forfatteren går i dybden på flere viktige temaer, blant annet:

  • Den nåværende tilstanden til Flutter Web og årsakene til at den fortsatt ikke anses som helt klar.
  • Forholdet mellom Flutter og Web Assembly.
  • Utforske landskapet av spill utviklet ved hjelp av Flutter og vurdere deres faktiske antall.
  • The direction of Flutter’s focus on more intensive bug fixing.
  • Forholdet mellom Flutter og Google Services.
  • Hyppigheten av månedlige betaversjoner.

This is not a mere dry review; rather, it offers the author’s personal opinions and comments based on the official press release. It presents thought-provoking insights for readers to ponder upon.

Har du hørt om Shorebird?

Kilde:Linkedin

Vi presenterer Eric Seidel, en Google-ingeniør med ansvar for utviklingen av Flutter, og Felix Angelov, også kjent som Felangel, skaperen av Bloc- og Flutter_Bloc-pakkene. Deres kombinerte ekspertise lover bemerkelsesverdige prestasjoner. Og de har virkelig levert!

Vi presenterer Shorebird, et nytt prosjekt med åpen kildekode som skal gjøre det enklere å lage dataintensive webapplikasjoner. Shorebird er bygget på Flutter-rammeverket og bruker reaktive programmeringsteknikker, og tilbyr kraftig og skalerbar applikasjonsutvikling.

This article explores the key features of Shorebird, including real-time data synchronization, efficient data processing, and offline data access. The author emphasizes Shorebird’s user-friendly design and provides developers with a clear API.

Moreover, Shorebird has the potential to revolutionize the development of data-rich web applications, particularly in critical industries like healthcare, finance, and logistics. Don’t miss the opportunity to discover more about Shorebird and its groundbreaking capabilities.

Spar tid med CodeGpt-kodegenerering i Flutter

Kilde:Medium

Introducing CodeGPT, a new code generation tool specifically designed for Flutter applications. CodeGPT leverages AI and natural language processing techniques to automatically generate code based on simple English descriptions of the application’s features and capabilities. It’s an impressive solution, isn’t it?

Denne artikkelen gir en informativ oversikt over hvordan CodeGPT fungerer og fremhever de viktigste fordelene. En bemerkelsesverdig fordel er de betydelige tidsbesparelsene og den økte produktiviteten som oppnås gjennom automatisert kodegenerering (som du kanskje allerede har gjettet). Artikkelen inneholder også et detaljert eksempel som viser hvordan CodeGPT kan brukes til å generere kode for en grunnleggende Flutter-applikasjon. Forfatteren legger vekt på hastigheten og enkelheten i prosessen, noe som resulterer i godt strukturert og lett forståelig kode.

Avsløring av det ukonvensjonelle: 5 mindre kjente hindringer i Flutter-utviklingen

Kilde lenke

This article is based on the experience of a Surf Studio developer who was assigned to a project that required implementing video streaming functionality using Flutter. This article presents Timur’s experience, discussing how to approach developing platform features, the relationship between Flutter and native development, and providing insights into common pitfalls and effective solutions.

In conclusion, the article offers a moral lesson and a bonus section featuring a range of complex and intriguing functionalities, some of which didn’t make it to the final release. Overall, readers will gain a better understanding of what to expect when undertaking similar tasks, as projects can be unpredictable in the world of software development.

Unveiling the unconventional 5 lesser-known obstacles in Flutter development

Hva er forskjellen mellom MVC og MVVM (for Flutter)?

Kilde:Medium

The article compares two popular design patterns – MVC (Model-View-Controller) and MVVM (Model-View-ViewModel) – for building Flutter applications. The author explains the main concepts of each pattern and highlights the differences between them. The MVC pattern divides an application into three components:

  • En modell som representerer data og logikk.
  • Visningen som håndterer datavisningen.
  • En kontroller som fungerer som et mellomledd mellom modellen og visningen.

Resten av artikkelen handler om MVVM, som ligner på MVC, men legger til en ny komponent, visningsmodellen. Den er ansvarlig for å behandle presentasjonslogikken og binde dataene og skille dem fra presentasjonen.

Once you’re a bit in the know, the author moves on to discuss the pros and cons of each approach. In particular, it is noted that MVC is simple and straightforward, while MVVM offers better separation of concerns and easier testing. We also draw our attention to the fact that Flutter provides built-in support for both patterns, which makes it easier for developers to choose the approach that best suits their needs.

Forhåndsvisning av Flutters enhet: få en sniktitt på hvordan appen din ser ut på en hvilken som helst enhet.

Kilde:Medium

Verktøyet som beskrives i artikkelen, viser seg å være svært verdifullt i situasjoner der det er behov for et responsivt brukergrensesnitt, men det er begrenset med tid eller tilgang til flere enheter (enten fysisk eller under pågående utvikling). Verktøyet, som omtales som Device Review-verktøyet, gjør det mulig å forhåndsvise applikasjoner på tvers av ulike enheter og skjermstørrelser, noe som utvilsomt er dets mest fordelaktige aspekt.

Ved å bruke Device Preview kan utviklere effektivt oppdage problemer med utforming av layout og brukergrensesnitt på et tidlig stadium i utviklingsprosessen. Artikkelen gir omfattende informasjon om hvordan du installerer, konfigurerer og bruker Device Review, sammen med en forklaring av de underliggende prinsippene. Leserne vil finne denne engasjerende teksten en informativ veiledning for å forstå de nødvendige trinnene og vanskelighetene som er involvert i å utnytte dette bemerkelsesverdige verktøyet.

Generelt

Slik hjelper du lederen din til ikke å rote det til

Kilde lenke

I stedet for å gjenfortelle og forsøke å evaluere innholdet, vil forfatteren selv unntaksvis få ordet:

“Hello everyone, my name is Veronica, and I hold the position of Head of Developer Relations at Dodo Engineering. […] Veronica acknowledges firsthand that many managerial mistakes can be prevented early on. She has witnessed teams successfully rescuing their leaders from potential disasters. In this article, she has curated nine stories from different development teams, including her own, that shed light on the imminent dangers of managerial blunders. Each story is accompanied by practical recommendations, based on real-life experiences, to help subordinates prevent project collapse and catastrophe.

It may seem like a daunting read, but let’s settle in and start exploring these narratives. After all, each of us aims to foster a friendship with our own team lead, don’t we? 🙂

How to help your lead not to mess up

Myke ferdigheter: å rydde opp en gang for alle

Kilde lenke

If you are still firmly convinced that soft skills are from the evil one and recruiters / HRs of all stripes invented them out of boredom, we beg you: read this text. The author is greatly bombarded by the “revelations” that “experts” post all over the Internet, and he wrote his own (rather bold, I must say) text, in which he breaks it all down:

  • Hva er myke ferdigheter (begrepet ble forresten skapt i den amerikanske hæren på 60-tallet)?
  • Hvordan finne ut om din ferdighet er en myk ferdighet?
  • Hva kan test av myke ferdigheter i et intervju føre til?

We promise a couple of insights and reasons to “think”. Have you ever thought, for example, that soft skills in one profession can be hard skills in another and vice versa? Let’s add funny examples here – and now an interesting reading is ready for a coffee break.

Kappløpet mot tiden: Kan menneskeheten lykkes med å kontrollere kunstig intelligens før det fører til en verdensomspennende katastrofe?

Kilde lenke

Dette er en fengslende og tankevekkende langlesning med refleksjoner om fremtiden med kunstig intelligens fra en kjent forfatter.

In this compelling piece, the author delves into the essence of GPT models, pondering whether they embody true AI or simply serve as text generators. The text also contemplates the potential disappearance, or rather the author’s desire for certain professions to become obsolete. Additionally, the consequences of successfully creating a formidable artificial intelligence are contemplated, along with an examination of intelligence itself and the means to evaluate it.

I tillegg deler forfatteren sin innsikt i ulike temaer, for eksempel den fremtidige banen til individuelle AI-assistenter, det virkelige tempoet i teknologiske fremskritt, utfordringene knyttet til å sette mål for AI og de vidtrekkende implikasjonene av konkurransekappløpet mellom selskaper for å oppnå AI-herredømme. Det er fengslende lesning som oppmuntrer til å utvide horisonten. Selv om kunstig intelligens for øyeblikket kan ha begrenset relevans i livet ditt, er det avgjørende å erkjenne at den uunngåelig vil bli integrert i alle menneskers liv i fremtiden.

Slik sender Slack millioner av meldinger i sanntid

Kilde:Slack

Dette materialet presenterer en analyse av flyten i en klient-server-applikasjon, med spesielt fokus på utviklingen av et sanntidssystem som kan håndtere et stort publikum. Artikkelen utforsker den arkitektoniske tilnærmingen som brukes for å muliggjøre sanntidsformidling av meldinger i stor skala. Den undersøker også tjenestene som er ansvarlige for å overføre meldinger til chatteplattformer og levere ulike hendelser til nettbrukere.

Sammendrag:

  • Serveroversikt.
  • Konfigurasjon av Slack-klienten.
  • Levering av meldinger i sanntid til millioner av kunder.
  • Håndtering av hendelser.

Bonus

Her finner du en rekke forskjellige forespørsler som kan hjelpe deg med å optimalisere chatopplevelsen eller skreddersy den nøyaktig til dine behov:https://www.jailbreakchat.com/

Sammenligning av grafiske nevrale nettverk: Bestemme den beste utøveren

Etter at vi begynte å bruke Midjourney til å generere bilder for våre arbeidskrav, fant vi oss ikke i stand til å stoppe og begynte å utforske andre grafiske nevrale nettverk. Hvis du synes de alle virker like, foreslår vi at du fortsetter å lese.

Vi gjennomførte tester med verktøy som Lexica, Stabble Diffusion på Dezgo og Leonardo (sistnevnte er fortsatt i betatesting), og sammenlignet dem med Midjourney. Gjennom hele prosessen fremhevet vi deres fordeler og ulemper, samt nyansene i bruken av dem.

Vi valgte en enkel tilnærming: Vi sendte inn de samme forespørslene og evaluerte resultatene. Det var tre spesifikke forespørsler:

  • Bearbeide et portrett av Scarlett Johansson i en bestemt stil.
  • Lag en representasjon av Warszawa i stilen til tre forskjellige kunstnere.
  • Design en logo med tilhørende tekst.

Let’s clarify from the outset that we understand these requests could have been more detailed and refined, which would have undoubtedly improved the results in all cases. However, we chose to begin with simple examples and limited variations. Even in these cases, we observed how neurons sometimes fixated on one aspect of the request while completely disregarding the rest.

Portrett

Forespørselen var: Maleri i Matisse-stil, rosa farger, mange blomster. Opprinnelig gjennomførte forfatteren av disse linjene personlige eksperimenter, men for arbeidsformål valgte de til slutt en mer fremtredende person.

Portrait

For reference: this is what Matisse’s work looked like:

Matisse

And here’s what the neural networks came up with. As you can see, each network has varying knowledge about the renowned French artist, Matisse. 

Lexica (1-2) ser ikke ut til å ha noen informasjon om Matisse, og i en versjon ble skuespilleren uforklarlig asiatisk. 

Dezgo (3-5), depending on the settings, offered options that were either very close to the master’s brushwork (but far from the original) or presented a lighter stylization. There were even a couple of instances where the AI suggested a still life instead of a portrait. 

Midjourney (6-7), som vanligvis gir nøyaktige resultater, var litt skuffende denne gangen: skuespilleren ble ugjenkjennelig, og blomstene ble ikke gjengitt i riktig stil. 

Leonardo (8-9) considered the flowers and the color pink, maintaining some resemblance to the original, and creatively interpreted the composition. However, not all settings captured the artist’s drawing style accurately.

AI Portrait

Urbane landskap

Let’s try to depict Warsaw. The query was: “Warsaw is painted in X style.” Various artists’ styles were selected for two reasons: a) the author of the article has a passion for art, and b) the typical styles in which neural networks draw, such as graphics, anime, cartoons, and digital art, have become monotonous. Additionally, it was intriguing to observe how neural networks would respond to slightly more complex criteria and gather information about the chosen style.

Tre kunstnere ble valgt ut for sine bemerkelsesverdig forskjellige stiler:

  • Gustav Klimt, kjent for wiener jugendstil.
Urban landscape Gustav Klimt
  • Mark Rothko, kjent for abstrakt ekspresjonisme.
Urban landscape Mark Rothko
  • Salvador Dali, hyllet for sin surrealisme.

Interestingly, each of these masters started with one style but gained fame for another, leading to varying results when gathering information. In the case of Klimt, this pattern held true. Midjourney (1) focused on his famous “golden” portraits, while Lexica (3) explored landscapes. Stabble Diffusion on Dezgo (2) emphasized Klimt’s unique approach of incorporating cut-out objects into his paintings, and Leonardo (4) added a touch of Klimt’s essence to realistic depictions of the old city.

Urban landscape

Når det gjaldt Rothko, ga de nevrale nettverkene klarere tolkninger: striper forble striper, om enn med subtile variasjoner. De karakteristiske trekkene ved Warszawa, som spir og skyskrapere, ble hovedsakelig bevart. Attribusjonene er som følger: Midjourney (1), SD on Dezgo (2), Lexica (3) og Leonardo (4).

5 Urban landscape

Once again, there was a blend of confusion and exploration. Lexica (3) captured Dali’s characteristic composition, hovering between heaven and earth. Midjourney (1) observed Dali’s penchant for vertically elongating images, while also incorporating Warsaw’s symbol—the mermaid—in a unique way. Dezgo (2) skillfully represented Dali’s style of incorporating cut-out objects into paintings, giving them an otherworldly quality. Lastly, Leonardo (4) suggested the idea of a mural featuring Dali’s portrait on a building wall, which resonated with the artist’s spirit.

AI urban landscape

Logo

Å designe en logo som inneholder tekst er den største utfordringen på listen vår. Mange nevrale nettverk sliter fortsatt med å effektivt oversette tekst til et bilde. Kanskje noen av dem har tilegnet seg de nødvendige ferdighetene for denne oppgaven.

Forespørselen var som følger:

tekstlogoen til selskapet som produserer videospill, hvit eller gjennomsiktig bakgrunn, oransje, blå og grønne farger

Det er ikke noe spesielt bemerkelsesverdig å diskutere i dette tilfellet, ettersom alt er ganske tydelig. Vi har valgt både de mest vellykkede og de mest ukonvensjonelle alternativene. Nok en gang ble det tydelig at nevrale nettverk fortsatt sliter med å generere tekst, men selv før det observerte vi tydelige forskjeller i stiler.

Attribusjonene er som følger:

1 og 2: Leksikon

3 og 4: Dezgo

5 og 6: Leonardo

7 og 8: Midtveis på reisen

Logo

Konklusjon

Grafiske nevrale nettverk viser variasjoner i behandlingsmetoder, teknikker for informasjonsinnhenting og visuelle tilnærminger. Dette innebærer et stort område for eksperimentering og kreativitet for brukerne, samtidig som det krever tilpasningsevne, læring av feil, forståelse av innstillinger og iterative forsøk.

Selv om detaljerte forespørsler har en tendens til å gi mer effektive resultater enn generelle forespørsler, garanterer de ikke alltid et tilfredsstillende resultat. Dessuten krever de at brukerne har domenekunnskap og evne til å formulere spørsmål, noe ikke alle har.

Nevrale nettverk varierer også når det gjelder tilgjengelige innstillinger, og det er grunnen til at resultatene av evalueringene våre kanskje ikke er helt perfekte. I noen tilfeller måtte vi justere innstillingene for å få resultater som i det hele tatt lignet den ønskede forespørselen. For eksempel lar Midjourney brukerne opprette et tekstspørsmål og spesifisere ønsket bildeformat, samtidig som de også svarer på forespørsler om hvit eller gjennomsiktig bakgrunn, i motsetning til andre nevrale nettverk.

Dezgo offers options to choose the format (portrait or landscape), performance accuracy, assembly model, and sampling method. Lexica follows a similar pattern with options for format and execution accuracy. Leonardo, on the other hand, allows users to select the number of images (up to 8) and offers a background removal function, although it may not work optimally with intricate details at the edges. Additionally, Leonardo features several settings, including the intriguing “Prompt Magic” button, which we have yet to explore.

Det er fortsatt mye å forbedre for nevrale nettverk. Tekstinnpakning er ofte problematisk, realistisk gjengitte hender er en sjeldenhet snarere enn normen, og noen ferdige bilder fanger bare delvis opp forespørselen mens de ser bort fra andre detaljer. Disse utfordringene representerer bare en del av de aktuelle problemene.

Ikke alle nevrale nettverk er fritt tilgjengelige. Mens eksperimentering på Dezgo er gratis (derav vår hyppige bruk av det), tilbyr Midjourney et betalt abonnement etter et visst antall gratis forespørsler (fra $8 / måned + avgifter, noe som gjør det til vårt andre verktøy). Leonardo tilbyr 150 daglige gratis forespørsler for dem som blir med i betatestgruppen deres, med en svartid på rundt en uke eller to (en betalt versjon med tilleggsfunksjoner er også tilgjengelig, fra $10/måned). Lexica er priset på samme måte som Midjourney, men tilbyr større funksjonalitet med sine gratis forespørsler.

Graphical neural networks undeniably serve as powerful tools. They have aided us in illustrating various subjects (although at times we had to put in extra effort to obtain useful results), and their output has adorned our company’s monthly digest, not to mention their utility in creating images for posts and announcements. Overall, we utilize these networks ourselves and encourage others to explore and master their potential.

Takk for din vurdering!
Takk for din kommentar!
author
Eugene Shapovalov Leder for mobilavdelingen

Innholdsfortegnelse

Ranger denne artikkelen:

4/5

4.8/5 (45 anmeldelser)

    Kontakt oss

    Bestill en samtale eller fyll ut skjemaet nedenfor, så vil vi kontakte deg så snart vi har behandlet forespørselen din.

    Send oss en talemelding
    Legg ved dokumenter
    Last opp fil

    Du kan legge ved én fil opptil 2MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved å klikke Send, samtykker du til at Innowise behandler dine personopplysninger i henhold til vår Personvernerklæring for å gi deg relevant informasjon. Ved å oppgi telefonnummeret ditt, godtar du at vi kan kontakte deg via talesamtaler, SMS og meldingsapper. Samtale-, meldings- og datakostnader kan påløpe.

    Du kan også sende oss forespørselen din
    til contact@innowise.com
    Hva skjer videre?
    1

    Når vi har mottatt og behandlet forespørselen din, vil vi kontakte deg for å diskutere prosjektbehovene dine og signere en NDA for å sikre konfidensialitet.

    2

    Etter å ha undersøkt dine ønsker, behov og forventninger, vil teamet vårt utarbeide et prosjektforslag med omfang av arbeid, teamstørrelse, tids- og kostnadsestimater.

    3

    Vi vil arrangere et møte med deg for å diskutere tilbudet og fastsette detaljene.

    4

    Til slutt vil vi signere en kontrakt og starte arbeidet med prosjektet ditt umiddelbart.

    Flere tjenester vi dekker

    arrow