반응형

 

flutter:  from install to product

 

 

 

flutter-ko.dev/docs/get-started/install/linux

 

리눅스 설치

 

flutter-ko.dev

 

반응형

 

Java doc 의 문법으로 현재 구현중인 프로젝트의 문서화를 편리하게 관리할 수 있습니다.

 

 

 

www.devkuma.com/books/pages/1249

'Android, Java,Kotlin' 카테고리의 다른 글

JNI, Native code build 시 유의점  (0) 2022.04.21
[Copy&Paste]String 다루기  (0) 2020.11.11
[Copy&Paste] Array를 List로 바꾸기  (0) 2020.11.04
반응형

 

 

public class SimulatorView extends View{

TimerTask timerTask = new TimerTask(){
        int frame = 0;
        @Override
        public void run() {
//            sim.grow();
            frame++;
            if(frame > 100) {
                invalidate();
                frame = 0;
            }
        }
    };

:

  public void start(){

    timer = new Timer();
    timer.schedule(timerTask,0, 20);
  }
}

'개발 Note > Codes' 카테고리의 다른 글

Singleton class 설계  (0) 2020.10.07
C++ object 관리를 위한 ObjectRef 구조 설계  (0) 2015.06.26
sorting algorithms  (0) 2014.02.26
c++ while 문 - 잘 안쓰는 표현  (0) 2013.10.23
UML2 Sementics  (0) 2012.01.11
반응형

유용하면서 간단한 디자인패턴 : 싱글톤 패턴

 

Singleton class  Basic type

 

 

public class Singleton {
	private volatile static Singleton uniqueInstance = null;
	
	private Singleton() {}
	public static Singleton getInstance (){
		if ( uniqueInstance == null){
			synchronized( Singleton.class){
				if (uniqueInstance == null)
					uniqueInstance = new Singleton();
			}
		}
		return uniqueInstance;
	}
}

 

 

 

'개발 Note > Codes' 카테고리의 다른 글

[Andriod] Timer and TimerTask  (0) 2020.10.22
C++ object 관리를 위한 ObjectRef 구조 설계  (0) 2015.06.26
sorting algorithms  (0) 2014.02.26
c++ while 문 - 잘 안쓰는 표현  (0) 2013.10.23
UML2 Sementics  (0) 2012.01.11
반응형

2020-10-06 기록 -

몇달 전부터 제 컴에서 android studio에서 코딩 중에 키보드 타이핑이 안되는 현상이 발생했습니다.

(귀차니즘으로 이제야 적어보네요)

OS - Ubuntu 14.04

 

 

다른 기능들은 다 되는데, 타이핑만 안되는 문제.

구글링해서 원인이 무엇인지 찾아봤는데, 정확하게 이것이 문제다 라고 확답이 명확하지 않더군요.

그리고 다양한 OS들에서 비슷한 현상들이 있는것 같습니다.

 

해결책 중 하나인 XMODIFIERS를 이용하는 방법인데, 제 경험으로는 이 방법이 가장 해결책에 근접했던것 같습니다.

원인이 iBus와 충돌이 있는것으로 보이는 문제에 대한 해결 방법인데,

android studio 실행을 아래와 같이 XMODIFIERS로 실행하는 방법입니다.

$ XMODIFIERS= ./bin/studio.sh

 

[출처]stackoverflow.com/questions/30756488/keyboard-issues-with-android-studio-on-ubuntu

 

Keyboard issues with Android Studio on Ubuntu

While using Android Studio on Ubuntu there are scenarios where the IDE will stop responding to keyboard input or start inputting random characters? How to fix this? Or possible workarounds.

stackoverflow.com

이 방법도 사실 완벽하진 않았던것이, 타이핑에는 문제가 없었지만, symbol을 찾거나 하는 기능들이 잘 동작하지 않을때가 있었습니다.

 

이상!!. 즐거운 코딩생활!!!

 

 

 

반응형

숫자 키패드의 방향키에 익숙하신 분들은 , 우분투나 리눅스 계열에서 사용할때 

control/shift/alt 와 같은 키 조합과 같이 사용할때 windows에서와 동작이 달라서 상당히 불편함을 느끼게 되실 겁니다.

 

 

home, end, page up, page down 이 모두 한곳에서 처리가 되기 때문에 여기에 익숙해지신 분들은 number lock이 켜질 틈이 없죠 ^^.

 

저도 너무 숫자 키패드의 방향키에 익숙해져서 일반 방향키에는 손이 잘 안갑니다.

(진지하게 96 keyboard로 바꿀까 고민이 되는 부분)

 

그런데 리눅스 와 Windows의 방향키와 숫자패드의 방향키가 다르게 동작합니다.

그래서 항상 이를 수정해서 사용하는데, 

 

저와 같은 분들이 있을것 같아서 정리 했습니다.

xmodmap 을 이용해서 key code를 아래와 같이 변경하고 나면, 숫자키와 방향키의 동작을 같게 맞출 수 있습니다.

 

$ xmodmap -e "keycode 80 = Up"
$ xmodmap -e "keycode 88 = Down"
$ xmodmap -e "keycode 83 = Left"
$ xmodmap -e "keycode 85 = Right"

 

물론 이방법 외에도 여러가지 방법들이 있는 것으로 알고 있습니다. 

 

--------------------------------------------------------------------------------------------

2nd way

 

Here's how I got numeric keys working with java applications (like Intellij) on a Debian derivative of Linux:

  1. Switch to root user
  2. cd /usr/share/X11/xkb/symbols
  3. cp keypad keypad.original (just in case)
  4. Edit keypad and replace all occurrences of KP_Up, KP_Down, KP_Left & KP_Right with Up, Down, Left & Right, respectively
  5. Save
  6. dpkg-reconfigure xkb-data
  7. Reboot

 

즐거운 코딩생활!!

반응형

진행하고 있던 프로젝트에서 지도 정보가 필요하여 찾아봤던 자료들 입니다.

 

무료로 좌표계를 받을수 있는 곳을 찾기가 힘들어 고생했던 기억이 있어서 그당시 찾아봤던 site들을 정리해봤습니다.

 

 

결국 위도 경도 정보를 data로 구해야 해서 저는 python panda로 data를 구했었습니다.

 

 

 

https://www.esrikr.com/arcgis-guide/arcgis-pro-master-2/

 

 

[ArcGIS Pro 완전 정복!] ②기본 | 한국에스리

☞ 2차원 맵과 3차원 씬 연결 [보기(View)] → [뷰 연결(Link Views)] → [중심 및 축척(Center and Scale)] 클릭 데이터 탭을 클릭하여 드래그 → 뷰에서 십자형 사각형 중 원하는 모양에 배치하면 2차원 맵과

www.esrikr.com

 

 

 

 

지도 정보 찾기

 

 

 

https://earthdata.nasa.gov/

 

Earthdata

The Earth Observing System Data and Information System is a key core capability in NASA’s Earth Science Data Systems Program. It provides end-to-end capabilities for managing NASA’s Earth science data from various sources—satellites, aircraft, field

earthdata.nasa.gov

 

Global Map data archives

 

https://globalmaps.github.io/

 

Global Map data archives

Use of geospatial information is crucial for solving various issues around the world including global environmental problems. In order to solve these diversified issues and to advance sustainable development, it is important to make fundamental geospatial

globalmaps.github.io

 

https://globalmaps.github.io/glcnmo.html#code

 

Land Cover (GLCNMO) - Global version - Global Map

The Global Land Cover by National Mapping Organizations (GLCNMO) is geospatial information in raster format which classifies the status of land cover of the whole globe into 20 categories. The classification is based on LCCS developed by FAO. Therefore, it

globalmaps.github.io

 

 

http://www.diva-gis.org/datadown

 

Spatial Data Download | DIVA-GIS

 

www.diva-gis.org

 

 

https://datascienceschool.net/view-notebook/ef921dc25e01437b9b5c532ba3b89b02/

 

Data Science School

Data Science School is an open space!

datascienceschool.net

pandas

 

 

import geopandas as gpd
import matplotlib.pyplot as plt
import matplotlib.path as mpath
import matplotlib.patches as mpatches

gpd.__version__


def get_pos(PosData) : 
    return PosData[0],PosData[1]


print(gpd.__version__)

countries = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
cities = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))

#countries.tail(3)

print(countries.name)


china = countries[countries.name == "China"].geometry



china.boundary.squeeze()

china.plot()


rect = china.total_bounds

fig = plt.figure()
ax =fig.add_axes(rect,)

fig.delaxes(ax)
fig.add_axes(ax)


# sub plot

# ax = plt.subplots()   

# pos = [[china.total_bounds[0],china.total_bounds[1]],
#         [china.total_bounds[2],china.total_bounds[1]],
#         [china.total_bounds[2],china.total_bounds[3]],
#         [china.total_bounds[0],china.total_bounds[3]]]
# Path = mpath.Path
# path_data = [
#     (Path.MOVETO, (pos[0])),
#     (Path.LINETO, (pos[1])),
#     (Path.LINETO, (pos[2])),
#     (Path.LINETO, (pos[3])),
#      (Path.CLOSEPOLY, (pos[0])),
#      ] 
# ax.plot(path_data)        
# #    
# codes, verts = zip(*path_data)
# path = mpath.Path(verts, codes)
# patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

#  ax.add_patch(patch)

# x, y = zip(*path.vertices)
# line, = ax.plot(x, y, 'go-')
# ax.grid()
# ax.axis('equal')

plt.figimage(fig)
plt.show()


#china.

with open("china_map.txt", mode='wt') as f:
    f.write(china)

print(china)
#ax.set_title("세계 지도")
#ax.set_axis_off()


#print(countries)
i=0
while 1 :
    i+=i

 

 

결과 

더보기

result: 

"{\"type\": \"FeatureCollection\", \"features\": [{\"id\": \"139\", \"type\": \"Feature\", \"properties\": {}, \"geometry\": {\"type\": \"MultiPolygon\", \"coordinates\": [[[[109.47520958866365, 18.197700913968575], [108.65520796105616, 18.507681993071387], [108.62621748254044, 19.367887885001906], [109.11905561730804, 19.821038519769345], [110.21159874882281, 20.101253973872033], [110.78655073450221, 20.077534491450052], [111.01005130416458, 19.69592987719072], [110.57064660038677, 19.25587921800927], [110.33918786015147, 18.678395087147592], [109.47520958866365, 18.197700913968575]]], [[[80.2599902688853, 42.34999929459906], [80.1801501809943, 42.92006785742694], [80.86620649610126, 43.18036204688101], [79.96610639844141, 44.91751699480463], [81.9470707539181, 45.31702749285312], [82.45892581576906, 45.539649563166506], [83.18048383986047, 47.33003123635086], [85.16429039911324, 47.0009557155161], [85.72048383987067, 47.452969468773105], [85.7682328633083, 48.45575063739699], [86.59877648310336, 48.549181626980626], [87.35997033076265, 49.21498078062912], [87.75126427607671, 49.297197984405486], [88.01383222855173, 48.599462795600616], [88.85429772334676, 48.069081732772965], [90.28082563676392, 47.69354909930793], ...

'개발 Note > it 이야기' 카테고리의 다른 글

DevOps 선택하기...  (0) 2022.05.25
SW를 개발하기 위해서는 가장 중요한것이 무엇인가??  (0) 2021.08.20
AI assistant battle  (1) 2019.10.29
Synergy  (0) 2019.09.27
Galaxy Home - mini  (0) 2019.08.28
반응형

Conda 설치 

 

여기에서 각 OS에 맞는 anaconda를 설치하세요.

https://www.anaconda.com/distribution/

 

Anaconda Python/R Distribution - Free Download

Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1500 data science packages and manage libraries and dependencies with Conda.

www.anaconda.com

 

설치후 shell을 실행하면, (base) 로 conda가 활성화 되어있습니다.

이를 제거 하려면,

$ conda config --set auto_activate_base false

이렇게 설정 하시면 됩니다.

 

사용 방법

 

conda 설치 후에 가상 환경을 만듭니다.

 

$ conda create -n torch python=3.6  # torch라는 가상 환경을 만듭니다.

 

(torch) $ conda activate torch  # 가상환경 torch를 activate 시킵니다.

 

(torch) $ conda deactivate # 가상환경 torch를 deactivate 시킵니다.

 

 

 

 

 

 

[출처] [Ubuntu18.04 환경설정] Anaconda3 설치 및 가상환경 생성|작성자 DL연구생

 

 

Trouble shooting #1

 

 

conda 설치할때, 방화벽이 있거나 보안이 철저한 환경에서 셋업을 할때는 아래와 같은 설정을 해줘야 합니다.

 

이런 정보들 찾아서 시도해보고 다시 정리하고 하는 것은 정말 많은 시간을 낭비하게 되네요.

회사들 마다 보안 환경들이 모두 다르기 때문에 더더욱 시간 허비가 심하죠.

 

그래서 도움이 될까 해서 정리 했습니다.

 

 

SSL 또는 Proxy error

ConnectTimeout(MaxRetryError("HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/main/linux-64/current_repodata.json (Caused by ConnectTimeoutError(, 'Connection to repo.anaconda.com timed out. (connect timeout=9.15)'))")) 

 

 

프록시 설정을 .condarc 파일 에서 하기

ssl_verify: <my crt file>.crt

proxy_servers:
      http: http://<proxy server url : port> 
      https: https://<proxy server url : port> 

 

 

 

 

다른 방법

cert file 설치을 pip 의 certi file 로 설정하는 방법

 

pip config set global.cert path/to/ca-bundle.crt
pip config list conda config --set ssl_verify path/to/ca-bundle.crt
conda config --show ssl_verify# Bonus while we are here...
git config --global http.sslVerify true
git config --global http.sslCAInfo path/to/ca-bundle.crt

 

 

패키기 설치(Package install)

 

conda install [pkgname]

 

 

 

[참고]

conda configuration guide

https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#config-proxy

 

 

 

 

 

 

 

+ Recent posts