SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Dicas de implementação e otimização mais resolução de problemas. © Adriano Santangeli 3° iPhoneDevBr no MIS – 07/11/2009
Vou começar pelos shortcuts
Para facilitar utilizaremos a tabela ao lado para identificar as teclas.
Acessando arquivos.
Shortcuts importantes.
Shortcuts importantes.
Até agora não teve NADA de interessante, certo?
Vamos a  GUERRA!
Um pouco sobre User macros.
Um pouco sobre User macros   O que são user macros ? O Xcode já vem com algumas macros que tornam a sua codificação mais produtiva.
/Developer/ Applications/ Xcode.app/ Contents/ PlugIns/ TextMacros.xctxtmacro/ Contents/ Resources/ Acessando  o diretório das macros que vem com o Xcode.
~/Library/ Application Support/ Developer/ Shared/ Xcode/ Specifications Suas macros. * Caso não exista o diretório crie agora mesmo.
Exemplo de uma Macro que vem com o Xcode.
Exemplo de uma Macro criada pelo usuário.
O accessorizer é uma ferramenta que automatiza várias tasks repetitivas para você. Accessorizer. http://www.kevincallahan.org/software/accessorizer.html Download em:
Uma  dica não sobre a IDE, e sim sobre o Objective-C em si: Uma dica sobre NSArray Depois retornamos a IDE NSArray VS C Array.
Mas e se eu precisar chamar um método nos meus objetos, será lento ?
Agora de volta as dicas sobre a IDE (Xcode). Agora algumas Dicas
/Developer/ Plataforms/ iPhoneOS.platform/ Developer/ Library/ Xcode/ Project Templates/ Application Editando o com.yourcompany do info.plist Dentro de cada diretório você irá encontrar o arquivo: ___PROJECTNAMEASIDENTIFIER___-Info.plist Editando este arquivo você muda automaticamente os info.plist defaults do Xcode
~/Library/ Application Support/ Developer/ Shared/ Xcode/ Project Templates User Template. A melhor coisa a fazer é copiar os templates da pasta do XCODE e editá-la.
Zumbis ... Vá em executables, clique com o botão direito em GetInfo. Na aba arguments crie e habilite o NSZombieEnabled.
Xcode abaixo de 3.0: Vá em project settings e adicione um novo user defined setting chamado: GCC_THUMB_SUPPORT e coloque nele o valor NO. Otimização: Compile for Thumb.
Xcode acima de 3.1: GCC 4.2 Code Generation e coloque nele o valor YES. Otimização: Compile for Thumb.
Trace ou Log? Na linha de código onde você deveria colocar um NSLog adicione um breakpoint. Então use CTRL+Click e vá em Edit BreakPoint na bolha azul que aparecer, ao clicar no + (MAIS) abra o menu de ações de BreakPoint.
Bibliotecas estáticas.
Bibliotecas estáticas. Apagar Adicionar
Bibliotecas estáticas. ,[object Object],[object Object],[object Object],[object Object]
Bibliotecas estáticas. Essa opção é necessária somente em casos que necessite de classes em Objective C.
Por fim uma referência de livros. Rapid Development: Taming Wild Software Schedules Code Complete: A Practical Handbook of Software Construction 2 Edition ARM System Developer’s Guide Designing and Optimizing System Software The Definitive Guide to GCC 2nd Edition
OBRIGADO! e-mail: adriano@maya.im twitter: @santangeli

Mais conteúdo relacionado

Destaque

Anexo 09 esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...
Anexo 09    esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...Anexo 09    esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...
Anexo 09 esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...Luana Paim
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilGuilherme Coelho
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasDelacyr Ferreira
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoDelacyr Ferreira
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallJohnnatan Messias
 
Algoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallAlgoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallJoao Silva
 
Programação linear Matematica
Programação linear  MatematicaProgramação linear  Matematica
Programação linear MatematicaTiago Faisca
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosDelacyr Ferreira
 
10 dicas para resolver problemas
10 dicas para resolver problemas 10 dicas para resolver problemas
10 dicas para resolver problemas RAM
 
50 dicas para cálculo rápido em matematica
50 dicas para cálculo rápido em matematica50 dicas para cálculo rápido em matematica
50 dicas para cálculo rápido em matematicaHildis Lisboa
 
3 0 cap 003
3 0 cap 0033 0 cap 003
3 0 cap 003luisadr
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeDelacyr Ferreira
 
Aula resolução de problema Modelagem Ambiental
Aula resolução de problema Modelagem AmbientalAula resolução de problema Modelagem Ambiental
Aula resolução de problema Modelagem AmbientalJean Leão
 
Dicas para Cálculos Rápidos vol. 2
Dicas para Cálculos Rápidos vol. 2Dicas para Cálculos Rápidos vol. 2
Dicas para Cálculos Rápidos vol. 2Estratégia Concursos
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordGabriel Albuquerque
 
Otimizações e Funções Quadráticas
Otimizações e Funções QuadráticasOtimizações e Funções Quadráticas
Otimizações e Funções QuadráticasVania Leitao
 
Sugestões estratégias de ensino
Sugestões estratégias de ensinoSugestões estratégias de ensino
Sugestões estratégias de ensinoLuana Paim
 
AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)Johnnatan Messias
 
5 diagrama ferro carbono
5 diagrama ferro carbono5 diagrama ferro carbono
5 diagrama ferro carbonoThulio Cesar
 

Destaque (20)

Anexo 09 esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...
Anexo 09    esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...Anexo 09    esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...
Anexo 09 esboco de-uma_metodologia_de_desenvolvimento_de_competencias - ve...
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícil
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de Recorrências
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
 
Algoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallAlgoritmo de Floyd-Warshall
Algoritmo de Floyd-Warshall
 
Programação linear Matematica
Programação linear  MatematicaProgramação linear  Matematica
Programação linear Matematica
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-Completos
 
10 dicas para resolver problemas
10 dicas para resolver problemas 10 dicas para resolver problemas
10 dicas para resolver problemas
 
50 dicas para cálculo rápido em matematica
50 dicas para cálculo rápido em matematica50 dicas para cálculo rápido em matematica
50 dicas para cálculo rápido em matematica
 
3 0 cap 003
3 0 cap 0033 0 cap 003
3 0 cap 003
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Aula resolução de problema Modelagem Ambiental
Aula resolução de problema Modelagem AmbientalAula resolução de problema Modelagem Ambiental
Aula resolução de problema Modelagem Ambiental
 
Dicas para Cálculos Rápidos vol. 2
Dicas para Cálculos Rápidos vol. 2Dicas para Cálculos Rápidos vol. 2
Dicas para Cálculos Rápidos vol. 2
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
 
Otimizações e Funções Quadráticas
Otimizações e Funções QuadráticasOtimizações e Funções Quadráticas
Otimizações e Funções Quadráticas
 
Sugestões estratégias de ensino
Sugestões estratégias de ensinoSugestões estratégias de ensino
Sugestões estratégias de ensino
 
Dicas para Cálculos Mais Rápidos
Dicas para Cálculos Mais RápidosDicas para Cálculos Mais Rápidos
Dicas para Cálculos Mais Rápidos
 
AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)
 
5 diagrama ferro carbono
5 diagrama ferro carbono5 diagrama ferro carbono
5 diagrama ferro carbono
 

Semelhante a Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr

Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOSDevmedia
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_onRoberson Alves
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2jaoozinhoqi123
 
Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)UNASP
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaGPrimola
 
Crackeando aplicativos no android _by c0_m3nd4d0r
Crackeando aplicativos no android  _by c0_m3nd4d0rCrackeando aplicativos no android  _by c0_m3nd4d0r
Crackeando aplicativos no android _by c0_m3nd4d0rnunes666
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
Curso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-CCurso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-CMaurício Linhares
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...Dextra Sistemas / Etec Itu
 
Configuração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntConfiguração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntDenis L Presciliano
 
Configuração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntConfiguração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntDenis L Presciliano
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 

Semelhante a Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr (20)

Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_on
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2
 
Visualg
VisualgVisualg
Visualg
 
Debugging node
Debugging nodeDebugging node
Debugging node
 
Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)
 
Java 03
Java 03Java 03
Java 03
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Supervisão
SupervisãoSupervisão
Supervisão
 
Crackeando aplicativos no android _by c0_m3nd4d0r
Crackeando aplicativos no android  _by c0_m3nd4d0rCrackeando aplicativos no android  _by c0_m3nd4d0r
Crackeando aplicativos no android _by c0_m3nd4d0r
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Curso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-CCurso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-C
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Configuração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntConfiguração do ambiente JEdit + Ant
Configuração do ambiente JEdit + Ant
 
Configuração do ambiente JEdit + Ant
Configuração do ambiente JEdit + AntConfiguração do ambiente JEdit + Ant
Configuração do ambiente JEdit + Ant
 
Introdução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para IphoneIntrodução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para Iphone
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 

Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr

  • 1. Dicas de implementação e otimização mais resolução de problemas. © Adriano Santangeli 3° iPhoneDevBr no MIS – 07/11/2009
  • 2. Vou começar pelos shortcuts
  • 3. Para facilitar utilizaremos a tabela ao lado para identificar as teclas.
  • 7. Até agora não teve NADA de interessante, certo?
  • 8. Vamos a GUERRA!
  • 9. Um pouco sobre User macros.
  • 10. Um pouco sobre User macros O que são user macros ? O Xcode já vem com algumas macros que tornam a sua codificação mais produtiva.
  • 11. /Developer/ Applications/ Xcode.app/ Contents/ PlugIns/ TextMacros.xctxtmacro/ Contents/ Resources/ Acessando o diretório das macros que vem com o Xcode.
  • 12. ~/Library/ Application Support/ Developer/ Shared/ Xcode/ Specifications Suas macros. * Caso não exista o diretório crie agora mesmo.
  • 13. Exemplo de uma Macro que vem com o Xcode.
  • 14. Exemplo de uma Macro criada pelo usuário.
  • 15. O accessorizer é uma ferramenta que automatiza várias tasks repetitivas para você. Accessorizer. http://www.kevincallahan.org/software/accessorizer.html Download em:
  • 16.
  • 17. Uma dica não sobre a IDE, e sim sobre o Objective-C em si: Uma dica sobre NSArray Depois retornamos a IDE NSArray VS C Array.
  • 18. Mas e se eu precisar chamar um método nos meus objetos, será lento ?
  • 19. Agora de volta as dicas sobre a IDE (Xcode). Agora algumas Dicas
  • 20. /Developer/ Plataforms/ iPhoneOS.platform/ Developer/ Library/ Xcode/ Project Templates/ Application Editando o com.yourcompany do info.plist Dentro de cada diretório você irá encontrar o arquivo: ___PROJECTNAMEASIDENTIFIER___-Info.plist Editando este arquivo você muda automaticamente os info.plist defaults do Xcode
  • 21. ~/Library/ Application Support/ Developer/ Shared/ Xcode/ Project Templates User Template. A melhor coisa a fazer é copiar os templates da pasta do XCODE e editá-la.
  • 22. Zumbis ... Vá em executables, clique com o botão direito em GetInfo. Na aba arguments crie e habilite o NSZombieEnabled.
  • 23. Xcode abaixo de 3.0: Vá em project settings e adicione um novo user defined setting chamado: GCC_THUMB_SUPPORT e coloque nele o valor NO. Otimização: Compile for Thumb.
  • 24. Xcode acima de 3.1: GCC 4.2 Code Generation e coloque nele o valor YES. Otimização: Compile for Thumb.
  • 25. Trace ou Log? Na linha de código onde você deveria colocar um NSLog adicione um breakpoint. Então use CTRL+Click e vá em Edit BreakPoint na bolha azul que aparecer, ao clicar no + (MAIS) abra o menu de ações de BreakPoint.
  • 28.
  • 29. Bibliotecas estáticas. Essa opção é necessária somente em casos que necessite de classes em Objective C.
  • 30. Por fim uma referência de livros. Rapid Development: Taming Wild Software Schedules Code Complete: A Practical Handbook of Software Construction 2 Edition ARM System Developer’s Guide Designing and Optimizing System Software The Definitive Guide to GCC 2nd Edition
  • 31. OBRIGADO! e-mail: adriano@maya.im twitter: @santangeli