SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
kimkevin@DroidNights2018: ~
:
How to use Vim in Android Studio
useful customization IdeaVim
~
~
~
~
~
~
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
1./**
2. * Created by kimkevin
3. * imkimkevin@gmail.com
4. * @imkimkevin
5. * github.com/kimkevin
6. */
7.
~
~
~
~
~
kimkevin@DroidNights2018: ~
What is Vim?
Vim is a highly configurable text editor
built to enable efficient text editing. It is
an improved version of the vi editor
distributed with most UNIX systems.
Vim is often called a "programmer's editor,"
and so useful for programming that many
consider it an entire IDE. Vim is perfect for
all kinds of text editing, from composing
email to editing configuration files.
– Johnny Appleseed
kimkevin@DroidNights2018: ~
IdeaVim is a Vim emulation plugin for IDEs
based on the IntelliJ platform. IdeaVim can
be used with IntelliJ IDEA, PyCharm, CLion,
PhpStorm, WebStorm, RubyMine, AppCode,
DataGrip, GoLand, Cursive, and Android
Studio.
– Jetbrains ideavim GitHub
What is IdeaVim?
kimkevin@DroidNights2018: ~
$ How to use Vim in
Android Studio
kimkevin@DroidNights2018: ~
1. Basic Vim Shortcuts
2.
3.
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
https://cdn.pixabay.com/photo/2016/11/19/10/46/apple-1838564_1280.jpg
navigate on a single line
Easy navigation on
a word
a line
a paragraph
without using Mouse
kimkevin@DroidNights2018: ~
public void setUser(User user)
// $ : the end of line
public void setUser(User user)
// 0 : the start of the line
public void setUser(User user)
// w : move forward word
public void setUser(User user)
// b : move backward word
public void setUser(User user)
kimkevin@DroidNights2018: ~
public void setUser(User user)
// 2w : move forward two words
public void setUser(User user)
// dw : delete forward word
public void (User user)
// u : undo
public void setUser(User user)
// db : delete backward word
public setUser(User user)
kimkevin@DroidNights2018: ~
dd : delete a line
[count]dd : delete [count] lines
// ex) 4dd : delete 4 lines
yy : copy a line
[count]yy : copy [count] lines
// ex) 4yy : copy 4 lines
{ : forward paragraph
// ex) 2{ : forward 2 paragraphs
} : backward paragraph
// ex) 2} : forward 2 paragraphs
kimkevin@DroidNights2018: ~
1. Basic Vim Shortcuts
2. Useful Mappings
in .ideavimrc
kimkevin@DroidNights2018: ~
The Most Used Action is ‘Run’
Ctrl + Shift + r or
in my case, rr
kimkevin@DroidNights2018: ~
vi ~/.ideavimrc
File for your specific Vim
initialization commands
kimkevin@DroidNights2018: ~
./refactoring_by_keymap
DEMO
kimkevin@DroidNights2018: ~
.ideavimrc Keymap
nnoremap <leader>rr :action Run<cr>
nnoremap <leader>dd :action Debug<cr>
nnoremap <leader>cc :action CleanGradleProject<cr>
nnoremap <leader>ss :action Android.SyncProject<cr>
nnoremap <leader>fu :action FindUsages<cr>
nnoremap <leader>su :action ShowUsages<cr>
nnoremap <leader>ga :action GotoAction<cr>
nnoremap <leader>lc :action ActivateLogcatToolWindow<cr>
nnoremap <leader>sh :action ActivateTerminalToolWindow<cr>
nnoremap <leader>R :action Refactorings.QuickListPopupAction<cr>
nnoremap <leader>rm :action ExtractMethod<cr>
nnoremap <leader>rn :action RenameElement<cr>
nnoremap <leader>rf :action RenameFile<cr>
nnoremap <leader>rv :action IntroduceVariable<cr>
nnoremap <leader>rs :action ExtractSuperclass<cr>
nnoremap <leader>ri :action Inline<cr>
https://github.com/kimkevin/dotfiles/blob/master/.ideavimrc
kimkevin@DroidNights2018: ~
.ideavimrc Keymap
nnoremap <leader>rr :action Run<cr>
nnoremap <leader>dd :action Debug<cr>
nnoremap <leader>cc :action CleanGradleProject<cr>
nnoremap <leader>ss :action Android.SyncProject<cr>
nnoremap <leader>fu :action FindUsages<cr>
nnoremap <leader>su :action ShowUsages<cr>
nnoremap <leader>ga :action GotoAction<cr>
nnoremap <leader>lc :action ActivateLogcatToolWindow<cr>
nnoremap <leader>sh :action ActivateTerminalToolWindow<cr>
nnoremap <leader>R :action Refactorings.QuickListPopupAction<cr>
nnoremap <leader>rm :action ExtractMethod<cr>
nnoremap <leader>rn :action RenameElement<cr>
nnoremap <leader>rf :action RenameFile<cr>
nnoremap <leader>rv :action IntroduceVariable<cr>
nnoremap <leader>rs :action ExtractSuperclass<cr>
nnoremap <leader>ri :action Inline<cr>
kimkevin@DroidNights2018: ~
.ideavimrc Keymap
nnoremap <leader>rr :action Run<cr>
nnoremap <leader>dd :action Debug<cr>
nnoremap <leader>cc :action CleanGradleProject<cr>
nnoremap <leader>ss :action Android.SyncProject<cr>
nnoremap <leader>fu :action FindUsages<cr>
nnoremap <leader>su :action ShowUsages<cr>
nnoremap <leader>ga :action GotoAction<cr>
nnoremap <leader>lc :action ActivateLogcatToolWindow<cr>
nnoremap <leader>sh :action ActivateTerminalToolWindow<cr>
nnoremap <leader>R :action Refactorings.QuickListPopupAction<cr>
nnoremap <leader>rm :action ExtractMethod<cr>
nnoremap <leader>rn :action RenameElement<cr>
nnoremap <leader>rf :action RenameFile<cr>
nnoremap <leader>rv :action IntroduceVariable<cr>
nnoremap <leader>rs :action ExtractSuperclass<cr>
nnoremap <leader>ri :action Inline<cr>
kimkevin@DroidNights2018: ~
nnoremap <leader>rr :action Run<cr>
n + nore + map
normal mode + non-reculsive + map
{cmd} {attr} {lhs} {rhs}
kimkevin@DroidNights2018: ~
nnoremap <leader>rr :action Run<cr>
<leader> :  (back slash)
<space> : Space
<C-A> : Ctrl + a
<tab> : Tab
{cmd} {attr} {lhs} {rhs}
kimkevin@DroidNights2018: ~
nnoremap <leader>rr :action Run<cr>
// {lhs} : left hand side
// {rhs} : right hand side
:actionlist (Show all actions)
ex) Run, RenameElement, FindUsages
<cr> : carriage return
{cmd} {attr} {lhs} {rhs}
kimkevin@DroidNights2018: ~
$ Useful Customization
IdeaVim
kimkevin@DroidNights2018: ~
Write Codes
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
Search on Google
kimkevin@DroidNights2018: ~
Cmd + Tab
kimkevin@DroidNights2018: ~
Cmd + Tab
Cmd + Tab
Cmd + Tab
Cmd + Tab
kimkevin@DroidNights2018: ~
The problem is
So boring…
What’s Wifi address?…
and port…
EVERYDAY
EVERYTIME
kimkevin@DroidNights2018: ~
https://brunch.co.kr/@travel-heather/147
Be lazy wisely!
kimkevin@DroidNights2018: ~
OPEN
kimkevin@DroidNights2018: ~
:
kimkevin@DroidNights2018: ~
1. EX mode is which is invoked
using the ex command.
2. This is for the Ex commands,
3. ”:", the pattern search
4. commands, "?" and "/", and the
5. filter command, "!".
~
~
~
~
:%s/command/cmd/g
kimkevin@DroidNights2018: ~
1. EX mode is which is invoked
using the ex cmd.
2. This is for the Ex cmds,
3. ”:", the pattern search
4. cmds, "?" and "/", and the
5. filter cmd, "!".
~
~
~
~
~
kimkevin@DroidNights2018: ~
!
kimkevin@DroidNights2018: ~
:! {command}
EX mode
Execute {command} with a shell
kimkevin@DroidNights2018: ~
:! adb tcpip 5555
kimkevin@DroidNights2018: ~
kimkevin@DroidNights2018: ~
VIM: Cannot run program “adb”:error=2
kimkevin@DroidNights2018: ~
WHAT?
kimkevin@DroidNights2018: ~
Make adb run in
ideavim
kimkevin@DroidNights2018: ~
: adb tcpip 5555
EX command
kimkevin@DroidNights2018: ~
What should I do first?
https://github.com/JetBrains/ideavim
kimkevin@DroidNights2018: ~
https://github.com/kimkevin/ideavim-as
kimkevin@DroidNights2018: ~
https://github.com/kimkevin/ideavim-as
git
git commands
adb
adb start <device_ip_address>
adb start : Once it's connected,
IP address will be existed.
Google Search
gg <query_string>
gg : If clipboard has a string
Supported:
kimkevin@DroidNights2018: ~
DEMO
./additional_ex_commands
kimkevin@DroidNights2018: ~
How it works?
kimkevin@DroidNights2018: ~
https://github.com/kimkevin/ideavim-as
git
git commands
adb
adb start <device_ip_address>
adb start : Once it's connected,
IP address will be existed.
Google Search
gg <query_string>
gg : If clipboard has a string
Supported:
kimkevin@DroidNights2018: ~
DataContext
- Data Object by
Identifier
ExCommand
- Command
- Arguments
Editor
- Project (path, document)
- EditorColorsScheme
- EditorSettings
kimkevin@DroidNights2018: ~
1. Create EX command Handler and
Register CommandParser
2. Set command and flags on super
class
3. Write codes in execute()
4. Run and Test
kimkevin@DroidNights2018: ~
$ What I learned
kimkevin@DroidNights2018: ~
1. Fun to make something
suitable for your taste
2.
3.
kimkevin@DroidNights2018: ~
1. Fun to make something
suitable for your taste
2. Pair Programming
3.
kimkevin@DroidNights2018: ~
Pair Programming
- Disabled Vim Emulator
kimkevin@DroidNights2018: ~
1. Fun to make something
suitable for your taste
2. Pair Programming
3. Learning Curve
kimkevin@DroidNights2018: ~
https://pascalprecht.github.io/2014/03/18/why-i-use-vim
Vim Learning Curve
kimkevin@DroidNights2018: ~
https://pascalprecht.github.io/2014/03/18/why-i-use-vim
Normally
kimkevin@DroidNights2018: ~
Make you lazy!
kimkevin@DroidNights2018: ~
: wq!
thankYou()
~
~
~
~
~
~

Mais conteúdo relacionado

Mais procurados

Cross Site Request Forgery
Cross Site Request ForgeryCross Site Request Forgery
Cross Site Request ForgeryTony Bibbs
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Mesut Günes
 
Discrete Event Simulation in Healthcare
Discrete Event Simulation in HealthcareDiscrete Event Simulation in Healthcare
Discrete Event Simulation in HealthcareATALAN
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~abend_cve_9999_0001
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software TestingShakal Shukla
 
Locator strategy for web elements | Katalon Studio
Locator strategy for web elements | Katalon StudioLocator strategy for web elements | Katalon Studio
Locator strategy for web elements | Katalon StudioKatalon Studio
 
TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionDionatan default
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code AnalysisAnnyce Davis
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repositorySandeep Singh
 
Solid C++ by Example
Solid C++ by ExampleSolid C++ by Example
Solid C++ by ExampleOlve Maudal
 
Infobright Column-Oriented Analytical Database Engine
Infobright Column-Oriented Analytical Database EngineInfobright Column-Oriented Analytical Database Engine
Infobright Column-Oriented Analytical Database EngineAlex Esterkin
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Integration testing
Integration testingIntegration testing
Integration testingVaibhav Dash
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkArulalan T
 
Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration TestingRock Interview
 
Google mock for dummies
Google mock for dummiesGoogle mock for dummies
Google mock for dummiesLuis Goldster
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsYura Nosenko
 

Mais procurados (20)

Cross Site Request Forgery
Cross Site Request ForgeryCross Site Request Forgery
Cross Site Request Forgery
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
 
Discrete Event Simulation in Healthcare
Discrete Event Simulation in HealthcareDiscrete Event Simulation in Healthcare
Discrete Event Simulation in Healthcare
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
 
Locator strategy for web elements | Katalon Studio
Locator strategy for web elements | Katalon StudioLocator strategy for web elements | Katalon Studio
Locator strategy for web elements | Katalon Studio
 
TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in Action
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 
Solid C++ by Example
Solid C++ by ExampleSolid C++ by Example
Solid C++ by Example
 
Infobright Column-Oriented Analytical Database Engine
Infobright Column-Oriented Analytical Database EngineInfobright Column-Oriented Analytical Database Engine
Infobright Column-Oriented Analytical Database Engine
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Integration testing
Integration testingIntegration testing
Integration testing
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-framework
 
Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration Testing
 
Google mock for dummies
Google mock for dummiesGoogle mock for dummies
Google mock for dummies
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
 

Semelhante a How to use vim in Android Studio, Useful customization IdeaVim

Hacking the Codename One Source Code - Part I.pdf
Hacking the Codename One Source Code - Part I.pdfHacking the Codename One Source Code - Part I.pdf
Hacking the Codename One Source Code - Part I.pdfShaiAlmog1
 
G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!Iván López Martín
 
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000CTruncer
 
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...CODE BLUE
 
GR8Conf US 2017 - Dockerize your Grails!
GR8Conf US 2017 - Dockerize your Grails!GR8Conf US 2017 - Dockerize your Grails!
GR8Conf US 2017 - Dockerize your Grails!Iván López Martín
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructureRodrigo Stefani Domingues
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan ArdeleanITCamp
 
Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19Akihiro Okuno
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using DockerTamer Abdul-Radi
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridgeDan Ardelean
 
Who’s afraid of WinDbg
Who’s afraid of WinDbgWho’s afraid of WinDbg
Who’s afraid of WinDbgDror Helper
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMLinaro
 
FRIDA 101 Android
FRIDA 101 AndroidFRIDA 101 Android
FRIDA 101 AndroidTony Thomas
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)Alexandre Gouaillard
 
AntiVirus Evasion Reconstructed - Veil 3.0
AntiVirus Evasion Reconstructed - Veil 3.0AntiVirus Evasion Reconstructed - Veil 3.0
AntiVirus Evasion Reconstructed - Veil 3.0CTruncer
 
Life of a Chromium Developer
Life of a Chromium DeveloperLife of a Chromium Developer
Life of a Chromium Developermpaproductions
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npmTierney Cyren
 

Semelhante a How to use vim in Android Studio, Useful customization IdeaVim (20)

Hacking the Codename One Source Code - Part I.pdf
Hacking the Codename One Source Code - Part I.pdfHacking the Codename One Source Code - Part I.pdf
Hacking the Codename One Source Code - Part I.pdf
 
G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!
 
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
 
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
 
GR8Conf US 2017 - Dockerize your Grails!
GR8Conf US 2017 - Dockerize your Grails!GR8Conf US 2017 - Dockerize your Grails!
GR8Conf US 2017 - Dockerize your Grails!
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan Ardelean
 
Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19Start Vim script @Ujihisa.vim 2011/11/19
Start Vim script @Ujihisa.vim 2011/11/19
 
Greach 2016 dockerize your grails
Greach 2016   dockerize your grailsGreach 2016   dockerize your grails
Greach 2016 dockerize your grails
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using Docker
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridge
 
Who’s afraid of WinDbg
Who’s afraid of WinDbgWho’s afraid of WinDbg
Who’s afraid of WinDbg
 
TDD for jenkins pipelines
TDD for jenkins pipelinesTDD for jenkins pipelines
TDD for jenkins pipelines
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRM
 
FRIDA 101 Android
FRIDA 101 AndroidFRIDA 101 Android
FRIDA 101 Android
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
 
Make the most of twig
Make the most of twigMake the most of twig
Make the most of twig
 
AntiVirus Evasion Reconstructed - Veil 3.0
AntiVirus Evasion Reconstructed - Veil 3.0AntiVirus Evasion Reconstructed - Veil 3.0
AntiVirus Evasion Reconstructed - Veil 3.0
 
Life of a Chromium Developer
Life of a Chromium DeveloperLife of a Chromium Developer
Life of a Chromium Developer
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npm
 

Mais de Yongjun Kim

Android DataBinding (ViewModel, UI Modularization and Testing)
Android DataBinding (ViewModel, UI Modularization and Testing)Android DataBinding (ViewModel, UI Modularization and Testing)
Android DataBinding (ViewModel, UI Modularization and Testing)Yongjun Kim
 
Android Jetpack: ViewModel and Testing
Android Jetpack: ViewModel and TestingAndroid Jetpack: ViewModel and Testing
Android Jetpack: ViewModel and TestingYongjun Kim
 
Google I/O 2018: All of the News from Keynote
Google I/O 2018: All of the News from KeynoteGoogle I/O 2018: All of the News from Keynote
Google I/O 2018: All of the News from KeynoteYongjun Kim
 
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Yongjun Kim
 
플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in FlittoYongjun Kim
 

Mais de Yongjun Kim (6)

Android DataBinding (ViewModel, UI Modularization and Testing)
Android DataBinding (ViewModel, UI Modularization and Testing)Android DataBinding (ViewModel, UI Modularization and Testing)
Android DataBinding (ViewModel, UI Modularization and Testing)
 
Android Jetpack: ViewModel and Testing
Android Jetpack: ViewModel and TestingAndroid Jetpack: ViewModel and Testing
Android Jetpack: ViewModel and Testing
 
Google I/O 2018: All of the News from Keynote
Google I/O 2018: All of the News from KeynoteGoogle I/O 2018: All of the News from Keynote
Google I/O 2018: All of the News from Keynote
 
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
 
Where is CEO?
Where is CEO?Where is CEO?
Where is CEO?
 
플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto
 

Último

How to Improve the Employee Experience? - HRMS Software
How to Improve the Employee Experience? - HRMS SoftwareHow to Improve the Employee Experience? - HRMS Software
How to Improve the Employee Experience? - HRMS SoftwareNYGGS Automation Suite
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
React 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentReact 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentBOSC Tech Labs
 
Understanding Native Mobile App Development
Understanding Native Mobile App DevelopmentUnderstanding Native Mobile App Development
Understanding Native Mobile App DevelopmentMobulous Technologies
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Jonathan Katz
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 

Último (20)

How to Improve the Employee Experience? - HRMS Software
How to Improve the Employee Experience? - HRMS SoftwareHow to Improve the Employee Experience? - HRMS Software
How to Improve the Employee Experience? - HRMS Software
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
React 19: Revolutionizing Web Development
React 19: Revolutionizing Web DevelopmentReact 19: Revolutionizing Web Development
React 19: Revolutionizing Web Development
 
Understanding Native Mobile App Development
Understanding Native Mobile App DevelopmentUnderstanding Native Mobile App Development
Understanding Native Mobile App Development
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 

How to use vim in Android Studio, Useful customization IdeaVim